資源描述:
《操作系統(tǒng)題目講解》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、應(yīng)用題:1.注冊與繳費問題描述如下:企業(yè)法人到工商所注冊,注冊員給企業(yè)法人開據(jù)繳費單,企業(yè)法人憑繳費單到財務(wù)室繳費,繳完費后,財務(wù)室給企業(yè)法人出據(jù)發(fā)票,企業(yè)法人憑發(fā)票到注冊員處取執(zhí)照。(1)說明注冊與繳費進程的同步關(guān)系;(2)用信號燈的P、V操作實現(xiàn)注冊與繳費進程的同步。答案:(1)繳費進程需要等到注冊進程開來繳費單后,才能開始執(zhí)行;而注冊進程需要收到繳費進程開的發(fā)票后,才能給企業(yè)法人發(fā)執(zhí)照。定義兩個私有信號燈pay和invoiceopay用來表示是否開據(jù)了繳費單,初值為0,表示沒有開據(jù)繳費單‘invoice用來表示是否出據(jù)了發(fā)票,初值為0,表示沒有出據(jù)發(fā)票。(2)程序
2、段如下:main(){intpay,invoice;pay=0;invoice=0;cobeginpayfor();enroll();coend}payfor(){P(pay);企業(yè)法人到財務(wù)室繳費;v(invoice);}enroll(){注冊員給企業(yè)法人開據(jù)繳費單;v(pay);注冊員處給企業(yè)法人執(zhí)照;p(invoice);1.在基于請求分頁的存儲器管理系統(tǒng)上,某進程的頁表內(nèi)容如表2所示。頁面大小為4KB,訪問一次內(nèi)存的時間是100ns,訪問一次快表(TLB)的時間是10ns,處理一次缺頁的平均時間是108ns(已含更新TLB和頁表的時間),進程的駐留集大小固定為2
3、,采用最近最少使用置換算法(LRU)和局部淘汰策略。假設(shè)1)TLB初始為空;2)地址轉(zhuǎn)換時先訪問TLB,若TLB未命中,再訪問頁表(忽略訪問頁表之后的TLE更新實踐);3)有效位為0表示頁面不再內(nèi)存、產(chǎn)生缺頁終端,缺頁終端處理后,返回到產(chǎn)生缺頁中斷的指令處重新執(zhí)行。設(shè)有虛地址訪問序列2362H、1565H、25A5H,請問:(1)依次訪問上述三個虛地址,各需要多少實踐?給出計算過程。(6分)(2)基于上述訪問序列,虛地址1565H的物理地址是多少?請說明理由。(3分)答案(1)根據(jù)頁式管理的工作原理,應(yīng)先考慮頁面大小,以便將頁號和頁內(nèi)位移分解出來。頁面大小為4KB,即2
4、3則得到頁內(nèi)位移占虛地址的低12位,頁號占剩余高位??傻萌齻€虛地址的頁號P如下(I?六進制的一位數(shù)字轉(zhuǎn)換成4位二進制,因此,I-六進制的低二位匸好為頁內(nèi)位移,最高位為頁號):2362H:P二2,訪問快表10ns,因初始為空,訪問頁表100ns得到頁框號,合成物理地址后訪問主存100ns,共計10ns+100ns+100ns=210ns?1565H:P=l,訪問快表10ns,落空?訪問頁表100ns落空,進行缺頁中斷處理108ns?合成物理地址后訪問匸存100ns?共計10ns+100ns+108ns+100ns108ns?25A5H:P=2,訪問快表,因第一次訪問已將該
5、頁號放入快表,因此花費10ns便口I合成物理地址,訪問主存100ns,共計10ns+100ns=110nso(2)當(dāng)訪問虛地址1565H時,產(chǎn)生缺頁中斷,合法駐留集為2,必須從頁表中淘汰一個頁面,根據(jù)題目的置換算法,應(yīng)淘汰0號頁面,因此1565H的對應(yīng)頁框號為101Ho由此可得1565H的物理地址為101565Ho2.文件系統(tǒng)采用多重索引結(jié)構(gòu)搜索文件內(nèi)容。設(shè)塊長為512字節(jié),每個塊號長3字節(jié),如果不考慮邏輯塊號在物理塊中所占的位置,分別求二級索引和三級索引時可尋址的文件最大長度。答案:二級索引文件最大長度:[512/3]X[512/31=170X170=28900(塊〉
6、三級索引文件最大長度:[512/3]X[512/3]X[512/3]=170X170X170=491300(塊)4.有一個理發(fā)師,一把理發(fā)椅和n把供等候理發(fā)的顧客坐的椅子。如果沒有顧客,則理發(fā)師便在理發(fā)椅子上睡覺:當(dāng)一個顧客到來時,必須喚醒理發(fā)師,進行理發(fā);如果理發(fā)師正在理發(fā)時,又有顧客來到,則如果有空椅子可坐,他就坐下來等,如果沒有空椅子,他就離開。使用進程同步機制為理發(fā)師和顧客各編一段程序描述他們的行為,要求不能帶有競爭條件。答案:defineCHAIRS6/*為等候的顧客準(zhǔn)備的椅子數(shù)*/semaphorecustomers=0;semaphorebarbers=0
7、;/*用控制理發(fā)師與顧客的先后順序*/semaphoreS=1;/*用于對waiting資源進行互斥*/intwaiting=0;voidbarber(){while(True){P(customers);P⑸;waiting=waiting-1;V⑸;V(barbers);請一個等候的顧客到理發(fā)椅上坐,開始理發(fā).??}}voidcustomerO{P(S);if(waiting