![計算機操作系統(tǒng)(第三版)課后答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a3/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a31.gif)
![計算機操作系統(tǒng)(第三版)課后答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a3/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a32.gif)
![計算機操作系統(tǒng)(第三版)課后答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a3/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a33.gif)
![計算機操作系統(tǒng)(第三版)課后答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a3/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a34.gif)
![計算機操作系統(tǒng)(第三版)課后答案_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a3/6791fa07-5eb1-4ef3-9d3b-955b4b86a2a35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機操作系統(tǒng)答案(第一至五章)第一章os引論1,設(shè)計現(xiàn)代OS的主要目標是什么?方便性,有效性,可擴充性和開放性.2. OS的作用可表現(xiàn)為哪幾個方面?a. OS作為用戶與計算機硬件系統(tǒng)之間的接口;b. OS作為計算機系統(tǒng)資源的管理者;c. OS作為擴充機器.3,試說明推動多道批處理系統(tǒng)形成和發(fā)展的主要動力是什么?不斷提高計算機資源利用率和系統(tǒng)吞吐量的需要;4.何謂月機I/O和聯(lián)機I/O?a,脫機輸入出方式(Off-LineI/O)是為了解決人機矛盾及CPU和I/O設(shè)備之間速度不匹配而提出的.它減少了CPU的空閑等待時間,提高了I/O速度,具體內(nèi)容是將用戶程序和數(shù)據(jù)在一臺外圍機的控制下,預(yù)先從低
2、速輸入設(shè)備輸入到磁帶上,當(dāng)CPU需要這些程序和數(shù)據(jù)時,在直接從磁帶機高速輸入到內(nèi)存,從而大大加快了程序的輸入過程,減少了CPU等待輸入的時間,這就是脫機輸入技術(shù);當(dāng)程序運行完畢或告一段落,CPU需要輸出時,無需直接把計算結(jié)果送至低速輸出設(shè)備,而是高速把結(jié)果輸出到磁帶上,然后在外圍機的控制下,把磁帶上的計算結(jié)果由相應(yīng)的輸出設(shè)備輸出,這就是脫機輸出技術(shù).b,若這種輸入輸出操作在主機控制下進行則稱之為聯(lián)機輸入輸出方式5,試說明推動分時系統(tǒng)形成和發(fā)展的主要動力是什么?用戶的需要,即對用戶來說,更好的滿足了人-機交互,共享主機以及便于用戶上機的需求.6,試說明實時任務(wù)的類型和實時系統(tǒng)的類型.a.實時任務(wù)
3、的類型按任務(wù)執(zhí)行時是否呈現(xiàn)周期性來劃分,分為周期性實時任務(wù)和非周期性實時任務(wù);-根據(jù)對截止時間的要求來劃分,分為硬實時任務(wù)和軟實時任務(wù);b,通常把要同達行實時控制的系統(tǒng)統(tǒng)稱為實時控制系統(tǒng),把要求對信息進行實時處理的系統(tǒng)成為實時信息處理系統(tǒng).7,實現(xiàn)多道程序應(yīng)解決哪些問題?a,處理機管理問題;b,內(nèi)存管理問題;c.I/O設(shè)備管理問題;d.文件管理問題;e.作業(yè)管理問題.8,試比較單道與多道批處理系統(tǒng)的特點及優(yōu)缺點a,單道批處理系統(tǒng)是最早出現(xiàn)的一種OS,它具有自動性,順序性和單道性的特點;-多道批處理系統(tǒng)則具有調(diào)度性,無序性和多道性的特點;b,單道批處理系統(tǒng)是在解決人機矛盾及CPU和I/O設(shè)備之間
4、速度不匹配的矛盾中形成的,旨在提高系統(tǒng)資源利用率和系統(tǒng)吞吐量,但是仍然不能很好的利用系統(tǒng)資源;-多道批處理系統(tǒng)是對單道批處理系統(tǒng)的改進,其主要優(yōu)點是資源利用率高,系統(tǒng)吞吐量大;缺點是平均周轉(zhuǎn)時間長,無交互能力.9.實現(xiàn)分時系統(tǒng)的關(guān)鍵問題是什么?應(yīng)如何解決?a.關(guān)鍵問題:及時接收,及時處理;b.對于及時接收,只需在系統(tǒng)中設(shè)置一多路卡,多路卡作用是使主機能同時接收用戶從各個終端上輸入的數(shù)據(jù);-對于及時處理,應(yīng)使所有的用戶作業(yè)都直接進入內(nèi)存,在不長的時間內(nèi),能使每個作業(yè)都運行一次.10為什么要引入實時操作系統(tǒng)?更好地滿足實時控制領(lǐng)域和實時信息處理領(lǐng)域的需要11OS具有哪幾大特征?它的最基本特征是什么
5、?a.并發(fā)(Concurrence),共享(Sharing),虛擬(Virtual),異步性(Asynchronism).b.其中最基本特征是并發(fā)和共享.12內(nèi)存管理有哪些主要功能?它們的主要任務(wù)是什么?a.主要功能:內(nèi)存分配,內(nèi)存保護,地址映射和內(nèi)存擴充等b.內(nèi)存分配的主要任務(wù)是為每道程序分配內(nèi)存空間,提高存儲器利用率,以減少不可用的內(nèi)存空間,允許正在運行的程序申請附加的內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)動態(tài)增長的需要-內(nèi)存保護的主要任務(wù)是確保每道用戶程序都在自己的內(nèi)存空間中運行,互不干擾-地址映射的主要任務(wù)是將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對應(yīng)的物理地址-內(nèi)存擴充的主要任務(wù)是借助虛擬存儲
6、技術(shù),從邏輯上去擴充內(nèi)存容量13處理機管理具有哪些功能?它們的主要任務(wù)是什么?a.進程控制,進程同步,進程通信和調(diào)度.b.進程控制的主要任務(wù)是為作業(yè)創(chuàng)建進程,撤銷已結(jié)束的進程,以及控制進程在運行過程中的狀態(tài)轉(zhuǎn)換.-進程同步的主要任務(wù)是對諸進程的運行進行調(diào)節(jié)-進程通信的任務(wù)是實現(xiàn)在相互合作進程之間的信息交換-調(diào)度分為作業(yè)調(diào)度和進程調(diào)度.作業(yè)調(diào)度的基本任務(wù)是從后備隊列中按照一定的算法,選擇出若干個作業(yè),為它們分配必要的資源;而進程調(diào)度的任務(wù)是從進程的就緒隊列中,按照一定的算法選出一新進程,把處理機分配給它,并為它設(shè)置運行現(xiàn)場,是進程投入運行14設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?a.主要功能
7、:緩沖管理,設(shè)備分配和設(shè)備處理,以及虛擬設(shè)備等b.主要任務(wù):完成用戶提出的I/O請求,為用戶分配I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O速度;以及方便用戶使用I/O設(shè)備.15文件管理有哪些主要功能?其主要任務(wù)是什么?a.主要功能:對文件存儲空間的管理,目錄管理,文件的讀,寫管理以及文件的共享和保護b.主要任務(wù):對用戶文件和系統(tǒng)文件進行管理,以方便用戶使用,并保證文件的安全性.16試在交互性,及時性和可靠性方面,將分時系統(tǒng)與實時系統(tǒng)進行比較a.分時系統(tǒng)是一種通用系統(tǒng),主要用于運行終端用戶程序,因而它具有較強的交互能力;而實時系統(tǒng)雖然也有交互能力,但其交互能力不及前者b.實時信息系統(tǒng)
8、對實用性的要求與分時系統(tǒng)類似,都是以人所能接收的等待時間來確定;而實時控制系統(tǒng)的及時性則是以控制對象所要求的開始截止時間和完成截止時間來確定的c.實時系統(tǒng)對系統(tǒng)的可靠性要求要比分時系統(tǒng)對系統(tǒng)的可靠性要求高17是什么原因使操作系統(tǒng)具有異步性特征?a.程序執(zhí)行結(jié)果是不確定的,即程序是不可再現(xiàn)的.b.每個程序在何時執(zhí)行,多個程序間的執(zhí)行順序以及完成每道程序所需的時間都是不確定的,即不可預(yù)知性.18試說明在MS-DOS3.X以前的版本中,其局限性表現(xiàn)在哪幾個方面?a.在尋址范圍上,DOS只有1MB,遠遠不能滿足用戶需要.b.DOS試單用戶單任務(wù)操作系統(tǒng),不支持多任務(wù)并發(fā)執(zhí)行,與實際應(yīng)用相矛盾.19MS
9、-DOS由哪幾部分組成?每部分的主要功能是什么?略.20為什么Microsoft在開發(fā)OS/2時,選中了80286芯片?設(shè)計OS/2的主要目標之一是既能充分發(fā)揮80286處理器的能力,又能運行在8086處理器環(huán)境下開發(fā)的程序.因為在80286內(nèi)部提供了兩種工作方式:實方式和保護方式,使得Intel80286處理器不僅提供了多任務(wù)并發(fā)執(zhí)行的硬件支持,而且還能運行所有在8086下編寫的程序。21OS/2的主要功能是什么?a.多任務(wù).b.進程管理.c.存儲器管理.d.文件管理.e.應(yīng)用程序接口API.f.表示管理.22多處理機OS有哪幾種模式?各有何優(yōu)缺點?a.2種模式:非對稱多處理模式(Asymm
10、etricMultiprocessingModel)和對稱多處理模式(SymmetricMultiprocesingModel).b.前者易于實現(xiàn),但資源利用率低.-后者優(yōu)點是允許多個進程同時運行,缺點是必須小心控制I/O,以保證能將數(shù)據(jù)送至適當(dāng)?shù)奶幚砥?,同時還必須注意使各CPU的負載平衡.23試說明網(wǎng)絡(luò)OS的主要功能.a.網(wǎng)絡(luò)通信;b.資源管理;c.網(wǎng)絡(luò)服務(wù);d.網(wǎng)絡(luò)管理;e.互操作能力.24試比較網(wǎng)絡(luò)OS和分布式OS.a.網(wǎng)絡(luò)OS是基于由一些互聯(lián)的自主計算機系統(tǒng)組成的計算機網(wǎng)絡(luò),以計算機技術(shù)和通信技術(shù)高度發(fā)展為基礎(chǔ),能實現(xiàn)相互通信和相互合作功能的系統(tǒng).分布式OS是指多個分散的處理單元,經(jīng)互
11、聯(lián)網(wǎng)絡(luò)連接而形成的系統(tǒng).b.在分布性上,兩者都具有分布處理功能,但網(wǎng)絡(luò)OS的控制功能大多集中在某個(些)主機或網(wǎng)絡(luò)服務(wù)器中,即集中式,而分布式OS則是較均勻地分布在系統(tǒng)的各個站點上,是完全分布式的.-在并行性上,分布式OS的任務(wù)分配程序可將多個任務(wù)分配到多個處理單元上而實現(xiàn)并行,網(wǎng)絡(luò)OS中通常無任務(wù)分配功能,每個用戶的任務(wù)通常在自己(本地)的計算機上處理.-在透明性上,兩者都具透明性,但網(wǎng)絡(luò)OS指在操作實現(xiàn)上的透明性,而分布式OS則在系統(tǒng)內(nèi)部的細節(jié)上實現(xiàn)了很好的隱藏,即具有物理上的透明性-在共享性上,分布式OS是比較完全的實現(xiàn)共享,而網(wǎng)絡(luò)OS共享的資源大多是在主機或網(wǎng)絡(luò)服務(wù)器中.-在健壯性上,
12、分布式系統(tǒng)由于處理和控制功能是分布的,還擁有容錯技術(shù)實現(xiàn)系統(tǒng)重構(gòu),因而具有很強的健壯性;而網(wǎng)絡(luò)OS的控制功能大多集中在主機或服務(wù)器中,是系統(tǒng)具有潛在的不可靠性,健壯性差.第二章1.試畫出下面條語句的前趨圖:S1:a=5-x;S2:b=a*x;S3:c=4*x;S4:d=b+c;S5:e=d+3.S1->S2->S4->S5/.S32 .試利用Bernstein條件證明上題中的S2和S3語句是可以并發(fā)執(zhí)行的,而S3和S4語句是不能并發(fā)執(zhí)行的?證明:R(S2)=x,a,W(S2)=b,R(S3)=x,W(S3)=c;可見,S2與S3的讀集與寫集兩兩不相交,S2與S3的讀集之間也不
13、相交,因而,他們滿足Bernstein條件,S2與S3語句是可以并發(fā)執(zhí)行的.同理可證S3和S4不能?t足Bernstein條件,是不能并發(fā)執(zhí)行的.3 .程序并發(fā)執(zhí)行為什么會產(chǎn)生間斷性?因為程序在并發(fā)執(zhí)行過程中存在相互制約性.4 .程序并發(fā)執(zhí)行為何會失去封閉性和可再現(xiàn)性?因為程序并發(fā)執(zhí)行時,多個程序共享系統(tǒng)中的各種資源,資源狀態(tài)需要多個程序來改變,即存在資源共享性使程序失去封閉性;而失去了封閉性導(dǎo)致程序失去可再現(xiàn)性5 .在操作系統(tǒng)中為什么要引入進程概念?它會產(chǎn)生什么樣的影響?為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并能對并發(fā)執(zhí)行的程序加以控制和描述,而引入了進程概念.影響:使程序的并發(fā)執(zhí)行得以實行
14、.6 .試從動態(tài)性,并發(fā)性和獨立性上比較進程和程序?a.動態(tài)性是進程最基本的特性,可表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源而暫停執(zhí)行,以及由撤銷而消亡,因而進程由一定的生命期;而程序只是一組有序指令的集合,是靜態(tài)實體.b.并發(fā)性是進程的重要特征,同時也是OS的重要特征.引入進程的目的正是為了使其程序能和其它進程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的.c.獨立性是指進程實體是一個能獨立運行的基本單位,同時也是系統(tǒng)中獨立獲得資源和獨立調(diào)度的基本單位.而對于未建立任何進程的程序,都不能作為一個獨立的單位參加運行7 .試說明PCB的作用?為什么說PCB是進程存在的唯一標志?a.PCB是進程實體
15、的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu).PCB中記錄了操作系統(tǒng)所需的用于描述進程情況及控制進程運行所需的全部信息.因而它的作用是使一個在多道程序環(huán)境下不能獨立運行的程序(含數(shù)據(jù)),成為一個能獨立運行的基本單位,一個能和其它進程并發(fā)執(zhí)行的進程.b.在進程的整個生命周期中,系統(tǒng)總是通過其PCB對進程進行控制,系統(tǒng)是根據(jù)進程的PCB而不是任何別的什么而感知到該進程的存在的,所以說,PCB是進程存在的唯一標志.8 .試說明進程在三個基本狀態(tài)之間轉(zhuǎn)換的典型原因a.處于就緒狀態(tài)的進程,當(dāng)進程調(diào)度程序為之分配了處理機后,該進程便由就緒狀態(tài)變?yōu)閳?zhí)行狀態(tài).b.當(dāng)前進程因發(fā)生某事件而無法執(zhí)行,如訪問已被占用
16、的臨界資源,就會使進程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài).c.當(dāng)前進程因時間片用完而被暫停執(zhí)行,該進程便由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)9 .為什么要引入掛起狀態(tài)?該狀態(tài)具有哪些性質(zhì)?a.引入掛起狀態(tài)處于5中需要:終端用戶的需要,父進程的需要,操作系統(tǒng)的需要,對換的需要和負荷調(diào)節(jié)的需要.b.處于掛起狀態(tài)的進程不能接收處理機調(diào)度.10在進行進程切換時,所要保存的處理機狀態(tài)信息主要有哪些?a.進程當(dāng)前暫存信息;b.下一條指令地址信息;c.進程狀態(tài)信息;d.過程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息.11試說明引起進程創(chuàng)建的主要事件.a.用戶登陸;b.作業(yè)調(diào)度;c.提供服務(wù);d.應(yīng)用請求.12試說明引起進程撤消的主要事件.a.
17、正常結(jié)束;b.異常結(jié)束;c.外界干預(yù);13在創(chuàng)建一個進程時,需完成的主要工作是什么?a.操作系統(tǒng)發(fā)現(xiàn)請求創(chuàng)建新進程事彳后,調(diào)用進程創(chuàng)建原語Creat();b.申請空白PCBc.為新進程分配資源;d.初始化進程控制塊;e.將新進程插入就緒隊列.14在撤消一個進程時,需完成的主要工作是什么?a.OS調(diào)用進程終止原語;b.根據(jù)被終止進程的標志符,從PCB集合中檢索出該進程的PCB從中讀出該進程的狀態(tài);c.若被終止進程正處于執(zhí)行狀態(tài),應(yīng)立即中止該進程的執(zhí)行,并設(shè)置調(diào)度標志為真;d.若該進程還有子孫進程,還應(yīng)將其所有子孫進程予以終止;e.將該進程所擁有的全部資源,或者歸還給其父進程,或者歸還給系統(tǒng);f.
18、將被終止進程(它的PCB班所在隊列(或鏈表)中移出,等待其它程序來搜集信息.15試說明引起進程阻塞或被喚醒的主要事件是什么?a.請求系統(tǒng)服務(wù);b.啟動某種操作;c.新數(shù)據(jù)尚未到達;d.無新工作可做.16試從調(diào)度性,并發(fā)性,擁有資源及系統(tǒng)開銷幾個方面,對進程和線程進行比較a.在引入線程的OS中,把線程作為調(diào)度和分派的基本單位,而把進程作為資源擁有的基本單位;b.在引入線程的OS中,不僅進程之間可以并發(fā)執(zhí)行,而且在一個進程中的多個線程之間,亦可并發(fā)執(zhí)行,因而使OS具有更好的并發(fā)性;c.進程始終是擁有資源的一個獨立單位,線程自己不擁有系統(tǒng)資源,但它可以訪問其隸屬進程的資源;d.在創(chuàng)建,撤消和切換進程
19、方面,進程的開銷遠遠大于線程的開銷17什么是用戶級線程和內(nèi)核級線程?并對它們進行比較.a.內(nèi)核級線程是依賴于內(nèi)核的,它存在于用戶進程和系統(tǒng)進程中,它們的創(chuàng)建,撤消和切換都由內(nèi)核實現(xiàn);用戶級線程僅存在于用戶級中,它們的創(chuàng)建,撤消和切換不利用系統(tǒng)調(diào)用來實現(xiàn),因而與內(nèi)核無關(guān),內(nèi)核并不知道用戶級線程的存在.b.內(nèi)核級線程的調(diào)度和切換與進程十分相似,調(diào)度方式采用搶占式和非搶占式,調(diào)度算法采用時間輪轉(zhuǎn)法和優(yōu)先權(quán)算法等,當(dāng)由線程調(diào)度選中一個線程后,再將處理器分配給它;而用戶級線程通常發(fā)生在一個應(yīng)用程序的諸線程之間,無需終端進入OS內(nèi)核,切換規(guī)則也較簡單,因而,用戶級線程的切換速度較快.-用戶級線程調(diào)用系統(tǒng)調(diào)
20、用和調(diào)度另一個進程執(zhí)行時,內(nèi)核把它們看作是整個進程的行為,內(nèi)核級線程調(diào)用是以線程為單位,內(nèi)核把系統(tǒng)調(diào)用看作是該線程的行為-對于用戶級線程調(diào)用,進程的執(zhí)行速度隨著所含線程數(shù)目的增加而降低,對于內(nèi)核級線程則相反.18在SolarisOS中,設(shè)置了哪幾種線程?輕型線程的作用是什么?a.用戶級線程,內(nèi)核級線程和輕型線程;b.作用:由LWP實現(xiàn)了在內(nèi)核與用戶級線程之間的隔離,從而使用戶級線程與內(nèi)核無關(guān).19在SolarisOS中,用戶級線程是通過什么方式來訪問內(nèi)核的?通過LWP來訪問內(nèi)核.LWP可為內(nèi)核所識別,但不能識別用戶級線程,通過建立用戶級線程與LWP之間的連接,可以實現(xiàn)用戶級線程與內(nèi)核的通信.第
21、三章1 .什么是臨界資源和臨界區(qū)?a.一次僅允許一個進程使用白資源成為臨界資源.b.在每個進程中,訪問臨界資源的那段程序稱為臨界區(qū)2 .為什么進程在進入臨界區(qū)之前,應(yīng)先執(zhí)行"進入?yún)^(qū)"代碼,在退出臨界區(qū)后又執(zhí)行"退出區(qū)"代碼?為了實現(xiàn)多個進程對臨界資源的互斥訪問,必須在臨界區(qū)前面增加一段用于檢查欲訪問的臨界資源是否正被訪問的代碼,如果未被訪問,該進程便可進入臨界區(qū)對資源進行訪問,并設(shè)置正被訪問標志,如果正被訪問,則本進程不能進入臨界區(qū),實現(xiàn)這一功能的代碼成為"進入?yún)^(qū)"代碼;在退出臨界區(qū)后,必須執(zhí)行"退出區(qū)"代碼,用于
22、恢復(fù)未被訪問標志.3 .同步機構(gòu)應(yīng)遵循哪些基本準則?為什么?a.空閑讓進.b.忙則等待.c.有限等待.d.讓權(quán)等待.4 .試從物理概念上來說明記錄型信號量和wait和signal操彳?(有待討論).5 .你認為整型信號量機制和記錄型信號量機制,是否完全遵循了同步機構(gòu)的四條準則?a.在整型信號量機制中,未遵循"讓權(quán)等待”的準則.b.記錄型信號量機制完全遵循了同步機構(gòu)的"空閑讓進,忙則等待,有限等待,讓權(quán)等待"四條準則.6 .在生產(chǎn)者消費者問題中,如果缺少了signal(full)或signal(empty),對執(zhí)行結(jié)果會有何影響?生產(chǎn)者-消費者問題可描述如下:var
23、mutex,empty,full:semaphore:=1,n,0;buffer:array0,.,n-1ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeatproduceaniteminnextp;wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1)modn;signal(mutex);/*/signal(full);/*/untilfalse;endconsumer:beginrepeatwait(full);wait(mutex);nextc:=buffer(out);
24、out:=(out+1)modn;signal(mutex);/*/signal(empty);/*/consumetheiteminnextc;untilfalse;endparendend可見,生產(chǎn)者可以不斷地往緩沖池送消息,如果緩沖池滿,就會覆蓋原有數(shù)據(jù),造成數(shù)據(jù)混舌L.而消費者始終因wait(full)操作將消費進程直接送入進程鏈表進行等待,無法訪問緩沖池,造成無限等待.7 .在生產(chǎn)者一消費者問題中,如果將兩個wait操作即wait(full)和wait(mutex)互換位置;或者是將signal(mutex)與signal(full)互換位置結(jié)果會如何?varmutex,empty,
25、full:semaphore:=1,n,0;buffer:array0,.,n-1ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeatproduceaniteminnextp;wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1)modn;/*/signal(full);signal(mutex);/*/untilfalse;endconsumer:beginrepeat/*/wait(mutex);wait(full);/*/nextc:=buffer(out);out:=(
26、out+1)modn;signal(mutex);signal(empty);consumetheiteminnextc;untilfalse;endparendenda.wait(full)和wait(mutex)互換位置后,因為mutex在這兒是全局變量,執(zhí)行完wait(mutex),則mutex賦值為0,倘若full也為0,則該生產(chǎn)者進程就會轉(zhuǎn)入進程鏈表進行等待,而生產(chǎn)者進程會因全局變量mutex為0而進行等待,使full始終為0,這樣就形成了死鎖.b.而signal(mutex)與signal(full)互換位置后,從邏輯上來說應(yīng)該是一樣的8 .我們?yōu)槟撑R界區(qū)設(shè)置一把鎖W,當(dāng)W=1時,
27、表示關(guān)鎖;W=0時,表示鎖已打開.試寫出開鎖原語和關(guān)鎖原語,并利用它們?nèi)崿F(xiàn)互斥開鎖原語:unlock(W):W=0;關(guān)鎖原語:lock(W);if(W=1)dono_op;W=1;利用開關(guān)鎖原語實現(xiàn)互斥:varW:semaphore:=0;beginparbeginprocess:beginrepeatlock(W);criticalsectionunlock(W);remaindersectionuntilfalse;endparend9 .試修改下面生產(chǎn)者一消費者問題解法中的錯誤:producer:duceraniteminnextp;wait(mutex)
28、;wait(full);/*應(yīng)為wait(empty),而且還應(yīng)該在wait(mutex)的前面*/buffer(in):=nextp;/*緩沖池數(shù)組防I標應(yīng)前移:in:=(in+1)modn;*/signal(mutex);/*signal(full);*/untilfalse;endconsumer:beginrepeatwait(mutex);wait(empty);/*應(yīng)為wait(full),而且還應(yīng)該在wait(mutex)的前面*/nextc:=buffer(out);out:=out+1;/*考慮循環(huán),應(yīng)改為:out:=(out+1)modn;*/signal(mutex);/
29、*signal(empty);*/consumeriteminnextc;untilfalse;end10試利用記錄型信號量寫出一個不會出現(xiàn)死鎖的哲學(xué)家進餐問題的算法設(shè)初始值為1的信號量cI表示I號筷子被拿(I=1,2,3,4,.,2n),其中n為自然數(shù).send(I):BeginifImod2=1then(P(cI);P(cI-1mod5);Eat;V(cI-1mod5);V(cI);else(P(cI-1mod5);P(cI);Eat;V(cI);V(cI-1mod5);End11在測量控制系統(tǒng)中的數(shù)據(jù)采集任務(wù),把所采集的數(shù)據(jù)送一單緩沖區(qū);計算任務(wù)從該單緩沖中取出數(shù)據(jù)進行方t算.試寫出利用
30、信號量機制實現(xiàn)兩者共享單緩沖的同步算法intmutex=1;intempty=n;intfull=0;intin=0;intout=0;main()(cobeginsend();obtain();coendsend()(while(1)(collectdatainnextp;wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1)modn;signal(mutex);signal(full);/sendobtain()while(1)wait(full);wait(mutex);nextc:=buffer(out);out:=(out+1)modn;
31、signal(mutex);signal(empty);culculatethedatainnextc;/while/obtain12畫圖說明管程由哪幾部分組成?為什么要引入條件變量?管程由三部分組成:局部于管程的共享變量說明;對該數(shù)據(jù)結(jié)構(gòu)進行操作的一組過程;對局部于管程的數(shù)據(jù)設(shè)置初始值的語句.(圖見P80)因為調(diào)用wait原語后,使進程等待的原因有多種,為了區(qū)別它們,引入了條件變量.13如何利用管程來解決生產(chǎn)者-消費者問題?(見P82)14什么是AND信號量?式利用AND信號量寫出生產(chǎn)者一消費者問題的解法.為解決并行所帶來的死鎖問題,在wait操作中引入AND條件,其基本思想是將進程在整個運
32、行過程中所需要的所有臨界資源,一次性地全部分配給進程,用完后一次性釋放解決生產(chǎn)者-消費者問題可描述如下:varmutex,empty,full:semaphore:=1,n,0;buffer:array0,.,n-1ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeatproduceaniteminnextp;wait(empty);wait(s1,s2,s3,.,sn);/s1,s2,.,sn為執(zhí)行生產(chǎn)者進程除empty外其余的條件wait(mutex);buffer(in):=nextp;in:=(in+1)modn;signal(mutex);signal(full);signal(s1,s2,s3,.,sn);untilfalse;en
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《溝通中外文明的“絲綢之路”》聽課評課記錄3(新部編人教版七年級上冊歷史)
- 人教版部編歷史九年級下冊《第5課 第二次工業(yè)革命》聽課評課記錄
- 湘教版數(shù)學(xué)九年級上冊3.4.1《相似三角的判定》(第1課時)聽評課記錄
- 人教部編版九年級歷史下冊聽課評課記錄:第4課《日本明治維新》
- 北師大版歷史八年級上冊第2課《第二次鴉片戰(zhàn)爭》聽課評課記錄
- 蘇教版四年級數(shù)學(xué)上冊期末復(fù)習(xí)口算練習(xí)題一
- 蘇教版二年級數(shù)學(xué)下冊《兩位數(shù)減兩位數(shù)的口算》教學(xué)設(shè)計
- 上市或擬上市公司獨立董事聘任合同范本
- 孵化器委托運營協(xié)議書范本
- 企業(yè)承包合同范本
- 2023年菏澤醫(yī)學(xué)??茖W(xué)校單招綜合素質(zhì)模擬試題及答案解析
- 鋁合金門窗設(shè)計說明
- 常見食物的嘌呤含量表匯總
- 小學(xué)數(shù)學(xué)-三角形面積計算公式的推導(dǎo)教學(xué)設(shè)計學(xué)情分析教材分析課后反思
- 人教版數(shù)學(xué)八年級下冊同步練習(xí)(含答案)
- SB/T 10752-2012馬鈴薯雪花全粉
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語)試題庫含答案解析
- 秦暉社會主義思想史課件
- 積累運用表示動作的詞語課件
- 機動車登記證書英文證書模板
- 質(zhì)量管理體系基礎(chǔ)知識培訓(xùn)-2016
評論
0/150
提交評論