一:作業系統概述
1. 使用者介面是指
-
使用者介面
命令介面
程式介面
-
操作環境
2. 從使用者觀點看
作業系統就是使用者與計算機硬體之間的介面
3. 從資源管理觀點看
作業系統是計算機資源的管理者
4. 圖形使用者介面採用圖形化操作介面
用於檢視和操作應用程式或文件的是對話方塊
5. 使用者程式請求作業系統服務
透過訪管指令實現
6. 作業系統供給應用程式的介面是
系統呼叫
7. 作業系統主要功能
程序和處理機管理。儲存器管理,裝置管理,檔案管理及介面管理
8. 作業系統提供的使用者介面
-
離線使用者介面
將作業說明書和作業一起交給系統,讓其按說明要求執行作業
-
聯機命令介面
透過命令列終端鍵入dir/is檢視當前目錄
-
系統呼叫介面
使用open()開啟一個檔案
9. 分時系統的響應時間主要根據
使用者所能接受的等待時間確定的
10. 多道程式的特徵
間斷性,共享性,制約性
11. 訪管指令
將使用者態轉變為核心態 ,因此在使用者態執行
12. 系統呼叫
本質上就是一個存放核心封裝好的函式指標;廣義指令就是系統呼叫
系統呼叫發生在使用者態,執行在核心態
系統呼叫專門供應應用程式使用的介面
13. 使用者使用計算機
透過命令方式和系統呼叫方式
14. 按命令控制方式分為
聯機使用者介面,離線使用者介面
15. 系統中的快取
對用使用者是透明的,不可見;由系統管理
16. 發生和執行
外部中斷:可以發生在使用者態,但執行在核心態
程序切換:一定發生在核心態,執行在核心態
17. 庫函式
許多庫函式會使用系統呼叫實現功能,但有的完全不使用
庫函式能執行在使用者空間
18. 只能在核心態執行的指令
涉及計算機根本執行的:遮蔽所有中斷,設定時鐘日期,停機
涉及系統級資源的修改
19. 分層式架構
結構清晰,便於除錯,有利於功能增加修改或替換
20. 大核心
高新能,核心程式碼大,結構混亂,難以維護
21. 微核心
核心功能少,結構清晰,方便管理,更加穩定,效能低
幾乎不做任何工作,僅提供:
- 程序間通訊機制
- 中斷和陷入處理
- 有限的低階程序管理和排程
- 低階I/O
22. 虛擬機器
可以由軟體或硬體實現
軟體能實現的功能硬體也能實現
22. Spooling技術
欺騙程序擁有資源,利用緩衝區使程序排隊延遲訪問獨佔資源,實現獨佔資源的共享
23. 覆蓋與交換
在多道程式環境下用於擴充套件記憶體的兩種方式
24. 子程式呼叫
只需儲存程式斷點
25. 中斷處理中保護的內容
由硬體自動將處理及狀態字PSW和程式計數器PC中下一條指令的地址儲存在中斷保留棧中
儲存被中斷程序的CPU現場資訊,包括所有CPU暫存器的內容都壓入中斷棧
暫存器資訊由作業系統儲存
26. 多道程式發揮並行工作能力
是CPU與外設之間
二:程序管理
1. 程式與程序
程序是動態的;程式是靜態的
一個程式可以對應多個程序,一個程序在一個時間只能對應一個程式,當在程序的生命週期中可以執行無數個程式
程序是程式的一次執行
2,建立到就緒
I/O操作頻率值增加;CPU利用率可能上升或下降;程序的平均響應時間增加
3,臨界資源釋放
臨界資源只能提供一個程序使用
會引起一個等待的程序進入就緒
4. 程序自身決定
從執行態到阻塞態
5. 程序排程
動態地把處理機分配給處於就緒佇列中的某一個程序,以使之執行。這就是程序排程
6.多執行緒程序
某個執行緒被阻塞整個程序都被阻塞
7. 鍵盤響應
由系統中斷完成不需要多執行緒
8. 訊號量=0時
表示臨界資源用完且無阻塞程序
9. 互斥使用
訊號量初值設定為1
10. 正常執行
每個變數的值都要是能唯一確定的
11. 互斥演算法的三個正確性條件
- 互斥性原則:任何時刻只能由一個程序處於臨界區
- 進展性原則:如果該程序不在它的臨界區執行,那麼不應該阻止其他程序進入該臨界區執行
- 有限等待性原則:某個程序進入一個臨界區應該在有限時間內完成。
12. 執行緒
包含CPU現場可獨立執行程式
同一程序執行緒可以直接交換資料
13.互斥操作
兩個不同程序間的全域性變數不能互通
14:管道通訊
管道可以雙向資料傳輸,但同一時刻只能一邊傳資料
管道容量通常為記憶體的上一頁,與不受磁碟容量限制
管道滿時,寫管道會阻塞;管道空時,都管道會阻塞
三:處理機排程和死鎖
1. 三級排程
- 高階排程:作業排程,作業調入記憶體
- 中級排程:記憶體排程,選擇一個程序調出外存,再從外存調入到主存
- 低階排程:程序排程,就緒程序調入處理機
2. CPU排程演算法
n個程序有n!個排程順序
面向系統:吞吐量高,處理機利用率高,各類資源的平衡利用
面向使用者:週轉時間短,響應時間快,截至時間保證,優先權準則
多重佇列演算法:將程序分佇列,每個佇列使用的排程演算法都不同
多級佇列:系統開銷大
高響應比和短程序優先適合批處理
時間片輪轉和多級反饋佇列適合分時系統
短作業優先提高系統吞吐量
高響應比演算法若同時到達相當於短作業優先演算法
3. 死鎖
-
死鎖預防
破壞四個必要條件之一
即互斥條件,請求和保持條件,不可剝奪條件,迴圈等待條件 -
死鎖避免
銀行家演算法
-
死鎖檢測和解除
四,記憶體管理
1. 分頁式儲存管理地址變換工作由硬體完成
2. 頁式儲存選擇頁面大小不考慮磁碟訪問時間
3. 頁式儲存執行過程中可能改變程式的位置
4. 頁表的起始地址存放在頁表起始址暫存器
5. 每個程序船艦一張頁表
同一程序的執行緒共用一張頁表
6. 多級頁表優點
減少頁表所佔的連續記憶體空間
7. 段頁式記憶體管理
地址結構:段號+段內頁號+頁內地址(位移量)
8. 段號超出段表長度引發
越界中斷
9. 程式分段
在使用者程式設計時決定
10. 兩個程序共用同一個儲存段
讓程序各自的段表擁有相同的段起始地址和段長度
11. 引入段表
方便程式設計;資訊共享;資訊保護;動態連結;動態增長
12. 缺頁中斷
頁號合法但對應頁沒調入記憶體產生缺頁、
越界中斷,頁號不存在不合法
若頁表大包含頁表項多,程序找不到對應頁號機率就小,換的次數就少,缺頁中斷次數就少
- 找到空閒或置換頁框分配給缺的頁
- 從磁碟調入缺頁
- 修改頁表標誌位,物理頁框號等
13. 請求分頁式儲存與基本分頁式儲存
均有:
- 頁號
- 物理塊號
請求分頁式多四個欄位:
- 狀態位:是否調入記憶體
- 訪問欄位:記錄最近被訪問次數
- 修改位:記錄是否修改過
- 外存地址:頁面在外存存放位置
請求式主要特點:擴充記憶體
14. 引用串
引用串就是該程式一段時間內需要呼叫的頁號序列,例如p = 1 2 3 3 2 1 4 5 6 2 2。
15. 缺頁次數
缺頁次數最理想的情況是 有n個不同的頁號,每個頁號肯定且僅發生缺頁一次,那麼下限為n;
(前提 駐留集<n)最糟糕的情況是每次訪問某個頁號時都發生缺頁(重複訪問時也發生缺頁),那麼此時跟引用串有關係,引用串長度p就為缺頁次數上限 p。
16. 交換區
交換區,也叫Swap分割槽,是在系統的實體記憶體不夠用的時候,把硬碟記憶體中的一部分空間釋放出來,以供當前執行的程式使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程式,這些被釋放的空間被臨時儲存到Swap分割槽中,等到那些程式要執行時,再從Swap分割槽中恢復儲存的資料到記憶體中。
17. 對各程序進行固定分配頁面數目不變,不可能全域性置換
準備或執行時,
-
固定分配:
給程序的 每個物理塊
分配數量固定,
執行時數量固定,按照分配數量。 -
可變分配:
分配數量固定,
執行時數量不固定。
缺頁時,
-
區域性置換:
缺頁程序獨立,
置換分配給自身的物理塊。 -
全域性置換:
從作業系統中摳一塊給缺頁程序;或者從其他程序摳一塊下來,經過外存,又調回給缺頁程序。
為什麼沒有固定分配–全域性置換?
因為,固定分配要求自身缺頁時,替換自身;不能要求其他程序的置換,與全域性置換相悖。