操作系統的作用
- 管理計算機硬件
- 充當計算機用戶和計算機硬件的中介(操作系統控制硬件,協調各個用戶應用程序的硬件)
計算機系統的資源
CPU時間、內存空間、文件存儲空間、I/O設備等
操作系統的定義
- 如何定義一個操作系統:
- 計算機系統的根本目的是,執行用戶程序并且更容易解決用戶問題。為了實現這一目的構造了計算機硬件。
- 由于硬件本身并不容易使用,因此開發了應用程序。
- 有些應用程序需要一些共同操作,如控制I/O設備。
- 這些控制和分配I/O設備資源的共同功能則被組成一個軟件模型:操作系統
- 比較公認的定義:
- 操作系統是一直運行在計算機上的程序(通常稱為內核(kernel))
- 除了內核外還有兩類程序: 系統程序和應用程序
- 系統程序: 與系統運行有關,但不是內核的一部分
- 應用程序: 與系統運行無關的所有其他程序
中間件
- 產生: 移動操作系統通常不只有內核,也有中間件
- 定義: 為應用程序開發人員提供其他功能的軟件框架
- 栗子: 最常用的兩個移動操作系統(IOS和Android),除了內核外,都有中間件以便支持數據、多媒體和圖形等.
總線
- 物理: 一根根線,用于連接一個或多個CPU和若干設備管理器
- 作用: 提供到內存的訪問服務
設備管理器
- 作用: 負責一類特定的設備(磁盤驅動、音頻設備或視頻顯示器等)
計算機開機(或重啟)后的一系列操作:
- 初始程序: 當計算機打開或重啟以便開始運行時,它需要運行一個初始程序
- 初始程序的位置: 初始程序(或引導程序)一般位于計算機的固件(firmware),如ROM(Read-Only Memory,只讀內存)或EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀內存)
- 引導程序的作用: 它初始化系統的各個組件,從CPU寄存器、設備控制器到內存內容
- 引導程序: 引導程序必須知道如何加載操作系統并且開始執行系統,因此引導程序必須定位操作系統內核并且加到內存
中斷:
- 作用: 用于告知CPU事件的發送,并采用相應的事件處理程序
- 特點: 當CPU被中斷時,它停止正在做的事,并立即轉到固定位置(通常包含終端服務程序的開始地址)再繼續執行。在執行完畢(中斷程序)后,CPU重新執行被中斷的計算
- 硬件中斷: 隨時通過系統總線發送信號到CPU,觸發中斷
- 軟件中斷: 通過系統調用(也稱監督程序調用(monitor call)),觸發中斷
位、字節、字
- 位: 或比特(bit),即一個0或一個1
- 字節(byte): 8位,是大多數計算機的常用最小存儲
- 字(word): 計算機架構的常用存儲單位,有一個或多個字節組成
CPU只能從內存中加載指令,因此執行程序必須位于內存
內存
- 定義: 內存(main memory),也稱為隨機訪問內存(Random Access Memory, RAM)
- 作用: CPU從內存中加載指令,執行的程序必須位于內存之內.
- 馮·諾依曼體系結構:
- 首先從內存中獲取指令,并存到指令寄存器(instruction register)。
- 接著,該指令被解碼,也可能會從內存中獲取操作數據并且存到內部寄存器
- 在指令完成對操作數據的執行后,結果也可存到內存
- 理想情況下,程序和數據無法永久駐留內存的原因:
- 內存通常太少,不能保留所有需要的程序和數據
- 內存是失性的(volatile)存儲設備,掉電時就會失去所有內容
外存
- 作用: 擴充內存
- 特點: 能存儲大量數據,且數據不易丟失
- 常見外存: 磁盤或硬盤
- 外存與內存的關系: 大多數程序(系統與應用)都保存在磁盤上,當要執行時才加載到內存
存儲設備的層次
- 速度從快到慢:
- 寄存器
- 高速緩存
- 內存
- 固態硬盤
- 硬盤
- 光盤
- 磁帶
- 注:
- 固態硬盤之上的存儲系統為易失的
- 固態硬盤及之下的為非易失的
I/O結構
- 計算機系統由一個CPU和多個設備控制器組成,它們通過共同總線連在一起
- 每個設備控制器管理某一特定類型的設備
- 設備控制器:
- 每個設備控制器維護一定量的本地緩沖程序和一組特定用途的寄存器
- 負責在所控的外圍設備與本地緩沖存儲之間進行數據傳遞
- 操作系統為設備控制器提供了一個設備驅動程序,負責設備控制器,并且為操作系統的其他部分提供統一的設備訪問接口
- I/O開始:
- 設備驅動程序加載設備控制器的適當寄存器,
- 設備控制器檢查寄存器內容,以便覺得采用什么操作
- 控制器開始從設備像本地緩沖區傳輸數據
- 數據傳輸完畢后,設備控制器就會通過中斷通知設備驅動程序
- 設備驅動程序返回控制到操作系統
- 直接內存訪問:
- 產生: 上述第4步中斷I/O會帶來很大的開銷,為了解決這個問題產生了直接內存訪問(DMA, Direct Memory Access)
- 實現: 為I/O設備設置好緩沖、指針和計數器,設備控制器可在本地緩沖和內存之間傳送整塊的數據,而無需CPU的干預
- 與傳統的區別: 每塊只產生一個中斷,來告知設備驅動程序操作已完成,而不像傳統那樣每個字節產生一個中斷.
參考《操作系統概念》P1~P8