1. 操作系統的特徵
- 併發:宏觀上計算機系統在一段時間內能同時存在多個運行的程序,需要OS管理和調度。
- 共享:共享是指系統中的資源可以被多個併發進程共同使用。有兩種共享方式:互斥共享和同時共享。
- 虛擬:虛擬技術把一個物理實體轉換爲多個邏輯實體。主要有兩種虛擬技術:時分複用技術和空分複用技術。多個進程能在同一個處理器上併發執行使用了時分複用技術,讓每個進程輪流佔有處理器,每次只執行一小個時間片並快速切換。虛擬內存使用了空分複用技術,它將物理內存抽象爲地址空間,每個進程都有各自的地址空間。地址空間的頁被映射到物理內存,地址空間的頁並不需要全部在物理內存中,當使用到一個沒有在物理內存的頁時,執行頁面置換算法,將該頁置換到內存中。
- 異步:程序不是一次性執行完畢,而是走走停停,以不可知的速度向前推進。
2. 內核態與用戶態
硬件上對於指令具有級別控制,處於內核態的代碼具有最高優先級,可以訪問硬件資源,包括內存、網卡等等,處於用戶態的代碼具有最低優先級,往往不能直接訪問硬件資源。所以當用戶進程需要訪問IO時候,就涉及到了用戶態向內核態的切換,一般有三種方式:系統調用、異常和中斷。
3. 中斷、異常和系統調用
- 系統調用:應用程序主動向操作系統發出的請求。用戶態進程通過系統調用,臨時進入內核態,執行內核態特權。
- 異常:非法指令或其它原因導致當前指令執行失敗(如內存出錯)後的處理請求。
- 中斷:來自外圍設備的中斷處理請求。