1.思考題
網站建設哪家好,找創新互聯建站!專注于網頁設計、網站建設、微信開發、微信平臺小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了平遙免費建站歡迎大家使用!(6)什么是臨界區?什么是臨界資源?什么是競爭條件?
臨界區:訪問臨界資源的程序段(代碼)。
臨界資源:并發進程中共享變量所代表的資源;一次只能供一個進程使用的資源。
競爭條件:指多進程并發訪問(操作)同一個數據時執行的結果依賴于進程之間執行的順序。
(7)試述臨界區管理的基本原則。
基本原則:
?一次至多允許一個進程停留在相關的臨界區內
?一個進程不能無限止地停留在臨界區內
?一個進程不能無限止地等待進入臨界區
(17)試述產生死鎖的必要條件。
?必要條件:
(1)互斥條件(mutal exclusion):進程互斥使用臨界資源
(2)占有和等待條件(hold and wait):進程在申請新資源得不到滿足而等待時,不釋放已經占有資源
(3)不剝奪條件(no preemption):一個進程不能搶奪其他進程占有的資源
(4)循環等待條件(circular wait):存在一個循環等待鏈,每個進程分別等待它前一個進程所持有的資源,造成永遠等待
?
(18)列舉死鎖的各種防止策略。
?策略:
1、使資源可同時訪問而非互斥
2、采用靜態分配
3、采用剝奪式調度方法
4、采用層次分配策略
2.應用題
(2)兩個進程P1和P2并發執行,其程序代碼分別如下。
P1(){ while(true){ ???k = k * 2; ???k = k + 1; } } | P2(){ while(true){ ???print k; ???k = 0; } } |
若令k的初值為5,在進程P1執行了兩個循環后,進程P1和P2又并發執行了一個循環。寫出該過程中可能的打印值,并指出其中與時間有關的錯誤。
P1的前兩次循環:
? 1、k=10+1,即k=11
? 2、k=22+1,即k=23
進程P1和P2又并發執行了一個循環:
與時間有關的錯誤:
兩個程序并發執行共享了變量k,導致結果不唯一。
(7)有如下兩個優先級相同的進程P1和P2,已知信號量S1和S2的初值均為0,試問P1、P2并發執行后x、y、z的值各為多少?
P1(){ y = 1;? ? ?? y = y + 3; V(S1); z = y + 1; P(S2); y = z + y;? ? } | P2(){ x = 1; x = x + 5; P(S1); x = x + y; V(S2); z = z + x; } |
(15)現有一個如題圖所示的小巷,除安全島可容2人暫時停身外,僅能容1人通過,若A、B兩端都允許行人進出,試使用信號量與PV操作設計一個算法,讓兩端行人順利通過小巷。
(17)有一個閱覽室,讀者進入時必須先在一張登記表上登記,此表為每個座位列出一個表目,包括座位號、姓名,讀者離開時要注銷登記信息;假如閱覽室共有100個座位。試用信號量和PV操作實現用戶進程的同步算法。
(21)一個經典的同步問題:吸煙者問題(Patil,1971年)。三位吸煙者在同一個房間內,還有一位香煙供應者。為了制造并抽掉香煙,每位吸煙者需要三樣東西:煙草、紙和火柴,供應者有豐富的貨物提供。三位吸煙者中,第一個人有自己的煙草,第二個人有自己的紙,第三個人有自己的火柴。供應者隨機地將兩樣東西放在桌子上,允許一位吸煙者吸煙。當吸煙者吸完煙后喚醒供應者,供應者再將兩樣東西放在桌子上,喚醒另一位吸煙者。試采用信號量和PV操作編寫他們同步工作的程序。
(24)試用信號量和pv操作實現睡眠的理發師問題:理發店里有一位理發師、一把理發椅和n把供等候理發的顧客坐的椅子。要求:①如果沒有顧客,理發師便在理發椅上睡覺;②一個顧客到來時,他必須叫醒理發師;③如果理發師正在理發時又有顧客來到,如果有空椅子可坐,就坐下來等待,否則就離開。
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
本文標題:操作系統基礎教程——第六章課后答案-創新互聯
文章URL:http://vcdvsql.cn/article48/dioiep.html
成都網站建設公司_創新互聯,為您提供靜態網站、App設計、電子商務、全網營銷推廣、服務器托管、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯