![操作系統(tǒng)課后題挑選_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/0b691bd5-c860-4644-8720-4bc867f518e8/0b691bd5-c860-4644-8720-4bc867f518e81.gif)
![操作系統(tǒng)課后題挑選_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/0b691bd5-c860-4644-8720-4bc867f518e8/0b691bd5-c860-4644-8720-4bc867f518e82.gif)
![操作系統(tǒng)課后題挑選_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/0b691bd5-c860-4644-8720-4bc867f518e8/0b691bd5-c860-4644-8720-4bc867f518e83.gif)
![操作系統(tǒng)課后題挑選_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/0b691bd5-c860-4644-8720-4bc867f518e8/0b691bd5-c860-4644-8720-4bc867f518e84.gif)
![操作系統(tǒng)課后題挑選_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/29/0b691bd5-c860-4644-8720-4bc867f518e8/0b691bd5-c860-4644-8720-4bc867f518e85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、操作系統(tǒng)課后題挑選整理GL1.4在下面舉出的三個(gè)功能中,哪個(gè)功能在下列兩種環(huán)境下,(a)手持裝置(b)實(shí)時(shí)系統(tǒng)需要操作系統(tǒng)的支持?(a)批處理程序(b)虛擬存儲器(c)分時(shí)Answer:對于實(shí)時(shí)系統(tǒng)來說,操作系統(tǒng)需要以一種公平的方式支持虛擬存儲器和分時(shí)系統(tǒng)。對于手持系統(tǒng),操作系統(tǒng)需要提供虛擬存儲器,但是不需要提供分時(shí)系統(tǒng)。批處理程序在兩種環(huán)境中都是非必需的。1.10中斷(interupt)的目的是什么?陷阱(trap)與中斷的區(qū)別是什么?陷阱可以被用戶程序(user program)有意地的產(chǎn)生嗎?如果可以,那目的是什么?Answer:中斷是一種在系統(tǒng)內(nèi)硬件產(chǎn)生的流量變化。中斷操作裝置是用來處
2、理中斷請求;然后返回控制中斷的上下文和指令。陷阱是軟件產(chǎn)生的中斷。中斷可以被用來標(biāo)志 I/O的完成,從而排除設(shè)備投票站(device polling)的需要。陷阱可以被用來調(diào)用操作系統(tǒng)的程序或者捕捉到算術(shù)錯(cuò)誤。1.11內(nèi)存存儲是被用于高速的I/O設(shè)備,其目的是為了避免增加CPU的過度運(yùn)行。 (a)設(shè)備的CPU接口是怎樣與轉(zhuǎn)換器(transfer)協(xié)作的? (b)當(dāng)內(nèi)存操作完全時(shí),CPU是怎么知道的? (c)當(dāng)DMA控制器正在轉(zhuǎn)換數(shù)據(jù)時(shí),CPU是被允許運(yùn)行其它程序的。這種進(jìn)程與用戶程序的運(yùn)行沖突嗎?如果沖突的話,試描述可能引起哪種沖突?Answer: CPU可以通過寫數(shù)據(jù)到可以被設(shè)備獨(dú)立存儲的寄
3、存器中來啟動DMA操作。當(dāng)設(shè)備接收到來自CPU的命令時(shí),啟動響應(yīng)的操作。當(dāng)設(shè)備完成此操作時(shí),就中斷CPU來說明操作已經(jīng)完成。設(shè)備和CPU都可以被內(nèi)存同時(shí)訪問。內(nèi)存控制器對這兩個(gè)實(shí)體以公平的方式給內(nèi)存總線提供存取。CPU可能不能同時(shí)以很快的速度配給給內(nèi)存操作,因?yàn)樗仨毴ジ偁幵O(shè)備而使得自己存取到內(nèi)存總線中去。1.12一些計(jì)算機(jī)系統(tǒng)沒有在硬件中提供個(gè)人模式(privileged mode)。對于這種計(jì)算機(jī)系統(tǒng)來說,可能構(gòu)成安全的操作系統(tǒng)嗎?對可能和不可能兩種情況分別給出理由。Answer:一種類型處理器的操作系統(tǒng)需要在任何時(shí)候都被控制(或監(jiān)測模式)。有兩種方法可以完成這個(gè)操作:a.所有用戶程序的軟
4、件翻譯(像一些BASIC,Java,LISP systems)。在軟件中,軟件解釋程序能夠提供硬件所不能提供的。b.要求所有程序都用高級語言編寫,以便于所以目標(biāo)代碼都被編譯出來。編譯器將會產(chǎn)生硬件忽略的防護(hù)性檢查(in-line或功能調(diào)用)。1.15試描述一個(gè)機(jī)器裝置為了阻止一個(gè)程序避免修改與其它程序有聯(lián)系的內(nèi)存而執(zhí)行內(nèi)存保護(hù)。Answer:處理器可以追蹤哪個(gè)位置是與每個(gè)進(jìn)程相聯(lián)系的以及限制進(jìn)入一個(gè)程序的范圍的外面位置。信息與一個(gè)程序的內(nèi)存范圍有關(guān),它可以通過使用庫,限制寄存器和對每個(gè)進(jìn)入內(nèi)存的信息執(zhí)行檢查來維持其本身。2.1操作系統(tǒng)提供的服務(wù)和功能可以分為兩個(gè)類別。簡單的描述一下這兩個(gè)類別并
5、討論他們的不同點(diǎn)。Answer:第一種操作系統(tǒng)提供的服務(wù)是用來保護(hù)在系統(tǒng)中同時(shí)運(yùn)行的不同進(jìn)程。進(jìn)程只被允許獲得與它們地址空間有聯(lián)系的內(nèi)存位置。同樣,進(jìn)程不允許破壞和其他用戶有關(guān)的文件。一個(gè)進(jìn)程同樣不允許在沒有操作系統(tǒng)的干預(yù)下直接進(jìn)入設(shè)備。第二種服務(wù)由操作系統(tǒng)提供的服務(wù)是提供一種新的功能,而這種功能并不直接被底層的硬件支持。虛擬存儲器和文件系統(tǒng)就是由操作系統(tǒng)提供的這種新服務(wù)的實(shí)例。2.2列出操作系統(tǒng)提供的五項(xiàng)服務(wù)。說明每項(xiàng)服務(wù)如何給用戶提供便利。說明在哪些情況下用戶級程序不能夠提夠這些服務(wù)。Answer: a.文件執(zhí)行.操作系統(tǒng)一個(gè)文件的目錄(或章節(jié))裝入到內(nèi)存并運(yùn)行。一個(gè)用戶程序不能被信任,妥
6、善分配CPU時(shí)間。b.I/O操作. 磁盤,磁帶,串行線,和其他裝置必須在一個(gè)非常低的水平下進(jìn)行通信。用戶只需要指定裝置和操作執(zhí)行要求,然后該系統(tǒng)的要求轉(zhuǎn)換成裝置或控制器的具體命令.用戶級程序不能被信任只在他們應(yīng)該獲得時(shí)獲得裝置和只使用那些未被使用的裝置。c.文件系統(tǒng)操作.在文件創(chuàng)建、刪除、分配和命名時(shí)有許多細(xì)節(jié)是用戶不能執(zhí)行的。磁盤空間塊被文件所使用并被跟蹤。刪除一個(gè)文件需要清除這個(gè)文件的信息和釋放被分派給這個(gè)文件的空間。用戶程序不僅不能夠保證保護(hù)方法的有效實(shí)施,也不能夠被信任只會分配空閑的空間和在刪除文件是清空空間。d.通信.信息在系統(tǒng)間交換要求信息轉(zhuǎn)換成信息包,送到網(wǎng)絡(luò)控制器中,通過通信媒
7、介進(jìn)行傳播,并由目的地系統(tǒng)重新組裝。信息包調(diào)整和數(shù)據(jù)修改是一定會發(fā)生的。此外,用戶程序也許不能夠協(xié)調(diào)網(wǎng)絡(luò)裝置的取得,或者接收完全不同的其他進(jìn)程的信息包。e.錯(cuò)誤檢測.錯(cuò)誤檢測在硬件和軟件水平下都會發(fā)生。在硬件水平下,所有數(shù)據(jù)轉(zhuǎn)移都必須仔細(xì)檢查以確保數(shù)據(jù)在運(yùn)送中不會被破壞。在媒介中的所有數(shù)據(jù)都必須被檢查以確保他們在寫入媒介時(shí)沒有被改變。在軟件水平下,為了數(shù)據(jù),媒介不需不間斷的被檢查。例如,確保信息存儲中被分配和還未被分配的空間塊的數(shù)量和裝置中所有塊的數(shù)量的一致。進(jìn)程獨(dú)立經(jīng)常有錯(cuò)誤(例如,磁盤中數(shù)據(jù)的破壞),所以必須有一個(gè)統(tǒng)籌的程序(操作系統(tǒng))來處理各種錯(cuò)誤。同樣,錯(cuò)誤經(jīng)過操作系統(tǒng)的處理,在一個(gè)系
8、統(tǒng)中程序不再需要包含匹配和改正所遇可能錯(cuò)誤的代碼。2.5操作系統(tǒng)關(guān)于文件管理的五個(gè)主要活動是什么?Answer:1.創(chuàng)建和刪除文件2.創(chuàng)建和刪除目錄3.提供操作文件和目錄的原語的支持4.將文件映射到二級存儲器上5.在穩(wěn)定(非易失的)的存儲媒介上備份文件。2.8通信的兩種模式是什么?這兩種模式的優(yōu)點(diǎn)和缺點(diǎn)是什么?Answer:通信的兩種模式是1)共享內(nèi)存,2)消息傳遞。這兩種模式的最基本的不同是在它們的性能上。一個(gè)內(nèi)存共享塊是通過系統(tǒng)調(diào)用創(chuàng)建的。然而,一旦內(nèi)存共享塊在兩個(gè)或更多的進(jìn)程間建立,這些進(jìn)程可以借助內(nèi)存共享塊來通信,不再需要內(nèi)核的協(xié)助。另一方面,當(dāng)send()和receive()操作被調(diào)
9、用時(shí),信息傳遞通常包含系統(tǒng)調(diào)用。因此,因?yàn)閮?nèi)核是直接的包含在進(jìn)程間通信的,一般而言,它的影響比內(nèi)存共享小。然而,消息傳遞可以用作同步機(jī)制來處理通信進(jìn)程間的行動。也就是說,send()和receive()段可以用來協(xié)調(diào)兩個(gè)通信進(jìn)程的動作。另一方面,內(nèi)存共享沒有提供這種同步機(jī)制的進(jìn)程。2.12采用微內(nèi)核方法來設(shè)計(jì)系統(tǒng)的主要優(yōu)點(diǎn)是什么?在微內(nèi)核中如何使客戶程序和系統(tǒng)服務(wù)相互作用?微內(nèi)核方法的缺點(diǎn)是什么?Answer:優(yōu)點(diǎn)主要包括以下幾點(diǎn):a)增加一個(gè)新的服務(wù)不需要修改內(nèi)核b) 在用戶模式中比在內(nèi)核模式中更安全、更易操作c) 一個(gè)簡單的內(nèi)核設(shè)計(jì)和功能一般導(dǎo)致一個(gè)更可靠的操作系統(tǒng)用戶程序和系統(tǒng)服務(wù)通過使
10、用進(jìn)程件的通信機(jī)制在微內(nèi)核中相互作用,例如發(fā)送消息。這些消息由操作系統(tǒng)運(yùn)送。微內(nèi)核最主要的缺點(diǎn)是與進(jìn)程間通信的過度聯(lián)系和為了保證用戶程序和系統(tǒng)服務(wù)相互作用而頻繁使用操作系統(tǒng)的消息傳遞功能。2.13模塊化內(nèi)核方法的什么方式與分層方法相似?什么方式與分層方法不同?Answer:模塊化內(nèi)核方法要求子系統(tǒng)通過創(chuàng)建的一般而言狹隘(從功能方面來說是揭露外部模塊)的接口來相互作用。分層內(nèi)核方法在細(xì)節(jié)上與分層方法相似。但是,分層內(nèi)核必須要是有嚴(yán)格排序的子系統(tǒng),這樣的子系統(tǒng)在較低層次中不允許援引業(yè)務(wù)相應(yīng)的上層子系統(tǒng) 。在模塊化內(nèi)核方法中沒有太多的限制,模式在哪方面是隨意援引彼此的是沒有任何約束的。3.1 論述短
11、期,中期和長期調(diào)度之間的區(qū)別.Answer:a.短期調(diào)度:在內(nèi)存作業(yè)中選擇就緒執(zhí)行的作業(yè),并為他們分配CPU。b.中期調(diào)度:作為一種中等程度的調(diào)度程序,尤其被用于分時(shí)系統(tǒng),一個(gè)交換方案的實(shí)施,將部分運(yùn)行程序移出內(nèi)存,之后,從中斷處繼續(xù)執(zhí)行。c.長期調(diào)度(作業(yè)調(diào)度程序):確定哪些作業(yè)調(diào)入內(nèi)存以執(zhí)行.它們主要的不同之處是它們的執(zhí)行的頻率。短期調(diào)度必須經(jīng)常調(diào)用一個(gè)新進(jìn)程,由于在系統(tǒng)中,長期調(diào)度處理移動的作業(yè)時(shí),并不頻繁被調(diào)用,可能在進(jìn)程離開系統(tǒng)時(shí)才被喚起。3.2 描述一下內(nèi)核在兩個(gè)進(jìn)程間進(jìn)行上下文功換的動作.Answer:總的來說,操作系統(tǒng)必須保存正在運(yùn)行的進(jìn)程的狀態(tài),恢復(fù)進(jìn)程的狀態(tài)。保存進(jìn)程的狀態(tài)
12、主要包括CPU寄存器的值以及內(nèi)存分配,上下文切換還必須執(zhí)行一些確切體系結(jié)構(gòu)的操作,包括刷新數(shù)據(jù)和指令緩存。(書中答案)進(jìn)程關(guān)聯(lián)是由進(jìn)程的PCB來表示的,它包括CPU寄存器的值和內(nèi)存管理信息等。當(dāng)發(fā)生上下文切換時(shí),內(nèi)核會將舊進(jìn)程的關(guān)聯(lián)狀態(tài)保存在其PCB中,然后裝入經(jīng)調(diào)度要執(zhí)行的新進(jìn)程的已保存的關(guān)聯(lián)狀態(tài)。4.1舉兩個(gè)多線程程序設(shè)計(jì)的例子來說明多線程不比單線程方案提高性能答:1)任何形式的順序程序?qū)€程來說都不是一個(gè)好的形式。例如一個(gè)計(jì)算個(gè)人報(bào)酬的程序。2)另外一個(gè)例子是一個(gè)空殼程序,如C-shell和korn shell。這種程序必須密切檢測其本身的工作空間。如打開的文件、環(huán)境變量和當(dāng)前工作目錄。
13、4.2描述一下線程庫采取行動進(jìn)行用戶級線程上下文切換的過程答:用戶線程之間的上下文切換和內(nèi)核線程之間的相互轉(zhuǎn)換是非常相似的。但它依賴于線程庫和怎樣把用戶線程指給內(nèi)核程序。一般來說,用戶線程之間的上下文切換涉及到用一個(gè)用戶程序的輕量級進(jìn)程(LWP)和用另外一個(gè)線程來代替。這種行為通常涉及到寄存器的節(jié)約和釋放。4.4以下程序中的哪些組成部分在多線程程序中是被線程共享的?a.寄存值b.堆內(nèi)存c.全局變量d.棧內(nèi)存答:一個(gè)線程程序的線程共享堆內(nèi)存和全局變量,但每個(gè)線程都有屬于自己的一組寄存值和棧內(nèi)存。5.1為什么對調(diào)度來說,區(qū)分I/0限制的程序和CPU限制的程序是重要的?答:I/0限制的程序有在運(yùn)行I
14、/O操作前只運(yùn)行很少數(shù)量的計(jì)算機(jī)操作的性質(zhì)。這種程序一般來說不會使用很多的CPU。另一方面,CPU限制的程序利用整個(gè)的時(shí)間片,且不做任何阻礙I/O操作的工作。因此,通過給I/O限制的程序優(yōu)先權(quán)和允許在CPU限制的程序之前運(yùn)行,可以很好的利用計(jì)算機(jī)資源。5.2討論以下各對調(diào)度標(biāo)準(zhǔn)在某種背景下會有的沖突 a.CPU利用率和響應(yīng)時(shí)間 b.平均周轉(zhuǎn)時(shí)間和最大等待時(shí)間 c.I/O設(shè)備利用率和CPU利用率答:a.CPU利用率和響應(yīng)時(shí)間:當(dāng)經(jīng)常性的上下文切換減少到最低時(shí),CPU利用率增加。通過減少使用上下文切換程序來降低經(jīng)常性的上下文切換。但這樣可能會導(dǎo)致進(jìn)程響應(yīng)時(shí)間的增加。b.平均周轉(zhuǎn)時(shí)間和最大等待時(shí)間:
15、通過最先執(zhí)行最短任務(wù)可以使平均周轉(zhuǎn)時(shí)間最短。然而,這種調(diào)度策略可能會使長時(shí)間運(yùn)行的任務(wù)永遠(yuǎn)得不到調(diào)度且會增加他們的等待時(shí)間。c.I/O設(shè)備利用率和CPU利用率:CPU利用率的最大化可以通過長時(shí)間運(yùn)行CPU限制的任務(wù)和同時(shí)不實(shí)行上下文切換。I/O設(shè)備利用率的最大化可以通過盡可能調(diào)度已經(jīng)準(zhǔn)備好的I/O限制的任務(wù)。因此,導(dǎo)致上下文切換。5.4考慮下列進(jìn)程集,進(jìn)程占用的CPU區(qū)間長度以毫秒來計(jì)算:假設(shè)在時(shí)刻0以進(jìn)程P1,P2,P3,P4,P5的順序到達(dá)。a.畫出4個(gè)Gantt圖分別演示用FCFS、SJF、非搶占優(yōu)先級(數(shù)字小代表優(yōu)先級高)和RR(時(shí)間片1)算法調(diào)度時(shí)進(jìn)程的執(zhí)行過程。b.在a里每個(gè)進(jìn)程在
16、每種調(diào)度算法下的周轉(zhuǎn)時(shí)間是多少?c.在a里每個(gè)進(jìn)程在每種調(diào)度算法下的等待時(shí)間是多少?d.在a里哪一種調(diào)度算法的平均等待時(shí)間對所有進(jìn)程而言最???答:a.甘特圖略b.周轉(zhuǎn)時(shí)間FCFSRRSJF非搶占優(yōu)先級P110191916P211211P3137418P4144219P5191496c.等待時(shí)間FCFSRRSJF非搶占優(yōu)先級P10996P210100P3115216P4133118P514942d.SJF5.5下面哪些算法會引起饑餓a.先來先服務(wù)b.最短工作優(yōu)先調(diào)度c.輪換法調(diào)度d.優(yōu)先級調(diào)度答:最短工作優(yōu)先調(diào)度和優(yōu)先級調(diào)度算法會引起饑餓5.6考慮RR調(diào)度算法的一個(gè)變種,在這個(gè)算法里,就緒隊(duì)列里
17、的項(xiàng)是指向PCB的指針。a.如果把兩個(gè)指針指向就緒隊(duì)列中的同一個(gè)進(jìn)程,會有什么效果?b.這個(gè)方案的主要優(yōu)點(diǎn)和缺點(diǎn)是什么?c.如何修改基本的RR調(diào)度算法,從而不用兩個(gè)指針達(dá)到同樣的效果?答.a.實(shí)際上,這個(gè)過程將會增加它的優(yōu)先權(quán),因?yàn)橥ㄟ^經(jīng)常得到時(shí)間它能夠優(yōu)先得以運(yùn)行。 b.優(yōu)點(diǎn)是越重要的工作可以得到更多的時(shí)間。也就是說,優(yōu)先級越高越先運(yùn)行。然而,結(jié)果將由短任務(wù)來承擔(dān)。 c.分配一個(gè)更長的時(shí)間給優(yōu)先級越高的程序。換句話說,可能有兩個(gè)或多個(gè)時(shí)間片在RR調(diào)度中。5.7考慮一個(gè)運(yùn)行十個(gè)I/O限制任務(wù)和一個(gè)CPU限制任務(wù)的系統(tǒng)。假設(shè),I/O限制任務(wù)一次分配給一個(gè)I/O操作1毫秒的CPU計(jì)算,但每個(gè)I/O
18、操作的完成需要 10毫秒。同時(shí),假設(shè)間接的上下文切換要0.1毫秒,所有的進(jìn)程都是長進(jìn)程。對一個(gè)RR調(diào)度來說,以下情況時(shí)CPU的利用率是多少: a.時(shí)間片是1毫秒 b.時(shí)間片是10毫秒答:a.時(shí)間片是1毫秒:不論是哪個(gè)進(jìn)程被調(diào)度,這個(gè)調(diào)度都會為每一次的上下文切換花費(fèi)一個(gè)0.1毫秒的上下文切換。CPU的利用率是1/1.1*100=92%。b.時(shí)間片是10毫秒:這I/O限制任務(wù)會在使用完1毫秒時(shí)間片后進(jìn)行一次上下文切換。這個(gè)時(shí)間片要求在所有的進(jìn)程間都走一遍,因此,10*1.1+10.1(因?yàn)槊總€(gè)I / O限定任務(wù)執(zhí)行為1毫秒,然后承擔(dān)上下文切換的任務(wù),而CPU限制任務(wù)的執(zhí)行10毫秒在承擔(dān)一個(gè)上下文切
19、換之前) 。因此,CPU的利用率是20、21.1*100=94%。5.9考慮下面的基于動態(tài)改變優(yōu)先級的可搶占式優(yōu)先權(quán)調(diào)度算法。大的優(yōu)先權(quán)數(shù)代表高優(yōu)先權(quán)。當(dāng)一個(gè)進(jìn)程在等待CPU時(shí)(在就緒隊(duì)列中,但未執(zhí)行),優(yōu)先權(quán)以速率改變;當(dāng)它運(yùn)行時(shí),優(yōu)先權(quán)以速率改變。所有的進(jìn)程在進(jìn)入就緒隊(duì)列時(shí)被給定優(yōu)先權(quán)為0。參數(shù)和可以設(shè)定給許多不同的調(diào)度算法。a.0時(shí)所得的是什么算法?b.0時(shí)所得的是什么算法?答:a.FCFSb.LIFO5.10解釋下面調(diào)度算法對短進(jìn)程編程度上的區(qū)別: a.FCFS b.RR c多級反饋隊(duì)列答:a.FCFS-區(qū)別短任務(wù)是因?yàn)槿魏卧陂L任務(wù)后到達(dá)的短任務(wù)都將會有很長的等待時(shí)間。 b.RR-對所
20、有的任務(wù)都是能夠相同的(給它們相同的CPU時(shí)間區(qū)間),所以,短任務(wù)可以很快的離開系統(tǒng),只要它們可以先完成。 c. 多級反饋隊(duì)列和RR調(diào)度算法相似-它們不會先選擇短任務(wù)。6.3忙等待的含義是什么?在操作系統(tǒng)中還有哪些其他形式的等待?忙等待能完全避免嗎答:忙等待意味著一個(gè)進(jìn)程正在等待滿足一個(gè)沒有閑置處理器的嚴(yán)格循環(huán)的條件?;蛘?,一個(gè)進(jìn)程通過放棄處理器來等待,在這種情況下的塊等待在將來某個(gè)適當(dāng)?shù)臅r(shí)間被喚醒。忙等待能夠避免,但是承擔(dān)這種開銷與讓一個(gè)進(jìn)程處于沉睡狀態(tài),當(dāng)相應(yīng)程序的狀態(tài)達(dá)到的時(shí)候進(jìn)程又被喚醒有關(guān)。6.9證明如果獲得和釋放的信號量操作沒有動態(tài)地執(zhí)行,那么互斥會受干擾。答:收購操作自動遞減和信
21、號量有關(guān)的值。如果兩個(gè)收購操作在信號量的值為1的信號量上執(zhí)行,而且這兩種操作不是自動執(zhí)行的,那么這兩個(gè)操作在進(jìn)展中會遞減信號量的值,從而干擾互斥。6.11理發(fā)師問題7.6假設(shè)系統(tǒng)中有四個(gè)相同類型的資源被三個(gè)進(jìn)程共享。每個(gè)進(jìn)程最多需要兩個(gè)資源。證明這個(gè)系統(tǒng)不會死鎖。假設(shè)該系統(tǒng)陷入死鎖。這意味著,每一個(gè)進(jìn)程持有一個(gè)資源,并且正等待另一個(gè)資源。因?yàn)橛腥齻€(gè)進(jìn)程和四個(gè)資源,一個(gè)進(jìn)程就必須獲取兩個(gè)資源。這一進(jìn)程并不需要更多的資源,因此當(dāng)其完成時(shí)會返回其資源。7.7假設(shè)一個(gè)系統(tǒng)有m個(gè)資源被n個(gè)進(jìn)程共享,進(jìn)程每次只請求和釋放一個(gè)資源。證明只要系統(tǒng)符合下面兩個(gè)條件,就不會發(fā)生死鎖:a.每個(gè)進(jìn)程需要資源的最大值在
22、1到m之間b.所有進(jìn)程需要資源的最大值的和小于m+nAnswer:使用Section7.6.2的術(shù)語,可以有:a. _ni =1 Maxi m + nb. Maxi 1 for all iProof: Needi = Maxi ?Alloca tioniIf there exists a deadlock state then:c. _ni =1 Alloca tioni = mUse a. to get:_ Needi + _ Alloca tioni = _ Maxi m + nUse c. to get:_ Needi + m m + nRewrite to get:_ni =1 Nee
23、di =1,那么Pi進(jìn)程至少有一個(gè)資源可以釋放。從而系統(tǒng)就不會進(jìn)入死鎖狀態(tài)。8.3按順序給出5個(gè)部分的內(nèi)存,分別是100KB,500KB,200KB,300KB和600KB,用 first-fit,best-fit和worst-fit算法,能夠怎樣按順序分配進(jìn)程212KB,417KB,112KB,426KB和426KB?哪個(gè)算法充分利用了內(nèi)存空間?Answer:a. First-fit:b. 212K is put in 500K partitionc. 417K is put in 600K partitiond. 112K is put in 288K partition (new par
24、tition 288K = 500K ?212K)e. 426K must waitf. Best-fit:g. 212K is put in 300K partitionh. 417K is put in 500K partitioni. 112K is put in 200K partitionj. 426K is put in 600K partitionk. Worst-fit:l. 212K is put in 600K partitionm. 417K is put in 500K partitionn. 112K is put in 388K partitiono. 426K m
25、ust waitBest-fit:算法充分利用了內(nèi)存空間。8.4在運(yùn)行過程中,許多系統(tǒng)允許程序分配更多的內(nèi)存給它的地址空間。在程序堆中的數(shù)據(jù)分配是這種分配方式的一個(gè)實(shí)例。在下面的方案中,為了支持動態(tài)內(nèi)存分配的要求是什么?a.連續(xù)內(nèi)存分配b.純段式分配c.純頁式分配Answer:a.連續(xù)內(nèi)存分配:當(dāng)沒有足夠的空間給程序去擴(kuò)大它已分配的內(nèi)存空間時(shí),將要求重新分配整個(gè)程序。b.純段式分配:當(dāng)沒有足夠的空間給段去擴(kuò)大它的已分配內(nèi)存空間時(shí),將要求重新分配整個(gè)段。c.純頁式分配:在沒有要求程序地址空間再分配的方案下,新頁增加的分配是可能的。8.9考慮一個(gè)分頁系統(tǒng)在內(nèi)存中存儲著一張頁表。a.如果內(nèi)存的查詢需
26、要200毫秒,那么一個(gè)分頁內(nèi)存的查詢需要多長時(shí)間?b.如果我們加上相關(guān)聯(lián)的寄存器,75%的頁表查詢可以在相關(guān)聯(lián)的寄存器中找到,那么有效的查詢時(shí)間是多少?(假設(shè)如果入口存在的話,在相關(guān)的寄存器中找到頁表入口不花費(fèi)時(shí)間)Answer:a.400毫秒:200毫秒進(jìn)入頁表,200毫秒進(jìn)入內(nèi)存中的字 b.有效進(jìn)入時(shí)間=0.75*200毫秒+0.25*400毫秒=250毫秒8.129.4某個(gè)計(jì)算機(jī)給它的用戶提供了232的虛擬內(nèi)存空間,計(jì)算機(jī)有214B的物理內(nèi)存,虛擬內(nèi)存使用頁面大小為4094B的分頁機(jī)制實(shí)現(xiàn)。一個(gè)用戶進(jìn)程產(chǎn)生虛擬地址11123456,現(xiàn)在說明一下系統(tǒng)怎么樣建立相應(yīng)的物理地址,區(qū)分一下軟件操
27、作和硬件操作。(第六版有翻譯)答:該虛擬地址的二進(jìn)制形式是 0001 0001 0001 0010 0011 0100 0101 0110。由于頁面大小為212,頁表大小為220,因此,低12位的0100 0101 0110 被用來替換頁(page),而前20位0001 0001 0001 0010 0011被用來替換頁表(page table)。10.2 打開文件表被用以保持當(dāng)前打開文件的信息,操作系統(tǒng)應(yīng)該為每個(gè)用戶保持一個(gè)單獨(dú)的表嗎?或者只是保持一個(gè)包含當(dāng)前所有用戶訪問文件的引用的表?如果兩個(gè)不同程序或用戶訪問同樣的文件,在打開文件表中應(yīng)包含單獨(dú)的條目嗎?Answer: 保持一個(gè)中央的打開
28、文件表,操作系統(tǒng)可以執(zhí)行下列操作,否則不可執(zhí)行:假設(shè)一個(gè)當(dāng)前有一個(gè)或一個(gè)以上進(jìn)程訪問的文件。如果該文件被刪除,那么應(yīng)該直到所有正在訪問文件的進(jìn)程關(guān)閉它時(shí),它才能從磁盤上刪除。只要有正在訪問文件的進(jìn)程數(shù)目的集中核算,該檢查就可以執(zhí)行。另一方面,如果兩個(gè)進(jìn)程正在訪問該文件,則需要保持兩個(gè)單獨(dú)的狀態(tài)來跟蹤當(dāng)前位置,其中部分文件正被兩個(gè)進(jìn)程訪問。這就要求操作系統(tǒng)為兩個(gè)進(jìn)程保持單獨(dú)的條目。10.9 有些系統(tǒng)文件提供文件共享時(shí)候只保留文件的一個(gè)拷貝,而另外的一個(gè)系統(tǒng)則是保留多個(gè)拷貝,對共享文件的每一個(gè)用戶提供一個(gè)拷貝,論述這種方法的相對優(yōu)點(diǎn)。答:在一個(gè)單一的復(fù)制,同時(shí)更新了一個(gè)文件可能會導(dǎo)致用戶獲得不正確
29、的信息,文件被留在了不正確的狀態(tài). 隨著多份拷貝,它會浪費(fèi)存儲而且各種副本可能不一致。11.2使用FAT鏈合作區(qū)塊的檔案來進(jìn)行變化相聯(lián)系的分配有哪些優(yōu)勢?答:它的優(yōu)勢是,在訪問塊是儲存在中間的文件時(shí)候,在FAT里跟蹤指針可以決定它的位置,而不是訪問所有個(gè)別區(qū)塊中的檔案順序的方式找到指針的目標(biāo)塊。通常情況下,大多數(shù)的FAT可緩存在存儲器里,因此,指針可以通過記憶體確定,而不用通過磁盤塊。11.4有些檔案系統(tǒng)允許磁盤存儲將分配在不同級別的粒度。舉例來說,一個(gè)文件系統(tǒng)可以分配4 KB的磁盤空間作為單一的一個(gè)4字節(jié)的塊或8個(gè)512字節(jié)的塊。我們?nèi)绾文芾眠@種靈活性來提高性能?對自由空間管理做出哪些修改
30、以支持這一功能?答:此項(xiàng)計(jì)劃將減少內(nèi)部分裂。如果文件是5字節(jié),然后可以分配4 KB的區(qū)塊和兩個(gè)毗連的512字節(jié)的塊。除了維持一個(gè)位圖的自由塊,一個(gè)目前正在使用的區(qū)塊內(nèi)也將保持額外的狀態(tài)。當(dāng)所有的分塊成為空閑時(shí)候,該分配器將不得不審查這筆額外分配狀態(tài)分塊和凝聚的分塊,以獲取更大的塊。11.6 設(shè)想一個(gè)在磁盤上的文件系統(tǒng)的邏輯塊和物理塊的大小都為512B。假設(shè)每個(gè)文件的信息已經(jīng)在內(nèi)存中,對3種分配方法(連續(xù)分配,鏈接分配和索引分配),分別回答下面的問題:A,邏輯地址到物理地址的映射在系統(tǒng)中怎么樣進(jìn)行的?(對于索引分配,假設(shè)文件總是小于512塊長)B,假設(shè)現(xiàn)在處在邏輯塊10(最后訪問的塊是塊10),
31、限制想訪問塊4,那么必須從磁盤上讀多少個(gè)物理塊)答:設(shè)想Z是開始文件的地址(塊數(shù)),a.毗連。分裂邏輯地址由512的X和Y所產(chǎn)生的份額和其余的分別。1:將X加入到Z獲得物理塊號碼。 Y是進(jìn)入該區(qū)塊的位移。2.:1b.聯(lián)系。分裂邏輯地址由511的X和Y所產(chǎn)生的份額和其余的分別。1.:找出聯(lián)系名單(將X + 1塊)。 Y + 1是到最后物理塊的位移2.:4c.收錄。分裂的邏輯地址由512的X和Y所產(chǎn)生的份額和其余的分別。1.:獲得該指數(shù)塊到內(nèi)存中。物理塊地址載于該指數(shù)在所在地塊10, Y是到理想的物理塊的位移。2.:212.2 假設(shè)一個(gè)錯(cuò)哦盤驅(qū)動器有5000個(gè)柱面,從0到4999,驅(qū)動器正在為柱面
32、143的一個(gè)請求提供服務(wù),且前面的一個(gè)服務(wù)請求是在柱面125.按FIFO順序,即將到來的請求隊(duì)列是 86,1470,913,1774,948,1509,1022,1750,130從現(xiàn)在磁頭位置開始,按照下面的磁盤調(diào)度算法,要滿足隊(duì)列中即將到來的請求要求磁頭總的移動距離(按柱面數(shù)計(jì))是多少?a. FCFS; b. SSTF; c. SCAN; d. LOOK; e. C-SCAN答a. FCFS的調(diào)度是143 , 86 , 1470 , 913 , 1774 , 948 , 1509 , 1022 , 1750 , 130 。總尋求距離是7081 。b. SSTF的調(diào)度是143 , 130 ,
33、86 , 913 , 948 , 1022, 1470, 1509, 1750, 1774??倢で缶嚯x是1745。c. SCAN的調(diào)度是143 , 913 , 948 , 1022, 1470, 1509, 1750, 1774 , 4999 , 130 , 86 ??倢で缶嚯x是9769 。d. LOOK的調(diào)度是143 , 913 , 948 , 1022, 1470, 1509, 1750, 1774, 130 , 86 ??倢で缶嚯x是3319 。e. C-SCAN的調(diào)度是143 , 913 , 948 , 1022 , 1470 , 1509 , 1750 , 1774 , 4999 ,
34、86 , 130 ??倢で缶嚯x是9813 。f. C-LOOK的調(diào)度是143 , 913 , 948 , 1022 , 1470 , 1509 , 1750 , 1774 , 86 , 130 ??倢で缶嚯x是3363 。13.1; 13.3; 13.5 獨(dú)木橋問題:過橋時(shí),同一方向的行人可連續(xù)過橋,當(dāng)某一方有人過橋時(shí),另一方向的行人必須等待;當(dāng)某一方向無人過橋時(shí),另一方向的行人可以過橋。試用信號量機(jī)制解決。(1) 需要設(shè)置幾個(gè)信號量?分別是互斥信號量還是同步信號量?初值設(shè)為多少?并說明設(shè)置它們的意義。(2) 寫出用信號量機(jī)制解決此問題的算法。答案:(1) 將獨(dú)木橋的兩個(gè)方向分別標(biāo)記為A和B。用整型變量countA和countB分別表示A、B方向上已在獨(dú)木橋上的行人數(shù)。初值為0。需要設(shè)置三個(gè)初值都為1的互斥信號量:SA用來實(shí)現(xiàn)對countA的互斥訪問,SB用來實(shí)現(xiàn)對countB的互斥訪問,mutex用來實(shí)現(xiàn)對獨(dú)木橋的互斥使用。(2)A方向行人過橋:BeginP(SA); countA=countA+1; if (countA= =1) P(m
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校團(tuán)委辦公室申請書
- 申請緩交訴訟費(fèi)申請書
- 貧困申請書2000字范文
- DB37-T 4636-2023 北方茶樹凍害氣象監(jiān)測指標(biāo)
- 武警留隊(duì)申請書
- 直播帶貨模式下的消費(fèi)者行為研究
- 競選宣傳委員申請書
- 2024-2025學(xué)年高中地理第2章環(huán)境污染與防治第1節(jié)水污染及其成因?qū)W案新人教版選修6
- 勤奮好學(xué)好少年申請書
- 物流項(xiàng)目中基于KPI的績效管理方案設(shè)計(jì)
- Ar-CO2 混合氣安全技術(shù)說明書
- 騰訊招聘測評題庫答案大全
- 《企業(yè)成功轉(zhuǎn)型》課件
- 接地電阻的計(jì)算
- 五年級上冊數(shù)學(xué)應(yīng)用題100題及答案
- 2024年4月重慶公務(wù)員考試申論真題及答案解析
- 2024年南京科技職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 操作流程及方法1
- 云計(jì)算部門KPI設(shè)計(jì)
- 初中物理新課程標(biāo)準(zhǔn)2023全解
- 醫(yī)療器械經(jīng)營基礎(chǔ)知識培訓(xùn)合規(guī)指南
評論
0/150
提交評論