操作系統(tǒng)教材答案陳向群楊芙清_第1頁
操作系統(tǒng)教材答案陳向群楊芙清_第2頁
操作系統(tǒng)教材答案陳向群楊芙清_第3頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)教材答案陳向群楊芙清操作系統(tǒng)教程課后習題答案 第一章 操作系統(tǒng)概論 1.什么是計算機系統(tǒng)計算機系統(tǒng)是怎么構(gòu)成的了解 PC 的組成情況,說明:1)硬件 組織的基本結(jié)構(gòu),畫出硬件配置圖;2)主要系統(tǒng)軟件和應用軟件(若有的話)他們的作 用。 答:計算機系統(tǒng)就是按照人的要求接收和存儲信息,自動進行數(shù)據(jù)處理和計算,并輸出 結(jié)果信息的系統(tǒng)。 計算機系統(tǒng)由硬件子系統(tǒng)和軟件子系統(tǒng)組成。 計算機系統(tǒng)的構(gòu)成包括:如圖 計算機硬件系統(tǒng)的構(gòu)成:如圖 2.從功能以及程序涉設(shè)計的角度說明計算機系統(tǒng)中軟件系統(tǒng)是如何構(gòu)成的 答:分為系統(tǒng)軟件,支撐軟件和應用軟件三層。 3.什么是操作系統(tǒng)?請舉例說明操作系統(tǒng)在計算機系統(tǒng)

2、中的重要地位。 答:操作系統(tǒng)是計算機系統(tǒng)中的一個系統(tǒng)軟件,是一些程序模塊的集合。 它們能以盡量有效、合理的方式組織和管理計算機的軟硬件資源,合理的組織計算機的工 作流程,控制程序的執(zhí)行并向用戶提供各種服務功能,使得用戶能夠靈活、方便、有效的 使用計算機,使整個計算機系統(tǒng)能安全高效地運行 4.請舉一個實際的例子來說明操作系統(tǒng)的功能。 答:你能用用操作系統(tǒng)管理很多資源 5.為什么說“操作系統(tǒng)是控制硬件的軟件”的說法不確切 答:操作系統(tǒng)不僅能夠控制硬件,也可以控制各種軟件資源。 6.操作系統(tǒng)的基本特征是什么?說明他們之間的關(guān)系。 答:1.并發(fā)性 2.共享性 3.隨機性 7.試從獨立性,并發(fā)性和交互性

3、和實時性四個方面來比較批處理系統(tǒng),分時系統(tǒng)以及實 時系統(tǒng)。 答: 分時系統(tǒng):并發(fā)性是指同時有多個用戶共同使用一個計算機,宏觀上看是多個人同時 使用一個 CPU,微觀上是多個人在不同時刻輪流使用 CPU. 獨占性,是指用戶感覺不到計算機為他們服務,就好像整個系統(tǒng)為他所獨占。 交互性:是指用戶根據(jù)系統(tǒng)響應結(jié)果進一步提出新要求,用戶直接干預每一步。 實時性:是指系統(tǒng)對用戶提出的請求及時響應。 8.引入多道程序設(shè)計技術(shù)的起因和目的是什么多道程序系統(tǒng)的特征是什么 答:多道程序設(shè)計的基本思想在內(nèi)存中保持多個作業(yè),主機可以交替的方式同時處理 多個作業(yè),一般來說任何一道作業(yè)的運行總是要交替的使用處理器和外設(shè)子

4、案 9.多道程序設(shè)計的度是指在任一給定時刻,單個 CPU 所能支持的進程數(shù)目最大值。討論要 確定一個特定系統(tǒng)的多道程序設(shè)計的度必須考慮的因素??梢约俣ㄅ幚硐到y(tǒng)中進程數(shù)量 與作業(yè)數(shù)量相同。 答: 10.描述批處理系統(tǒng)響應一個執(zhí)行請求需要的時間(稱為響應時間),描述分時系統(tǒng)下的 響應時間,什么樣的系統(tǒng)可能有較短的響應時間為什么 答: 1)就是將用戶的作業(yè)組成一批作業(yè),之后輸入到計算機中,計算機依次執(zhí)行每個作 業(yè),然后輸出,即為響應時間。 2)定義這個響應時間就是:系統(tǒng)對一個輸入的反應時間 實時系統(tǒng)的反應時間 11.什么情況下批處理是比較好的策略什么情況下分時是比較好的策略現(xiàn)代的操作系 統(tǒng)往往要把

5、兩者結(jié)合,請舉出這樣的例子,并說明它們是怎樣被結(jié)合起來的,并通過這樣 的結(jié)合獲得了什么好處。 答:常見的通用操作系統(tǒng)是分時系統(tǒng)與批處理系統(tǒng)結(jié)合,其原則是:分時優(yōu)先,批處理再 后,"前臺"響應需要頻繁交互的作業(yè),如終端的要求?!昂笈_”處理時間性要求不強的作業(yè)。12.操作系統(tǒng)的技術(shù)發(fā)展是怎樣的從這一技術(shù)演化過程可以得到什么啟發(fā) 答:操作系統(tǒng)的發(fā)展是根據(jù)計算機硬件發(fā)展,計算機應用軟件的發(fā)展而發(fā)展的, 我們發(fā)展操作系統(tǒng)的目標就是:充分利用硬件,提供更好的服務。 13.請作一個調(diào)查,看看各種計算機的應用領(lǐng)域都在使用什么樣的操作系統(tǒng),他們分別是 什么類型的操作系統(tǒng),調(diào)查的內(nèi)容應該涵概現(xiàn)

6、代操作系統(tǒng)的主要類別. 14.現(xiàn)有一下應用計算機的場合,請為其選擇適當?shù)牟僮飨到y(tǒng)。1)航天航空,核變研究; 2)國家統(tǒng)計局數(shù)據(jù)處理中心;3)學校學生上機學習編程 4)高爐爐溫控制;5)民航定 票系統(tǒng),6)發(fā)送電子郵件(在兩個地區(qū)之間) 答:1)航天航空,核變研究:嵌入式操作系統(tǒng) 2)分布式操作系統(tǒng) 3)個人計算機操作系統(tǒng) 4)實時操作系統(tǒng) 5)批處理操作系統(tǒng) 6)網(wǎng)絡操作系統(tǒng)。 15.什么是 Spooling 技術(shù)他有什么用你認為未來先進的個人計算機會把假脫機作為一 個關(guān)鍵特性嗎 答:假脫機(SPOOLing.)技術(shù)的全稱是同時得外部設(shè)備聯(lián)機操作,這種技術(shù)的基本思想 是用磁盤設(shè)備作為主機的直接

7、輸入輸出設(shè)備,主機直接從磁盤上選取作業(yè)運行,作業(yè) 的執(zhí)行結(jié)果 16.外殼程序(shell)是不是操作系統(tǒng)的一部分,為什么 答:不是,它不屬于操作系統(tǒng)內(nèi)核的一部分,它是一個應用程序。 17.如果你有一個可用得類 UNIX 系統(tǒng),例如 Linux,Minix 或者 BSD 等,而且你有足夠的權(quán)限 重起或者使得系統(tǒng)崩潰,請編寫一個 shell 程序作下面的實驗,用該 shell 程序不停的產(chǎn)生 新進程,觀察發(fā)生的事情,在運行你的 shell 之前,請用 sync 命令同步硬盤和內(nèi)存中的磁 盤緩存,以免在程序運行過程中訪問文件系統(tǒng),注意,請不要在任何共享的系統(tǒng)中做這件事情 答:進程數(shù)不斷增多,最后導致

8、系統(tǒng)崩潰了! 重要: 18.現(xiàn)代操作系統(tǒng)的設(shè)計很講求機制與策略的分離,已經(jīng)使操作系統(tǒng)的結(jié)構(gòu)和實現(xiàn)能夠在 一定范圍內(nèi)適應不同的需要。例如 Solaris 的調(diào)度器實現(xiàn)了進程調(diào)度的基本機制,同時它 允許通過動態(tài)調(diào)整核心參數(shù)實現(xiàn)不同負載下的系統(tǒng)性能平衡,這就是一種機制和策略的分 離,請給出一個例子,說明怎樣根據(jù)調(diào)度將機制和策略分開。請構(gòu)造一種機制,允許父 進程控制子進程的調(diào)度策略。 19.有興趣,可以去寫一篇,記得寫完了,發(fā)給我,我把你的文章貼上來! 硬件環(huán)境第二章 操作系統(tǒng)的硬件環(huán)境 1. 請簡述處理器的組成和工作原理。你認為那些部分和操作系統(tǒng)的密切關(guān)系,為什么 答: 一般的處理器由運算器,控制器

9、,一系列的寄存器以及高速緩存構(gòu)成。運算器實現(xiàn) 任何指令中的算術(shù)和邏輯運算,是計算機計算的核心;控制器負責控制程序運行的流程, 包括取指令,維護 CPU 狀態(tài),CPU 與內(nèi)存之間的交互等等。寄存器是指令在 CPU 內(nèi)部做處理 的過程中占存數(shù)據(jù),地址一級指令信息的存儲設(shè)備,在計算機的存儲系統(tǒng)中它具有最快的 訪問速度。加上高速緩存以及內(nèi)存管理單元(MMU) 2. 為了支持操作系統(tǒng),現(xiàn)代處理器一般都提供哪兩種工作狀態(tài),用來隔離操作系統(tǒng)和 普通程序兩種狀態(tài)各有什么特點 答; 多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài) 管態(tài):操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別,又稱為特權(quán)態(tài)(特態(tài))、系統(tǒng)態(tài) 目態(tài):用

10、戶程序運行時的狀態(tài),較低的特權(quán)級別,又稱為普通態(tài)(普態(tài))、用戶態(tài) 3.什么是分級的存儲體系結(jié)構(gòu)它主要解決什么問題 答: 容量、速度和成本 三個目標不可能同時達到最優(yōu),要作權(quán)衡 存取速度快,每比特價格高 容量大,每比特價格越低,同時存取速度也越慢 解決方案:采用層次化的存儲體系結(jié)構(gòu) 當沿著層次下降時 ,每比特的價格將下降,容量將增大 速度將變慢,處理器的訪問頻率也將下降 4.主存儲器通常有哪兩種類型它們各自的特點是什么用在哪里 答:硬盤存儲器,和內(nèi)存存儲器. 硬盤存儲器:容量大,存儲速率慢,斷電后,數(shù)據(jù)信息不丟失 內(nèi)存存儲器:容量小,存儲速率快,斷電后,數(shù)據(jù)信息丟失。 5.請簡述程序局部性原理。

11、這個原理在分級的存儲體系結(jié)構(gòu)中是怎么樣起作用的 答:時間局部性,空間局部性。起的作用是:提高存儲系統(tǒng)效能這個目的。 6.什么是存儲保護有哪些方法實現(xiàn)存儲保護 答:對主存中的信息加以嚴格的保護,使操作系統(tǒng)及其它程序不被破壞,是其正確運行的 基 本條件之一 多用戶,多任務操作系統(tǒng):OS 給每個運行進程分配一個存儲區(qū)域 操作系統(tǒng)提供了:1.界限地址寄存器,存儲健兩個存儲保護機構(gòu)! 7。 呵呵,大家去翻資料把! 8.緩沖技術(shù)在計算機系統(tǒng)中起著什么樣的作用它是如何工作的 答:緩沖技術(shù)一般有三個用途,一種是用在處理器和主存儲器之間的;另一種是用在處理 器和其他外部設(shè)備之間的;還有一種是用在設(shè)備與設(shè)備之間的

12、通信上。 9.什么是中斷為什么說中斷對現(xiàn)代計算機很重要 答: 中斷概念:指 CPU 對系統(tǒng)中或系統(tǒng)外發(fā)生異步事件的響應。 異步事件是指無一定時序關(guān)系的隨機發(fā)生事件,如外部設(shè)備完成數(shù)據(jù)傳輸,實時設(shè)備出現(xiàn)異常等。 中斷機制是操作系統(tǒng)得以正常工作的最重要的手段 ,它使得 OS 可以捕獲普通程序發(fā)出的系統(tǒng)功能調(diào)用 及時處理設(shè)備的中斷請求,防止用戶程序中破壞性的活動等等 10.中斷的一般處理過程是怎么樣的多個中斷同時發(fā)生呢 答:1)如書圖 (簡單的中斷處理過程) 2)如書圖 (一個多優(yōu)先級中斷系統(tǒng)中多個中斷的處理示例) 11.請簡述中斷和操作體統(tǒng)的關(guān)系,操作系統(tǒng)是如何利用中斷機制的 答: 中斷機制是操作

13、系統(tǒng)得以正常工作的最重要的手段 ,它使得 OS 可以捕獲普通程序發(fā)出的系統(tǒng)功能調(diào)用 及時 處理設(shè)備的中斷請求 防止用戶程序中破壞性的活動等等 12. 常用的 I/O 控制技術(shù)有那些各有什么特點 答:常用的 I/O 控制技術(shù)有以下幾種:程序控制,中斷驅(qū)動以及直接存儲器存?。―MA) 以及通道。 程序控制 I/O 技術(shù):由處理器提供 I/O 相關(guān)指令來實現(xiàn) I/O 處理單元處理請求并設(shè)置 I/O 狀態(tài)寄存器相關(guān)位 不中斷處理器,也不給處理器警告信息 處理器定期輪詢 I/O 單元的狀態(tài),直到處理完畢 I/O 軟件包含直接操縱 I/O 的指令 控制指令: 用于激活外設(shè),并告訴它做什么 狀態(tài)指令: 用于

14、測試 I/O 控制中的各種狀態(tài)和條件 數(shù)據(jù)傳送指令: 用于在設(shè)備和主存之間來回傳送數(shù)據(jù) 主要缺陷:處理器必須關(guān)注 I/O 處理單元的狀態(tài),因而耗費大量時間輪詢信息,嚴重地降 低了系統(tǒng)性能 中斷驅(qū)動 I/O 技術(shù):為了解決程序控制 I/O 方法的主要問題 應該讓處理器從輪詢?nèi)蝿罩薪夥懦鰜?,使 I/O 操作和指令執(zhí)行并行起來 具體作法: 當 I/O 處理單元準備好與設(shè)備交互的時候 ,通過物理信號通知處理器,即中斷處理器 DMA 技術(shù):中斷的引入大大地提高了處理器處理 I/O 的效率 當處理器和 I/O 間傳送數(shù)據(jù)時,效率仍舊不高 解決方法: 直接存儲器訪問(DMA:Direct Memory A

15、ccess) 通過系統(tǒng)總線中一獨立控制單元DMA 控制器 自動控制成塊數(shù)據(jù)在內(nèi)存和 I/O 單元間的傳送 ,大大提高處理 I/O 的效能 通道:獨立于中央處理器,專門負責數(shù)據(jù) I/O 傳輸?shù)奶幚頇C 它對外設(shè)實現(xiàn)統(tǒng)一管理 ,代替 CPU 對 I/O 操作進行控制 ,使 CPU 和外設(shè)可以并行工作 ,通道又稱為 I/O 處理機 ,引入通道的目的: 為了使 CPU 從 I/O 事務中解脫出來 同時為了提高 CPU 與設(shè)備、設(shè)備與設(shè)備之間的并行度13.時鐘對操作系統(tǒng)有什么重要作用 時鐘為計算機完成以下必不可少的工作: 在多道程序運行環(huán)境中,為系統(tǒng)發(fā)現(xiàn)陷入死循環(huán)(編程錯誤)的作業(yè),防止機時的浪費 在分時

16、系統(tǒng)中,間隔時鐘實現(xiàn)作業(yè)間按時間片輪轉(zhuǎn) 在實時系統(tǒng)中,按要求的間隔輸出正確時間信號給實時的控制設(shè)備(如 AD、D/A 轉(zhuǎn)換設(shè) 備) 定時喚醒要求延遲執(zhí)行的各外部事件(如定時為各進程計算優(yōu)先數(shù),銀行中定時運行某類 結(jié)賬程序等) 記錄用戶使用設(shè)備時間和記錄某外部事件發(fā)生時間 記錄用戶和系統(tǒng)所需要的絕對時間,即年、月、日 第三章 用戶接口與作業(yè)管理 1.闡述程序,作業(yè),作業(yè)步和進程之間的聯(lián)系和區(qū)別。 答: (1)作業(yè) 用戶在一次計算過程中,或者一次事務處理過程中,要求計算機系統(tǒng)所做工作的總稱 (2)作業(yè)步 一個作業(yè)可劃分成若干部分,稱為一個作業(yè)步 典型的作業(yè)控制過程: “編譯”、“連接裝配”、“運行

17、” 2.一個具有分時兼批處理功能的操作系統(tǒng)應該怎樣調(diào)度和管理作業(yè)為什么 品3.在一個批處理系統(tǒng)中,一個作業(yè)從提交到運行結(jié)束并退出系統(tǒng),通常要經(jīng)歷哪幾個階段 和狀態(tài)你能說出這些狀態(tài)轉(zhuǎn)變的原因嗎哪些程序負責這些狀態(tài)的轉(zhuǎn)變 4.假設(shè)有三個作業(yè),他們進入時間和估計運行的時間如下: 作業(yè)號 進入時刻 估計運行時間 1 10:00 60 分鐘 2 10:10 60 分鐘 3 10: 25 15 分鐘 在單道批處理方式下,采用先來先服務算法和最短作業(yè)優(yōu)先算法進行作業(yè)調(diào)度。請給出 他們的調(diào)度程序,并分別計算出作業(yè)平均周轉(zhuǎn)時間和帶權(quán)平均周轉(zhuǎn)時間,請對計算結(jié)果進 行解釋。 答:先來先服務: 作業(yè)號 進入時間 估計

18、運行時間 開始時間 結(jié)束時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 1 10:00 60 10:00 11:00 60 1 2 10:10 60 11:00 12:00 110 11/6 3 10:25 15 12:00 12:15 110 22/3 平均周轉(zhuǎn)時間:280/3 帶權(quán):55/6+6/6=61/6 最短作業(yè)服務: 作業(yè)號 進入時間 估計運行時間 開始時間 結(jié)束時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 1 10:00 60 10:00 11:00 60 1 2 10:10 60 11:15 12:15 125 25/12 3 10:25 15 11: 00 11: 15 50 10/3平均周轉(zhuǎn)時間:235/3

19、 帶權(quán):1+25/12+10/3= 77/125.有一個兩道的批處理操作系統(tǒng),作業(yè)調(diào)度采用最短作業(yè)優(yōu)先的調(diào)度算法,進程調(diào)度采用 基于優(yōu)先數(shù)的搶占式調(diào)度算法,有如下的作業(yè)序列: 作業(yè) 進入時間 估計運行時間 優(yōu)先數(shù) 1 10:00 40 分鐘 5 2 10:20 30 分鐘 3 3 10:30 50 分鐘 4 4 10: 50 20 分鐘 6 其中優(yōu)先數(shù)數(shù)值越小,優(yōu)先級越高。 1)列出所有作業(yè)進入內(nèi)存時間及運行結(jié)束時間 2)計算作業(yè)平均周轉(zhuǎn)時間和帶權(quán)平均周轉(zhuǎn)時間。 答: 作業(yè)號 進入時間 估計運行時間 開始時間 結(jié)束時間 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 1 10:00 40 10:00 11:00 60

20、 3/2 2 10:20 30 10: 20 10:50 30 1 3 10:30 50 10:30 11:20 50 1 4 10:50 20 11: 00 11:20 30 3/2 平均周轉(zhuǎn)時間: 帶權(quán):5 第四章 進程管理 1.一個單 CPU 的操作系統(tǒng)共有 n 個進程,不考慮進程狀態(tài)過渡時的情況,也不考慮空轉(zhuǎn)進 程(1)給出運行進程的個數(shù);(2)給出就緒進程的個數(shù);(3)給出等待進程的個數(shù)。 解:1.運行進程的個數(shù)可能是 0,也可能是 1; 2,就緒的進程的個數(shù)可能是 0,也可能是 n-1 3等待進程的個數(shù)可能是 0,也可能是 n 2.多道程序在單 CPU 上并發(fā)運行和多道程序在多 C

21、PU 上并行執(zhí)行,這兩者在本質(zhì)是否相同 為什么請給出以上兩者在實現(xiàn)時應考慮什么問題 答: 1)本質(zhì)上不同,前者是宏觀上并發(fā)同時運行,微觀上是交替順序執(zhí)行,后者則是宏觀上并 行,微觀上也并行。 2)在實現(xiàn)多道程序設(shè)計時,必須協(xié)調(diào)好資源使用者和被使用者之間的關(guān)系,即對處理機資 源加以管理,以實現(xiàn)處理機在各個可運行程序之間的分配與調(diào)度,對內(nèi)存資源加以管理,將 內(nèi)存分配給各個運行程序,還要解決程序在內(nèi)存中的定位問題,并防止內(nèi)存中各個程序之 間互相干擾或?qū)Σ僮飨到y(tǒng)的干擾,對設(shè)備資源進行管理,使各個程序在使用設(shè)備時,不發(fā) 生沖突。 3.用進程概念說明操作系統(tǒng)的并發(fā)性和不確定性是怎樣體現(xiàn)出來的 答:進程的并

22、發(fā)特性和異步特性體現(xiàn)了操作系統(tǒng)的并發(fā)性和不確定性。 進程的并發(fā)特性:可以同其他進程一道向前推進,即一個進程的第一個動作可以在另一 個進程的最后一個動作結(jié)束之前開始 進程的異步性:每個進程按照各自獨立的,不可預知的速度向前推進。4PCB 的作用是什么他是怎么樣描述進程的動態(tài)本質(zhì)的 答:PCB 稱為進程控制塊(Process Control Block),為了便于系統(tǒng)控制和描述進程的活動 過程,在操作系統(tǒng)核心中為進程定義一個專門的數(shù)據(jù)結(jié)構(gòu),就是 PCB。 系統(tǒng)利用 PCB 來描述進程的基本情況以及進程的運行變化過程。PCB 是進程存在的唯一標 志。當系統(tǒng)創(chuàng)建一個進程時,為進程設(shè)置一個 PCB,再利

23、用 PCB 對進程進行控制和管理;撤 銷進程時,-系統(tǒng)收回它的 PCB,進程也隨之消亡。 5.進程的三個基本狀態(tài)轉(zhuǎn)換如圖(見書),圖中 1,2,3,4 表示某種類型的狀態(tài)變遷,請 分別回答下列問題: 1)什么“事件”引起某一種類型的狀態(tài)變遷 答:運行中的進程因為中斷的發(fā)生,或者需要等待某種事件的發(fā)生,變遷到等待狀態(tài) 等待狀態(tài)的進程,應為所等待的事件發(fā)生了,變遷到就緒態(tài) CPU 為空的時候,就緒態(tài)的進程就變遷到運行狀態(tài) 運行的進程因為調(diào)度程序,變遷到就緒狀態(tài) 2)系統(tǒng)中常常由于某一進程的狀態(tài)變遷引起另一進程也產(chǎn)生狀態(tài)變遷,試判斷在下述情 況下,如果有的話,將發(fā)生什么因果變遷 3 ->1 2

24、. ->1 4->1 3->4 如果有處于就緒態(tài)的進程 (3->1) 如果有處于就緒態(tài)的進程 (2->1) CPU 為空(4->1) 等待事件發(fā)生(3->4) 3)在什么情況下,下述變遷中哪些將不立即引起其他變遷 1 2 3 4 當 1 發(fā)生,并不引起其他變遷 當 2 發(fā)生,如果有進程處于就緒態(tài),引起 1 發(fā)生 當 3 發(fā)生, 如果有進程處于就緒態(tài),引起 1 發(fā)生 當 4 發(fā)生,如果 CPU 為空,那么引起 1 發(fā)生 4)引起進程狀態(tài)變遷的根本原因是什么 答: 原因:自身的進展情況和外界環(huán)境條件的變化。自身的邏輯,中斷和進程調(diào)度程序 等! 根據(jù)進程的動

25、態(tài)性,進程在其生命周期內(nèi),需要經(jīng)歷一系列離散狀態(tài)。 6.內(nèi)核通常完成哪些功能經(jīng)過內(nèi)核擴充后形成的虛擬機有哪些屬性 答:內(nèi)核一般提供如下功能 1)中斷處理 2)進程調(diào)度 3)進程控制 4)進程同步與互斥;5)進程通信;6)存儲管理的 基本操作 7)設(shè)備管理的基本操作 8)文件信息管理的基本操作 9)時鐘管理 虛擬機的屬性有:1)沒有中斷 2)為每個進程提供了一臺虛擬處理機,每個進程好像在各 自的處理機上順序的運行 3)為進程提供了強大的指令系統(tǒng),即非特權(quán)的指令和原語一起 組成的指令系統(tǒng) 7.并發(fā)進程執(zhí)行時一定會產(chǎn)生與時間有關(guān)的錯誤嗎為什么 答:不一定,如果并發(fā)進程都占有一些受到保護的私有資源(包

26、括內(nèi)存,設(shè)備等資源),那 么執(zhí)行的結(jié)果和進程調(diào)度的算法以及中斷等外界環(huán)境沒有關(guān)系,所以不一定會產(chǎn)生與時間 有關(guān)的錯誤. 8.試舉出進程狀態(tài)轉(zhuǎn)換的典型原因和引起進程調(diào)度的因素。 答:進程狀態(tài)轉(zhuǎn)換的典型原因:1 中斷或者等待某事件發(fā)生,2.所等待事件發(fā)生了 3,CPU 為空引起進程調(diào)度的因素為: 1)正在執(zhí)行的進程運行完畢 2)正在執(zhí)行的進程調(diào)用阻塞原語將自己阻塞起來并進入等待狀態(tài) 3)正在執(zhí)行的進程調(diào)用了 P 原語操作,從而因為資源不足而被阻塞,或調(diào)用了 V 原語操作 激活了等待資源的進程隊列 4) 執(zhí)行中的進程提出了 I/O 請求后被阻塞 5) 在分時系統(tǒng)中時間片已經(jīng)用完 以上都是 CPU 為

27、不可搶占方式下引起進程調(diào)用的原因,當 CPU 為可搶占時,就緒隊列中的進 程比當前運行的進程的優(yōu)先級高,也引起進程調(diào)度 9.說明下列活動是屬于哪些制約關(guān)系 1)若干同學去圖書館借書 進程互斥 2)兩隊進行籃球比賽 進程互斥 3)流水線生產(chǎn)中的各道工序 進程同步 4)商品生產(chǎn)和社會消費 進程同步 10,是否所有的共享資源都是臨界資源,為什么 答:不是,根據(jù)定義,一次只允許一個進程使用得進程才叫臨界資源,能同時被多個進程 使用得資源不是臨界資源 11設(shè)一臺計算機,有兩條 I/O 通道,分別接一臺卡片輸入機和一臺打印機??ㄆ瑱C把一 疊卡片逐一輸入到緩沖區(qū) B1 中,加工處理后再搬到緩沖區(qū) B2 中,

28、并在打印機上印出,問: 1)系統(tǒng)要設(shè)幾個進程來完成這個任務各自的工作是什么 2)這些進程間有什么樣的相互制約關(guān)系 3)用 P,V 操作寫出這些進程的同步算法 4)設(shè)系統(tǒng)中只有上述幾個進程,用圖表示出各自狀態(tài)變遷情況及原因 答:這是一個典型的生產(chǎn)者,消費者問題 1)系統(tǒng)要設(shè)三個進程完成任務,第一個進程 P1,從卡片輸入機中讀入數(shù)據(jù),并且把數(shù)據(jù)放 入緩沖區(qū) B1 中,第二個進程從 B1 緩沖區(qū)中取數(shù)據(jù),加工處理后放入緩沖區(qū) B2 中。第三個進 程將緩沖區(qū)的內(nèi)容輸入到打印機中打印出來 2)這三個進程之間是同步和互斥的關(guān)系 3)三個進程之間必須協(xié)調(diào)工作,需設(shè)置四個信號量,S1,S2,S3,S4 并令

29、S1 的初值為 1,S2 的 處置為 0,S4 的初值為 1,則程序為: 進程 p1 進程 p2 進程 p3 P(S1) P(S2) P(S3) 從卡片機中讀入數(shù)據(jù) P(S4) 將緩沖區(qū) B2 內(nèi)容 V(S2) 將 Buffer B1 中的數(shù)據(jù) 在打印機中輸出 拷貝道 Buffer B2 中 V(S4) V(S1) V(S3) 4)當緩沖區(qū) B1 為空時,當有輸入時,進程 p1 進入就緒態(tài),如果 CPU 為空,則為運行態(tài),輸 入完成后,進入等待態(tài) 如果存在進程 p2,則為等待態(tài),當 S2+1 后,處于等待態(tài)進程進入就緒態(tài),如果 CPU 為空 進入運行態(tài),拷貝完成后,進入等待態(tài) 如果存在進程 p

30、3,則為等待態(tài),當 S3+1 后,處于等待態(tài)進程進入就緒態(tài),如果 CPU 為空 進入運行態(tài),輸出完成后,進入等待態(tài)12.設(shè)有無窮多個信息,輸入進程把信息逐個寫入緩沖區(qū),輸入進程逐個地從緩沖區(qū)中取 出信息。在下述情況下:1)緩沖區(qū)是環(huán)形的,最多可以容納 n 個信息;2)緩沖區(qū)是無窮大 的。 試分別回答下列問題 1)輸入,輸出兩進程讀,寫緩沖區(qū)需要什么條件 2)用 P,V 操作寫出輸入,輸出兩進程的同步算法,并給出信號量含義以及初值 3)指出信號量的值的變化范圍和其值的含義 答: 一:當緩沖區(qū)的大小為 n 時 1)當緩沖區(qū)信息為空的時候,輸出進程無法讀,處于等待狀態(tài),當緩沖區(qū)信息為滿的時 候無法寫

31、,都某個緩沖區(qū)單位進行讀寫的時候,要互斥 2) 1.空的信號量 empty 初值為 n, 滿的信號量為 full 初值為 0, 對緩沖區(qū)單元的互斥信號 量為 mutex,j,k 為緩沖區(qū)單位地址,初值為 0 寫進程 讀進程 P(empty) P(full) P(mutex) P(mutex) 向 Bufferi寫入信息 從 Bufferk中讀信息 V(mutex) V(mutex) V(full) V(empty) j:=(j+1)mod n k:=(k+1)mod n 4)empty 表示還有多少緩沖區(qū)單元為空,如果 empty=0,表示緩沖區(qū)滿,系統(tǒng)調(diào)用寫進程時 ,寫進程處于等待態(tài) ful

32、l 表示緩沖區(qū)都多少有信心的單元,如果 full=0, 表示緩沖區(qū)空,系統(tǒng)調(diào)用寫進程時 ,讀進程處于等待態(tài) mutex 表示對于緩沖區(qū)單元的互斥信號量,當 mutex=1 時,開鎖,mutex=0 時,閉鎖 二當緩沖區(qū)大小為無窮大時 1)同上 2) 1空的信號量 empty 不用設(shè), 滿的信號量為 full 初值為 0, 對緩沖區(qū)單元的互斥信號量 為 mutex,j,k 為緩沖區(qū)單位地址,初值為 0 寫進程 讀進程 P(full) P(mutex) P(mutex) 向 Bufferi寫入信息 從 Bufferk中讀信息 V(mutex) V(mutex) V(full) j:=(j+1)mo

33、d n k:=(k+1)mod n 4)full 表示緩沖區(qū)都多少有信心的單元,如果 full=0, 表示緩沖區(qū)空,系統(tǒng)調(diào)用寫進程 時,讀進程處于等待態(tài) mutex 表示對于緩沖區(qū)單元的互斥信號量,當 mutex=1 時,開鎖,mutex=0 時,閉鎖 13.假定一個閱覽室最多可以容納 100 人,讀者進入和離開閱覽室都必須在閱覽室門口的一 個登記表上標志(進入時登記,離開時去掉登記項)而且每次只允許一人登記或者去掉登記,問: 1) 應編寫幾個進程完成這項工作,程序的主要動作是些什么應該設(shè)置幾個進程進程 和程序間的關(guān)系如何 2) 用 P,V 操作寫出這些進程的同步通信關(guān)系 答:編寫兩個進程,一

34、個處理讀者進入,一個處理讀者離開,進程是程序的動態(tài)執(zhí)行 設(shè)置信號量 full 為初值為 0, 空的信號量 empty 初值為 100, 互斥信號量 mutex 初值 為 1 進入 離開 P(empty) P(full) P(mutex) P(mutex) 登記 取消登記 V(mutex) V(mutex) V(full) V(empty) 進入 離開 14在生產(chǎn)者和消費者問題中,如果對調(diào)生產(chǎn)者(或消費者)進程中的兩個 P 操作和兩個 V 操作的次序,會發(fā)生什么情況?請說明! 答:對調(diào) P 操作, 會發(fā)生死鎖 因為 P(empty)在 p(mutex)和 v(mutex)內(nèi)部,也就是臨界 區(qū)中,

35、當 empty0,時,P(empty)在臨界區(qū)中進入到了休眠狀態(tài)。那么就別的進程都進入 不到臨界區(qū)中,進入死鎖狀態(tài)。 而兩個 V 操作無關(guān)緊要 15.為什么引入高級通信機構(gòu)他有什么優(yōu)點說明消息緩沖通信機構(gòu)的基本工作過程 答: 1)為了解決大量的消息交換, 2)優(yōu)點:不僅能夠保證相互制約的進程之間的相互關(guān)系,還同時實現(xiàn)了進程之間的信息 交換 3)消息緩沖通信技術(shù)的工作過程: 其基本思想是:根據(jù)“生產(chǎn)者-消費者”原理,利用內(nèi)存中公用消息緩沖區(qū)實現(xiàn)進程之間 的信息交換。 內(nèi)存中開辟了若干消息緩存區(qū),用以存放消息,每當一個進程(發(fā)送進程)向另一個進程 (接收進程)發(fā)送消息時,便申請一個消息緩沖區(qū),并把

36、已準備好的消息發(fā)送到緩沖區(qū)中 ,然后把該消息緩沖區(qū)插入到接受進程的消息隊列中,最后通知接受進程,接收進程收到 發(fā)送進程發(fā)送到的通知后,從本進程的消息隊列中摘下一消息緩沖區(qū),取出所需的消息, 然后把消息緩沖區(qū)還給系統(tǒng)。 16.進程間為什么要進行通信?在編寫自己的程序時,是否考慮到要和別的用戶程序進行 通信各個用戶進程間是否存在制約關(guān)系 答;1)各個進程在運行的時候,共享內(nèi)存,或者共同完成一個特定的功能,都需要進行通 信,2)需要, 3)促在同步和互斥的關(guān)系,比如聊天程序 17.假定一個系統(tǒng)的磁盤塊大小為 2KB,一個塊的平均訪問時間是 20 毫秒。一個有 40KB 進程 由于資源請求從運行態(tài)變?yōu)?/p>

37、阻塞態(tài),它必須保持阻塞多長時間 答: 40/2 * 20=400 毫秒 保持阻塞態(tài) 400 毫秒18.假設(shè) A,B 兩個火車站之間是單軌線,許多列車同時到達 A 站,然后經(jīng)過 A 站到達 B 站;又 列車從 A 到 B 的行駛時間是 t,列車在 B 戰(zhàn)后的停留時間是 t/2,試問在該問題模型中,什么是 臨界資源,什么是臨界區(qū) 答:臨界資源: A 到 B 之間的單軌線,以及 B 站是臨界資源 臨界區(qū): 在 A 到 B 之間行駛,以及在 B 上停留是臨界區(qū) 19.同步機制應該遵循哪些原則為什么 答:1.它的描述能力應該足夠強,既能解決各種進程間的同步互斥問題; 2其次,應該容易實現(xiàn)并效率高 3第三

38、,使用方便 20.我們?yōu)槟撑R界資源設(shè)置一把鎖 W。當 W=1 時,表示關(guān)鎖,W=0 時,表示開鎖,試寫出開鎖 和關(guān)鎖原語,并利用它去實現(xiàn)互斥。 答: while(1=w); enter 臨界區(qū) 21.進程 A1,A2,An 通過 m 個緩沖區(qū)向進程 B1,B2,Bn 不斷發(fā)送消息,發(fā)送和接收工作遵 循如下規(guī)則: 1)每個發(fā)送進程每次發(fā)送一個消息,寫入一個緩沖區(qū),緩沖區(qū)大小與消息長度一樣 2)對每一個消息,B1,B2,.Bn 都需要各接收一次,讀到各自的數(shù)據(jù)區(qū)中; 3)m 個緩沖區(qū)都滿時,發(fā)送進程等待,沒有可讀消息時,接受進程等待 試用 P,V 操作組織正確的發(fā)送和接收操作。 答: VARmut

39、ex: Semaphore:初值為 1,實現(xiàn)對緩沖區(qū)的互斥 empty: Semaphore:初值為 n,有多少緩沖 Full: Array1.n OF Semaphore:初值為 0,每個接收進程當前可接收的緩沖區(qū) Count:Array1.n OF INTEGER;初值為 0,n 個緩沖區(qū)被訪問的次數(shù) ReceivePointer:Array1n OF INTEGER初值為 0,該接收進程要取哪個 SendPointer:INTEGER;初值為 0,發(fā)送進程下次要放到哪個緩沖區(qū) 發(fā)送進程 (num:INTEGER) num 為進程號 Repeat P(empty) P(mutex) 向 b

40、uffsendPointer放消息 sendPointer:=(sendPointer+1)mod k countsendPointer:=0 V(mutex) For i:=1 To n Do V(Fulli) Until FALSE 接收進程 (num:INTEGER):num 為接收進程號 Repeat P(Fullnum) P(mutex) 從 buffReceivePoinernum中取消息 V(mutex)CountReceivePoinernum:= CountReceivePoinernum+1 IF(CountReceivePoinernum=n) THEN V(empty)

41、 CountReceivePoinernum=0 ReceivePoinernum:=(ReceivePoinernum)+1)mod n Until FALSE 22有 K 個進程共享一個臨界區(qū),對于下述情況,請說明信號量值的初值,含義,并用 P, V操作寫出相關(guān)的互斥算法。 1) 一次只允許一個進程進入臨界區(qū) 2) 一次只允許 m 個進程進入臨界區(qū) 答:1)設(shè)置互斥信號量 mutex,初值為 1 P(mutex) Enter_region V(mutex) 2)設(shè)置同步信號量 mutex,初值為 m; P(mutex) Enter_region V(mutex) 23愛睡覺的理發(fā)師問題,一

42、個理發(fā)店有兩間相連的屋子,一間是私室,里面有一把理發(fā) 椅,另一個是等候室,有一個滑動門和 N 把椅子。理發(fā)師忙的時候,通向私室的門被關(guān)閉 ,新來的顧客找一把空椅子坐下,如果椅子都被占用了,則顧客只好離去,如果沒有顧客 ,則理發(fā)師在理發(fā)椅上睡覺。并打開通向私室的門。理發(fā)師睡覺時,顧客可以叫醒他理發(fā) ,請編寫 理發(fā)師和顧客的程序,正確實現(xiàn)同步和互斥問題! 答: 解:VAR: S1,S2 :Semaphore;初值為 0,實現(xiàn)理發(fā)師與顧客的同步 Mutex:Semaphore:初值為 1,實現(xiàn)對 waiting 的互斥 waiting:INTEGER:初值為 0,等待的顧客數(shù) 理發(fā)師進程 REPEA

43、TP(S1) 若無顧客,則睡覺 P(mutex) Waiting:=waiting-1 V(S2); (喚醒一個等待的客戶) V(mutex) 理發(fā) Until FALSE 顧客進程 P(mutex)IF(waiting<N) (還有空的椅子) THEN BEGIN Waiting:=-waiting+1 ;(等待顧客數(shù)加 1) V(mutex); V(S1) 通知理發(fā)師 P(S2) 若無理發(fā)師,掛起 坐下理發(fā) END ELSE V(mutex) 24.進程之間的通信方式有幾種在單機環(huán)境下,常用的哪幾種通信方式 答:三種:共享內(nèi)存,消息機制,以及管道通信 在單機環(huán)境下:常采用 共享內(nèi)存以

44、及管道通信。 25. 一個快餐店有四類雇員:1)領(lǐng)班,他們接受顧客點的菜單;2)廚師,準備飯菜;3) 打包工,將飯菜裝在袋子里;4)收銀元,將食品袋交給顧客并收錢,每個雇員都可以看 作一個進行通信的順序進程,他們采用的進程間通信方式是什么 答:通信方式為消息傳遞。 26搶占式進程調(diào)度是指系統(tǒng)能夠強制性的使執(zhí)行進程放棄處理機,試問分時系統(tǒng)采用的 是搶占式還是非搶占式進程調(diào)度實時系統(tǒng) 答:分時系統(tǒng)采用的是非搶占式進程調(diào)度 實時系統(tǒng)采用的是搶占式進程調(diào)度 27試述進程調(diào)度得主要任務,為什么說它把一臺物理機變成了多臺邏輯上的處理機 答:處理機調(diào)度的任務是控制協(xié)調(diào)進程對 CPU 的競爭即按一定的調(diào)度算法

45、從就緒隊列中選 中一個進程,把 CPU 的使用權(quán)交給被選中的進程 多個進程雖然在微觀上仍然是順序執(zhí)行,但是在宏觀上,仿佛是并發(fā)執(zhí)行 28.在 CPU 按優(yōu)先級調(diào)度的系統(tǒng)中 1),沒有運行的進程是否一定沒有就緒進程 2)沒有運行進程,沒有就緒進程或兩者都沒有是否可能各是什么情況 3)運行進程是否一定是自由進程中優(yōu)先數(shù)最高的 答:1)一定沒有 2) 沒有運行進程,一定沒有就緒進程;沒有就緒進程可能有等待進程,也可能有運行 進程;兩者都沒有,可能有等待進程 3)不一定,可能出現(xiàn)等待進程中優(yōu)先級更高 29.對某系統(tǒng)進行監(jiān)測后表明平均每個進程在 I/O 阻塞之前的運行時間為 T,一次進程切換 的需要的時

46、間是 S,實際上就是開銷,對于采用的時間片長度為 Q 的時間片輪轉(zhuǎn)法,請給出 1)Q=無窮,2)Q>T , 3)S<Q<T ,4)Q=S;5)Q 趨于 0 各種情況下 CPU 利用率的計算公式解:1)當 Q=無窮時, CPU 的利用率=T/(T+S)*100%(當進程運行完后,就切換,也就相當 于時間 片=T) 2)當 Q>T 時, CPU 的利用率=T/(T+S)*100%(當進程運行完后,就切換,也就相當于時間 片=T )3)當 S<Q<T 時, =Q/Q+S 4)當 Q=S 時 =S/S+S 5)當 Q 趨于 0,CPU 的利用率=T/T+nS=0 (

47、n 趨于無窮) 30,大多數(shù)時間片輪轉(zhuǎn)調(diào)度程序使用一個固定大小的時間片,請給出選擇小時間片的理由 ,然后再給出選擇大時間片的理由 答:選擇小時間片:I/O 密集型,可以縮短響應時間,滿足短的交互需求 選擇大時間片:CPU 密集型,可以防止過多的進程切換,提高 CPU 效率 31.有 5 個批處理作業(yè) A 到 E 幾乎同時到達一計算中心。他們估計運行時間分別為 10,6,2,4 和 8 分鐘,其優(yōu)先數(shù)(由外部設(shè)定)分別為 3,5,2,1,4 其中 5 級為最高優(yōu)先級,對于下列每 種調(diào)度算法,計算其平均周轉(zhuǎn)時間,可忽略進程切換的開銷。 1) 時間片輪轉(zhuǎn)法 2) 優(yōu)先級調(diào)度法 3) 先來先服務法(按

48、照次序 10,6,2,4,8 運行) 4) 最短作業(yè)優(yōu)先 對 1),假設(shè)系統(tǒng)具有多道處理能力,每個作業(yè)均獲得公平的 CPU 時間,對(2) 和(4)假設(shè) 任一時刻只有一個作業(yè)運行,直到結(jié)束,所有作業(yè)都是 CPU 密集型作業(yè)! 答:1) 和時間片的長短有關(guān),比較繁瑣! 2)運行順序是(6,8,10,2,4) (6+14+24+26+30)/4=100/4=25 3)(10+16+18+22+30)/4=96/4=24 4) (2+(2+4)+(2+4+6)+(2+4+6+8)+( 2+4+6+8+10)/4= 32:有 5 個待運行的作業(yè),他們的估計運行時間分別是 9,6,3,5,采用哪中次序運

49、行各個 作業(yè)將得到最短的平均響應時間?答案依賴于 X 答:由于 5 個作業(yè)同時到達,所以按最短作業(yè)優(yōu)先調(diào)度會得到最短的響應時間: 9x 3 5 6 9 x 6x9 3 5 6 x 9 5x6 3 5 x 8 9 3x5 3 x 5 8 9 x3 x 3 5 8 9 33,在一間酒吧里有三個音樂愛好者隊列,第一列音樂愛好者只有隨身聽,第二列只 有音樂 磁帶,第三列只有電池,而要聽音樂就必須有隨身聽,音樂磁帶和電池這三中物品 。酒吧老板一次出售這三種物品中的任意兩種,當一名音樂愛好者得到這三種物品 并聽完樂曲后,酒吧老板才能再一次出售這三種物品中任意兩種,于是第二名音樂 愛好者得到這三種物品。并開

50、始聽樂曲,全部買賣九這樣進行下去。 使用 P,V 操作正確解決這一買賣。解:買方有三個進程,賣方有 1 個進程 賣方,和買方的同步信號量 S1,S2 ,初值為 0,1. 聽音樂時的互斥信號量;mutex 賣方進程 P(S1) (沒有音樂愛好者,等待) 賣物品 P(mutex) 放音樂 V(mutex) V(S2) 買方進程 P(S2) 買物品 V(S1) 老板可以賣東西 34.巴拿馬運河建在太平洋和大西洋之間,由于太平洋和大西洋水面高度不同,有巨大落 差,所以運河中建有 T(T2)級船閘,并且只能允許單向通行,船閘依次編號為 1,2,T ,由大西洋來的船需要經(jīng)過船閘 T,T-1.,2,1 通過

51、運河到達太平洋,由太平洋來的船需要 經(jīng)由船閘 1,2,T-1,T 通過運河到達大西洋。 使用 P,V 操作正確解決大西洋和太平洋的船只通航問題。 答:答:Array: S1T of Semaphore 為每個船閘設(shè)置的信號量初值都為 1 Array: count1T of INTEGER 為每個船閘設(shè)置通往大西洋的船的計數(shù)值,初值都為 0 Array: count2T of INTEGER 為每個船閘設(shè)置通往太平洋的船的計數(shù)值,初值都為 0 對 count 設(shè)置互斥信號量 mutex 去大西洋的進程: int j for(j=0;j<T,j+) P(mutex) if(count1j=0

52、) P(Sj) countj+ 過第 j+1 個船閘 P(mutex) countj- if(countj=0) V(Sj) V(mutex) 去太平洋的進程: int k for(k=T-1;kT,k+)P(mutex) if(count2k=0) P(Sk) countk+ 過第 k+1 個船閘 P(mutex) countk- if(countk=0) V(Sk) V(mutex) 35.某銀行有人民幣儲蓄業(yè)務,由 n 個柜員負責,每個顧客進入銀行后,先取一個號,并且 等著叫號,當一個柜員人員空閑下來,就叫上一個號,使用 P,V 操作正確編寫柜臺人員和 顧客進程的程序! 解; 取號的互斥

53、信號量 mutex,叫號的互斥信號量 mutex1 柜臺人員和顧客進程的同步信號量為 S1,S2, 初值分別為 n,0 柜臺人員進程: P(S2) (無顧客則等待) P(mutex1) 叫號 V(mutex1) 服務 V(S1) 顧客進程 P(mutex) 取號 V(mutex) P(S1) 享受服務 V(S2) 36,設(shè) A,B,C 三個進程共享一個存儲資源 F,A 對 F 只讀不寫,B 對 F 只寫不讀,C 對 F 先讀后寫。 (當一個進程寫 F 時,其他進程既不能讀 F,也不能寫 F,但多個進程同時讀 F 是允許的)試 利用管程的方法或者 P,V 操作,寫出 A,B,C 三個進程的框架,

54、要求:(1)執(zhí)行正確 (2)正常運行時不產(chǎn)生死鎖;(3)使用 F 的并發(fā)度高 37,某系統(tǒng)如此定義 P,V 操作 P(S) S=S-1 若 S<1 本進程進入等待隊列末尾,否則繼續(xù)進行 V(S) S=S+1 若 S0,釋放等待隊列中末尾的進程,否則繼續(xù)運行。 現(xiàn)有四個進程 P1,P2,P3,P4 競爭使用某一需要互斥使用的資源(每個進程可能反復使用多次),使用這樣的 P,V 操作來正確的實現(xiàn)互斥。 解: S:ARRAY0,3 OF Semaphore初值為 si=i,i=0,1,2,3 訪問進程 for i:=3 downto 1 do P(si) 臨界區(qū)操作 for i:=1 To N

55、-1 Do V(Si) 38,請用進程通信的辦法解決生產(chǎn)者,消費者問題 39,請用管程實現(xiàn)哲學家就餐問題 第五章 存儲管理 1產(chǎn)生存儲分配問題的背景是什么何謂靜態(tài)分配何謂動態(tài)分配動態(tài)分配的原因是 什么 答:一個有效的存儲分配機制,應對用戶提出的需求做出快速響應,為之分配相應的存儲 空間,在用戶作業(yè)不需要它時,及時收回,供其他用戶使用。 內(nèi)存分配有兩種方式 1)靜態(tài)分配:程序要求的內(nèi)存空間是在目標模塊連接裝入內(nèi)存時確定并分配的,并且在 程序運行過程中不允許再申請或在內(nèi)存中“搬家”,也就是分配工作是在程序運行前一次 性完成 2)動態(tài)分配:程序要求的基本內(nèi)存空間是在目標模塊連接裝入內(nèi)存時確定并且分配的, 但是在運行過程中,允許申請附加的內(nèi)存空間或在內(nèi)存中“搬家”,也就是分配工作可以 在程序運行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論