(base) matytan@matytandemacbook-pro ch2 % gcc -o cpu cpu.c -wall
(base) matytan@matytandemacbook-pro ch2 % ./cpu a
#多個程式一起跑
(base) matytan@matytandemacbook-pro ch2 % ./cpu a &
; ./cpu b &
; ./cpu c &
; ./cpu d &[1
]92105[2
]92106[3
]92107[4
]92108
(base) matytan@matytandemacbook-pro ch2 % a
bc
(base) matytan@matytandemacbook-pro ch2 % ./mem 1
&;./mem 1[1
]97588
(pid:97588) addr of p: 7ff7bdc6a388
(pid:97588) addr stored in p: 6000023f0040
(pid:97589) addr of p: 7ff7bd83f388
(pid:97589) addr stored in p: 600002ff8040
(pid:97588) value of p: 2
(pid:97589) value of p: 2
(pid:97588) value of p: 3
(pid:97589) value of p: 3
兩個不同程序的位址竟然一樣!同時獨立更新了值,每個正在執行的都有自己的私有記憶體,不與其他正在執行的程式共享相同檔案
多執行緒~
因此程式兩個執行緒處理計數器遞增如果不使用某些措施,會導致最後結果並不正確
作業系統它取得cpu、記憶體或磁碟等物理資源(resources),並對它們進行虛擬化(virtualize)。它處理與併發(concurrency)有關的麻煩且棘手的問題。它持久地(persistently)儲存檔案,從而使它們長期安全。
三個目標:
建立抽象抽象使得編寫乙個大型程式成為可能,將其劃分為小而且容易理解的部分,用c這樣的高階語言編寫這樣的程式不用考慮彙編,用彙編寫**不用考慮邏輯門,用邏輯門來構建處理器不用太多考慮電晶體。
高效能的作業系統虛擬化和讓系統易於使用是非常值得的,但不會不計成本。因此,我們必須努力提供虛擬化和其他作業系統功能,同時沒有過多的開銷。這些開銷會以多種形式出現:額外時間(更多指令)和額外空間(記憶體或磁碟上)。如果有可能,我們會尋求解決方案,儘量減少一種或兩種。但是,完美並非總是可以實現的,我們會注意到這一點,並且(在適當的情況下)容忍它。
提供系統和應用,應用和應用之間的保護,即隔離保護是作業系統基本原理之一的核心,這就是隔離(isolation)。讓程序彼此隔離是保護的關鍵,因此決定了os必須執行的大部分任務。
系統呼叫和過程呼叫之間的關鍵區別在於,系統呼叫將控制轉移(跳轉)到os中,同時提高硬體特權級別(hardware privilege level)。
作業系統 第二章 作業系統基礎操作
計算機體系結構概述 計算機記憶體和硬碟布局 開機順序 背景中斷 異常和系統呼叫相比較 中斷和異常處理機制 系統呼叫概念 系統呼叫的實現 程式呼叫與系統呼叫的不同之處開銷 2 disk 存放os 3 bios 存放i o處理系統 4 bios 載入os到記憶體中。5 post 加電自檢 尋找顯示卡和執...
第二章 作業系統
考試題型分析 選擇題 考試時間 上午試題型別 選擇題分值 6 8分 分值佔比 舉例 包餃子。前驅圖表示出了有些任務是有先後順序的,有些任務是可以並行操作的,箭頭表示約束。首次適應法 最佳適應法 最差適應法 迴圈首次適應法 邏輯位址與實體地址轉換 那麼如何根據邏輯位址求實體地址呢?我們得首先知道那一部...
第二章 作業系統基本操作
cpu 記憶體 i o通過匯流排連線。disk磁碟存放os bios basic input and output system 標準io處理系統 bootloader 載入os到記憶體中去 post加點自檢,尋找顯示卡和執行bios 加電後,cpu初始化段暫存器和指令暫存器,cs ip 0xf00...