操作系统知识点及题目
操作系統知識點
第一章
基本構成
-
處理器(CPU),由控制器,運算器,一組寄存器組成
-
主存儲器(只讀:ROM,隨機存取:RAM)
-
輸入輸出模塊
-
系統總線
操作系統的特征
- 并發性,共享性,隨機性
操作系統的功能
- 文件管理
- 進程調度
- 用戶接口
第二章
程序順序執行的特征
- 順序性,封閉性,可再現性
作業吞吐量:所完成作業的數量/給定的時間間隔
CPU利用率:所完成作業的時間/給定的時間間隔
進程與程序的區別
- 動態性,并發性,非對應性,異步性
進程的基本特征
- 動態性,并發性,調度性
進程的狀態
- 新建狀態,就緒狀態,運行狀態,阻塞狀態,終止狀態
進程映像
- 程序,數據集合,棧,進程控制塊(進程描述塊,PCB(進程的唯一標識))
進程的控制
- 進程阻塞:運行狀態轉等待狀態(等待某事件發生)
- 進程喚醒:等待狀態轉就緒狀態
- 進程創建:新建進程轉就緒狀態
- 進程調度:就緒狀態轉運行狀態(分配CPU)
進程通信
- 低級:互斥和同步機構
- 高級:共享存儲,管道文件,消息傳遞
線程的組成
- 線程標識符,調度狀態信息,核心棧指針,用戶棧指針,私有存儲區
線程與進程的比較
- 調度單位:進程是資源分配的基本單位,線程作為調度和分派的基本單位
- 資源分配給進程,進程的所有線程共享該資源
第三章
調度的層次
- 高級調度(作業調度):分配內存等資源,為進程活動做準備
- 中級調度(內存調度,進程掛起與對換):將暫時不能運行的進程掛起
- 低級調度(進程調度):將CPU分派給就緒隊列的一個進程,執行頻繁
進程調度的方式
- 非搶占方式:一直保持CPU到完成或者等待狀態
- 搶占方式:可被搶占
調度的基本準則
- 周轉時間:完成時間減到達時間
- 平均周轉時間
- 帶權周轉時間:W=T(周轉時間)/R(運行時間)
- 平均帶權周轉時間
- 就緒等待時間:在就緒隊列的等待時間
- 響應時間:從輸入到首次響應的時間
調度算法
- 先來先服務法(FCFS)(非搶占)
- 短作業優先法(SJF)(非搶占)
- 最短剩余時間優先法(SRTF)(搶占)
- 高響應比優先法(HRRF)(非搶占)
- 在調度前要計算響應比(1+等待時間/運行時間),選擇高響應比的作業運行
- 優先級法(PS)
- 有搶占和非搶占,根據優先級調用
- 時間片輪轉法(RR)(搶占)
- 先按照FCFS排序,執行一個時間片長度后當前的加到隊尾,換下一個
第四章
進程的關系
- 互斥,同步,通信、
臨界資源
- 一次只能被一個進程使用的共享資源
臨界區(CS區)
- 在進程中訪問臨界資源的那段程序
信號量
- 物理意義:S>=0時表示某資源的可用數,S<0時絕對值表示阻塞隊列的進程數
- 組成:兩個成員組成的數據結構,一個值為信號量的值(INT),另一個為指向PCB的指針
- 規定
- 信號量可被賦值,初始值不能為負數
- 只允許被P,V操作訪問和修改
P操作
V操作
產生死鎖的4個必要條件
死鎖的判斷
死鎖的處理策略
忽略死鎖條件
死鎖預防(靜態策略)
- 破壞互斥條件,破壞占有且等待條件,破壞不可搶占條件
死鎖避免(動態策略)
-
安全狀態:進程所需的資源不大于所有資源
-
不安全狀態是死鎖的必要條件,不是充分條件
-
拒絕分配資源法(銀行家算法)
-
要求:
- 必須說明自己的所需最大資源量
- 只能一次一次的申請資源
- 如已經獲得資源的最大需求量,則要在規定時間內使用完畢并歸還系統
-
-
承諾:
- 若一個進程對資源的最大需求量沒有超過總量,則不能拒絕
- 在接到資源請求時,有權阻塞該進程,但保證在有限時間內響應
單種銀行家算法
Available:每類資源可用數量
max:每個進程對各類資源的最大需求
allocation:當前每個進程分配到底各類資源數
need:max-allocation
work:當前每類資源可用數
finish:是否安全
答題表格列序:work need allocation work+allocation finish
死鎖的檢測與恢復
第五章
邏輯空間:由程序中邏輯地址組成的范圍
內存空間:內存單元組成
重定位:程序裝入內存時,把邏輯地址轉成內存地址
單一分區存儲管理系統缺點:一次只能一個作業進入內存
動態分區缺點:內存利用率不高,有外部碎片
動態分區分配算法:最先適應,最佳適應
可重定位分區分配算法
-
時機
- 釋放所占分區/分配進程分區
缺點,浪費大量CPU
分頁存儲管理
分段存儲管理
頁面置換算法
缺頁率:缺頁次數/全部次數
有效存取時間:(1-p)X ma+p X 缺頁處理時間(處理缺頁中斷時間,調入該頁的時間,重新啟動進程的時間)
頁面走向:存儲訪問序列
常見的頁面置換算法
第六章
磁盤容量=磁頭數X柱面數(磁道數)X(每磁道)扇區數X512B(扇區大小)
磁盤訪問時間Ta:Ts(尋道時間10ms)+Tr(旋轉時間3ms)+Tt(傳輸時間)
磁盤調度算法
先來先服務法(FCFS)
最短尋道時間優先算法(SSTF):選擇最近磁道
掃描法(SCAN):電梯法:不僅考慮距離,更考慮方向
循環掃描法(C-SCAN):移動到最遠端即可返回到另一邊的最遠端
旋轉調度
時間:(掃描時間+處理時間)Xn+延遲時間X(n-1)(n為扇區數)
第七章
分類
I/O通道分類:字符多路通道,數據選擇通道,數據多路通道
I/O方式分類:程序方式,中斷方式,DMA方式
通道是獨立于CPU的,負責數據輸入輸出參數工作的處理單元
題目
第一章
第二章
第三章
有5個任務ABCDE,它們到達時刻分別0,2,4,6,8,預計它們的運行時間為12,5,3,7,9min。其優先級分別為2,4,5,1,3。這里5為最高優先級。對于下列每一種調度算法,計算其平均進程周轉時間(進程切換開銷可不考慮)。
先來先服務(按A,B,C,D,E)算
短作業優先算
最短剩余時間優先算法
高響應比優先算法
非搶占式優先級調度算法
搶占式優先級調度算法
時間片輪轉算法(令時間片為2min)
第四章
產生死鎖的主要原因是進程運行推進的順序不合適(資源分配不當和系統資源不足)
臨界區是指并發進程中訪問共享變量的(程序)段。
通常不采用(從非死鎖進程處搶奪資源)方法來解除死鎖。
在9個生產者,6個消費者共享容量為8的緩沖區的生產者-消費者問題中,互斥使用緩沖區的信號量S的初始值為(1)。
若系統中有五臺繪圖儀,有多個進程均需要使用兩臺,規定每個進程一次僅允許申請一臺,則至多允許(4)個進程參與競爭,而不會發生死鎖。
若某系統中有3個并發進程,都需要同類資源3個,則該系統不會發生死鎖的最少資源單位數是( 7)
系統發生死鎖時,其資源分配圖中必然存在環路。因此,如果資源分配圖中存在環路,則系統一定出現死鎖。(錯)
P,V操作不僅可以實現并發進程之間的同步和互斥,而且能夠防止系統進入死鎖狀態。(錯)
由于資源數少于進程對資源的需求數,因而產生資源的競爭,所以這種資源的競爭必然會引起死鎖。(錯)
第五章
某采用頁式虛擬存儲管理的系統,頁面大小為100字。現有一用戶作業,它依次要訪問的字地址序列是:215,58,90,186,355,430,306,168,279,93,201,140。系統分配給該作業的主存共300字,分別使用OPT和LRU,并計算缺頁率。
根據如下段表:
段號 基地址 長度 合法(0)/非法(1)
0 300 200
1 7500 540
2 3000 1010
3 2000 90
(1)求出邏輯地址為0,100的物理地址并將其的合法性填入上表適當位置;
(2)求出邏輯地址為3,100的物理地址并將其的合法性填入上表適當位置;
在分頁系統中,邏輯空間最多可以有64個頁,每頁1KB字節。若把它映射到由32個物理塊組成的存儲器。問:(1)有效的邏輯地址有多少位?(2)有效的物理地址有多少位?
(1)16:64X1024 = 2的16次方,(2)15:32X1024
在一個請求分頁系統中,分別采用FIFO、OPT和LRU頁面置換算法時,假如一個作業的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理內存塊數是3時,分別計算在訪問過程中所發生的缺頁次數和缺頁率(用畫表形式)。
(2)如果一個邏輯地址空間長度為35KB的用戶程序申請內存,系統采用最佳適配算法,請畫出分配后的空閑塊的鏈表情況。
(3) 針對2)里的內存分配情況,若該用戶程序內有一讀取數據指令“LOAD 2,4096”,請算出該用戶程序運行時的實際讀取地址。(240K+4096B=244K)
(1) 采用最先適配法,所得到的分區首址是多少?被分配的那個空閑分區將分別剩下多少字節?(100K, 50K)
(2) 采用最佳適配法,所得到的分區首址是多少?被分配的那個空閑分區將分別剩下多少字節?(330K, 30K)
(3) 采用最壞適配法,所得到的分區首址是多少?被分配的那個空閑分區將分別剩下多少字節?(410K,72K)
第六章
假設一個磁盤有100個柱面,每個柱面有5個磁道,每個盤面被分為4個扇區,柱面、磁頭和扇區的編號均從0開始。現用字長為32位的位示圖來管理磁盤空間,位示圖的字號、位號從0開始編號。
(1)每個柱面有多少個存儲塊?該磁盤組共有多少個存儲塊?
(2)求位示圖中字號為4、位號為4的二進制位對應塊的物理塊號?
(3)給出該塊的物理地址(柱面號、磁頭號、扇區號)?
(4)刪除文件歸還第15柱面第5磁道第2扇區,對應的物理塊號是多少?位示圖中應修改第幾字第幾位?
(1)每個柱面有5(道)X4 (扇區) =20個存儲塊,磁盤共有20X100=2000個存儲塊。
(2)位示圖中字號為4、位號為4的二進制位對應塊的塊號是4*32+4=132。
(3)132/(54)=6,132%(54)=12,12/4=3,12%4=0,該塊的柱面號是6,磁頭號是3,扇區號是0。
(4) 塊號=(15柱面第5磁道第2扇區)15X5X4+5X4+2=322
字號i=322/32=10位號j=322%32=2某磁盤組有100個柱面,每個柱面有4個磁道,每個磁道被分為2個扇區。現用字長為16位的位示圖來管理磁盤空間,位示圖中的字號、位號從“0”開始編號。試問:
(1)存儲該位示圖需多少字節?
(2)位示圖中字號為6、位號為26的二進制位所對應盤塊的邏輯塊號是多少?它在哪個柱面、磁道號和扇區號(柱面編號從“0”開始)?
(1)100X4X2/8=100字節。
(2)位示圖中字號為6、位號為24的二進制位所對應盤塊的塊號是6X16+26=122, m=122/(42)=15, n=122%(42)=2, 2/8=0, 2%8=2
所以該塊在15號柱面,0號磁道號和2號扇區號。
某文件系統中每盤塊大小為4KB,每塊地址用4B表示,請問:
(1)若該文件系統采用二級和三級索引結構,則它能管理的最大文件長度分別是多少字節?
(2)若有一個20KB大小的文件,現已獲取到該文件的目錄信息,如需讀取該文件最后16B的數據,當文件系統分別采用連續結構和鏈接結構時,各需要讀取多少個盤塊?
(1)一個盤塊里的盤號數:4KB/4B=1K
二級索引結構能管理最大文件長度為:1K * 1K * 4KB = 4GB三級索引結構能管理最大文件長度為:1K * 1K * 1K * 4KB = 4TB(2)連續結構:讀取1個盤塊
鏈接結構:存儲數據需要:20KB/4KB = 5個盤塊存儲指針需要:4B*5 = 20B>16B所以文件最后20B的數據保存在第6個盤塊里,需要讀取6個盤塊某磁盤磁道分成5個扇區(0~4),每個扇區存放一個邏輯記錄。一個用戶文件有 5個記錄:A、B、C、D、E,被順序存放在一個磁道上。 假定磁盤旋轉一周的時間是 30ms, 每個記錄讀出后需9ms的時間處理。試問:
(1)順序讀出6個記錄并進行處理,共需多少時間?
(2)給出一種在磁盤上安排記錄的策略,使整個時間盡可能少。
(1)(6+9)X 5 + 21 X 4 = 159 ms
(2)安排策略:A,D,B,E,C ,共需:(6+9)X 5 + 3 X 4 = 87 ms
有一個請求磁盤服務的隊列,要訪問的磁道分別是:97,180,30,120,16,19,78,69,設磁頭最初在35道上。請問:
(1)寫出FCFS算法的尋道序列,并算出平均尋找長度
(2)寫出SSTF算法的尋道序列,并算出平均尋找長度。
(3)當磁頭移動方向為:朝著圓心方向,寫出SCAN算法的尋道序列,并算出平均尋找長度。
(4)當磁頭移動方向為:遠離圓心方向,寫出SCAN算法的尋道序列,并算出平均尋找長度。
(5)當磁頭移動方向為:1 朝著圓心方向,寫出循環SCAN算法的尋道序列,并算出平均尋找長度。
(6)當磁頭移動方向為:遠離圓心方向,寫出循環SCAN算法的尋道序列,并算出平均尋找長度。
第七章
總結
以上是生活随笔為你收集整理的操作系统知识点及题目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查询学生信息表班级的平均成绩
- 下一篇: 网游装备防盗设计之交易系统