第一章 導論
- 1.1 操作系統做什麼
- 計算機系統
- 計算機硬件
- 操作系統
- 系統程序和應用程序
- 用戶
- 1.1.1 用戶視角
- 個人PC 設計目的是爲了用戶使用方便,性能是次要的,而且不在乎資源使用率(如何共享硬件和軟件資源
- 性能對用戶來說非常重要,而不是資源使用率,優化單用戶使用情況
- 大型機 小型機 資源使用
- 工作站 個人使用性能和資源利用率的折中
- 1.1.2 系統視角
- 可以將操作系統看做資源分配器。操作系統管理這些資源。
- 操作系統是控制程序。控制程序管理用戶程序的知行以防止計算機資源的錯誤使用或使用不當。
- 1.1.3 定義操作系統
- 從系統觀點看,操作系統是計算機系統中的一個系統軟件,它管理和控制計算機系統中的資源。
- 從用戶觀點看,操作系統是用戶和計算機之間的接口;
- 從軟件觀點看,操作系統是程序和數據結構的集合。
- 計算機系統
- 1.2 計算機系統組織
- 計算機系統操作
- 事件的發生通常通過硬件或者軟件中斷(interrupt)。硬件可隨時通過系統總線向CPU發出信號,以觸發中斷。軟件通過執行特別操作系統如系統調用(system call)(也稱爲監視器調用)也能觸發中斷。
- 存儲設備層次
上三種通常採用半導體技術,同時,屬於易失性設備,下面屬於非易失性設備
- 1.3 計算機系統體系結構
- 1.4 操作系統結構
- 多道程序設計系統: 提供了一個可以充分使用各種系統資源(如CPU,內存,外設)的環境。但是沒有提供與計算機操作系統直接交互的能力。
- 分時系統(多任務)躲到程序設計的延伸,切換頻率很高(作業之間的切換)用戶可以在程序運行期間與之進行 交互。
- 分時操作系統採用CPU調度和多道程序設計以提供用戶分時計算機的一小部分。每個用戶在內存中至少有一個程序。裝入到內存並執行的程序通常稱爲進程(process)。
- 作業池 由所有駐留在吃盤中需要等待分配內存的作業組成。
- 如果多個作業需要調入內存但沒有足夠的內存,那麼系統必須在這些作業中做出選擇,這種決策稱爲作業調度。
- CPU調度 多任務同時需要知行,系統必須做出選擇,這樣的選擇稱爲CPU調度。
- 1.5 操作系統操作
- 1.5.1 雙重模式操作
- 用戶模式和監督程序模式(也稱爲管理模式 系統模式,或者特權模式)。
- 雙重模式操作系統了保護操作系統和用戶程序不受錯誤用戶程序影響的手段。其實現方法爲:將能引起損害的機器指令作爲特權指令。
- 1.5.2 定時器
- 在給定時間後中斷計算機
- 1.5.1 雙重模式操作
- 1.6 進程管理
- 操作系統負責下述與進程管理相關的活動
·創建和刪除用戶進程和系統進程。
·掛起和重啓進程。
·提供進程同步機制。
·提供進程通信機制。
·提供死鎖處理機制。
- 1.7 內存管理
- 內存通常是CPU能直接尋址和訪問的唯一大容量存儲器
操作系統負責下列有關內存管理的活動:
·記錄內存的哪部分正在被使用及被誰使用。
·當有內存空間時,決定哪些進程可以裝入內存。
·根據需要分配和釋放內存空間。
- 1.8 存儲管理
- 1.8.1 文件管理
操作系統負責下列有關文件管理的活動:
·創建和刪除文件。
·創建和刪除目錄來組織文件。
·提供操作文件和目錄的原語。
- 1.8.2 大容量存儲器管理
- 二級存儲器
- 操作系統負責下列有關硬盤管理的活動
- 空閒空間管理
- 存儲空間分配
- 磁盤調度
- 1.8.3 高速緩存
- 高速緩存一致性
對於多處理器環境,這種情況變得更爲複雜,因爲每個CPU不但有自己的內部寄存器,還有本地高速緩存。對於這種環境,A的副本會同時出現在多個高速緩存中。由於多個CPU
可併發執行,必須確保在一個高速緩存中對A值的更新馬上反映在所有其他A所在的高速緩存中。這稱爲高速緩存一致性(cache coherency),這通常是硬件問題(在操作系統級別之下處理)
- 1.8.4 I/O系統
- 操作系統的目的之一在於對用戶隱藏具體硬件設備的特性。
I /O子系統包括如下幾個部分:
·一個包括緩衝、高速緩存和假脫機的內存管理部分。
·通用設備驅動器接口。
·特定硬件設備的驅動程序。