操作系統(tǒng)簡(jiǎn)答題_第1頁(yè)
操作系統(tǒng)簡(jiǎn)答題_第2頁(yè)
操作系統(tǒng)簡(jiǎn)答題_第3頁(yè)
操作系統(tǒng)簡(jiǎn)答題_第4頁(yè)
操作系統(tǒng)簡(jiǎn)答題_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1.試述現(xiàn)代操作系統(tǒng)的基本特征(1)并發(fā)性:并發(fā)指的是在操作系統(tǒng)中存在著許多同時(shí)的或并行的活動(dòng)。例如,在多道程序設(shè)計(jì)的環(huán)境下,各個(gè)程序同時(shí)在處理機(jī)上交替、穿插地執(zhí)行。(2)共享性:系統(tǒng)中存在的各種并發(fā)活動(dòng),要求共享系統(tǒng)的硬、軟件資源。(3)虛擬性:虛擬指的是講一個(gè)物理實(shí)體映射為若干個(gè)邏輯實(shí)體。前者是客觀存在的,后者是虛構(gòu)的。例如,在多道程序系統(tǒng)中,雖然只有一個(gè)CPU,每一時(shí)刻只能執(zhí)行一道程序,但采用多道技術(shù)之后,在一段時(shí)間間隔內(nèi),宏觀上有多個(gè)程序在運(yùn)行。在用戶看來,就好像有多個(gè)CPU在各自運(yùn)行自己的程序。(4)不確定性:1.程序執(zhí)行結(jié)果不確定,程序執(zhí)行結(jié)果不能再現(xiàn)。同一程序,對(duì)給定相同的初始數(shù)

2、據(jù),在相同的環(huán)境下運(yùn)行,多次運(yùn)行可能得到完全不同的結(jié)果。2. 多道程序設(shè)計(jì)環(huán)境下,程序按異步方式運(yùn)行。也就是說,每道程序在何時(shí)執(zhí)行、各個(gè)程序執(zhí)行的順序以及每到道程序所需的時(shí)間都是不確定的,也是不可預(yù)知的。(有疑惑)2.試述操作系統(tǒng)與用戶接口并舉例說明。概念:為了方面用戶對(duì)計(jì)算機(jī)系統(tǒng)的使用和編程,操作系統(tǒng)向用戶提供了用戶與操作系統(tǒng)的接口,簡(jiǎn)稱為用戶接口。操作系統(tǒng)提供了兩類接口:一類是程序級(jí)接口,即系統(tǒng)調(diào)用或稱操作系統(tǒng)應(yīng)用程序接口;另一類是作業(yè)控制級(jí)接口,即鍵盤控制命令與作業(yè)控制命令。作業(yè)控制級(jí)接口(即命令程序):分為脫機(jī)用戶接口和聯(lián)機(jī)用戶接口。脫機(jī)用戶接口由一組作業(yè)控制命令或稱作業(yè)控制語(yǔ)言組成。

3、聯(lián)機(jī)接口由一組操作系統(tǒng)命令組成,用于聯(lián)機(jī)作業(yè)的控制。例如,系統(tǒng)管理、環(huán)境設(shè)置、權(quán)限管理、文件管理等。運(yùn)行就緒阻塞調(diào)度時(shí)間片用完I/O請(qǐng)求I/O完成3.畫出進(jìn)程狀態(tài)轉(zhuǎn)換圖并作必要文字說明。進(jìn)程調(diào)度的基本調(diào)度狀態(tài)及其轉(zhuǎn)換文字說明:(1)運(yùn)行狀態(tài)。進(jìn)程已獲得必要的資源,并占有一個(gè)處理機(jī),處理機(jī)正在執(zhí)行該進(jìn)程的程序。(2)就緒狀態(tài)。如果進(jìn)程已具備了運(yùn)行條件,但由于處理機(jī)已被其他進(jìn)程占用,因此暫時(shí)不能運(yùn)行,而等待分配處理機(jī),則稱該進(jìn)程處于就緒狀態(tài),有時(shí)也稱可運(yùn)行狀態(tài)。(3)阻塞狀態(tài)。進(jìn)程在運(yùn)行過程中,因等待某一事件而暫時(shí)不能運(yùn)行的狀態(tài),稱為阻塞狀態(tài),即進(jìn)程的運(yùn)行受到了阻塞。此時(shí),及時(shí)處理機(jī)“空閑”,也無

4、法使用。這種狀態(tài)也可稱為不可運(yùn)行狀態(tài)。進(jìn)程的各種調(diào)度狀態(tài),可以根據(jù)一定的條件而發(fā)生變化。處于運(yùn)行狀態(tài)的進(jìn)程可能因某種事件的發(fā)生而變成阻塞狀態(tài)。相應(yīng)事件發(fā)生之后,該進(jìn)程可以從阻塞狀態(tài)變成就緒狀態(tài)。當(dāng)系統(tǒng)的進(jìn)程調(diào)度程序把處理機(jī)分配給某一就緒狀態(tài)的進(jìn)程時(shí),它就從就緒狀態(tài)進(jìn)入運(yùn)行狀態(tài)。4.什么是信號(hào)量?什么是P、V操作?(1)在操作系統(tǒng)中,信號(hào)量是表示資源的實(shí)體,是一個(gè)與隊(duì)列有關(guān)的整型變量,其值僅能有P、V操作來改變。操作系統(tǒng)利用信號(hào)量對(duì)進(jìn)程和資源進(jìn)行控制和管理。(2)P、V操作是定義在信號(hào)量S上的兩個(gè)操作,其定義如下:P(S):S:=S-1; 若S=0,則調(diào)用P(S)的進(jìn)程繼續(xù)運(yùn)行;若S0,則調(diào)用V

5、(S)的進(jìn)程繼續(xù)運(yùn)行;若S =0,從等待信號(hào)量S的阻塞隊(duì)列中喚醒頭一個(gè)進(jìn)程,然后調(diào)用V(S)的進(jìn)程繼續(xù)運(yùn)行。 5:什么是進(jìn)程互斥?如何實(shí)現(xiàn)互斥?答:進(jìn)程是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ),是一個(gè)正在執(zhí)行的程序,用來描述系統(tǒng)和用戶的程序活動(dòng)。兩個(gè)或兩個(gè)以上進(jìn)程由于不能同時(shí)使用同一臨界資源,只能一個(gè)進(jìn)程使用完了,另一個(gè)進(jìn)程才能使用,這種現(xiàn)象稱為進(jìn)程互斥。(1).空閑讓進(jìn) 當(dāng)臨界資源處于空閑狀態(tài),允許一個(gè)請(qǐng)求進(jìn)入臨界區(qū)的進(jìn)程立即進(jìn)入臨界區(qū),從 而有效的利用資源。 (2).忙則等待 已經(jīng)有進(jìn)程進(jìn)入臨界區(qū)時(shí),意味著相應(yīng)的臨界資源正在被訪問,所以其他準(zhǔn)備進(jìn) 入臨界區(qū)的進(jìn)程必須等待,來保證多進(jìn)程互斥。 (3).有限等待

6、對(duì)要求訪問臨界資源的進(jìn)程,應(yīng)該保證該進(jìn)程能在有效的時(shí)間內(nèi)進(jìn)入臨界區(qū),防 止死等狀態(tài)。 (4).讓權(quán)等待 當(dāng)進(jìn)程不能進(jìn)入臨界區(qū),應(yīng)該立即釋放處理機(jī),防止進(jìn)程忙等待。6:存儲(chǔ)管理的主要研究課題是什么?答:存儲(chǔ)管理研究課題可歸納為四個(gè)方面:(1):存儲(chǔ)分配問題:重點(diǎn)是研究存儲(chǔ)共享和各種分配算法。(2):地址再定位問題:研究各種地址變換機(jī)構(gòu),以及靜態(tài)和動(dòng)態(tài)再定位方法。(3):存儲(chǔ)保護(hù)問題:研究保護(hù)各類程序,數(shù)據(jù)區(qū)的方法。(4):存儲(chǔ)擴(kuò)充問題:主要研究虛擬存儲(chǔ)問題及其各種調(diào)度算法。7:試述文件管理的功能和文件系統(tǒng)的組成。答:文件系統(tǒng)主要實(shí)現(xiàn)了對(duì)文件存儲(chǔ)器的空間的組織和分配,對(duì)文件信息的存儲(chǔ),以及對(duì)存入的

7、文件進(jìn)行保護(hù)和檢索。文件管理部分的功能有四點(diǎn):1.文件的結(jié)構(gòu)及有關(guān)存取方法;2.文件的目錄機(jī)構(gòu)和有關(guān)處理;3.文件存儲(chǔ)空間的管理;4.文件的共享和存取控制;文件系統(tǒng)由三部分組成:與文件管理有關(guān)的軟件、被管理的文件以及實(shí)施文件管理所需的數(shù)據(jù)結(jié)構(gòu)。8什么是死鎖,產(chǎn)生死鎖的原因和必要條件是什么?(1)當(dāng)某一進(jìn)程提出資源的使用要求后,使得系統(tǒng)中一些進(jìn)程處于無休止的阻塞狀態(tài),在無外力的作用下,這些進(jìn)程永遠(yuǎn)也不能繼續(xù)前進(jìn)。我們稱這種現(xiàn)象為死鎖。(2)原因:資源競(jìng)爭(zhēng)和進(jìn)程推進(jìn)速度。一個(gè)進(jìn)程在其運(yùn)行過程中可以提出使用多個(gè)資源的要求,僅當(dāng)指定的全部資源都滿足時(shí),進(jìn)程才能繼續(xù)運(yùn)行而到達(dá)終點(diǎn),否則該進(jìn)程因得不到所要

8、求的資源而處于阻塞狀態(tài),當(dāng)兩個(gè)或兩個(gè)以上的進(jìn)程同時(shí)對(duì)多個(gè)互斥資源提出使用要求時(shí),有可能導(dǎo)致死鎖。當(dāng)進(jìn)程爭(zhēng)奪資源時(shí),有可能產(chǎn)生死鎖,但不一定就會(huì)死鎖。這取決于各進(jìn)程推進(jìn)的速度和對(duì)資源請(qǐng)求的順序,從而說明死鎖是一種與時(shí)間有關(guān)的錯(cuò)誤。(3)必要條件:(1)互斥控制:進(jìn)程對(duì)其所要求的資源進(jìn)行排它控制,一個(gè)資源僅能被一個(gè)進(jìn)程獨(dú)占。(2)非剝奪控制:進(jìn)程所獲得的資源在未被釋放之前,不能被其它進(jìn)程剝奪,即使該進(jìn)程處于阻塞狀態(tài),它所占用的資源也不能被其它進(jìn)程使用,而其他進(jìn)程只能等待該資源的釋放。(3)逐次請(qǐng)求:進(jìn)程以隨意的零星方式逐次取得資源,而不是集中性的一次請(qǐng)求,這樣有利于提高資源的利用率。(4)環(huán)路條件

9、:在發(fā)生死鎖時(shí),其有向圖必構(gòu)成環(huán)路,即前一進(jìn)程保持著后一進(jìn)程所要求的資源。9試述文件的物理結(jié)構(gòu)和存取方法的概念及相互關(guān)系?(1)物理結(jié)構(gòu):文件的物理結(jié)構(gòu)是指邏輯文件在文件存儲(chǔ)器上的存儲(chǔ)結(jié)構(gòu)。(2)所謂文件的存取方法,是指讀寫文件存儲(chǔ)器上的一個(gè)物理塊的方法。通常有三類存取方法:順序存取法,直接存取法和按鍵存取法。(3)文件的物理結(jié)構(gòu)密切依賴于文件存儲(chǔ)器的特性和存取方法。究竟采用何種物理結(jié)構(gòu)和存取方法,要看系統(tǒng)的應(yīng)用范圍和文件的使用情況。如果采用順序存取方法,則連接,串接,索引,連續(xù)等幾種結(jié)構(gòu)都可存取。如果采用直接存取法,則索引文件效率最高,連續(xù)文件效率劇中,串聯(lián)文件效率最低。 10試述外部設(shè)備的

10、體系結(jié)構(gòu)與設(shè)備分配算法?(有疑惑)A、I/O設(shè)備的分類:(1)按使用特性分類。分為存儲(chǔ)設(shè)備,輸入/輸出設(shè)備,終端設(shè)備和脫機(jī)設(shè)備。169頁(yè)圖6.1(2)按所屬關(guān)系分類,分為系統(tǒng)設(shè)備和用戶設(shè)備。(3)按資源分配角度分類,分為獨(dú)占設(shè)備,共享設(shè)備,虛擬設(shè)備。(4)按傳輸數(shù)據(jù)數(shù)量分類,分字符設(shè)備和塊設(shè)備。B、I/O設(shè)備的分配算法 (1)先請(qǐng)求先服務(wù)。當(dāng)有多個(gè)進(jìn)程對(duì)同一設(shè)備提出I/O請(qǐng)求時(shí),該算法是把所有發(fā)出I/O請(qǐng)求的進(jìn)程,按其發(fā)出請(qǐng)求的先后順序排成一個(gè)等待該設(shè)備的隊(duì)列。I/O調(diào)度程序把I/O設(shè)備分配給該隊(duì)列中的第一個(gè)進(jìn)程。(2)優(yōu)先級(jí)高者優(yōu)先。在進(jìn)程調(diào)度中優(yōu)先級(jí)高者,優(yōu)先獲得處理機(jī)。如果在I/O調(diào)度中

11、,對(duì)優(yōu)先級(jí)高者優(yōu)先滿足它的I/O請(qǐng)求,這也是非常合理的。因?yàn)檫@樣做有利于盡快地結(jié)束該進(jìn)程,從而盡早地釋放它所占有的資源。11、 試述設(shè)備管理的軟件體系結(jié)構(gòu)。答:為了實(shí)現(xiàn)I/O系統(tǒng)的四個(gè)目標(biāo):設(shè)備無關(guān)性、錯(cuò)誤處理、同步/一部傳輸和必須能夠處理獨(dú)占設(shè)備和共享設(shè)備的I/O操作,I/O系統(tǒng)應(yīng)組織成以下四個(gè)層次:(1)中斷處理程序;(2)設(shè)備驅(qū)動(dòng)程序;(3)與設(shè)備無關(guān)的I/O軟件;(4)用戶空間的I/O軟件;12、 為什么說通道技術(shù)是現(xiàn)代操作系統(tǒng)的主要硬件支持?簡(jiǎn)要說明通道的工作原理。答:(1)、采用通道技術(shù)解決了I/O操作的獨(dú)立性和各部件工作的并行性,把CPU從繁瑣的輸入輸出操作中解放出來,能實(shí)現(xiàn)CP

12、U與通道的并行操作,而且通道與通道間也能實(shí)現(xiàn)并行操作,各通道上的外設(shè)也能實(shí)現(xiàn)并行操作,從而大大提高計(jì)算機(jī)系統(tǒng)的效率。(2)、工作原理(采用通道技術(shù)后,I/O操作過程為):CPU在執(zhí)行用戶程序時(shí)如果遇到I/O請(qǐng)求,則它用I/O指令啟動(dòng)指令通道上選址的設(shè)備,一旦啟動(dòng)成功,通道開始控制設(shè)備進(jìn)行操作。當(dāng)設(shè)備I/O操作完成后,由通道發(fā)出I/O,結(jié)束中斷,CPU停止當(dāng)前工作,轉(zhuǎn)向中斷處理程序。13、 為什么說進(jìn)程是操作系統(tǒng)的核心概念?進(jìn)程與程序有何異同?答:(1)、因?yàn)閹缀醪僮飨到y(tǒng)的所有內(nèi)容都離不開進(jìn)程這一概念,進(jìn)程是操作系統(tǒng)中最基本的元素,是操作系統(tǒng)中資源分配的基本單位,也是進(jìn)程調(diào)度的基本單位。(2)

13、進(jìn)程與程序的區(qū)別: a、進(jìn)程是程序的一次執(zhí)行,屬于一種動(dòng)態(tài)概念,而程序是一組有序的指令,是一種靜態(tài)的概念。但是進(jìn)程離開了程序也就失去了存在的意義。因此,我們可以說進(jìn)程是程序的動(dòng)態(tài)過程,而程序是進(jìn)程運(yùn)行的靜態(tài)文本。 b、一個(gè)進(jìn)程可以執(zhí)行一個(gè)或幾個(gè)程序;反之,同一個(gè)程序可能由幾個(gè)進(jìn)程同時(shí)執(zhí)行。 c、程序可以作為一種軟件資源長(zhǎng)期保留,而進(jìn)程是程序的一次執(zhí)行過程,是暫時(shí)的。 d、進(jìn)程具有并發(fā)性,它能與其它進(jìn)程并發(fā)運(yùn)行。而一般的程序不具有這種明顯的特性。 e、進(jìn)程是一個(gè)獨(dú)立的運(yùn)行單位,也是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。因此,進(jìn)程具有獨(dú)立性。出來獨(dú)立性一面之外,另一方面進(jìn)程間又具有相互制約性,這種

14、特性變現(xiàn)為進(jìn)程之間的同步與互斥。 程序是進(jìn)程的一部分,是進(jìn)程的實(shí)體。14. 試比較請(qǐng)求頁(yè)式存儲(chǔ)管理和段式存儲(chǔ)管理的異同?答: 異:段式存儲(chǔ)管理:分段由用戶設(shè)計(jì)劃分,每段對(duì)應(yīng)一個(gè)相應(yīng)的的程序模塊,有完整的邏輯意義。段面是信息的邏輯單位。便于段的共享,執(zhí)行時(shí)按需動(dòng)態(tài)鏈接裝入。段長(zhǎng)不等,可動(dòng)態(tài)增長(zhǎng),有利于新數(shù)據(jù)增長(zhǎng)。二維地址空間:段名、段中地址;段號(hào)、段內(nèi)單元號(hào)。管理形式上象頁(yè)式,但概念不同。 請(qǐng)求頁(yè)式存儲(chǔ)管理:分頁(yè)用戶看不見,由操作系統(tǒng)為內(nèi)存管理劃分。頁(yè)面是信息的物理單位。頁(yè)一般不能共享。頁(yè)面大小相同,位置不能動(dòng)態(tài)增長(zhǎng)。一維地址空間。往往需要多次缺頁(yè)中斷才能把所需信息完整地調(diào)入內(nèi)存。 同:實(shí)現(xiàn)頁(yè)(

15、段)的共享是指某些作業(yè)的邏輯頁(yè)號(hào)(段號(hào))對(duì)應(yīng)同一物理頁(yè)號(hào)(內(nèi)存中該段的起始地址)。頁(yè)(段)的保護(hù)往往需要對(duì)共享的頁(yè)面(段)加上某種訪問權(quán)限的限制,如不能修改等;或設(shè)置地址越界檢查,對(duì)于頁(yè)內(nèi)地址(段內(nèi)地址)大于頁(yè)長(zhǎng)(段長(zhǎng))的存取,產(chǎn)生保護(hù)中斷。15. 有哪幾種方案可以實(shí)現(xiàn)虛擬存儲(chǔ)器,簡(jiǎn)要說明其工作原理?答: 1.請(qǐng)求分頁(yè)存儲(chǔ)管理:(1) 頁(yè)框:物理地址分成大小相等的許多區(qū),每個(gè)區(qū)稱為一塊; (2)址分成大小相等的區(qū),區(qū)的大小與塊的大小相等,每個(gè)稱一個(gè)頁(yè)面。 (3) 邏輯地址形式:與此對(duì)應(yīng),分頁(yè)存儲(chǔ)器的邏輯地址由兩部分組成,頁(yè)號(hào)和單元號(hào)。(4)頁(yè)表和地址轉(zhuǎn)換:采用的辦法是動(dòng)態(tài)重定位技術(shù),讓程序的指

16、令執(zhí)行時(shí)作地址變換。2.分段存儲(chǔ)管理:一個(gè)用戶作業(yè)的程序按其邏輯結(jié)構(gòu)可劃分為若干段,這些段中的每一段都是完整的。在分段存儲(chǔ)管理系統(tǒng)中,可以用類似于分頁(yè)管理用過的地址變換機(jī)構(gòu),實(shí)現(xiàn)分段管理的地址變換。這里使用的是段變換表SMT,它把作業(yè)地址空間變換為物理存儲(chǔ)空間,作用地址空間的段與主存中的段大小相等,地址變換是在作業(yè)執(zhí)行過程中由硬件自動(dòng)完成的。3.段頁(yè)式存儲(chǔ)管理:是基本分段存儲(chǔ)管理方式和基本分頁(yè)存儲(chǔ)管理方式原理的結(jié)合,即先將用戶程序分成若干個(gè)段,再把每個(gè)段分成若干個(gè)頁(yè),并為每一個(gè)段賦予一個(gè)段名。16. 什么是文件目錄,操作系統(tǒng)如何通過文件目錄進(jìn)行文件操作?答:系統(tǒng)中文件種類繁多,數(shù)量龐大,為了使

17、用戶方便地找到所需文件,需要在系統(tǒng)中建立一套目錄機(jī)構(gòu)。這套能方便而迅速地對(duì)目錄進(jìn)行檢索,從而能準(zhǔn)確地找到所需文件的目錄機(jī)構(gòu)即為文件目錄。通常情況下,系統(tǒng)會(huì)為文件目錄建立一個(gè)簡(jiǎn)單的索引表,只包含文件的ID、文件名、文件當(dāng)前狀態(tài)(可讀/可寫/不可訪問)及一個(gè)指向?qū)?yīng)文件目錄表項(xiàng)的指針。 系統(tǒng)在對(duì)一個(gè)文件進(jìn)行讀寫的操作過程如下: (1)根據(jù)提供的文件名查找對(duì)應(yīng)的文件索引表; (2)根據(jù)索引表指針找到對(duì)應(yīng)的目錄項(xiàng); (3)根據(jù)目錄項(xiàng)的物理地址項(xiàng)找到文件; (4)修改文件索引表中文件的當(dāng)前狀態(tài)(若系統(tǒng)只讀文件,不進(jìn)行修改,則標(biāo)記為可讀,若系統(tǒng)要對(duì)文件進(jìn)行修改,則標(biāo)記為不可訪問); (5)將文件讀入內(nèi)存,

18、對(duì)文件進(jìn)行讀寫操作; (6)操作完畢,釋放文件,修改索引表中文件的狀態(tài);1.生產(chǎn)者消費(fèi)者問題P72(1) 設(shè)置兩個(gè)私用信號(hào)量和一個(gè)公用信號(hào)量公用信號(hào)量S,初值為1,表示沒有進(jìn)程進(jìn)入臨界區(qū),它用于實(shí)現(xiàn)進(jìn)程互斥;私用信號(hào)量S0,用于表示產(chǎn)品數(shù)目,初值為0;私有信號(hào)量Sn,用于表示可用緩沖區(qū)數(shù),初值為n;(2) 生產(chǎn)者消費(fèi)者進(jìn)程描述入下:生產(chǎn)者進(jìn)程 消費(fèi)者進(jìn)程生產(chǎn)一種產(chǎn)品 P(S0)P(Sn) P(S) P(S) 從緩沖區(qū)取一種產(chǎn)品 產(chǎn)品送入緩沖區(qū) V(Sn)V(S0) V(S)V(S) 消耗該產(chǎn)品 (3) 生產(chǎn)者和消費(fèi)者可按如下算法進(jìn)行:beginB:array0n-1 of integer;P,

19、R:integer;S ,Sn, S0:semaphore;P:=R:=0;S:=1; Sn:=n; S0:=0;cobegin process producer i(i=1,2.,m)begin L1: produce a product; P(Sn); P(S); BP:=product;P:=(P+1)mod n; V(S0); V(S); go to L1;end;process consumer j(j=1,2,k);begin L2:P(S0); P (S); take a product from BR; R:=(R+1) mod n; V(Sn); V(S); consume

20、go to 12;end;coend;end; 2讀者和寫者問題P74(1) 寫者優(yōu)先的程序中,信號(hào)量S,初值為1,用于讀者與寫者或?qū)懻吲c寫者之間的互斥;(2) Sn,初值為n,表示系統(tǒng)中最多有n個(gè)進(jìn)程可同時(shí)進(jìn)行讀操作。begin S,Sn:Semaphore;S:=1; Sn=n;cobeginProcess Reader i(i=1,2,n)begin P(S);P(Sn);V(S);read file F;V(Sn)end;Process Writer j(j=1,2,k) begin P(S) for i:=1 to n do P(Sn);Writer file F;for i:=1

21、to n do V(Sn);V(S)end;coend;end;P94 (24)3.有一閱覽室,讀者進(jìn)入時(shí)必須先在一張登記表上進(jìn)行登記。該表為每一座位列出一個(gè)表目,包括座號(hào)、姓名。讀者離開時(shí)要撤銷登記信息。閱覽室有100個(gè)座位,試問:(1) 為描述讀者的動(dòng)作,應(yīng)編寫幾個(gè)程序,應(yīng)該設(shè)置幾個(gè)進(jìn)程?進(jìn)程和程序之間的對(duì)應(yīng)關(guān)系如何?(2) 試用P、V操作描述這些進(jìn)程間的同步算法。答:Semaphore zmess=100;座位資源Semaphore mutex=1;登記表資源Main() cobegin reader_entry();讀者進(jìn)入 reader_exit();讀者離開 Coend Reade

22、r_entry() While(true) P(zmess); P(mutex); Sit and read; V(mutex); Reader_exit()While(true)P(mutex);Mod tableV(mutex);V(zmess); P94(28)4.桌上有一只盤子,每次只能放入一個(gè)水果。爸爸專向盤中放蘋果,媽媽專向盤中放橘子,一個(gè)女兒專等吃盤中的蘋果,一個(gè)兒子專等吃盤中的橘子。試用P、V操作寫出他們能同步的程序。Main() Int Sp=1; / 是否有空盤子 Int Sa=0;/ 盤中是否有蘋果Int So=0; / 盤中是否有橘子Pf( );Pm( );Pd( );

23、Ps( );Pf( ) P(Sp); 向盤中放蘋果; V(Sa);Pm( ) P(Sp); 向盤中放橘子; V(So);Pd( ) P(Sa); 取盤中的蘋果; V(Sp);Ps( ) P(So); 取盤中的橘子; V(Sp);5.哲學(xué)家就餐問題有五個(gè)哲學(xué)家坐在一圓桌旁,桌中央有一盤通心面,每個(gè)人面前有一只空盤子,每?jī)扇酥g放一把叉子。每個(gè)哲學(xué)家思考、饑餓,然后吃通心面。但是,每個(gè)哲學(xué)家必須獲得兩把叉子(只能從自己左邊和右邊去取叉子),才能吃到通心面。begin S1,S2,S3,S4,S5:semaphore;S1:=S2:=S3:=S4:=S5:=1Cobrgin process Pi(i=1,2,3,4) begin Li:thinking;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論