1. 程式人生 > >操作系統 —期中復習

操作系統 —期中復習

事件處理 首次適應算法 並發 ron 內存 執行過程 物理 轉換 代碼

操作系統復習

一、操作系統概述

  1. 什麽是操作系統 (關註: 如何控制和協調處理機、存儲器、設備和文件)

操作系統

  1. 是指 控制管理 整個計算機系統的 硬件 和 軟件資源

  2. 控制程序執行

  3. 改善人機界面

  4. 提供各種服務

  5. 並合理地組織調度計算機的 工作和資源的分配, 以提供給 用戶 和 其他軟件 方便的 接口和環境 的 程序集合.

  6. 計算機系統中 最基本的系統軟件。

  1. 操作系統的作用

  1. 服務用戶觀點 : 操作系統作為 用戶接口 和 公共服務程序

  2. 進程交互觀點: 操作系統作為 進程執行的 控制者 和 協調者

  3. 系統實現觀點: 操作系統作為 拓展機 或 虛擬機

  4. 資源管理觀點: 操作系統作為 資源的管理者 和 控制者

  5. 總結:

  1. 操作系統的主要功能 (5個)

  1. 處理器管理:

    • 處理機的 分配 和 運行 都以 進程(或線程) 基本單位 — 處理機的管理 可 歸結為 對進程的管理

    • 主要任務進程何時創建、何時撤銷、如何管理、如何避免沖突、合理共享 (由於並發時在計算機同時運行多個進程)

    • 功能: 進程控制、進程同步、進程通信、死鎖處理、處理機調度等.

  2. 存儲管理:

    • 目的:

      給多道程序的 運行 提供良好的環境, 方便用戶使用 以及 提高 內存的利用率

    • 功能: 主要包括 內存分配、地址映射、內存保護與共享 和 內存擴充 等

  3. 設備管理:

    • 主要任務: 完成用戶的 I/O 請求, 方便用戶使用各種設備, 並提高設備的利用率

    • 功能: 主要包括 緩沖管理、設備分配、設備處理 、虛擬設備等

  4. 文件管理:

    • 功能: 主要包括 文件存儲空間的管理、目錄管理、文件讀寫管理和保護

  5. 聯網與通信管理:

    • 功能:

  1. 什麽叫多道程序設計 ?

  1. 概念:

    允許多個程序同時進入內存 並啟動 交替計算的方法,共享系統中的各種硬件、軟件資源。

  2. 引入多道程序 原因:

    • 早期單道,內存中僅有 單個作業在運行, CPU 和其他硬件設備串行工作,致使系統中仍有許多資源空閑,設備利用率很低

  3. 特點:

    • 多道

    • 宏觀上並行

    • 微觀上串行

  4. 作用:

    • 可以提高 CPU 的利用率,充分發揮計算機硬部件 的並行性。

  5. 計算題:

    • P52, 習題1 和 習題2

  1. 中斷

  1. 概念: 中斷,也稱 外中斷, 指在程序執行過程中 遇到 急需處理的事件時, 暫時中止現行程序在 CPU 上運行,轉而執行相應的事件處理程序,待處理完成後再返回斷點或調度其他程序執行的過程

  1. 如何處理:

    • 發現中斷源

    • 保護現場

    • 轉向中斷事件處理程序執行

    • 恢復現場

二、進程管理

  1. 進程 (p71)

  • 為什麽引入進程:

    • 書上: 為了刻畫 系統內部動態狀態 、描述 運行程序活動規律 而引進

    • (更好的理解: 在多道程序下,運行多個程序並發執行,此時他們將失去封閉性,並具有間斷性不可再現性的特征。引入進程,以便更好 描述和控制程序的並發執行, 實現 操作系統的 並發性和共享性(最基本的兩個特性)

  • 兩個目的:

    1. 刻畫程序的並發性

    2. 解決資源的共享性。

  • 作用:

  • 與程序關系(只需要看區別,背第一句話即可):

    • (聯系:)進程是操作系統處於執行狀態程序的抽象

      • 程序 = 文件(靜態可執行文件)

      • 進程 = 執行中的程序 = 程序 + 執行狀態

    • 同一個程序的多次執行過程對應為不同進程

      • 如命令 "ls"的多次執行對應多個進程

    • 進程執行需要的資源

      • 內存:保存代碼和數據
      • CPU:執行指令
    • (區別:)進程是動態的,程序是靜態的

      • 程序是有序代碼的集合

      • 進程是程序的執行,進程有 核心態/用戶態

    • 進程是暫時的,程序是永久的

    • 進程與程序的組成不同

      • 進程的組成包括 程序、數據和進程控制塊

  1. 三態轉換的過程 條件

  • 就緒狀態 -> 運行狀態: 處於就緒狀態的進程被調度後,獲得處理機資源(分派處理機時間片),於是進程由 就緒狀態轉換為運行狀態

  • 運行狀態 -> 就緒狀態:

    • 處於 運行狀態的進程在時間片用完後, 不得不讓出處理機

    • (可剝奪的 操作系統),當有更高優先級的進程就緒時,調度程序將正在執行的進程轉換為就緒狀態,讓更高優先的進程執行

  • 運行狀態 -> 阻塞狀態:
    • 當 進程 請求某一資源 (如外設) 的使用 和 分配 或等待 某一個事件的 發生(如 I/O 操作的完成) 時, 它就從運行狀態轉換為阻塞狀態。

  • 阻塞狀態 -> 就緒狀態:
    • 進程等待的事件到來時,如 I/O 操作結束 或 中斷結束時, 中斷處理程序 必須把相應進程的狀態xxxxx

  1. P101 先來先服務,短作業優先 SJF 、HRRF(最高響應比優先)

  2. P116 習題8 的優先數

  3. P119 21題做一下

  4. P103 要考搶占式

  1. 進程的同步

指完成某種任務而建立的 兩個或 多個進程,這些進程因為 需要在某些位置 上 協調它們的工作次序 而等待、傳遞信息所產生的制約關系。

  1. 進程的互斥

當一個進程進入 臨界區使用 臨界資源時,另一個進程必須等待 , 當占用 臨界資源 的進程退出臨界區後,另一個進程才允許訪問次臨界資源

  1. 臨界區16字真言!!!(為禁止兩個進程同時進入臨界區,同步機制遵循):

  1. 空閑讓進: (臨界區空閑時,可以 允許一個 請求進入臨界區的進程 立即進入 臨界區 )

  2. 忙則等待: (當已有進程 進入臨界區時,其他試圖 進入臨界區的進程 必須等待 )

  3. 有限等待: (對請求訪問的進程,應保證 有限時間內進入 臨界區)

  4. 讓權等待: (當進程不能進入臨界區時, 應 立即 釋放處理器,防止進程忙等待)

  1. PV 原語,這次不考

  2. 死鎖 : P184 頁 24題

  3. 管程

1.引入管程原因:

  • 進程自備同步操作,P(S) 和 V(S) 操作 大量分散在各個進程中,不易管理,易發生死鎖。

2. 管程作用:

  • 管程封裝了同步操作。

  • 對進程隱蔽了同步細節,防止違法操作。

  • 簡化了同步功能的調用界面。

  1. 計算機存儲管理的基本功能(p193) (展開講!!!)

  • 存儲分配:

    • 為進程 分配內存空間,以便運行,完成 內存的分配去分配工作。

  • 地址映射:

    • 支持進程使用 邏輯地址 來訪問物理內存單元,實現地址映射。

  • 存儲保護:

    • 負責隔離 分配給 進程的內存區,使之互不幹擾免遭破壞,確保進程對存儲單元的獨占式使用

    • 防止地址越界,操作越權

  • 存儲共享:

    • 節省內存空間實現進程通信 ,系統允許多個進程 共享內存區

  • 存儲擴充:

    • 允許用戶的 邏輯地址空間 大於 內存物理地址空間 ,虛擬內存管理,自動在內存和外存之間移動信息。

  1. 可變分區的4個算法

  • 首次適應算法(First Fit)

  • 最佳適應算法 (Best Fit) 算法

  • 最壞適應算法 (Worst Fit) 算法

  • 鄰近適應算法 (Next Fit) 算法

  1. 最後一題: 類似 P250 14題 (註意地址轉換,207頁公式)

操作系統 —期中復習