版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)行。 在用戶看來(lái),就好像 有多個(gè) CPU 在各自運(yùn)行自己的程序。( 4)不確定性: 1.程序執(zhí)行結(jié)果不確定,程序執(zhí)行結(jié)果不能再現(xiàn)。同一程序
2、,對(duì)給定相同 的初始數(shù)據(jù),在相同的環(huán)境下運(yùn)行,多次運(yùn)行可能得到完全不同的結(jié)果。 2. 多道程序設(shè)計(jì) 環(huán)境下,程序按異步方式運(yùn)行。 也就是說(shuō),每道程序在何時(shí)執(zhí)行、 各個(gè)程序執(zhí)行的順序以及 每到道程序所需的時(shí)間都是不確定的,也是不可預(yù)知的。(有疑惑) 2.試述操作系統(tǒng)與用戶接口并舉例說(shuō)明。 概念:為了方面用戶對(duì)計(jì)算機(jī)系統(tǒng)的使用和編程, 操作系統(tǒng)向用戶提供了用戶與操作系統(tǒng)的 接口, 簡(jiǎn)稱為用戶接口。 操作系統(tǒng)提供了兩類接口:一類是程序級(jí)接口,即系統(tǒng)調(diào)用或稱操 作系統(tǒng)應(yīng)用程序接口;另一類是作業(yè)控制級(jí)接口,即鍵盤(pán)控制命令與作業(yè)控制命令。 作業(yè)控制級(jí)接口(即命令程序) :分為脫機(jī)用戶接口和聯(lián)機(jī)用戶接口。脫
3、機(jī)用戶接口由一組 作業(yè)控制命令或稱作業(yè)控制語(yǔ)言組成。 聯(lián)機(jī)接口由一組操作系統(tǒng)命令組成, 用于聯(lián)機(jī)作業(yè)的 控制。例如,系統(tǒng)管理、環(huán)境設(shè)置、權(quán)限管理、文件管理等。3.畫(huà)出進(jìn)程狀態(tài)轉(zhuǎn)換圖并作必要文字說(shuō)明。I/O 完成進(jìn)程調(diào)度的基本調(diào)度狀態(tài)及其轉(zhuǎn)換文字說(shuō)明:( 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)行過(guò)程中,因等待某一事件而暫時(shí)不能運(yùn)行的狀態(tài),稱為阻塞狀 態(tài),即進(jìn)程的運(yùn)行受到了阻塞
4、。此時(shí),及時(shí)處理機(jī)“空閑” ,也無(wú)法使用。這種狀態(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 操作來(lái)改變。操作系統(tǒng)利用信號(hào)量對(duì)進(jìn)程和資源進(jìn)行控制和管理。(2)P、V 操作是定義在信號(hào)量 S上的兩個(gè)操作,其定義如下:P(S):1 S:
5、 =S-1;2 若 S=0,則調(diào)用 P(S)的進(jìn)程繼續(xù)運(yùn)行;3 若 S0,則調(diào)用 V(S)的進(jìn)程繼續(xù)運(yùn)行;3 若 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í)行的程序, 用來(lái)描述系統(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ū)
6、時(shí),意味著相應(yīng)的臨界資源正在被訪問(wèn),所以 其他準(zhǔn)備進(jìn) 入臨界區(qū)的進(jìn)程必須等待,來(lái)保證多進(jìn)程互斥。( 3) .有限等待 對(duì)要求訪問(wèn)臨界資源的進(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ǔ)分配問(wèn)題:重點(diǎn)是研究存儲(chǔ)共享和各種分配算法。(2):地址再定位問(wèn)題:研究各種地址變換機(jī)構(gòu),以及靜態(tài)和動(dòng)態(tài)再定位方法。(3):存儲(chǔ)保護(hù)問(wèn)題:研究保護(hù)各類程序,數(shù)據(jù)區(qū)的方法。(4):存儲(chǔ)擴(kuò)充問(wèn)題:主要研究虛擬存儲(chǔ)問(wèn)題及其各種調(diào)度算法。
7、7:試述文件管理的功能和文件系統(tǒng)的組成。 答:文件系統(tǒng)主要實(shí)現(xiàn)了對(duì)文件存儲(chǔ)器的空間的組織和分配, 對(duì)文件信息的存儲(chǔ), 以及對(duì)存 入的文件進(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)程處于無(wú)休止的阻塞狀態(tài), 在無(wú)外力的作用下,這些進(jìn)程永遠(yuǎn)也不能繼續(xù)前進(jìn)。我們稱這種現(xiàn)象為死鎖。(2)原因:
8、資源競(jìng)爭(zhēng)和進(jìn)程推進(jìn)速度。 一個(gè)進(jìn)程在其運(yùn)行過(guò)程中可以提出使用多個(gè)資源 的要求, 僅當(dāng)指定的全部資源都滿足時(shí), 進(jìn)程才能繼續(xù)運(yùn)行而到達(dá)終點(diǎn), 否則該進(jìn)程因得不 到所要求的資源而處于阻塞狀態(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)求的順序,從而說(shuō)明死鎖是一種與時(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), 它
9、所占用的資源也不能被其它進(jìn)程使用, 而其他進(jìn)程只能等待該 資源的釋放。 (3)逐次請(qǐng)求 :進(jìn)程以隨意的零星方式逐次取得資源,而不是集中性的一次請(qǐng) 求,這樣有利于提高資源的利用率。 ( 4)環(huán)路條件:在發(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)所謂文件的存取方法,是指讀寫(xiě)文件存儲(chǔ)器上的一個(gè)物理塊的方法。通常有三類存取 方法:順序存取法,直接存取法和按鍵存取法。(3)文件的物理結(jié)構(gòu)密切依賴于文件存儲(chǔ)器的特性和存取方法。究竟采用何種物理結(jié)構(gòu)和 存取
10、方法, 要看系統(tǒng)的應(yīng)用范圍和文件的使用情況。 如果采用順序存取方法, 則連接, 串接, 索引, 連續(xù)等幾種結(jié)構(gòu)都可存取。如果采用直接存取法, 則索引文件效率最高,連續(xù)文件效 率劇中,串聯(lián)文件效率最低。10 試述外部設(shè)備的體系結(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è)
11、備提出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)度中,對(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è)備無(wú)關(guān)性、錯(cuò)誤處理、同步/ 一部傳輸和必須能夠處理獨(dú)占設(shè)備和共享設(shè)備的 I/O 操作, I/O 系統(tǒng)應(yīng)組織成以下四個(gè)層次: (1 )中斷處
12、理程序; (2)設(shè)備驅(qū)動(dòng)程序; (3)與設(shè)備無(wú)關(guān)的 I/O 軟件;(4)用戶空間的 I/O 軟件;12、為什么說(shuō)通道技術(shù)是現(xiàn)代操作系統(tǒng)的主要硬件支持?簡(jiǎn)要說(shuō)明通道的工作原理。答:( 1)、采用通道技術(shù)解決了 I/O 操作的獨(dú)立性和各部件工作的并行性,把CPU從繁瑣的輸入輸出操作中解放出來(lái),能實(shí)現(xiàn)CPU 與通道的并行操作,而且通道與通道間也能實(shí)現(xiàn)并行操作,各通道上的外設(shè)也能實(shí)現(xiàn)并行操作,從而大大提高計(jì)算機(jī)系統(tǒng)的效率。(2)、工作原理(采用通道技術(shù)后, I/O 操作過(guò)程為) :CPU在執(zhí)行用戶程序時(shí)如果遇到 I/O 請(qǐng)求,則它用 I/O 指令啟動(dòng)指令通道上選址的設(shè)備,一旦啟動(dòng)成功,通道開(kāi)始控制設(shè)備
13、進(jìn)行 操作。當(dāng)設(shè)備 I/O 操作完成后,由通道發(fā)出 I/O ,結(jié)束中斷, CPU停止當(dāng)前工作,轉(zhuǎn)向中斷 處理程序。13、為什么說(shuō)進(jìn)程是操作系統(tǒng)的核心概念?進(jìn)程與程序有何異同? 答:(1)、因?yàn)閹缀醪僮飨到y(tǒng)的所有內(nèi)容都離不開(kāi)進(jìn)程這一概念,進(jìn)程是操作系統(tǒng)中最基本 的元素,是操作系統(tǒng)中資源分配的基本單位,也是進(jìn)程調(diào)度的基本單位。(2)進(jìn)程與程序的區(qū)別:a、進(jìn)程是程序的一次執(zhí)行,屬于一種動(dòng)態(tài)概念,而程序是一組有序的指令,是一種 靜態(tài)的概念。 但是進(jìn)程離開(kāi)了程序也就失去了存在的意義。因此,我們可以說(shuō)進(jìn)程是程序 的動(dòng)態(tài)過(guò)程,而程序是進(jìn)程運(yùn)行的靜態(tài)文本。 b、一個(gè)進(jìn)程可以執(zhí)行一個(gè)或幾個(gè)程序;反之,同一個(gè)程序
14、可能由幾個(gè)進(jìn)程同時(shí)執(zhí)行。c、程序可以作為一種軟件資源長(zhǎng)期保留,而進(jìn)程是程序的一次執(zhí)行過(guò)程,是暫時(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ú)立性。出來(lái)獨(dú)立性一面之外, 另一方面進(jìn)程間又具有相互制約性, 這種特性 變現(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í)按
15、需動(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è)用戶看不見(jiàn),由操作系統(tǒng)為內(nèi)存管理劃分。頁(yè)面是信息 的物理單位。頁(yè)一般不能共享。頁(yè)面大小相同,位置不能動(dòng)態(tài)增長(zhǎng)。一維地址空間。往 往需要多次缺頁(yè)中斷才能把所需信息完整地調(diào)入內(nèi)存。同:實(shí)現(xiàn)頁(yè)(段)的共享是指某些作業(yè)的邏輯頁(yè)號(hào)(段號(hào))對(duì)應(yīng)同一物理頁(yè)號(hào)(內(nèi) 存中該段的起始地址)。頁(yè)(段)的保護(hù)往往需要對(duì)共享的頁(yè)面(段)加上某種訪問(wèn)權(quán) 限的限制,如不能修改等;或設(shè)置地址越界檢查,對(duì)于頁(yè)內(nèi)地址(段內(nèi)地址)大于頁(yè)長(zhǎng) (段長(zhǎng))的存取,產(chǎn)生保護(hù)中斷。15
16、. 有哪幾種方案可以實(shí)現(xiàn)虛擬存儲(chǔ)器,簡(jiǎn)要說(shuō)明其工作原理? 答: 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ù),讓程序的指令執(zhí)行時(shí)作地 址變換。2.分段存儲(chǔ)管理: 一個(gè)用戶作業(yè)的程序按其邏輯結(jié)構(gòu)可劃分為若干段,這些段中的每一段都是完整 的。在分段存儲(chǔ)管理系統(tǒng)中,可以用類似于分頁(yè)管理用過(guò)的地址變換機(jī)構(gòu),實(shí)現(xiàn)分段管 理的地址變換。這里使用的是段變換表SMT,它把作
17、業(yè)地址空間變換為物理存儲(chǔ)空間,作用地址空間的段與主存中的段大小相等, 地址變換是在作業(yè)執(zhí)行過(guò)程中由硬件自動(dòng)完 成的。3.段頁(yè)式存儲(chǔ)管理:是 基本分段存儲(chǔ)管理方式和 基本分頁(yè)存儲(chǔ)管理方式 原理的結(jié)合,即先將 用戶程序分成若干個(gè)段,再把每個(gè)段分成若干個(gè)頁(yè),并為每一個(gè)段賦予一個(gè)段名。16. 什么是文件目錄,操作系統(tǒng)如何通過(guò)文件目錄進(jìn)行文件操作? 答:系統(tǒng)中文件種類繁多,數(shù)量龐大,為了使用戶方便地找到所需文件,需要在系統(tǒng)中 建立一套目錄機(jī)構(gòu)。這套能方便而迅速地對(duì)目錄進(jìn)行檢索,從而能準(zhǔn)確地找到所需文件 的目錄機(jī)構(gòu)即為文件目錄。通常情況下, 系統(tǒng)會(huì)為文件目錄建立一個(gè)簡(jiǎn)單的索引表, 只包含文件的 ID、文件
18、名、 文件當(dāng)前狀態(tài)(可讀 /可寫(xiě) /不可訪問(wèn))及一個(gè)指向?qū)?yīng)文件目錄表項(xiàng)的指針。系統(tǒng)在對(duì)一個(gè)文件進(jìn)行讀寫(xiě)的操作過(guò)程如下: ( 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)記為不可訪問(wèn));( 5)將文件讀入內(nèi)存,對(duì)文件進(jìn)行讀寫(xiě)操作;( 6)操作完畢,釋放文件,修改索引表中文件的狀態(tài);1.生產(chǎn)者消費(fèi)者問(wèn)題 P72(1)設(shè)置兩個(gè)私用信號(hào)量和一個(gè)公用信號(hào)量 公用信號(hào)量 S,初值為 1,表示沒(méi)有進(jìn)程進(jìn)入臨界區(qū),它
19、用于實(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(Sn)P(S)產(chǎn)品送入緩沖區(qū)V(S0)V(S)P(S0)P(S) 從緩沖區(qū)取一種產(chǎn)品V(Sn)V(S)消耗該產(chǎn)品(3)生產(chǎn)者和消費(fèi)者可按如下算法進(jìn)行:beginB:array0n-1 of integer;P,R:integer;S ,Sn, S0:semaphore;P:=R:=0;S:=1; Sn: =n; S0:=0;cobeginprocess producer i(i=1,2.,m)begi
20、nL1: 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 go to 12;end;coend;end;2 讀者和寫(xiě)者問(wèn)題 P74( 1)寫(xiě)者優(yōu)先的程序中,信號(hào)量 S,初值為 1,用于讀者與寫(xiě)者或?qū)懻吲c寫(xiě)者之間的互斥;(2)Sn,初值為 n,表示系統(tǒng)中最多有 n 個(gè)進(jìn)
21、程可同時(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)beginP(S)for i:=1 to n do P(Sn); Writer file F;for i:=1 to n do V(Sn);V(S)end;coend;end;P94 (24)3.有一閱覽室,讀者進(jìn)入時(shí)必須先在一張登記表上進(jìn)行登記。該表為每一座位列 出一個(gè)表目,包括座號(hào)、姓名。讀者離開(kāi)時(shí)
22、要撤銷登記信息。閱覽室有100 個(gè)座位,試問(wèn) :(1)為描述讀者的動(dòng)作,應(yīng)編寫(xiě)幾個(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()cobeginreader_entry();讀者進(jìn)入 reader_exit();讀者離開(kāi) CoendReader_entry()While(true)P(zmess);P(mutex);Sit and read;V(mutex);Reader_exit()While(true)P(mutex)
23、;Mod tableV(mutex);V(zmess);P94(28)4.桌上有一只盤(pán)子,每次只能放入一個(gè)水果。爸爸專向盤(pán)中放蘋(píng)果,媽媽專向盤(pán)中放橘子, 一個(gè)女兒專等吃盤(pán)中的蘋(píng)果,一個(gè)兒子專等吃盤(pán)中的橘子。試用P、V 操作寫(xiě)出他們能同步的程序。Main()Int Sp=1; / 是否有空盤(pán)子Int Sa=0;/ 盤(pán)中是否有蘋(píng)果Int So=0; / 盤(pán)中是否有橘子Pf( );Pm( );Pd( );Ps( );Pf( )P(Sp); 向盤(pán)中放蘋(píng)果;V(Sa);Pm( )P(Sp); 向盤(pán)中放橘子; V(So);Pd( )P(Sa;) 取盤(pán)中的蘋(píng)果; V(Sp);Ps( )P(So); 取盤(pán)中的橘子;V(Sp);5.哲學(xué)家就餐問(wèn)題 有五個(gè)哲學(xué)家坐在一圓桌旁,桌中央有一盤(pán)通心面,每個(gè)人面前有一只空盤(pán)子, 每?jī)扇酥g放一把叉子。每個(gè)哲學(xué)家思考、饑餓,然后吃通心面。但是,每個(gè)哲 學(xué)家必須獲得兩把叉子(只能從自己左邊和右邊去取叉子) ,才能吃到通心面 begin S1,S2,S3,S4,S5:semaphore;S1:=S2:=S3:=S4:=S5:=1Cobrginprocess Pi(i=1,2,3,4)beginLi:thinking;hungry;P(Si);pi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度代購(gòu)平臺(tái)傭金結(jié)算合同8篇
- 山東垂直綠化施工方案
- 朝陽(yáng)一年級(jí)數(shù)學(xué)試卷
- 2025年度儲(chǔ)售煤場(chǎng)租賃合同(含智能化物流系統(tǒng))3篇
- 人血清白蛋白的成分差異分析及其對(duì)血管內(nèi)皮細(xì)胞生物學(xué)效應(yīng)的影響研究
- 5G增強(qiáng)混合雙工組網(wǎng)的干擾評(píng)估與干擾抑制
- 2025年度私人酒店客房部領(lǐng)班助理用工合同
- 二零二五年度足療店顧客隱私保護(hù)免責(zé)承諾
- 二零二五年度門(mén)面轉(zhuǎn)讓及品牌入駐保障協(xié)議
- 2025年食堂蔬菜糧油質(zhì)量安全監(jiān)管服務(wù)合同3篇
- 2024年正定縣國(guó)資產(chǎn)控股運(yùn)營(yíng)集團(tuán)限公司面向社會(huì)公開(kāi)招聘工作人員高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 智能衣服方案
- 李克勤紅日標(biāo)準(zhǔn)粵語(yǔ)注音歌詞
- 教科版六年級(jí)下冊(cè)科學(xué)第一單元《小小工程師》教材分析及全部教案(定稿;共7課時(shí))
- 中藥材產(chǎn)地加工技術(shù)規(guī)程 第1部分:黃草烏
- 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全生產(chǎn)考試題庫(kù)
- 案例分析:美國(guó)紐約高樓防火設(shè)計(jì)課件
- 老客戶維護(hù)方案
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)一 用戶定位與選題
- 2021年高考化學(xué)真題和模擬題分類匯編專題20工業(yè)流程題含解析
- 工作證明模板下載免費(fèi)
評(píng)論
0/150
提交評(píng)論