操作系統 —期中復習
一、操作系統概述
-
什麽是操作系統 (關註: 如何控制和協調處理機、存儲器、設備和文件)
操作系統 :
是指 控制 和 管理 整個計算機系統的 硬件 和 軟件資源
控制程序執行
改善人機界面
提供各種服務
並合理地組織調度計算機的 工作和資源的分配, 以提供給 用戶 和 其他軟件 方便的 接口和環境 的 程序集合.
是 計算機系統中 最基本的系統軟件。
-
操作系統的作用
服務用戶觀點 : 操作系統作為 用戶接口 和 公共服務程序
進程交互觀點: 操作系統作為 進程執行的 控制者 和 協調者
系統實現觀點: 操作系統作為 拓展機 或 虛擬機
資源管理觀點: 操作系統作為 資源的管理者 和 控制者
總結:
-
操作系統的主要功能 (5個)
處理器管理:
處理機的 分配 和 運行 都以 進程(或線程) 為 基本單位 — 處理機的管理 可 歸結為 對進程的管理
主要任務 : 進程何時創建、何時撤銷、如何管理、如何避免沖突、合理共享 (由於並發時在計算機同時運行多個進程)
功能: 進程控制、進程同步、進程通信、死鎖處理、處理機調度等.
存儲管理:
目的:
給多道程序的 運行 提供良好的環境, 方便用戶使用 以及 提高 內存的利用率功能: 主要包括 內存分配、地址映射、內存保護與共享 和 內存擴充 等
設備管理:
主要任務: 完成用戶的 I/O 請求, 方便用戶使用各種設備, 並提高設備的利用率
功能: 主要包括 緩沖管理、設備分配、設備處理 、虛擬設備等
文件管理:
功能: 主要包括 文件存儲空間的管理、目錄管理、文件讀寫管理和保護
聯網與通信管理:
功能: 略
-
什麽叫多道程序設計 ?
概念:
允許多個程序同時進入內存 並啟動 交替計算的方法,共享系統中的各種硬件、軟件資源。引入多道程序 原因:
早期單道,內存中僅有 單個作業在運行, CPU 和其他硬件設備串行工作,致使系統中仍有許多資源空閑,設備利用率很低
特點:
多道
宏觀上並行
微觀上串行
作用:
可以提高 CPU 的利用率,充分發揮計算機硬部件 的並行性。
計算題:
P52, 習題1 和 習題2
-
中斷
概念: 中斷,也稱 外中斷, 指在程序執行過程中 遇到 急需處理的事件時, 暫時中止現行程序在 CPU 上運行,轉而執行相應的事件處理程序,待處理完成後再返回斷點或調度其他程序執行的過程
如何處理:
發現中斷源
保護現場
轉向中斷事件處理程序執行
恢復現場
二、進程管理
-
進程 (p71)
為什麽引入進程:
書上: 為了刻畫 系統內部動態狀態 、描述 運行程序活動規律 而引進
(更好的理解: 在多道程序下,運行多個程序並發執行,此時他們將失去封閉性,並具有間斷性及不可再現性的特征。引入進程,以便更好 描述和控制程序的並發執行, 實現 操作系統的 並發性和共享性(最基本的兩個特性)
兩個目的:
刻畫程序的並發性
解決資源的共享性。
作用:
略
與程序關系(只需要看區別,背第一句話即可):
(聯系:)進程是操作系統處於執行狀態程序的抽象
程序 = 文件(靜態可執行文件)
進程 = 執行中的程序 = 程序 + 執行狀態
同一個程序的多次執行過程對應為不同進程
如命令 "ls"的多次執行對應多個進程
進程執行需要的資源
內存:保存代碼和數據
CPU:執行指令
(區別:)進程是動態的,程序是靜態的
程序是有序代碼的集合
進程是程序的執行,進程有 核心態/用戶態
進程是暫時的,程序是永久的
進程與程序的組成不同
進程的組成包括 程序、數據和進程控制塊
-
三態轉換的過程 條件
就緒狀態 -> 運行狀態: 處於就緒狀態的進程被調度後,獲得處理機資源(分派處理機時間片),於是進程由 就緒狀態轉換為運行狀態
運行狀態 -> 就緒狀態:
處於 運行狀態的進程在時間片用完後, 不得不讓出處理機
(可剝奪的 操作系統),當有更高優先級的進程就緒時,調度程序將正在執行的進程轉換為就緒狀態,讓更高優先的進程執行
運行狀態 -> 阻塞狀態:
當 進程 請求某一資源 (如外設) 的使用 和 分配 或等待 某一個事件的 發生(如 I/O 操作的完成) 時, 它就從運行狀態轉換為阻塞狀態。
阻塞狀態 -> 就緒狀態:
當 進程等待的事件到來時,如 I/O 操作結束 或 中斷結束時, 中斷處理程序 必須把相應進程的狀態xxxxx
P101 先來先服務,短作業優先 SJF 、HRRF(最高響應比優先)
P116 習題8 的優先數
P119 21題做一下
P103 要考搶占式
-
進程的同步
指完成某種任務而建立的 兩個或 多個進程,這些進程因為 需要在某些位置 上 協調它們的工作次序 而等待、傳遞信息所產生的制約關系。
-
進程的互斥
當一個進程進入 臨界區使用 臨界資源時,另一個進程必須等待 , 當占用 臨界資源 的進程退出臨界區後,另一個進程才允許訪問次臨界資源
-
臨界區16字真言!!!(為禁止兩個進程同時進入臨界區,同步機制遵循):
空閑讓進: (臨界區空閑時,可以 允許一個 請求進入臨界區的進程 立即進入 臨界區 )
忙則等待: (當已有進程 進入臨界區時,其他試圖 進入臨界區的進程 必須等待 )
有限等待: (對請求訪問的進程,應保證 有限時間內進入 臨界區)
讓權等待: (當進程不能進入臨界區時, 應 立即 釋放處理器,防止進程忙等待)
-
PV 原語,這次不考
-
死鎖 : P184 頁 24題
-
管程
1.引入管程原因:
進程自備同步操作,P(S) 和 V(S) 操作 大量分散在各個進程中,不易管理,易發生死鎖。
2. 管程作用:
管程封裝了同步操作。
對進程隱蔽了同步細節,防止違法操作。
簡化了同步功能的調用界面。
-
計算機存儲管理的基本功能(p193) (展開講!!!)
-
存儲分配:
-
為進程 分配內存空間,以便運行,完成 內存的分配 和 去分配工作。
-
-
地址映射:
-
支持進程使用 邏輯地址 來訪問物理內存單元,實現地址映射。
-
-
存儲保護:
-
負責隔離 分配給 進程的內存區,使之互不幹擾免遭破壞,確保進程對存儲單元的獨占式使用。
-
防止地址越界,操作越權
-
-
存儲共享:
-
為 節省內存空間 和 實現進程通信 ,系統允許多個進程 共享內存區
-
-
存儲擴充:
-
允許用戶的 邏輯地址空間 大於 內存物理地址空間 ,虛擬內存管理,自動在內存和外存之間移動信息。
-
-
可變分區的4個算法
-
首次適應算法(First Fit)
-
最佳適應算法 (Best Fit) 算法
-
最壞適應算法 (Worst Fit) 算法
-
鄰近適應算法 (Next Fit) 算法
-
最後一題: 類似 P250 14題 (註意地址轉換,207頁公式)
操作系統 —期中復習