作業系統複習筆記1
複習內容:
1、第一章 作業系統引論
2、第二章 程序的描述與控制
3、第三章 處理機排程與死鎖
參考:計算機作業系統(第四版) - 湯小丹、樑紅兵、哲鳳屏、湯子瀛 - 西安電子科技大學出版社出版
一、第一章 作業系統引論
1、操縱系統的目標和作用 P1
作業系統目標: 方便性、有效性、可擴充性和開放性
OS是什麼以及有何作用(簡答題):
- OS是配置在計算機硬體上的第一層軟體,是對硬體系統的首次擴充,是現代計算機系統中最基本和最重要的系統軟體
- OS作為使用者與計算機硬體之間的介面,便於使用者使用
- OS作為計算機系統資源的管理者
- OS實現對計算機資源的抽象
- OS提高計算機硬體裝置的利用率和系統的吞吐量
2、作業系統的基本型別 P6 - P11
作業系統的基本型別如下:
- 批處理:分為單道批處理系統和多道批處理系統
- 分時系統:多路性、獨立性、及時性、互動性
- 實時系統:及時性、可靠性
3、作業系統的基本特徵 P13
作業系統的四大基本特徵:併發、共享、虛擬、非同步
4、作業系統的主要功能 P16
主要功能如下:
- 處理機管理
- 儲存器管理
- 裝置管理
- 檔案管理
- 作業管理
二、第二章 程序的描述與控制
1、前趨圖 P32 - P33
什麼是前趨圖,為什麼要有前趨圖,前趨圖的作用:
指用於描述程序之間執行的先後順序的一個有向無迴圈圖,為了描述程序之間執行的先後順序
2、程序 P36 - P37
什麼是程序:
程序(Process)是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎
程序的特效:
- 動態性
- 併發性
- 獨立性
- 非同步性
建立程序的過程:申請PCB =》 分配資源 =》 初始化PCB =》 插入就緒佇列
3、程序的狀態 P37 - P39
程序三狀態:
- 執行(running): 程序已獲得CPU正在執行中
- 就緒(ready): 程序已經分配到除CPU資源外的所有資源,只要再獲得CPU就可以馬上執行
- 阻塞(block): 正在執行的程序由於發生某些事件(IO請求、申請緩衝區失敗等)暫時無法繼續執行的狀態
程序三狀態之間的轉換:
- 執行 =》 阻塞: IO請求
- 阻塞 =》 就緒: IO完成
- 就緒 =》 執行: 程序排程 執行 =》 就緒: 時間片完
程序五狀態:
引入掛起操作和啟用操作之後程序三狀態中的就緒和阻塞就有兩種型別(活動和靜止)
此時程序狀態如下所示:
4、PCB P40 - P41
PCB是什麼:PCB作為程序的一部分,用於記錄程序資訊
PCB的具體作用:
- 作為獨立執行基本單位的標誌
- 能實現間斷性執行方式
- 提供程序管理所需要的資訊
- 提供程序排程所需要的資訊
- 實現與其他程序的同步與通訊
PCB中的資訊:
- 程序識別符號
- 處理機狀態
- 程序排程資訊
- 程序控制資訊
5、程序同步 P50
臨界區: 每個程序中訪問臨界資源的那段程式碼被稱為臨界區
6、程序與執行緒 P76 - P78
程序:
程序是系統中擁有資源的基本單位
執行緒:
- 將執行緒作為排程和分派的基本單位(切換代價原小於程序)
- 執行緒的併發性更好
- 執行緒本身不擁有系統資源(多個執行緒共享程序擁有的資源)
- 在同一程序中的不同執行緒之間的獨立性要比不同程序之間的獨立性低
- 建立執行緒的系統開銷比建立程序的系統開銷更小
三、第三章 處理機排程與死鎖
1、處理機排程演算法的目標 P86 - P87
處理機排程演算法的目標:
- 資源利用率
- 公平性
- 平衡性
- 策略強制執行
各種處理機排程演算法的目標:
- 批處理系統 =》 平均週轉時間短、系統吞吐量高、處理機利用率高
- 分時系統 =》 響應時間快、均衡性
- 實時系統 =》 截止時間的保證、可預測性
2、處理機排程演算法詳細內容 P89 - P94
處理機排程演算法有如下幾種:
- 先來先服務排程演算法(FCFS):按照作業到達的先後順序來進行排程,先來的先處理
- 短作業優先(SJF):短作業優先執行
- 優先順序排程演算法(PSA):優先順序越高的作業越先執行
- 高響應比優先排程演算法(HRRN):優先權=(等待時間+要求服務時間)/要求服務時間 優先權越高越先執行
- 輪轉排程演算法(RR):基於時間片的輪轉演算法 讓就緒佇列中的每個程序每次只執行一個時間片
處理機排程演算法計算公式:
- 週轉時間 = 完成時間 - 到達時間
- 帶權週轉時間 = 週轉時間/服務時間
3、死鎖 P104 - P105
什麼是死鎖及產生死鎖的原因(簡答題):
死鎖是指兩個或兩個以上的程序在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統
處於死鎖狀態或系統產生了死鎖
死鎖源於多個程序對資源的爭奪,不僅對不可搶奪資源(臨界資源)進行爭奪時會引起死鎖,而且對可消耗資源進行爭奪時也會引起死鎖
4、銀行家演算法 P113