第二章操作系統(tǒng)復(fù)習(xí)要點(diǎn)

第二章操作系統(tǒng)復(fù)習(xí)要點(diǎn)

本章每次約3題

一、資源互斥(PV)

信號量包含兩類,一類是公用信號量,他實(shí)現(xiàn)進(jìn)程間的互斥,初值為1或資源數(shù)目;另一類是私用信號量,它實(shí)現(xiàn)進(jìn)程間的同步,初值為0或某個(gè)正數(shù)。

  • PV操作是對信號量的操作

  • P是給信號量減1、V是給信號量+1

  • P操作的是自己的私有信號量、V是操作別人的私有信號量、公有信號量每個(gè)進(jìn)程的PV都能操作

二、進(jìn)程管理

三態(tài)模型

  • 就緒狀態(tài):就是“萬事俱備只欠東風(fēng)”的狀態(tài),進(jìn)程已得到運(yùn)行所需資源,只等待cpu的調(diào)度便可運(yùn)行。

  • 運(yùn)行狀態(tài):進(jìn)程已得到運(yùn)行所需資源,并且得到了cpu的調(diào)度。

  • 等待狀態(tài):不具備運(yùn)行條件,等待時(shí)機(jī)的狀態(tài),也叫阻塞狀態(tài)

引起進(jìn)程狀態(tài)轉(zhuǎn)換的具體原因:

(1)運(yùn)行態(tài)->等待態(tài)。等待使用資源;如等待外設(shè)傳輸;等待人工干預(yù)

(2)等待態(tài)->就緒態(tài)。資源得到滿足;如外設(shè)傳輸結(jié)束;人工干預(yù)完成。

(3)運(yùn)行態(tài)->就緒態(tài)。運(yùn)行時(shí)間片到;出現(xiàn)更高優(yōu)先權(quán)進(jìn)程。

(4)就緒態(tài)->運(yùn)行態(tài)。CPU空閑時(shí)選擇一個(gè)就緒進(jìn)程。

五態(tài)模型

(1)活躍阻塞態(tài)->靜止阻塞態(tài)。如果當(dāng)前不存在活躍就緒進(jìn)程,那么至少有一個(gè)等待進(jìn)程將被對換出來成為靜止阻塞態(tài);操作系統(tǒng)根據(jù)當(dāng)前資源狀況和性能要求,可以決定把活躍阻塞態(tài)進(jìn)程對換出去成為靜止阻塞態(tài)。

(2)靜止阻塞態(tài)->靜止就緒態(tài)。引起進(jìn)程等待的事件發(fā)生之后,相應(yīng)的靜止阻塞態(tài)進(jìn)程將轉(zhuǎn)換為靜止就緒態(tài)。

(3)靜止就緒態(tài)->活躍就緒態(tài)。如果內(nèi)存中沒有活躍就緒態(tài)進(jìn)程,或者靜止就緒態(tài)進(jìn)程具有比活躍就緒態(tài)進(jìn)程更高的優(yōu)先級,系統(tǒng)將把靜止就緒態(tài)進(jìn)程轉(zhuǎn)換成活躍就緒態(tài)。

(4)活躍就緒態(tài)->靜止就緒態(tài)。操作系統(tǒng)根據(jù)當(dāng)前資源狀況和性能要求也可以決定把活躍就緒態(tài)進(jìn)程對換出去成為靜止就緒態(tài)。

(5)靜止阻塞態(tài)->活躍阻塞態(tài)。當(dāng)一個(gè)進(jìn)程等待一個(gè)事件時(shí),原則上不需要把它調(diào)入內(nèi)存。但當(dāng)一個(gè)進(jìn)程退出后,主存已經(jīng)有了一大塊自由空間,而某個(gè)靜止阻塞態(tài)進(jìn)程具有較高優(yōu)先級,并且操作系統(tǒng)已經(jīng)得知導(dǎo)致它阻塞的事件即將結(jié)束,此時(shí)便發(fā)生這一狀態(tài)變化

三、資源安全

資源數(shù)(安全的)= 互斥進(jìn)程數(shù)X(每個(gè)進(jìn)程所需最大資源數(shù)-1)+1

如果題目給出的資源數(shù)不是安全的,則有產(chǎn)生死鎖的可能

四、磁盤讀寫時(shí)間、序列相關(guān)

讀取磁盤需要3個(gè)參數(shù):柱面號、磁頭號(盤面號)、扇區(qū)號。

讀取順序:先根據(jù)柱面號找柱面->選定磁頭->找扇區(qū)

存取時(shí)間=尋道時(shí)間+等待時(shí)間

處理時(shí)間=等待時(shí)間+記錄處理時(shí)間

(記錄處理最少等待時(shí)間=0,最長等待時(shí)間=磁盤旋轉(zhuǎn)周期N ms/周*記錄道數(shù))

移動道數(shù)(或扇區(qū))=目標(biāo)磁道(或扇區(qū))-當(dāng)前磁道(或扇區(qū))

尋道時(shí)間=移動道數(shù)*每經(jīng)過一磁道所需時(shí)間

等待時(shí)間=移動扇區(qū)數(shù)*每轉(zhuǎn)過一扇區(qū)所需時(shí)間

讀取時(shí)間=目標(biāo)的塊數(shù)*讀一塊數(shù)據(jù)的時(shí)間

數(shù)據(jù)讀出時(shí)間=等待時(shí)間+尋道時(shí)間+讀取時(shí)間

平均等待時(shí)間=磁盤旋轉(zhuǎn)一周所用時(shí)間的一半

(自由選擇順逆時(shí)鐘時(shí),最長等待時(shí)間為半圈,最短為無須旋轉(zhuǎn))

平均等待時(shí)間=(最長時(shí)間+最短時(shí)間)/2

平均尋道時(shí)間=(最大磁道的平均最長尋道時(shí)間+最短時(shí)間)/2

最大磁道的平均最長尋道時(shí)間=(最長外徑+圓心)/2

位示圖計(jì)算物理塊

物理塊的編號從0開始,實(shí)際物理塊=物理塊號+1(例4195號物理塊其實(shí)是第4196塊)

字長與物理塊的關(guān)系:設(shè)字長為32位,也就是說每個(gè)字可以記錄32個(gè)物理塊的使用情況,4196/32=131.125,也就是說4195號物理塊應(yīng)該是在第131個(gè)字中。到第130個(gè)字為止,共保存了131*32=4192個(gè)物理塊(0~4191),所以,第4195塊應(yīng)該在第131個(gè)字的第3位記錄(要注意:0是最開始的位)。

五、頁式存儲管理

基本思路:把物理內(nèi)存劃分為許多固定大小的內(nèi)存塊,稱為物理頁面;把邏輯地址空間也劃分為大小相同的塊,稱為邏輯頁面。當(dāng)一個(gè)用戶程序被裝入內(nèi)存時(shí),不是以整個(gè)程序?yàn)閱挝唬阉娣旁谝徽麎K連續(xù)的區(qū)域,而是以頁面為單位來進(jìn)行分配的。對于一個(gè)大小為N的頁面程序,需要有N個(gè)空閑的物理頁面來把它裝載。這些物理頁面不一定是要連續(xù)的。

在頁式存儲管理中需要解決三個(gè)問題:數(shù)據(jù)結(jié)構(gòu)、內(nèi)存分配與回收、地址映射。

數(shù)據(jù)結(jié)構(gòu)有兩個(gè):頁表和物理頁面表。

  • 頁表:給出了任務(wù)邏輯頁面號和內(nèi)存中物理頁面號之間的對應(yīng)關(guān)系。

  • 物理頁面表:描述內(nèi)存空間中,各個(gè)物理頁面的使用情況。

內(nèi)存的分配過程

  • 對于一個(gè)新來的任務(wù),計(jì)算它所需要的頁面數(shù)N,然后查看位示圖,看是否還有N個(gè)空閑的物理頁面。

  • 如果有足夠的空閑物理頁面,就去申請一個(gè)頁表,其長度為N,并把頁表的起始地址填入到該任務(wù)的控制塊中。

  • 分配N個(gè)空閑的物理頁面,把他們的變換填到頁表中,建立邏輯頁面與物理頁面直接的對 應(yīng)關(guān)系。

  • 修改位示圖,對剛剛被占用的那些物理頁面進(jìn)行標(biāo)記。

地址映射的基本思路:

  • 邏輯地址分析:對邏輯地址,找到它所在的邏輯頁面,以及它在頁面內(nèi)的偏移地址。

  • 頁表查找:根據(jù)邏輯頁面號,從頁表中找出它對應(yīng)的物理頁面號。

  • 物理地址合成:根據(jù)物理頁面號和頁內(nèi)偏移地址,最終確定物理地址。

邏輯地址分析:頁面的大小都是2的整數(shù)次冪。對于給定的一個(gè)邏輯地址,可以直接把它的高位部分作為邏輯頁面號,把它的低位部分作為頁內(nèi)偏移地址。例如,假設(shè)頁面的大小是4KB,即2的12次冪,邏輯地址為32為,那么在一個(gè)邏輯地址當(dāng)中,最低12位為頁內(nèi)偏移地址,而剩下的20位就是邏輯頁面號。

計(jì)算方法

  • 邏輯頁面號=邏輯地址/頁面大小

  • 頁內(nèi)偏移量=邏輯地址%頁面大小

頁表查找

頁表作為操作系統(tǒng)的一個(gè)數(shù)據(jù)結(jié)構(gòu),通常保存在內(nèi)核的地址空間中。

頁表基地址寄存器用來指向頁表的起始地址;頁表長度寄存器用來指示頁表的大小,即對于當(dāng)前任務(wù),它總共包含有多少個(gè)頁面。

物理地址合成

假設(shè)物理頁面號為f,頁內(nèi)偏移地址為offset,每個(gè)頁面大小為2的n次方,那么相應(yīng)的物理地址為:f×(2的n次方)+offset。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,004評論 1 370
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內(nèi)容