操作系统复习笔记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
在銀行家算法中,若出現下述資源分配情況:?
問題:
(1)該狀態是否安全?
(2)若進程P2提出請求Request(1,2,2,2)后,系統能否將資源分配給它?
解答:
(1)利用安全性算法對上面的狀態進行分析(見下表),找到了一個安全序列{P0,P3,P4,P1,P2},故系統是安全的
?
(2)P2發出請求向量Request(1,2,2,2),系統按銀行家算法進行檢查:
- Request2(1,2,2,2)<=Need2(2,3,5,6)
- Request2(1,2,2,2)<=Available(1,6,2,2)
- 系統先假定可為P2分配資源,并修改Available,Allocation2和Need2向量: Available=(0,4,0,0) 、Allocation2=(2,5,7,6)、Need2=(1,1,3,4)
此時再進行安全性檢查,發現 Available=(0,4,0,0) 不能滿足任何一個進程,所以判定系統進入不安全狀態,即不能分配給P2相應的Request(1,2,2,2)
?
轉載于:https://www.cnblogs.com/wyb666/p/10191740.html
總結
- 上一篇: idea 开发spark 程序代码
- 下一篇: MySQL 配置文档