![操作系統(tǒng)習(xí)題解答_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/b2673180-6a4c-4e53-a8b5-706e3c128b71/b2673180-6a4c-4e53-a8b5-706e3c128b711.gif)
![操作系統(tǒng)習(xí)題解答_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/b2673180-6a4c-4e53-a8b5-706e3c128b71/b2673180-6a4c-4e53-a8b5-706e3c128b712.gif)
![操作系統(tǒng)習(xí)題解答_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/b2673180-6a4c-4e53-a8b5-706e3c128b71/b2673180-6a4c-4e53-a8b5-706e3c128b713.gif)
![操作系統(tǒng)習(xí)題解答_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/b2673180-6a4c-4e53-a8b5-706e3c128b71/b2673180-6a4c-4e53-a8b5-706e3c128b714.gif)
![操作系統(tǒng)習(xí)題解答_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/26/b2673180-6a4c-4e53-a8b5-706e3c128b71/b2673180-6a4c-4e53-a8b5-706e3c128b715.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)教程南郵正式版習(xí)題解答第三章 進(jìn)程管理與調(diào)度習(xí)題1、什么是多道程序設(shè)計(jì)?多道程序設(shè)計(jì)利用了系統(tǒng)與外圍設(shè)備的并行工作能力,從而提高工作效率,具體表現(xiàn)在哪些方面?答:讓多個(gè)計(jì)算問題同時(shí)裝入一個(gè)計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器并行執(zhí)行,這種設(shè)計(jì)技術(shù)稱“ 多道程序設(shè)計(jì) ”,這種計(jì)算機(jī)系統(tǒng)稱“多道程序設(shè)計(jì)系統(tǒng)” 或簡(jiǎn)稱“多道系統(tǒng)”。在多道程序設(shè)計(jì)的系統(tǒng)中,主存儲(chǔ)器中同時(shí)存放了多個(gè)作業(yè)的程序。為避免相互干擾,必須提供必要的手段使得在主存儲(chǔ)器中的各道程序只能訪問自己的區(qū)域。 提高工作效率,具體表現(xiàn)在:· 提高了處理器的利用率; · 充分利用外圍設(shè)備資源:計(jì)算機(jī)系統(tǒng)配置多種外圍設(shè)備,采用多道程
2、序設(shè)計(jì)并行工作時(shí),可以將使用不同設(shè)備的程序搭配在一起同時(shí)裝入主存儲(chǔ)器,使得系統(tǒng)中各外圍設(shè)備經(jīng)常處于忙碌狀態(tài),系統(tǒng)資源被充分利用; · 發(fā)揮了處理器與外圍設(shè)備以及外圍設(shè)備之間的并行工作能力; 從總體上說,采用多道程序設(shè)計(jì)技術(shù)后,可以有效地提高系統(tǒng)中資源的利用率,增加單位時(shí)間內(nèi)的算題量,從而提高了吞吐率。 2、請(qǐng)描述進(jìn)程的定義和屬性。答:進(jìn)程是具有獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配、調(diào)度和保護(hù)的獨(dú)立單位。進(jìn)程的屬性有:結(jié)構(gòu)性共享性動(dòng)態(tài)性獨(dú)立性制約性并發(fā)性3、請(qǐng)描述進(jìn)程與程序的區(qū)別及關(guān)系。答:程序是靜止的,進(jìn)程是動(dòng)態(tài)的。進(jìn)程包括程序和程序處理的對(duì)象(數(shù)據(jù)集)
3、,進(jìn)程能得到程序處理的結(jié)果。進(jìn)程和程序并非一一對(duì)應(yīng)的,一個(gè)程序運(yùn)行在不同的數(shù)據(jù)集上就構(gòu)成了不同的進(jìn)程。通常把進(jìn)程分為“系統(tǒng)進(jìn)程”和“用戶進(jìn)程”兩大類,把完成操作系統(tǒng)功能的進(jìn)程稱為系統(tǒng)進(jìn)程,而完成用戶功能的進(jìn)程則稱為用戶進(jìn)程。 4、進(jìn)程有哪三種基本狀態(tài)?三種進(jìn)程狀態(tài)如何變化?答:通常,根據(jù)進(jìn)程執(zhí)行過程中不同時(shí)刻的狀態(tài),可歸納為三種基本狀態(tài): · 等待態(tài) :等待某個(gè)事件的完成; · 就緒態(tài) :等待系統(tǒng)分配處理器以便運(yùn)行; · 運(yùn)行態(tài) :占有處理器正在運(yùn)行。 進(jìn)程在執(zhí)行中狀態(tài)會(huì)不斷地改變,每個(gè)進(jìn)程在任何時(shí)刻總是處于上述三種基本狀態(tài)的某一種基本狀態(tài),進(jìn)程狀態(tài)之間轉(zhuǎn)換關(guān)系:
4、運(yùn)行態(tài)等待態(tài) 往往是由于等待外設(shè),等待主存等資源分配或等待人工干預(yù)而引起的。 等待態(tài)就緒態(tài) 則是等待的條件已滿足,只需分配到處理器后就能運(yùn)行。 運(yùn)行態(tài)就緒態(tài) 不是由于自身原因,而是由外界原因使運(yùn)行狀態(tài)的進(jìn)程讓出處理器,這時(shí)候就變成就緒態(tài)。例如時(shí)間片用完,或有更高優(yōu)先級(jí)的進(jìn)程來搶占處理器等。 就緒態(tài)運(yùn)行態(tài) 系統(tǒng)按某種策略選中就緒隊(duì)列中的一個(gè)進(jìn)程占用處理器,此時(shí)就變成了運(yùn)行態(tài)。 5、進(jìn)程控制塊是什么,有何作用?通常進(jìn)程控制塊包含哪些信息?答:進(jìn)程控制塊(Process Control Block,簡(jiǎn)稱PCB),是操作系統(tǒng)為進(jìn)程分配的用于標(biāo)志進(jìn)程,記錄各進(jìn)程執(zhí)行情況的。進(jìn)程控制塊是進(jìn)程存在的標(biāo)志,它
5、記錄了進(jìn)程從創(chuàng)建到消亡動(dòng)態(tài)變化的狀況,進(jìn)程隊(duì)列實(shí)際也是進(jìn)程控制塊的鏈接。操作系統(tǒng)利用進(jìn)程控制塊對(duì)進(jìn)程進(jìn)行控制和管理。 ·標(biāo)志信息 含唯一的進(jìn)程名 ·說明信息 有進(jìn)程狀態(tài)、等待原因、進(jìn)程程序存放位置和進(jìn)程數(shù)據(jù)存放位置 ·現(xiàn)場(chǎng)信息 包括通用、控制和程序狀態(tài)字寄存器的內(nèi)容 ·管理信息 存放程序優(yōu)先數(shù)和隊(duì)列指針 進(jìn)程控制塊的作用有: · (1)記錄進(jìn)程的有關(guān)信息,以便操作系統(tǒng)的進(jìn)程調(diào)度程序?qū)M(jìn)程進(jìn)行調(diào)度。這些信息包括標(biāo)志信息、說明信息、現(xiàn)場(chǎng)信息和管理信息等; · (2)標(biāo)志進(jìn)程的存在,進(jìn)程控制塊是進(jìn)程存在的唯一標(biāo)志 6、什么是可再入程序?答:
6、(1) 什么是 可再入程序 。 一個(gè)能被 多個(gè)用戶同時(shí)調(diào)用 的程序稱做" 可再入 "的程序。 (2) 可再入程序的性質(zhì)。 · 可再入程序必須是純代碼,在執(zhí)行時(shí)自身不改變; · 一個(gè)可再入程序要求調(diào)用者提供工作區(qū),以保證程序以同樣方式為各用戶服務(wù)。 編譯程序 和 操作系統(tǒng)程序 通常都是"可再入"程序,能同時(shí)被不同用戶調(diào)用而構(gòu)成不同的進(jìn)程。 7、闡述進(jìn)程調(diào)度的常用算法:先來先服務(wù)、優(yōu)先數(shù)法、輪轉(zhuǎn)法。答:· 先來先服務(wù)調(diào)度算法 該算法按進(jìn)程進(jìn)入就緒隊(duì)列的先后次序選擇可以占用處理器的進(jìn)程。 · 優(yōu)先數(shù)調(diào)度算法 對(duì)每個(gè)進(jìn)程確
7、定一個(gè)優(yōu)先數(shù),該算法總是讓優(yōu)先數(shù)最高的進(jìn)程先使用處理器。對(duì)具有相同優(yōu)先數(shù)的進(jìn)程,再采用先來先服務(wù)的次序分配處理器。系統(tǒng)常以任務(wù)的緊迫性和系統(tǒng)效率等因素確定進(jìn)程的優(yōu)先數(shù)。進(jìn)程的優(yōu)先數(shù)可以固定的,也可隨進(jìn)程執(zhí)行過程動(dòng)態(tài)變化。 一個(gè)高優(yōu)先數(shù)的進(jìn)程占用處理器后,系統(tǒng)處理該進(jìn)程時(shí)有兩種方法,一是"非搶占式",另一種是"可搶占式"。前者是此進(jìn)程占用處理器后一直運(yùn)行到結(jié)束,除非本身主動(dòng)讓出處理器,后者則是嚴(yán)格保證任何時(shí)刻總是讓優(yōu)先數(shù)最高的進(jìn)程在處理器上運(yùn)行。 · 時(shí)間片輪轉(zhuǎn)調(diào)度法 把規(guī)定進(jìn)程一次使用處理器的最長(zhǎng)時(shí)間稱為"時(shí)間片"。時(shí)間片輪
8、轉(zhuǎn)調(diào)度算法讓就緒進(jìn)程按就緒的先后次序排成隊(duì)列,每次總選擇該隊(duì)列中第一個(gè)進(jìn)程占用處理器,但規(guī)定只能使用一個(gè)時(shí)間片,如該進(jìn)程尚未完成,則排入隊(duì)尾,等待下一個(gè)供它使用的時(shí)間片。各個(gè)進(jìn)程就這樣輪轉(zhuǎn)運(yùn)行。時(shí)間片輪轉(zhuǎn)算法經(jīng)常用于分時(shí)操作系統(tǒng)中。 8、程序狀態(tài)字包含哪些主要內(nèi)容?答:(1)程序基本狀態(tài) (2)中斷碼 (3)中斷屏蔽位9、比較進(jìn)程調(diào)度與作業(yè)調(diào)度的不同點(diǎn)。答:1)作業(yè)調(diào)度是宏觀調(diào)度,它決定了哪一個(gè)作業(yè)能進(jìn)入主存。進(jìn)程調(diào)度是微觀調(diào)度,它決定各作業(yè)中的哪一個(gè)進(jìn)程占有中央處理機(jī)。(或)作業(yè)調(diào)度是高級(jí)調(diào)度,它位于操作系統(tǒng)的作業(yè)管理層次。進(jìn)程調(diào)度是低級(jí)調(diào)度,它位于操作系統(tǒng)分層結(jié)構(gòu)的最內(nèi)層。(2)作業(yè)調(diào)度是
9、選符合條件的收容態(tài)作業(yè)裝入內(nèi)存。進(jìn)程調(diào)度是從就緒態(tài)進(jìn)程中選一個(gè)占用處理機(jī)。10、C程序說明系統(tǒng)調(diào)用fork()的應(yīng)用。請(qǐng)?jiān)谔幪钊胗嘘P(guān)父、子進(jìn)程的正確語句: * Example to demonstrate the function of System Call fork * main() int i; if(i)0 printf(“”) ; else printf(“”) ; printf(“”) ; 執(zhí)行本程序時(shí),子進(jìn)程在標(biāo)準(zhǔn)輸出上打印以下結(jié)果: It is child process Exit 父進(jìn)程在標(biāo)準(zhǔn)輸出上打印以下結(jié)果: It is Parent process Exit11、單道批
10、處理環(huán)境下有5個(gè)作業(yè),各作業(yè)進(jìn)入系統(tǒng)的時(shí)間和估計(jì)運(yùn)行時(shí)間如下表所示:作業(yè)進(jìn)入系統(tǒng)時(shí)間估計(jì)運(yùn)行時(shí)間/分鐘18:004028:203038:301249:001859:105 (1) 如果應(yīng)用先來先服務(wù)的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進(jìn)入系統(tǒng)時(shí)間估計(jì)運(yùn)行時(shí)間/分鐘開始時(shí)間結(jié)束時(shí)間周轉(zhuǎn)時(shí)間/分鐘18:004028:203038:301249:001859:105作業(yè)平均周轉(zhuǎn)時(shí)間T= (2)如果應(yīng)用最短作業(yè)優(yōu)先的作業(yè)調(diào)度算法,試將下面表格填寫完整。作業(yè)進(jìn)入系統(tǒng)時(shí)間估計(jì)運(yùn)行時(shí)間/分鐘開始時(shí)間結(jié)束時(shí)間周轉(zhuǎn)時(shí)間/分鐘18:004028:203038:301249:001859:105作業(yè)
11、平均周轉(zhuǎn)時(shí)間T= 答:1 (1) 作業(yè)進(jìn)入系統(tǒng)時(shí)間估計(jì)運(yùn)行時(shí)間/分鐘開始時(shí)間結(jié)束時(shí)間周轉(zhuǎn)時(shí)間/分鐘18:00408:008:404028:20308:409:105038:30129:109:225249:00189:229:404059:1059:409:4535作業(yè)平均周轉(zhuǎn)時(shí)間T= 43.4217 (2)作業(yè)進(jìn)入系統(tǒng)時(shí)間估計(jì)運(yùn)行時(shí)間/分鐘開始時(shí)間結(jié)束時(shí)間周轉(zhuǎn)時(shí)間/分鐘18:00408:008:404028:20308:529:226238:30128:408:522249:00189:279:454559:1059:229:2717作業(yè)平均周轉(zhuǎn)時(shí)間T= 37.218612、有一個(gè)
12、具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的非搶式調(diào)度算法,進(jìn)程調(diào)度采用以優(yōu)先數(shù)為基礎(chǔ)的搶占式調(diào)度算法,在下表所示的作業(yè)序列中,作業(yè)優(yōu)先數(shù)即為進(jìn)程優(yōu)先數(shù),優(yōu)先數(shù)越小優(yōu)先級(jí)越高。作業(yè)名 到達(dá)時(shí)間 估計(jì)運(yùn)行時(shí)間 優(yōu)先數(shù)A 10:00 40分 5B 10:20 30分 3C 10:30 50分 4D 10:50 20分 6(1)列出所有作業(yè)進(jìn)入內(nèi)存時(shí)間及結(jié)束時(shí)間。(2)計(jì)算平均周轉(zhuǎn)時(shí)間。答:每個(gè)作業(yè)運(yùn)行將經(jīng)過兩個(gè)階段:作業(yè)調(diào)度(SJF算法)和進(jìn)程調(diào)度(優(yōu)先數(shù)搶占式)。另外,批處理最多容納2道作業(yè),更多的作業(yè)將在后備隊(duì)列等待。進(jìn)程就緒隊(duì)列作業(yè)后備隊(duì)列時(shí)間(分鐘) 10:00 10:20 10:3
13、0 10:50 11:10 12:00 12:20A B A C DA D D C CPU(1) 10:00,作業(yè)A到達(dá)并投入運(yùn)行。(2) 10:20,作業(yè)B到達(dá)且優(yōu)先權(quán)高于作業(yè)A,故作業(yè)B投入運(yùn)行而作業(yè)A在就緒隊(duì)列等待。(3) 10:30,作業(yè)C到達(dá),因內(nèi)存中已有兩道作業(yè),故作業(yè)C進(jìn)入作業(yè)后備隊(duì)列等待。(4) 10:50,作業(yè)B運(yùn)行結(jié)束,作業(yè)D到達(dá),按SJF短作業(yè)優(yōu)先算法,作業(yè)D被裝入內(nèi)存進(jìn)入就緒隊(duì)列。而由于作業(yè)A的優(yōu)先級(jí)高于作業(yè)D,故作業(yè)A投入運(yùn)行。(5) 11:10,作業(yè)A運(yùn)行結(jié)束,作業(yè)C被調(diào)入內(nèi)存,且作業(yè)C的優(yōu)先級(jí)高于作業(yè)D,故作業(yè)C投入運(yùn)行。(6) 12:00,作業(yè)C運(yùn)行結(jié)束,作業(yè)D
14、投入運(yùn)行。(7) 12:20,作業(yè)D運(yùn)行結(jié)束。作業(yè) 進(jìn)入內(nèi)存時(shí)間 運(yùn)行結(jié)束時(shí)間 A 10:00 11:10 B 10:20 10;50 C 11:10 12:00 D 10:50 12:20各作業(yè)周轉(zhuǎn)時(shí)間為:作業(yè)A 70,作業(yè)B 30,作業(yè)C 90,作業(yè)D 90。平均作業(yè)周轉(zhuǎn)時(shí)間為70分鐘。第四章 并發(fā)進(jìn)程的同步與互斥1、進(jìn)程間同步和互斥的含義是什么?答:同步:并發(fā)進(jìn)程之間存在的相互制約和相互依賴的關(guān)系。互斥:若干進(jìn)程共享一資源時(shí),任何時(shí)刻只允許一個(gè)進(jìn)程使用。2、用文字描述銀行家算法的基本思想? 答:銀行家算法的基本思想是:將系統(tǒng)中的所有資源比做銀行家的資金,每進(jìn)行一次資源的分配,銀行家都要從
15、當(dāng)前的資源分配情況出發(fā),計(jì)算這種分配方案的安全性,如果是安全的,則進(jìn)行分配,否則選擇其它可能的分配方案。這樣,每次分配都計(jì)算安全性,從而可以避免死鎖的發(fā)生。3、簡(jiǎn)述死鎖的防止與死鎖的避免的區(qū)別。答:死鎖的防止是系統(tǒng)預(yù)先確定一些資源分配策略,進(jìn)程按規(guī)定申請(qǐng)資源,系統(tǒng)按預(yù)先規(guī)定的策略進(jìn)行分配,從而防止死鎖的發(fā)生。而死鎖的避免是當(dāng)進(jìn)程提出資源申請(qǐng)時(shí)系統(tǒng)測(cè)試資源分配,僅當(dāng)能確保系統(tǒng)安全時(shí)才把資源分配給進(jìn)程,使系統(tǒng)一直處于安全狀態(tài)之中,從而避免死鎖。4、試說明資源的靜態(tài)分配策略能防止死鎖的原因。答:資源靜態(tài)分配策略要求每個(gè)進(jìn)程在開始執(zhí)行前申請(qǐng)所需的全部資源,僅在系統(tǒng)為之分配了所需的全部資源后,該進(jìn)程才開
16、始執(zhí)行。這樣,進(jìn)程在執(zhí)行過程中不再申請(qǐng)資源,從而破壞了死鎖的四個(gè)必要條件之一“占有并等待條件”,從而防止死鎖的發(fā)生。5、有三個(gè)進(jìn)程P1,P2和P3并發(fā)工作。進(jìn)程P1需用資源S3和S1;進(jìn)程P2需用資源S1和S2;進(jìn)程P3需用資源S2和S3?;卮穑?1)若對(duì)資源分配不加限制,會(huì)發(fā)生什么情況?為什么?(2)為保證進(jìn)程正確工作,應(yīng)采用怎樣的資源分配策略?為什么?答:.(1)可能會(huì)發(fā)生死鎖例如:進(jìn)程P1,P2和P3分別獲得資源S3,S1和S2后再繼續(xù)申請(qǐng)資源時(shí)都要等待(2分),這是循環(huán)等待。(或進(jìn)程在等待新源時(shí)均不釋放已占資源)(2)可有幾種答案:A.采用靜態(tài)分配由于執(zhí)行前已獲得所需的全部資源,故不會(huì)
17、出現(xiàn)占有資源又等待別的資源的現(xiàn)象(或不會(huì)出現(xiàn)循環(huán)等待資源現(xiàn)象)?;駼.采用按序分配不會(huì)出現(xiàn)循環(huán)等待資源現(xiàn)象。或C.采用銀行家算法因?yàn)樵诜峙鋾r(shí),保證了系統(tǒng)處于安全狀態(tài)。、某車站售票廳,任何時(shí)刻最多可容納20名購票者進(jìn)入,當(dāng)售票廳中少于20名購票者時(shí),則廳外的購票者可立即進(jìn)入,否則需在外面等待。若把一個(gè)購票者看作一個(gè)進(jìn)程,請(qǐng)回答下列問題:(1)用PV操作管理這些并發(fā)進(jìn)程時(shí),應(yīng)怎樣定義信號(hào)量,寫出信號(hào)量的初值以及信號(hào)量各種取值的含義。(2)根據(jù)所定義的信號(hào)量,把應(yīng)執(zhí)行的PV操作填入適當(dāng),以保證進(jìn)程能夠正確地并發(fā)執(zhí)行。COBEGINPROCESSPI(I=1,2,) begin;進(jìn)入售票廳;購票;退出
18、; end;COEND(3)若欲購票者最多為n個(gè)人,寫出信號(hào)量可能的變化范圍(最大值和最小值)。答:.(1)定義一信號(hào)量S,初始值為20。意義:S>0S的值表示可繼續(xù)進(jìn)入售 票廳的人數(shù)S=0表示售票廳中已有20名顧 客(購票者)S<0|S|的值為等待進(jìn)入售票 廳的人數(shù)(2)P(S)進(jìn)入售票廳;購票;退出;V(S)(3)S的最大值為20 S的最小值為20n注:信號(hào)量的符號(hào)可不同(如寫成t),但使用時(shí)應(yīng)一致(即上述的s全應(yīng)改成t)。、假定系統(tǒng)有三個(gè)并發(fā)進(jìn)程read, move和print共享緩沖器B1和B2。進(jìn)程read負(fù)責(zé)從輸入設(shè)備上讀信息,每讀出一個(gè)記錄后把它存放到緩沖器B1中。進(jìn)
19、程move從緩沖器B1中取出一記錄,加工后存入緩沖器B2。進(jìn)程print將B2中的記錄取出打印輸出。緩沖器B1和B2每次只能存放一個(gè)記錄。要求三個(gè)進(jìn)程協(xié)調(diào)完成任務(wù),使打印出來的與讀入的記錄的個(gè)數(shù),次序完全一樣。請(qǐng)用PV操作,寫出它們的并發(fā)程序。答:begin SR,SM1,SM2,SP:semaphore;B1,B2:record;SR:=1;SM1:=0;SM2:=1;SP:=0cobeginprocess readX:record;begin R: (接收來自輸入設(shè)備上一個(gè)記錄)X:=接收的一個(gè)記錄;P(SR);B1:=X;V(SM1);goto R;end;Process moveY:r
20、ecord;beginM:P(SM1);Y:=B1;V(SR)加工 YP(SM2);B2:=Y;V(SP);goto M;end;Process printZ:record;beginP:P(SP);Z:=B2;V(SM2)打印Zgoto P;end;coend;end;、某系統(tǒng)中有10臺(tái)打印機(jī),有三個(gè)進(jìn)程P1,P2,P3分別需要8臺(tái),7臺(tái)和4臺(tái)。若P1,P2,P3已申請(qǐng)到4臺(tái),2臺(tái)和2臺(tái)。試問:按銀行家算法能安全分配嗎?請(qǐng)說明分配過程。答:系統(tǒng)能為進(jìn)程P3分配二臺(tái)打印機(jī)。因?yàn)楸M管此時(shí)10臺(tái)打印機(jī)已分配給進(jìn)程P1 4臺(tái),P22臺(tái)和P34臺(tái),全部分配完,但P3已分配到所需要的全部4臺(tái)打印機(jī),它不
21、會(huì)對(duì)打印機(jī)再提出申請(qǐng),所以它能順利運(yùn)行下去,能釋放占用的4臺(tái)打印機(jī),使進(jìn)程P1,P2均可能獲得乘余的要求4臺(tái)和5臺(tái),按銀行家算法是安全的。、有兩個(gè)用戶進(jìn)程A和B,在運(yùn)行過程中都要使用系統(tǒng)中的一臺(tái)打印機(jī)輸出計(jì)算結(jié)果。(1) 試說明A、B兩進(jìn)程之間存在什么樣的制約關(guān)系?(2) 為保證這兩個(gè)進(jìn)程能正確地打印出各自的結(jié)果,請(qǐng)用信號(hào)量和P、V操作寫出各自的有關(guān)申請(qǐng)、使用打印機(jī)的代碼。要求給出信號(hào)量的含義和初值。答:(1) A、B兩進(jìn)程之間存在互斥的制約關(guān)系。因?yàn)榇蛴C(jī)屬于臨界資源,必須一個(gè)進(jìn)程使用完之后另一個(gè)進(jìn)程才能使用。(2)mutex:用于互
22、斥的信號(hào)量,初值為1。 進(jìn)程A 進(jìn)程B . . . . P(mutex) P(mutex) 申請(qǐng)打印機(jī) 申請(qǐng)打印機(jī) 使用打印機(jī) 使用打印機(jī) V(mutex) V(mutex)試以生產(chǎn)者消費(fèi)者問題說明進(jìn)程同步問題的實(shí)質(zhì)。答:一個(gè)生產(chǎn)者,一個(gè)消費(fèi)者和一個(gè)產(chǎn)品之間關(guān)系是典型的進(jìn)程同步問題。設(shè)信號(hào)量S為倉庫內(nèi)產(chǎn)品,P- V操作配對(duì)進(jìn)行缺一不可。生產(chǎn)者進(jìn)程將產(chǎn)品放人倉庫后通知消費(fèi)者可用;消費(fèi)者進(jìn)程在得知倉庫有產(chǎn)品時(shí)取走,然后告訴生產(chǎn)者可繼續(xù)生產(chǎn)。、請(qǐng)描述產(chǎn)生死鎖的四個(gè)必要條件。答:互斥使用(資源獨(dú)占)一個(gè)資源每次只能給一個(gè)進(jìn)程使用不可強(qiáng)占(不可剝奪)資源申請(qǐng)者不能強(qiáng)行的從資源占有者手中奪取資源,資源只能
23、由占有者自愿釋放請(qǐng)求和保持(部分分配,占有申請(qǐng))一個(gè)進(jìn)程在申請(qǐng)新的資源的同時(shí)保持對(duì)原有資源的占有(只有這樣才是動(dòng)態(tài)申請(qǐng),動(dòng)態(tài)分配)循環(huán)等待存在一個(gè)進(jìn)程等待隊(duì)列 P1 , P2 , , Pn, 其中P1等待P2占有的資源,P2等待P3占有的資源,Pn等待P1占有的資源,形成一個(gè)進(jìn)程等待環(huán)路、兩個(gè)并發(fā)執(zhí)行的進(jìn)程A和B的程序如下: 進(jìn)程ARepeatN=N+5;Until false; 進(jìn)程BRepeat打印N的值;N=0;Until false;其中N為整數(shù),初值為4。若進(jìn)程A先執(zhí)行了三個(gè)循環(huán)后,進(jìn)程A和進(jìn)程B又并發(fā)執(zhí)行了一個(gè)循環(huán),寫出可能出現(xiàn)的打印值。正確的打印值應(yīng)該是多少?
24、請(qǐng)用P、V操作進(jìn)行管理,使進(jìn)程A和B并發(fā)執(zhí)行時(shí)不會(huì)出現(xiàn)與時(shí)間有關(guān)的錯(cuò)誤。 答:因?yàn)镹初值為4,若進(jìn)程A先執(zhí)行了三個(gè)循環(huán),此時(shí)N的值為19。當(dāng)進(jìn)程A和進(jìn)程B并發(fā)執(zhí)行時(shí)可能會(huì)有如下兩種執(zhí)行次序,即進(jìn)程A先執(zhí)行一次循環(huán),然后再進(jìn)程B執(zhí)行一次循環(huán),此時(shí)打印的是正確值24,執(zhí)行后N中的值為0。但若進(jìn)程B先執(zhí)行一次循環(huán),然后再進(jìn)程A執(zhí)行一次循環(huán),則打印的值是19,執(zhí)行后N中的值是5。這是錯(cuò)誤的,即發(fā)生了與時(shí)間有關(guān)的錯(cuò)誤。用P、V操作進(jìn)行管理,使進(jìn)程A和B并發(fā)時(shí)不會(huì)出現(xiàn)與時(shí)間有關(guān)的錯(cuò)誤的程序如下:(S為互斥信號(hào)量,初值為1),進(jìn)程ARepeatP(S);N=N+5;V(S);Until fals
25、e; 進(jìn)程BRepeatP(S);打印N的值;N=0;V(S);Until false;、四個(gè)進(jìn)程P0,P1,P2,P3和四個(gè)信箱M0,M1,M2,M3進(jìn)程間借助相鄰的信箱傳遞消息: 每次從 中取出一條消息,經(jīng)加工送入 中。其中M0,M1,M2,M3分別設(shè)有3,3,2,2個(gè)格子,每個(gè)格子放一條消息,初始時(shí),M0裝滿了三條消息,其余為空。寫出使用信號(hào)量實(shí)現(xiàn)進(jìn)程 (i=0,1,2,3)同步及互斥的流程。答:mutex0 mutex3 : 分別用于控制互斥訪問M0 M 3,初值為1。full0 full3 : 分別用于控制同步訪問M0 M3 ,其中full0 初值為
26、3,full1 full3 初值為0,表示信箱中消息條數(shù)。empty0 empty3 : 分別用于同步控制對(duì)M0 M3的訪問。Empty0初值為0,empty2 empty3初值為2,empty1初值為3,分別用于表示信箱中空格子個(gè)數(shù)。另用send ( Mi , message )表示將消息送到(Mi mod 4)號(hào)信箱中;而用receive ( Mi,message )表示接收已存在于( Mi mod 4 )中的消息。則使用信號(hào)量實(shí)現(xiàn)進(jìn)程Pi (i = 0 , 1 ,2 ,3 )同步及互斥的流程如下:mutex0 , m utex 1, m utex2 , m utex3 : semapho
27、re ;full0 , ful l1 , ful l2 , ful l3 : semaphore ;empty0 , em pty1 , em pty2 , em pty3 : semaphore ;begin mutex0 : = 1 ; mutex1 : = 1 ; mutex2 : = 1 ; mutex : = 1 ; full0 : = 3 ; full1 : = 0 ; full2 : = 0 ; fu
28、ll3 : = 0 ; empty0 : = 0 ; empty1 : = 3 ; empty2 : = 2 ; empty3 : = 2 ; Parbegin P0:beginrepeat P ( mutex0 ) ;P ( full0 ) ;Receive ( M0,message);V (empty0 ) ;Processing the message until finish
29、ed;P ( mutex1 ) ;P ( empty1 ) ;Send ( M1,message ) ;V ( full1 ) ;V ( mutex1 ) ; Until false ;
30、 end ; P1:可類似于P0實(shí)現(xiàn)之; P2:可類似于P0實(shí)現(xiàn)之; P3:可類似于P0實(shí)現(xiàn)之; Parend ; End;、設(shè)系統(tǒng)中僅有一類數(shù)量為M的獨(dú)占型資源,系統(tǒng)中N個(gè)進(jìn)程競(jìng)爭(zhēng)該類資源,其中各進(jìn)程對(duì)該類資源的最大需求
31、量為W。當(dāng)M、N、W分別取下列值時(shí),試判斷哪些情況會(huì)發(fā)生死鎖?為什么? M=2,N=2,W=1 M=3,N=2,W=2 M=3,N=2,W=3 M=5,N=3,W=2 M=6,N=3,W=3答:可能會(huì)發(fā)生死鎖。只要一個(gè)進(jìn)程占用了少于3個(gè)獨(dú)占型資源而另一個(gè)進(jìn)程占用了其余的獨(dú)占型資源,兩個(gè)進(jìn)程都會(huì)相互處于等待對(duì)方進(jìn)程釋放資源的狀態(tài)。也可能會(huì)發(fā)生死鎖。當(dāng)每個(gè)進(jìn)程都分配了兩個(gè)資源時(shí),3個(gè)進(jìn)程都會(huì)彼此等待。、假定具有5個(gè)進(jìn)程的進(jìn)程集合PP0,P1,P2,P3,P4,系統(tǒng)中有三類資源A,B和C。其中A類資源有10個(gè),B類資源有5個(gè),C類資源有7個(gè)。假定
32、在某時(shí)刻有如下狀態(tài):Allocation Max Available A B C A
33、160; B C A B C P0 0 1 0 7 5 3
34、0; 3 3 2 P1 2 0 0 3 2 2
35、0; P2 3 0 2 9 0 2 P3 2 1 1
36、160; 2 2 2 P4 0 0 2 4 3 3 試給出Need,并說明當(dāng)前系統(tǒng)是否處于安全狀態(tài),如果是,給出安全序列。如果不是,說明理由。答:當(dāng)前系統(tǒng)處于
37、安全狀態(tài),安全序列如下求解:work = Available = (3 , 3 , 2 ) 尋找Needj <= work = ( 3 , 3 , 2 ) ( j = 0 , 1 , 2 , 3 , 4) j = 1 Need1 = (1 ,2 ,3 ) < = (3 , 3 , 2
38、) work : = (3 , 3 , 2 ) + (2 ,0 ,0 ) = (5 , 3 , 2 ) 尋找Needj <= work = ( 5 , 3 , 2 ) ( j = 0 , 2 , 3 , 4) j =
39、3 Need3 = (0 ,1 ,1 ) < = (5 , 3 , 2 ) work : = (5 , 3 , 2 ) + (2 ,1 ,1 ) = (7 , 4 , 3 ) 尋找Needj <= work = (7 , 4 , 3 ) ( j = 0 , 2 , 4) &
40、#160; j = 4 Need4 = (4 ,3 ,1 ) < = (7 , 4 , 3 ) work : = (7 , 4 , 3 ) + (0 ,0 ,2 ) = (7 , 4 , 5) 尋找Needj <= work = (7 , 4 , 5) (j
41、 = 0 , 2 ) j = 2 Need2 = (6 ,0 ,0 ) < = (7 , 4 , 5 ) work : = (7 , 4 , 5 ) + (3 ,0 ,2 ) = (10 , 4 , 7) 尋找Needj <= w
42、ork = (10 , 4 , 7) ( j = 0 ) j = 0 work : = (10 , 4 , 7 ) + (0 ,1 ,0 ) = (10 , 5 , 7) 所以安全序列為P1,P3,P4,P2,P0。、有一閱覽室,讀者進(jìn)入時(shí)必須先在一張登記表上登記。該表中每個(gè)表項(xiàng)代表閱覽室中的一個(gè)座位。讀者離開時(shí)要消掉其登記信息。閱覽室共有50個(gè)座位。登記表每次僅允許一位讀者進(jìn)行登
43、記或注銷。讀者登記時(shí),發(fā)現(xiàn)登記表滿,他在閱覽室外等待,直至有空位再登記進(jìn)入。試用類Pascal語言和P、V操作,描述讀者行為。答:Begin initial value of S is 50Parbegin Begin register P (S) ; Register and enter into the reading room ; End; Begin leave off R
44、egister off and leave ; V (S) ;End ; End ; 、考慮一個(gè)共有150個(gè)存儲(chǔ)單元的系統(tǒng),如下分配給三個(gè)進(jìn)程,P1最大需求70,己占有25;P2最大需求60,己占有40;P3最大需求60,己占有45。使用銀行家算法,以確定下面的任何一個(gè)請(qǐng)求是否安全。(1)P4進(jìn)程到達(dá),P4最大需求60,最初請(qǐng)求25個(gè)。(2)P4進(jìn)程到達(dá),P4最大需求60,最初請(qǐng)求35。如果安全,找出所有的安全序列;如果不安全,給出結(jié)果分配情況。答:(1)由于系統(tǒng)目前還有150-25-40-4
45、5=40個(gè)單元,P4進(jìn)程到達(dá),把25個(gè)單元分給它。這時(shí)系統(tǒng)還余15個(gè)單元,可把15個(gè)單元分給P3,它執(zhí)行完后會(huì)釋放60個(gè)單元。于是可供P1(還要45個(gè)單元),P2(還要20個(gè)單元),P4(還要35個(gè)單元)任何一個(gè)執(zhí)行。安全序列為: P1,P2,P3,P4,P3,P1,P2,P4 P1,P2,P3,P4,P3,P1,P4,P2 P1,P2,P3,P4,P3,P2,P1,P4 P1,P2,P3,P4,P3,P2,P4,P1 P1,P2,P3,P4,P3,P4,P1,P2 P1,P2,P3,P4,P3,P4,P2,P1(2)P4進(jìn)程到達(dá),P4最大需求60,最初請(qǐng)求35。如果把35個(gè)單元分給P4,系統(tǒng)還余5個(gè)單元,不再能滿足任何一個(gè)進(jìn)程的需求,系統(tǒng)進(jìn)入不安全狀態(tài)。、在一個(gè)盒子里,混裝了數(shù)量相等的黑白圍棋子。現(xiàn)在用自動(dòng)分揀系統(tǒng)把黑子、白子分開,設(shè)分揀系統(tǒng)有二個(gè)進(jìn)程P1和P2,其中P1揀白子;P2揀黑子。規(guī)定每個(gè)進(jìn)程每次揀一子;當(dāng)一個(gè)進(jìn)程在揀時(shí),不允許另一個(gè)進(jìn)程去揀;當(dāng)一個(gè)進(jìn)程揀了一子時(shí),必須讓另一個(gè)進(jìn)程去揀。試寫出兩進(jìn)程P1和P2能并發(fā)正確執(zhí)行的程序。答:實(shí)質(zhì)上是兩個(gè)進(jìn)程的同步問題,設(shè)信號(hào)量S1和S2分別表示可揀白子和黑子,不失一般性,若令先揀白
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 包公包料合同范本
- 公司物業(yè)托管合同范本
- 2025年度農(nóng)村金融小額貸款合同模板(二零二五版)
- 國有企業(yè)產(chǎn)權(quán)無償劃轉(zhuǎn)合同范本
- 農(nóng)戶轉(zhuǎn)讓農(nóng)用機(jī)械合同范本
- 2025年度生態(tài)農(nóng)業(yè)園工程合同終止及環(huán)境恢復(fù)協(xié)議
- 有限公司股權(quán)轉(zhuǎn)讓合同范本
- 商鋪轉(zhuǎn)租租賃合同范本
- pvc管供銷合同范本
- 商業(yè)攝影制作服務(wù)合同范本
- 呼吸科護(hù)理管理制度
- TCI 331-2024 工業(yè)污染源產(chǎn)排污核算系數(shù)制定通則
- 浙江省(面試)公務(wù)員考試試題及答案指導(dǎo)(2025年)
- 設(shè)備拆裝施工方案
- 注冊(cè)安全工程師《安全生產(chǎn)管理知識(shí)》科目知識(shí)要點(diǎn)
- 《新時(shí)代公民道德建設(shè)實(shí)施綱要》、《新時(shí)代愛國主義教育實(shí)施綱要》知識(shí)競(jìng)賽試題庫55題(含答案)
- 小學(xué)百科知識(shí)競(jìng)賽題庫200道及答案(完整版)
- JJ∕G(交通) 201-2024公路橋梁支座壓剪試驗(yàn)機(jī)
- 2019-2020學(xué)年七年級(jí)(上)期末數(shù)學(xué)試卷2附解析
- 電話接聽技巧與服務(wù)質(zhì)量提升方案三篇
- 德國職業(yè)學(xué)校教育質(zhì)量保障體系研究
評(píng)論
0/150
提交評(píng)論