軟考題目匯總(一)

軟考流水線的一個(gè)典型題:

某指令流水線由5段組成半哟,各段所需要的時(shí)間如下圖所示呜达。

--> t --> 3t --> t --> 2t --> t -->

連續(xù)輸入10條指令時(shí)的吞吐率為( )却音。

A.10/70t B.10/49t C.10/35t D.10/30t


解答:

第一條指令』醭-( ---)-(--)-

第二條指令      -(---)-(--)-

第三條指令??????????????????????   ∏陡佟-(---)-(--)-

因?yàn)椤∈橇魉€笔诵,所以時(shí)間為3t的指令不能重疊(小馬認(rèn)為可以理解為就一個(gè)3t的執(zhí)行單元),所以每隔3t時(shí)間開始一條指令萧恕,當(dāng)?shù)谝粭l指令花費(fèi)8t時(shí)間后刚梭,每隔3t完成一條指令,第10條指令完成的時(shí)間是:8+3*9=35t.

吞吐率為:10條指令/花費(fèi)時(shí)間35t=10/35


弄懂兩個(gè)概念就好做了:流水線時(shí)間和吞吐率

流水線時(shí)間計(jì)算有個(gè)公式:一條指令所需時(shí)間+(指令條數(shù)-1)*時(shí)間最長的指令的一段 // 8t+9*3t=35t

吞吐率也有個(gè)公式:指令條數(shù)除以流水線時(shí)間 // 10/35t

原文

PV和前趨圖

概念:

信號量 : 信號量(Semaphore)票唆,以下簡寫為S朴读,有時(shí)被稱為信號燈,是在多線程環(huán)境下使用的一種設(shè)施走趋,是可以用來保證兩個(gè)或多個(gè)關(guān)鍵代碼段不被并發(fā)調(diào)用衅金。

當(dāng)S>0時(shí),表示當(dāng)前可用資源的數(shù)量簿煌。

當(dāng)S<0時(shí)氮唯,其絕對值表示等待使用該資源的進(jìn)程個(gè)數(shù)。

注意姨伟,信號量的值僅能由PV操作來改變惩琉。

PV操作: PV操作與信號量的處理相關(guān),P表示通過的意思夺荒,V表示釋放的意思瞒渠。PV原語中P是荷蘭語的Passeren良蒸,相當(dāng)于英文的pass, V是荷蘭語的Verhoog伍玖,相當(dāng)于英文中的increment嫩痰。

? P操作可以看作是獲得或者請求、消耗一個(gè)信號量窍箍。

將信號量S的值減1串纺,即S=S-1;

如果S>=0仔燕,則該進(jìn)程繼續(xù)執(zhí)行造垛;否則該進(jìn)程置為等待狀態(tài),排入等待隊(duì)列晰搀。

? V操作可以看作是釋放或者發(fā)送一個(gè)信號量五辽。

將信號量S的值加1,即S=S+1外恕;

如果S>0杆逗,則該進(jìn)程繼續(xù)執(zhí)行;否則釋放隊(duì)列中第一個(gè)等待信號量的進(jìn)程鳞疲。

下面來看幾道例題:

1.(2016年下半年例題)假設(shè)系統(tǒng)中有n個(gè)進(jìn)程共享3臺掃描儀罪郊,并采用PV操作實(shí)現(xiàn)進(jìn)程同步與互斥。若系統(tǒng)信號量S的當(dāng)前值為-1尚洽,進(jìn)程P1悔橄、P2又分別執(zhí)行了一次P(S)操作,那么信號量S的值應(yīng)為___腺毫。

解答:

根據(jù)PV操作概念中P操作公式癣疟,S=S-1,這里發(fā)生兩次P操作潮酒,那么當(dāng)前S的值應(yīng)該為-1減2次操作后等于-3睛挚。

【小馬認(rèn)為,這個(gè)根據(jù)公式急黎,是屬于比較簡單的一個(gè)送命題扎狱,啊不是,送分題】

2.(2016年上半年例題) 進(jìn)程P1勃教、P2淤击、P3、P4和P5的前趨圖如下圖所示:

若用PV操作控制進(jìn)程P1故源、P2遭贸、P3、P4和P5的并發(fā)執(zhí)行過程心软,則需要設(shè)置5個(gè)信號量S1壕吹、S2、S3删铃、S4和S5耳贬,且信號量S1~S5的初值都等于零。下圖中a和b處應(yīng)分別填入___;c和d處應(yīng)分別填入___;e和f處應(yīng)分別填入___猎唁。

解答:

根據(jù)前趨圖咒劲,P1進(jìn)程執(zhí)行完需要通知P2和P3進(jìn)程,所以需要利用V(S1)和V(S2)操作通知P2和P3進(jìn)程诫隅,所以空a應(yīng)該填V(S1)和V(S2)腐魂,P2進(jìn)程執(zhí)行完要通知P4進(jìn)程,所以空b應(yīng)該填V(S3)逐纬。P3進(jìn)程運(yùn)行前需要等待P1進(jìn)程的結(jié)果蛔屹,所以執(zhí)行程序前要先利用1個(gè)P操作,所以空c應(yīng)該填P(S2)豁生,而P3進(jìn)程運(yùn)行結(jié)束需要利用一個(gè)V操作通知P5進(jìn)程兔毒,所以空d應(yīng)該填V(S4)。P4進(jìn)程執(zhí)行結(jié)束需要利用一個(gè)V操作通知P5進(jìn)程甸箱,所以空e處應(yīng)該填V(S5)育叁,P5進(jìn)程執(zhí)行前需要等待P3和P4進(jìn)程的結(jié)果,所以空f處需要兩個(gè)P操作芍殖,那應(yīng)該填P(S4)和P(S5)豪嗽。

【小馬認(rèn)為,這種解題技巧可以這樣理解:既然是參考前趨圖那就充分利用前趨圖豌骏,在前趨圖上的每一個(gè)箭頭畫上信號燈龟梦,如下圖,問題便可迎刃而解肯适”淝兀】

3.(2015年下半年例題) 某企業(yè)的生產(chǎn)流水線上有2名工人P1和P2,1名質(zhì)檢員P3框舔。P1將初步加工的半成品放入半成品箱B1蹦玫;P2從半成品箱B1取出繼續(xù)加工,加工好的產(chǎn)品放入成品箱B2刘绣;P3從成品箱P2取出產(chǎn)品檢驗(yàn)樱溉。假設(shè)B1可存放n件半成品,B2可存放m件產(chǎn)品纬凤,并設(shè)置6個(gè)信號量S1福贞、S2、S3停士、S4挖帘、S5和S6完丽,且S3和S6的初值都為0。采用PV操作實(shí)現(xiàn)P1拇舀、P2和P3的同步模型如下圖所示逻族,則信號量S1和S5初始值分別為___,S2骄崩、S4的初始值分別為___聘鳞。

解答:

根據(jù)題意可以看出這是一道很典型的生產(chǎn)者消費(fèi)者問題,P1為生產(chǎn)者要拂,P2即是消費(fèi)者又是生產(chǎn)者抠璃,P3為消費(fèi)者,B1和B2為緩存區(qū)脱惰。

因?yàn)樾盘柫縎1是一個(gè)互斥信號量搏嗡,表示半成品箱B1當(dāng)前有無生產(chǎn)者使用,所以初值為1枪芒。信號量S5也是一個(gè)互斥信號量彻况,表示成品箱B2當(dāng)前有無生產(chǎn)者使用,所以初始值為1舅踪。

信號量S2表示半成品箱B1的容量纽甘,所以S2的初值為n。當(dāng)生產(chǎn)者P1不斷將半成品放入B1時(shí)抽碌,應(yīng)該先測試B1是否有空位悍赢,所以生產(chǎn)者P1使用P(S2),當(dāng)消費(fèi)者P2從B1取出一件半成品時(shí)货徙,B1就空出一個(gè)空位左权,所以消費(fèi)者P2使用V(S2)釋放空間。

同理痴颊,信號量S4表示半成品箱B2當(dāng)容量赏迟,所以S4的初值為m。當(dāng)生產(chǎn)者P2完成一件產(chǎn)品放入B2時(shí)蠢棱,應(yīng)先測試B2是否有空位锌杀,所以生產(chǎn)者P2使用P(S4),當(dāng)消費(fèi)者P3從B2取出一件產(chǎn)品時(shí)泻仙,B2就空出一個(gè)空位糕再,所以消費(fèi)者P3使用V(S4)釋放空間。

程序執(zhí)行圖如下所示:

經(jīng)典問題玉转,如:生產(chǎn)者與消費(fèi)者突想,哲學(xué)家進(jìn)餐,讀者與作家等等。

操作系統(tǒng)相關(guān)知識-死鎖-銀行家算法

死鎖:

兩個(gè)以上的進(jìn)程互相都要求對方已經(jīng)占有的資源猾担,導(dǎo)致無法繼續(xù)繼續(xù)執(zhí)行下去的現(xiàn)象袭灯。

死鎖產(chǎn)生的條件:

環(huán)路等待,互斥绑嘹,保持和等待妓蛮,不剝奪。

打破死鎖的的條件:

死鎖預(yù)防圾叼,死鎖避免,死鎖檢測捺癞,死鎖解除夷蚊。

考點(diǎn)為死鎖避免的銀行家算法:

銀行家算法:像借貸一樣,安全才審批額度髓介。

對于進(jìn)程發(fā)出的每一個(gè)系統(tǒng)可以滿足的資源請求命令加以檢測惕鼓,如果發(fā)現(xiàn)分配資源后系統(tǒng)進(jìn)入不安全狀態(tài),則不予分配唐础。

若分配資源后系統(tǒng)仍處于安全狀態(tài)箱歧,則實(shí)施分配。

與死鎖預(yù)防相比一膨,提高了資源利用率呀邢,但檢測分配后系統(tǒng)是否安全增加了系統(tǒng)開銷。

此題的結(jié)題思路為:

先找到各資源未被分配的數(shù)量豹绪,看看哪個(gè)進(jìn)程的需求量滿足就可以執(zhí)行該進(jìn)程价淌,進(jìn)程執(zhí)行完會將該進(jìn)程的已分配資源數(shù)釋放,累加到之前未分配的數(shù)量上瞒津,繼續(xù)看哪個(gè)進(jìn)程滿足蝉衣,依次執(zhí)行。

【比如根據(jù)已分配資源得到巷蚪,R1-R3未分配的資源是2,1,0病毡;根據(jù)最大需求量,給P1資源也不夠執(zhí)行屁柏,給P2的話是可以執(zhí)行的啦膜,則P2執(zhí)行后將占有的資源釋放到未分配的資源中,繼續(xù)類推前联。小馬認(rèn)為該算法理解后不難】


存儲管理(內(nèi)存)之頁式存儲(虛擬存儲)

存儲管理

? ? ? ?操作系統(tǒng)中的存儲有很多種功戚,分別是頁式存儲,段式存儲似嗤,段頁式存數(shù)啸臀,磁盤存儲等。分這么多種存儲方式,無非是讓我們在操作計(jì)算機(jī)的時(shí)候乘粒,計(jì)算機(jī)內(nèi)存和用戶操作之間的作業(yè)變的更加清楚和簡單豌注,并且能夠保證數(shù)據(jù)不會丟失。接下來具體看下什么是頁式存儲灯萍。

基本原理:

? ? ? ?把用戶數(shù)據(jù)加載到內(nèi)存中進(jìn)行處理轧铁,這個(gè)時(shí)候就會出現(xiàn)兩種數(shù)據(jù),一種是加載到內(nèi)存中的數(shù)據(jù)旦棉,另一種是用戶作業(yè)數(shù)據(jù)齿风,為了合理利用內(nèi)存的空間,并且使作業(yè)能夠連續(xù)绑洛,這個(gè)時(shí)候?qū)?nèi)存劃分為大小相同的塊救斑,同樣的,將用戶作業(yè)空間劃分為大小相同的頁真屯。

? ? ? ? 所以: 頁=塊(大小相同)

說明:

注意理解一個(gè)概念脸候,編程空間和頁+頁內(nèi)偏移地址? 是邏輯地址,塊號和偏移地址是 物理地址绑蔫。

p先計(jì)算每個(gè)數(shù)字(地址訪問)大小用幾位01可表示运沦。? ?B KB MB.....1024=進(jìn)制,? ? ? ? ??1字節(jié)=8bit

為什么每次要用2的幾次方來運(yùn)算配深,因?yàn)?B代表的是兩位携添,組合起來為01,10,或者11凉馆,所以當(dāng)每次計(jì)算的時(shí)候薪寓,用的就是2的冪次方來計(jì)算頁內(nèi)地址。

本題內(nèi)存16KB數(shù)字是沒用的嗎澜共?

【虛擬地址=頁號+頁內(nèi)偏移向叉;物理地址=塊號+偏移,根據(jù)邏輯地址和位數(shù) 定位頁號和偏移嗦董,根據(jù)頁表查塊號母谎,拼接偏移得物理地址。小馬覺得教材書上的那個(gè)圖比這個(gè)圖好理解】


虛設(shè)備與SPOOLing技術(shù)

為緩和CPU和高速性與I/O設(shè)備低速性的矛盾而引入了脫機(jī)輸入京革、脫機(jī)輸出技術(shù)奇唤。該技術(shù)是利用專門的外圍控制機(jī),將低速設(shè)備上的數(shù)據(jù)傳送到高速磁盤上匹摇;或者相反咬扇。

這樣就可以在主機(jī)的直接控制下實(shí)現(xiàn)脫機(jī)輸入輸出。此時(shí)外圍操作與CPU對數(shù)據(jù)的處理同時(shí)進(jìn)行廊勃,我們把這種來聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱為SPOOLing,或稱為假脫機(jī)操作懈贺。

SPOOLing系統(tǒng)的有三大部分組成:

輸入井和輸出井经窖。是磁盤上開辟的兩大存儲空間。

輸入緩沖區(qū)和輸出緩沖區(qū)梭灿。在內(nèi)存中開辟兩個(gè)緩沖區(qū)画侣,輸入緩沖區(qū)暫存由輸入設(shè)備送來的數(shù)據(jù),后送輸入井來輸出緩沖區(qū)暫存從輸出井送來的數(shù)據(jù)堡妒,后送輸出設(shè)備配乱。

輸入進(jìn)程和輸出進(jìn)程。利用兩個(gè)進(jìn)程模擬脫機(jī)I/O時(shí)的外圍處理機(jī)皮迟。

SPOOLing系統(tǒng)的特點(diǎn):

提高了I/O的速度搬泥。利用輸入輸出井模擬成脫機(jī)輸入輸出,緩和了CPU和I/O設(shè)備速度不匹配的矛盾伏尼。

將獨(dú)占設(shè)備改造成共享設(shè)備佑钾。

實(shí)現(xiàn)了虛擬設(shè)備功能。多個(gè)進(jìn)程同時(shí)使用一臺獨(dú)占設(shè)備烦粒,虛擬成了多臺設(shè)備

【用一個(gè)類似隊(duì)列排隊(duì)的過程代赁,就可以所有進(jìn)程同時(shí)處理了】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扰她,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子芭碍,更是在濱河造成了極大的恐慌徒役,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窖壕,死亡現(xiàn)場離奇詭異忧勿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瞻讽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門鸳吸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人速勇,你說我怎么就攤上這事晌砾。” “怎么了烦磁?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵养匈,是天一觀的道長。 經(jīng)常有香客問我都伪,道長呕乎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任陨晶,我火速辦了婚禮猬仁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己逐虚,他們只是感情好聋溜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著叭爱,像睡著了一般撮躁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上买雾,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天把曼,我揣著相機(jī)與錄音,去河邊找鬼漓穿。 笑死嗤军,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晃危。 我是一名探鬼主播叙赚,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼僚饭!你這毒婦竟也來了震叮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤鳍鸵,失蹤者是張志新(化名)和其女友劉穎苇瓣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體偿乖,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡击罪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贪薪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片媳禁。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖画切,靈堂內(nèi)的尸體忽然破棺而出损话,到底是詐尸還是另有隱情,我是刑警寧澤槽唾,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布丧枪,位于F島的核電站,受9級特大地震影響庞萍,放射性物質(zhì)發(fā)生泄漏拧烦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一钝计、第九天 我趴在偏房一處隱蔽的房頂上張望恋博。 院中可真熱鬧齐佳,春花似錦、人聲如沸债沮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疫衩。三九已至硅蹦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闷煤,已是汗流浹背童芹。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鲤拿,地道東北人假褪。 一個(gè)月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓梅屉,卻偏偏與公主長得像枷颊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子缩麸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

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

  • 1窒升、假設(shè)系統(tǒng)采用PV操作系統(tǒng)實(shí)現(xiàn)進(jìn)程同步與互斥久锥,若有n個(gè)進(jìn)程共享一臺掃描儀,那么當(dāng)信息號量S的值為-3時(shí)异剥,表示系統(tǒng)...
    zhongcx閱讀 1,413評論 0 1
  • 1.,什么是計(jì)算機(jī)的操作系統(tǒng)絮重?計(jì)算機(jī)系統(tǒng)是由硬件和軟件兩部分組成的冤寿。操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟件,是對...
    eightzg閱讀 3,596評論 0 2
  • 1 多益網(wǎng)絡(luò)面試 Q:博客項(xiàng)目里面如何驗(yàn)證賬號密碼的青伤?有沒有做什么安全措施 A: 在登錄表單中填寫用戶名和密碼后督怜,...
    全村希望gone閱讀 879評論 0 3
  • 寫在前面: 猶豫了一下,不知道該不該發(fā)這么多狠角。畢竟題目雖全号杠,但是其實(shí)很多人看了不到一半,估計(jì)就會默默的收藏保存丰歌,等...
    Yt_cc閱讀 14,633評論 1 6
  • 1.TCP的連接過程 三次握手 序號: seq序號姨蟋,32位,發(fā)起方發(fā)送數(shù)據(jù)時(shí)對此進(jìn)行標(biāo)記 ack序號立帖,確認(rèn)序號眼溶,3...
    囧略囧閱讀 988評論 0 0