版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章操作系統(tǒng)引論選擇題.操作系統(tǒng)是一種=A.通用軟件 B.系統(tǒng)軟件C.應用軟件 D.軟件包答:B.操作系統(tǒng)的管理部分負責對進程進行調度。A.主存儲器 B.控制器C.運算器 D.處理機答:D.操作系統(tǒng)是對進行管理的軟件。A.軟件 B.硬件C.計算機資源 D.應用程序答:C.從用戶的觀點看,操作系統(tǒng)是oA.用戶與計算機之間的接口B.控制和管理計算機資源的軟件C.合理地組織計算機工作流程的軟件D.由若干層次的程序按一定的結構組成答:A.操作系統(tǒng)的功能是進行處理機管理、管理、設備管理及信息管理。A.進程 B.存儲器C.硬件 D.軟件答:B.操作系統(tǒng)中采用多道程序設計技術提高CPU和外部設備的oA.利用率 B.可靠性C.穩(wěn)定性 D.兼容性答:A.操作系統(tǒng)是現(xiàn)代計算機系統(tǒng)不可缺少的組成部分,是為了提高計算機的和方便用戶使用計算機而配備的一種系統(tǒng)軟件。A.速度 B.利用率C.靈活性 D.兼容性答:B.操作系統(tǒng)的基本類型主要有一。A.批處理系統(tǒng)、分時系統(tǒng)及多任務系統(tǒng)B.實時操作系統(tǒng)、批處理操作系統(tǒng)及分時操作系統(tǒng)C.單用戶系統(tǒng)、多用戶系統(tǒng)及批處理系統(tǒng)D.實時系統(tǒng)、分時系統(tǒng)和多用戶系統(tǒng)答:B.所謂是指將一個以上的作業(yè)放入主存,并且同時處于運行狀態(tài),這些作業(yè)共享處理機的時間和外圍設備等其他資源。A.多重處理 B.多道程序設計C.實時處理 D.共行執(zhí)行答:B.下面關于操作系統(tǒng)的敘述中正確的是OA.批處理作業(yè)必須具有作業(yè)控制信息。B.分時系統(tǒng)不一定都具有人機交互功能。C.從響應時間的角度看,實時系統(tǒng)與分時系統(tǒng)差不多。D.由于采用了分時技術,用戶可以獨占計算機的資源.答:A.如果分時操作系統(tǒng)的時間片一定,那么,則響應時間越長。A.用戶數(shù)少 B.用戶數(shù)越多C.內存越少 D.內存越多答:B.實時操作系統(tǒng)必須在 內完成來自外部的事件。A.響應時間 B.周轉時間C.規(guī)定時間 D.調度時間答:C.分時系統(tǒng)中為了使多個用戶能夠同時與系統(tǒng)交互,最關鍵的問題是。A.計算機具有足夠快的運算速度 B.能快速進行內外存之間的信息交換C.系統(tǒng)能夠及時接收多個用戶的輸入D.短時間內所有用戶程序都能運行答:C.分時操作系統(tǒng)通常采用—策略為用戶服務。A.可靠性和靈活性 B.時間片輪轉C.時間片加權分配 D.短作業(yè)優(yōu)先答:B.在操作系統(tǒng)控制下計算機系統(tǒng)能及時處理由過程控制反饋的數(shù)據(jù)并作出響應。A.實時 B.分時C.分布式 D.單用戶答:A.下面6個系統(tǒng)中,必須是實時操作系統(tǒng)的有個。計算機輔助設計系統(tǒng)航空訂票系統(tǒng)過程控制系統(tǒng)機器翻譯系統(tǒng)辦公自動化系統(tǒng)計算機激光照排系統(tǒng)A.1B.2C.3D.4答:C.若把操作系統(tǒng)看作計算機系統(tǒng)資源的管理者,下列的不屬于操作系統(tǒng)所管理的資源。A.程序B.內存C.CPUD.中斷答:D.在下列操作系統(tǒng)的各個功能組成部分中,不需要硬件的支持。A.進程調度 B.時鐘管理C.地址映射 D.中斷系統(tǒng)答:A.設計實時操作系統(tǒng)時,首先應考慮系統(tǒng)的。A.可靠性和靈活性 B.實時性和可靠性C.多路性和可靠性 D.優(yōu)良性和分配性答:B.分時系統(tǒng)需要使用下面哪些成分?(1)多道程序設計技術 (2)作業(yè)說明書(3)終端命令解釋程序(4)中斷處理(5)優(yōu)先級調度 (6)系統(tǒng)調用答:⑴、(3)、(4)、(6).時間片概念一般用于oA.批處理操作系統(tǒng) B.分時操作系統(tǒng)C.實時操作系統(tǒng) D.都不是答:B.批處理系統(tǒng)的主要缺點是。A.CPU使用效率低B.無并行性C.無交互性 D.都不是答:C.下面 不屬于操作系統(tǒng)功能。A.用戶管理 B.CPU和存儲管理C.設備管理 D.文件和作業(yè)管理答:A.當CPU執(zhí)行系統(tǒng)程序時,CPU處于A.管態(tài) B.目態(tài)C.系統(tǒng)態(tài) D.A和C答:D.能直接對系統(tǒng)中各類資源進行動態(tài)分配和管理,控制、協(xié)調各任務的并行執(zhí)行且系統(tǒng)中主機無主次之分,并向用戶提供統(tǒng)一的、有效的軟件接口的系統(tǒng)是oA.分布式操作系統(tǒng) B.實時操作系統(tǒng)C.網絡操作系統(tǒng) D.批處理操作系統(tǒng)答:A.下列選擇中,不是操作系統(tǒng)關心的主要問題。A.管理計算機裸機 B.設計、提供用戶程序與計算機硬件系統(tǒng)的界面C.管理計算機系統(tǒng)資源D.高級程序設計語言的編譯器答:D.實時操作系統(tǒng)對可靠件和安全性的要求極高,它。A.十分注意系統(tǒng)資源的利用率B,不強調響應速度C.不強求系統(tǒng)資源的利用率 D.不必向用戶反饋信息答:C.火車站的售票系統(tǒng)屬于系統(tǒng)。A.單道批處理 B.多道批處理C.實時 D.分時答:C.在分時系統(tǒng)中,通常的時間片是oA.幾分鐘 B.幾十秒C.幾十毫秒 D.幾十微秒答:C.用于控制生產流水線、進行工業(yè)處理控制的操作系統(tǒng)是A.分時系統(tǒng) B.網絡操作系統(tǒng)C.實時系統(tǒng) D.批處理系統(tǒng)答:C.分時操作系統(tǒng)適用于0A.控制生產流水線 B.調試運行程序C.大量的數(shù)據(jù)處理 D.多個計算機資源共享答:B.下列系統(tǒng)中,屬于實時系統(tǒng)的是oA.辦公自動化系統(tǒng) B.計算機輔助設計系統(tǒng)C.飛機訂票系統(tǒng) D.計算機激光照排系統(tǒng)答:C.目前個人計算機中的操作系統(tǒng)主要是。A.網絡操作系統(tǒng) B.批處理操作系統(tǒng)C.單用戶操作系統(tǒng) D.單道單用戶操作系統(tǒng)答:C.下列操作系統(tǒng)中強調并行計算的操作系統(tǒng)是。A.分時系統(tǒng) B.實時系統(tǒng)C.網絡操作系統(tǒng) D.分布式操作系統(tǒng)答:D.能夠實現(xiàn)通信及資源共享的操作系統(tǒng)是oA.批處理操作系統(tǒng) B.分時操作系統(tǒng)C.實時操作系統(tǒng) D.網絡操作系統(tǒng)答:D.UNIX操作系統(tǒng)是一種?A.分時操作系統(tǒng) B.批處理操作系統(tǒng)C.實時操作系統(tǒng) D.分布式操作系統(tǒng)答:A.以下操作系統(tǒng)中屬于網絡操作系統(tǒng)的是。A.MS-DOSB.Windows98C.UNIXD.WindowsNT答:D二.填空題.操作系統(tǒng)的基本功能包括管理、②管理、③管理、④管理。除此之外還為用戶使用操作系統(tǒng)提供了用戶接口。答:①處理機②存儲器③設備④信息(或文件).如果一個操作系統(tǒng)兼有批處理、分時處理和實時處理操作系統(tǒng)三者或其中兩者的功能,這樣的操作系統(tǒng)稱為?答:通用操作系統(tǒng).在分時和批處理系統(tǒng)結合的操作系統(tǒng)中引入了“前臺”和“后臺”作業(yè)的概念,其目的是。答:為了提高CPU的利用率.實時操作系統(tǒng)與分時操作系統(tǒng)的主要區(qū)別是.答:及時性和高可靠性.在主機控制下進行的輸入/輸出操作稱為操作。答:聯(lián)機輸入輸出.按內存中同時運行程序的數(shù)目可以將批處理系統(tǒng)分為兩類:①一和色_答:①單道批處理系統(tǒng)②多道批處理系統(tǒng).系統(tǒng)不允許用戶隨時干預自己程序的運行。答:批處理.多道程序設計的特點是多道、和。答:宏觀上的并行、微觀上的串行.單道批處理系統(tǒng)是在解決和的矛盾中發(fā)展起來的。答:人機矛盾、CPU和I/O設備之間速度不匹配.對操作系統(tǒng)的總體設計目標來說,批處理操作系統(tǒng)應注重提高計算機的效率,盡量增加系統(tǒng)的,分時操作系統(tǒng)應保證用戶:而實時操作系統(tǒng)則應在保證及時響應和處理有關事件的前提下,再考慮。答:平均吞吐量、所能忍受的響應時間、系統(tǒng)資源的利用率.分時系統(tǒng)中的是衡量一個分時系統(tǒng)性能的重要指標。答:響應時間.導彈飛行控制系統(tǒng)屬于系統(tǒng)。答:實時.在操作系統(tǒng)的發(fā)展過程中,多道程序設計和的出現(xiàn),標志了操作系統(tǒng)的正式形成。答:分時系統(tǒng).實時系統(tǒng)按應用的不同分為和兩種。答:過程控制系統(tǒng)、數(shù)據(jù)處理系統(tǒng).分時操作系統(tǒng)的用戶通過與計算機相連的來使用計算機系統(tǒng),允許多個用戶同時上機。答:終端.個人計算機操作系統(tǒng)每次只允許一個用戶使用計算機,稱為o答:單用戶操作系統(tǒng).為計算機網絡配置的操作系統(tǒng)稱。答:網絡操作系統(tǒng).網絡操作系統(tǒng)的主要功能是實現(xiàn)以及o答:各臺計算機之間的通信、網絡中各種資源的共享.近年來,適合開放系統(tǒng)的操作系統(tǒng)成為一個重要的研究課題,IEEE把它命名為,即計算機環(huán)境可移植操作系統(tǒng)。答:POSIX.在 控制下,用戶在終端設備上可以直接輸入、調試和運行自己的程序,能直接修改程序中的錯誤,并直接獲得結果。答:分時系統(tǒng).根據(jù)服務對象不同,常用的單處理機OS可以分為如下三種類型:允許多個用戶在其終端上同時交互地使用計算機的OS稱為系統(tǒng),它通常采用策略為用戶服務;允許用戶把苦干個作業(yè)提交計算機系統(tǒng)集中處理的OS稱為系統(tǒng),衡量這種系統(tǒng)性能的一個主要指標是系統(tǒng)的;在系統(tǒng)控制下,計算機系統(tǒng)能及時處理由過程控制反饋的數(shù)據(jù)并做出響應。設計這種系統(tǒng)時應首先考慮系統(tǒng)的O答:分時、時間片輪轉、批處理、吞吐量、實時、及時性和可靠性三.簡答題敘述操作系統(tǒng)在計算機系統(tǒng)中的位置。答:操作系統(tǒng)是運行在計算機硬件系統(tǒng)上的最基本的系統(tǒng)軟件。它控制和管理著所有的系統(tǒng)硬件(CPU、主存、各種硬件部件和外部設備等),也控制和管理著所有的系統(tǒng)軟件(系統(tǒng)程序和用戶進程等),操作系統(tǒng)對計算機使用者提供了一種良好的操作環(huán)境,也為其他各種應用系統(tǒng)提供了最基本的支撐環(huán)境?,F(xiàn)代操作系統(tǒng)是一個復雜的軟件系統(tǒng),它與計算機硬件系統(tǒng)有著千絲萬縷的聯(lián)系,也與用戶有著密不可分的關系,它在計算機系統(tǒng)中位于計算機裸機和計算機用戶之間,如下圖所示(圖1.1),緊挨著硬件的就是操作系統(tǒng),它通過系統(tǒng)核心程序對計算機系統(tǒng)中的幾類資源進行管理,如處理機、存儲器、輸入輸出設備、數(shù)據(jù)與文檔資源、用戶作業(yè)等,并向用戶提供若干服務,通過這些服務將所有對硬件的復雜操作隱藏起來,為用戶提供一個透明的操作環(huán)境。在操作系統(tǒng)的外層是其他系統(tǒng)軟件。操作系統(tǒng)是最基本的系統(tǒng)軟件。用戶可以直接通過系統(tǒng)軟件層與計算機打交道,也可以建立各類應用軟件和應用系統(tǒng),通過它們來解決用戶的問題。由此可見,操作系統(tǒng)是介于計算機硬件和用戶之間的一個接口。圖1.1掾作系統(tǒng)的位置怎樣理解“由于計算機上裝有操作系統(tǒng),從而擴展了原計算機的功能”?答:計算機系統(tǒng)的硬件結構和機器一級的操作包含了諸如指令集、存儲器組織、總線結構和輸入輸出部件等的操作與控制,這些最基本的操作恰恰又是最復雜和最難以由用戶直接進行的操作。例如:用戶要進行文件讀寫,而文件是以二進制代碼的方式存放在磁盤、磁帶等存儲裝置中,需要有一種途徑把用戶的要求轉換成對具體的硬件部件、電路信號、選擇開關等的細微操作,用戶自己不可能完成這些操作,但操作系統(tǒng)把用戶的高級操作轉換成一系列的低級操作,最終完成文件的讀寫。所有的低級操作對用戶來講都是透明的,即無需用戶關心的、看不見的,操作系統(tǒng)把硬件全部隱藏起來,給用戶提供了一個友好的、易于操作的界面。此外,操作系統(tǒng)還要進行大量的系統(tǒng)事務處理。如響應中斷的發(fā)生、處理定時操作、管理存儲器及其他低級操作。所以,可以說操作系統(tǒng)是硬件系統(tǒng)的擴展,從而擴展了原計算機的功能,它比直接對計算機硬件系統(tǒng)進行操作要容易得多。試對分時操作系統(tǒng)和實時操作系統(tǒng)進行比較。答:我們可以從以下幾個方面對這兩種操作系統(tǒng)進行比較:(1)實時信息處理系統(tǒng)與分時操作系統(tǒng)一樣都能為多個用戶服務,系統(tǒng)按分時原則為多個終端用戶服務;而對實時控制系統(tǒng),則表現(xiàn)為經常對多路現(xiàn)場信息進行采集以及對多個對象或多個執(zhí)行機構進行控制。(2)實時信息處理系統(tǒng)與分時操作系統(tǒng)一樣,每個用戶各占一個終端,彼此獨立操作,互不干擾。因此用戶感覺就像他一人獨占計算機:而在實時控制系統(tǒng)中信息的采集和對對象的控制也都是彼此互不干擾的。(3)實時信息系統(tǒng)對響應時間的要求與分時操作系統(tǒng)類似,都是以人所能接受的等待時間來確定的;而實時控制系統(tǒng)的響應時間則是以控制對象所能接受的延時來確定的。(4)分時操作系統(tǒng)是一種通用系統(tǒng),主要用于運行終端用戶程序,因此它具有較強的交互能力。而實時操作系統(tǒng)雖然也有交互能力,但其交互能力不及前者。(5)分時操作系統(tǒng)要求系統(tǒng)可靠,相比之下,實時操作系統(tǒng)則要求系統(tǒng)高度可靠。設計實時操作系統(tǒng)的主要困難是什么?答:設計適用于實時環(huán)境的操作系統(tǒng)的主要困難是:在實時環(huán)境規(guī)定的時間限額內對用戶作出相應的反應。如果系統(tǒng)不能在規(guī)定的時間限額內完成指定的任務,那么就可能導致整個實時系統(tǒng)的崩潰。因此,在設計這類操作系統(tǒng)時,設計者必須保證所采用的調度策略及相關技術不會使響應時間超過實時環(huán)境所規(guī)定的時間限額。采用多道程序設計的主要優(yōu)點是什么?答:多道程序設計考慮到作業(yè)的運行規(guī)律是交替使用CPU和I/O,故將多道程序同時保存于系統(tǒng)中,使各作業(yè)對CPU與I/0的使用在時間上重疊,提高了CPU和I/0設備的利用率。一個分層結構操作系統(tǒng)由裸機,用戶,CPU管理,文件管理,作業(yè)管理,內存管理,設備管理,命令管理等部分組成。試按層次結構的原則從內到外將各部分重新排列。答:按層次結構原則從內到外依次為:裸機,CPU管理,內存管理,設備管理,文件管理,作業(yè)管理,命令管理,用戶。什么是操作系統(tǒng)?它有什么基本特征?答:操作系統(tǒng)是指控制和管理計算機的軟、硬件資源,合理組織計算機的工作流程、方便用戶使用的程序集合。操作系統(tǒng)具有4個基本特征:(1)并發(fā)性:宏觀上在一段時間內有多道程序在同時運行,而微觀上這些程序是在交替執(zhí)行。(2)共享性:因程序的并發(fā)執(zhí)行而使系統(tǒng)中的軟、硬件資源不再為某個程序獨占,而是由多個程序共同使用。(3)虛擬性:多道程序設計技術把一臺物理計算機虛擬為多臺邏輯上的計算機,使得每個用戶都感覺自己是“獨占”計算機。(4)異步性(不確定性):多道程序系統(tǒng)中,各程序之間存在著直接或間接的聯(lián)系,程序的推進速度受到其他程序的影響,這樣,程序運行的順序、程序完成的時間以及程序運行的結果都是不確定的。操作系統(tǒng)是隨著多道程序設計技術的出現(xiàn)逐步發(fā)展起來的,要保證多道程序的正常運行,在技術上需要解決哪些基本問題?答:(1)在多道程序之間應如何分配被它們共享的處理機,使得CPU既能滿足各程序運行的需要.又有較高的利用率;此外,一旦將CPU分配給某程序后,應何時收回。(2)如何為每道程序分配必要的內存空間,使它們各得其所但又不會因相互重疊而丟失信息:此外,應如何防止因某道程序出現(xiàn)異常情況而破壞其他程序。(3)系統(tǒng)中可能有多種類型的I/O設備供多道程序共享,應如何分配這些I/O設備,如何做到既方便用戶的使用,又能提高設備的利用率。(4)在現(xiàn)代計算機系統(tǒng)中通常都存在著大量的程序和數(shù)據(jù),應如何組織它們才便于用戶使用:此外,還有信息保存的安全性和一致性問題。(5)對于系統(tǒng)中的各種應用程序,它們有的屬于計算型,有的屬于I/O型,有些既重要又緊迫,有些又要求系統(tǒng)能及時響應,這時系統(tǒng)應如何組織和安排這些作業(yè)(程序)的工作流程。實際上,這些問題的全體就是操作系統(tǒng)的核心內容。如何理解操作系統(tǒng)的不確定性?答:在單道程序環(huán)境下,由于程序獨占全機軟、硬件資源且完全是在一個封閉環(huán)境下運行,所以,如果使用相同的輸入,則多次運行的結果必然相同。引入多道程序技術后,由于多道程序共享全機軟、硬件資源,即各程序之間存在著直接或間接的聯(lián)系。此時程序的運行就不是在一個封閉的環(huán)境下,程序的運行要受到其他程序和系統(tǒng)資源的影響,這會引起程序運行的結果、程序運行的順序和完成的時間不確定。此外,在多道程序環(huán)境下,外部設備的中斷、輸入輸出的請求等出現(xiàn)的時間都是不確定的。這些不確定因素給操作系統(tǒng)設計帶來了很大的復雜性。對于程序執(zhí)行結果的不確定是絕不允許的,這是操作系統(tǒng)必須解決的主要問題;而程序運行順序及完成時間的不確定是多道程序環(huán)境所決定的,因此,操作系統(tǒng)應能對運行順序進行協(xié)調和管理。至于外部設備的中斷、輸入輸出請求甚至程序運行故障等不確定性,操作系統(tǒng)應在出現(xiàn)的時刻及時響應并予以解決,如果操作系統(tǒng)的設計考慮不周,也可能造成系統(tǒng)的混亂和崩潰。第二章進程管理一.選擇題.在進程管理中,當 時進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài).A.進程被進程調度程序選中B.等待某一事件C.等待的事件發(fā)生 D.時間片用完答:C.分配到必要的資源并獲得處理機時的進程狀態(tài)是。A.就緒狀態(tài) B.執(zhí)行狀態(tài)C.阻塞狀態(tài) D.撤消狀態(tài)答:B.P、V操作是.A.兩條低級進程通信原語 B.兩組不同的機器指令C.兩條系統(tǒng)調用命令 D.兩條高級進程通信原語答:A.對進程的管理和控制使用。A.指令 B.原語C.信號量 D.信箱通信答:B.進程的并發(fā)執(zhí)行是指若干個進程。A.同時執(zhí)行 B.在執(zhí)行的時間上是重疊的C.在執(zhí)行的時間上是不可重疊的 D.共享系統(tǒng)資源答:B.若P、V操作的信號量S初值為2,當前值為一1,則表示有等待進程。A.0個B.1個C.2個D.3個答:B.進程的三個基本狀態(tài)在一定條件下可以相互轉化,進程由就緒狀態(tài)變?yōu)檫\行狀態(tài)的條件是①:由運行狀態(tài)變?yōu)樽枞麪顟B(tài)的條件是② ?A.時間片用完 B.等待某事件發(fā)生C.等待的某事件己發(fā)生 D.被進程調度程序選中答,①D②B.下列的進程狀態(tài)變化中,—變化是不可能發(fā)生的。A.運行一就緒 B.運行一等待C.等待一運行 D.等待一就緒答:C.一個運行的進程用完了分配給它的時間片后,它的狀態(tài)變?yōu)?「A.就緒 B.等待C.運行 D.由用戶自己確定答:A.用P、V操作管理臨界區(qū)時,信號量的初值應定義為。A.-1B.0C.1D.任意值答:C.用V操作喚醒一個等待進程時,被喚醒進程的狀態(tài)變?yōu)?A.等待B.就緒C.運行D.完成答:B.進程間的同步是指進程間在邏輯上的相互關系。A.聯(lián)接B.制約C.繼續(xù)D.調用答:B.是一種只能進行P操作和V操作的特殊變量。A.調度B.進程C.同步D.信號量答:D.下面對進程的描述中,錯誤的是。A.進程是動態(tài)的概念 B.進程執(zhí)行需要處理機C.進程是有生命期的 D.進程是指令的集合答:D.下面的敘述中正確的是<,A.操作系統(tǒng)的一個重耍概念是進程,因此不同進程所執(zhí)行的代碼也一定不同。B.為了避免發(fā)生進程死鎖,各進程只能逐個申請資源。C.操作系統(tǒng)用PCB管理進程,用戶進程可以從此PCB中讀出與本身運行狀況有關的信息D.進程同步是指某些進程之間在邏輯上的相互制約關系答:D.進程控制就是對系統(tǒng)中的進程實施有效的管理,通過使用、進程撤銷、進程阻塞、進程喚醒等進程控制原語實現(xiàn)。A.進程運行 B.進程管理C.進程創(chuàng)建 D.進程同步答:C.操作系統(tǒng)通過對進程進行管理。A.JCBB.PCBC.DCTD.CHCT答:B.用P、V操作可以解決互斥問題。A.一切B.某些C.正確D.錯誤答:A.通常,用戶進程被建立后,。A.便一直存在于系統(tǒng)中,直到被操作人員撤消B.隨著作業(yè)運行正?;虿徽=Y束而撤消C.隨著時間片輪轉而撤消與建立D.隨著進程的阻塞或喚醒而撤消與建立答:B.一個進程被喚醒意味著。A.該進程重新占有了CPU B.它的優(yōu)先權變?yōu)樽畲驝.其PCB移至等待隊列隊首 D.進程變?yōu)榫途w狀態(tài)答:D.下面所述步驟中,不是創(chuàng)建進程所必需的。A.由調度程序為進程分配CPU B.建立一個進程控制塊C.為進程分配內存 D.將進程控制塊鏈入就緒隊列答:A.多道程序環(huán)境下,操作系統(tǒng)分配資源以—為基本單位。A.程序B.指令C.進程D.作業(yè)答:C.對于兩個并發(fā)進程,設互斥信號量為mutex,若mutex=O,則。A.表示沒有進程進入臨界區(qū)B.表示有一個進程進入臨界區(qū)C.表示有一個進程進入臨界區(qū),另一個進程等待進入D.表示有兩個進程進入臨界區(qū)答:B.兩個進程合作完成一個任務,在并發(fā)執(zhí)行中,一個進程要等待其合作伙伴發(fā)來消息,或者建立某個條件后再向前執(zhí)行,這種制約性合作關系被稱為進程的oA.同步B.互斥C.調度D.執(zhí)行答:A.為了進行進程協(xié)調,進程之間應當具有一定的聯(lián)系,這種聯(lián)系通常采用進程間交換數(shù)據(jù)的方式進行,這種方式稱為。A.進程互斥B.進程同步C.進程制約D.進程通信答:D.設有5個進程共享一個互斥段,如果最多允許有3個進程同時進入互斥段,則所采用的互斥信號量的初值應是oA.5 B.3C.1 D.0答:B.支持多道程序設計的操作系統(tǒng)在運行過程中,不斷地選擇新進程運行來實現(xiàn)CPU的共享,但其中不是引起操作系統(tǒng)選擇新進程的直接原因。A.運行進程的時間片用完 B.運行進程出錯C.運行進程要等待某一事件的發(fā)生 D.有新進程進入就緒狀態(tài)答:D.在多道程序設計系統(tǒng)中,多個計算問題同時裝入計算機系統(tǒng)的主存儲器oA.并發(fā)執(zhí)行 B.順序執(zhí)行C.并行執(zhí)行 D.同時執(zhí)行答:A.引入多道程序設計技術后,處理器的利用率.A.有所改善 B.極大地提高C.降低了 D.無變化,僅使程序執(zhí)行方便答:B.從總體上說,采用多道程序設計技術可單位時間的算題量,但對每一個算題,從算題開始到全部完成所需的時間比單道執(zhí)行所需的時間可能要?A.增加,減少B.增加,延長C.減少,延長D.減少,減少答:B.同一程序運行在不同的數(shù)據(jù)集上,創(chuàng)建了的進程。A.同步B.互斥C.相同D.不同答:D.關于進程,下列敘述不正確的是。A.進程包含了數(shù)據(jù)和運行其上的程序B.同一程序運行在不同的數(shù)據(jù)集合上時,構成不同的進程C.一個被創(chuàng)建了的進程,在它消亡之前,總是處于三種基本狀態(tài)之一D.若干個進程在單CPU系統(tǒng)中必須依次執(zhí)行,即一個進程完成后,另一個進程才能開始工作答:D.對于一個單CPU系統(tǒng),允許若干進程同時執(zhí)行,輪流占用CPU稱它們?yōu)榈?。A.順序執(zhí)行 B.同時執(zhí)行C.并行執(zhí)行 D.并發(fā)執(zhí)行答:D.一個程序與和它有關的進程的對應關系是。A.一對一 B.多對一C.一對多 D.多對多答:C35.在操作系統(tǒng)中,使計算機系統(tǒng)能實現(xiàn)進程并發(fā)執(zhí)行,保證系統(tǒng)正常工作的機制是A.中斷 B.查詢C.同步 D.互斥答:A—.填空題.進程的基本特征有迎、、獨立性、異步性及結構特征。答:①動態(tài)性②并發(fā)性.信號景的物理意義是當信號量值大于零時表示①;當信號量值小于零時其絕對值表示②。答:①可用資源的數(shù)目 ②因請求該資源而被阻塞的進程數(shù)目.臨界資源的概念是Q,而臨界區(qū)是指②—.答:①一次僅允許一個進程訪問的資源②進程中訪問臨界資源的那段程序代碼.進程在運行過程中有三種基本狀態(tài),它們是①、② 、_^_o答:①運行②就緒③等待(阻塞).進程主要由①、 ② 、③三部分內容組成,其中⑷是進程存在的唯一標志,而且_部分也可以為其他進程共享。答:①程序段②數(shù)據(jù)段③PCB@PCB⑤程序段.系統(tǒng)中各進程之間邏輯上的相互制約關系稱為。答:進程同步7:若一個進程己進入臨界區(qū),其他欲進入臨界區(qū)的進程必須?答:等待.將進程的鏈接在一起就形成了進程隊列。答:PCB.用P、V操作管理臨界區(qū)時,任何一個進程在進入臨界區(qū)之前應調用①操作,在退出臨界區(qū)時應調用②操作。答:①P②V.用信箱實現(xiàn)通信時,應有①和②兩條基本原語。答:①發(fā)送②接收.在多道程序系統(tǒng)中,進程之間存在著的不同制約關系可以劃分為兩類:①與②。③-指進程間具有的一定邏輯關系;迎是指進程間在使用共享資源方面的約束關系。答:①同步②互斥③同步④互斥.有m個進程共享同一臨界資源,若使用信號量機制實現(xiàn)對臨界資源的互斥訪問,則信號量值的變化范圍是.答:1至一(m—1).設系統(tǒng)中有n(n>2)個進程,且當前不再執(zhí)行進程調度程序,試考慮卜述4種情況:①沒有運行進程,有2個就緒進程,n個進程處于等待狀態(tài)。②有1個運行進程,沒有就緒進程,n-l進程處于等待狀態(tài)。⑨有1個運行進程,有1個就緒進程,n—2進程處于等待狀態(tài)。④有1個運行進程,n—1個就緒進程,沒有進程處于等待狀態(tài)。上述情況中,不可能發(fā)生的情況是一。答:①.在一個單處理機系統(tǒng)中,若有5個用戶進程,且假設當前時刻為用戶態(tài),則處于就緒狀態(tài)的用戶進程最多有八個,最少有②個。答:①4②0.操作系統(tǒng)中,對信號量S的P原語操作定義中,使進程進入相應等待隊列等待的條件是。答:S<0.下面關于進程的敘述不正確的是。①進程申請CPU得不到滿足時,其狀態(tài)變?yōu)榈却隣顟B(tài)。②在單CPU系統(tǒng)中,任一時刻至多有一個進程處于運行狀態(tài)。③優(yōu)先級是進行進程調度的重要依據(jù),一旦確定不能改變。④進程獲得處理機而運行是通過調度而實現(xiàn)的。答:③.信箱邏輯上分成①和②兩部分。色中存放有關信箱的描述。耳由若干格子組成,每格存放一信件,格子的數(shù)目和大小在創(chuàng)建信箱時確定。答:①信箱頭②信箱體.當多個進程等待分配處理機時,系統(tǒng)按一種規(guī)定的策略從多個處于狀態(tài)的進程中選擇一個進程,讓它占有處理機,被選中的進程就進入了狀態(tài)。答:就緒、執(zhí)行.若使當前運行的進程總是優(yōu)先級最高的進程,應選擇進程調度算法。答:搶占式(剝奪式).操作系統(tǒng)中用于完成一些特定功能的、不可中斷的過程稱為o答:原語三.簡答題.在操作系統(tǒng)中為什么要引入進程概念?它與程序的關系是怎樣的?答:在操作系統(tǒng)中,由于多道程序并發(fā)執(zhí)行時共享系統(tǒng)資源,共同決定這些資源的狀態(tài),因此系統(tǒng)中各程序在執(zhí)行過程中就出現(xiàn)了相互制約的新關系,程序的執(zhí)行出現(xiàn)“走走停?!钡男聽顟B(tài)。這些都是在程序執(zhí)行的動態(tài)過程中發(fā)生的。用程序這個靜態(tài)概念已不能如實反映程序并發(fā)執(zhí)行過程中的這些特征。為此,人們引入“進程”這一概念來描述程序動態(tài)執(zhí)行過程的性質。進程和程序是既有聯(lián)系又有區(qū)別的兩個概念,進程不能脫離具體程序而虛設,程序規(guī)定了相應進程所要完成的動作。它們的主要區(qū)別如下:(1)程序是指令的有序集合,其本身沒有任何運行的含義,它是一個靜態(tài)的概念;進程是程序在處理機上的一次執(zhí)行過程,它是一個動態(tài)概念。(2)程序的存在是永久的,而進程則是有生命期的,它因創(chuàng)建而產生,因調度而執(zhí)行,因得不到資源而暫停,因撤銷而消亡。(3)程序僅是指令的有序集合。而進程則由程序、數(shù)據(jù)和進程控制塊組成。(4)在傳統(tǒng)的操作系統(tǒng)中,進程是資源分配和調度運行的基本單位,而程序不是。(5)進程與程序之間不是一一對應的,即同一程序同時運行于若干不同的數(shù)據(jù)集合上,它將屬于若干個不同的進程:而一個進程至少對應執(zhí)行一個程序。.為了實現(xiàn)并發(fā)進程間的合作和協(xié)調工作,以及保證系統(tǒng)的安全,操作系統(tǒng)在進程管理方面應做哪些工作?答:(1)進程控制:系統(tǒng)必須設置一套控制機構來實現(xiàn)進程創(chuàng)建、進程撤消以及進程在運行過程中的狀態(tài)轉換。(2)進程同步:系統(tǒng)必須設置同步機制來實現(xiàn)對所有進程的運行進行協(xié)調,協(xié)調的方式包括進程的互斥和進程的同步。(3)進程通信:多道程序環(huán)境下可能需要諸進程合作完成一個任務,這些進程相互間需要通過交換信息來協(xié)調各自工作的進度。因此系統(tǒng)必須具有進程之間通信(交換信息)的能力。(4)進程調度:系統(tǒng)必須能夠在處理機空閑時,按一定算法從就緒進程隊列中選擇一個就緒進程,把處理機分配給它,并為之設置運行的現(xiàn)場使其投入運行。.在操作系統(tǒng)中引入線程概念的主要目的是什么?答:減少程序并發(fā)執(zhí)行時所需付出的時空開銷,提高程序執(zhí)行的并發(fā)度。特別有利于共享存儲器的多處理機系統(tǒng),和更加適合c/s模型。.在一個單CPU的多道程序設計系統(tǒng)中,若在某一時刻有N個進程同時存在,那么處于運行態(tài)、等待態(tài)和就緒態(tài)進程的最小和最大值分別可能是多少?答:若多道程序設計系統(tǒng)中,在某一時刻有N個進程同時存在,則處于運行態(tài)的進程最少。個,最大1個;處于就緒態(tài)的進程最少0個,最大N—1個:處于等待態(tài)的進程最少0個,最大N個。.進程之間存在哪幾種相互制約關系?各是什么原因引起的?下列活動分別屬于哪種制約關系?(1)若干同學去圖書館借書;(2)兩隊舉行籃球比賽;(3)流水線生產各道工序:(4)商品生產和社會消費答:進程之間的制約關系分為直接制約關系(即同步)和間接制約關系(即互斥)。同步是因合作進程之間協(xié)調彼此的工作而控制自己的執(zhí)行速度,即因相互合作、相互等待而產生的制約關系;而互斥是進程之間競爭臨界資源而禁止兩個以上的進程同時進入臨界區(qū)所發(fā)生的制約關系。(1)屬于互斥關系,因為一本書只能借給一個同學。(2)屬于互斥關系,籃球只有一個,兩隊都要爭奪。(3)居于同步關系,各道工序的開始都依賴前一道工序的完成。(4)屬于同步關系,商品沒生產出來則消費無法進行,商品沒有消費完則無須再生產。.為了讓用戶進程互斥地進入臨界區(qū),可以把整個臨界區(qū)實現(xiàn)成不可中斷的過程,即讓用戶具有屏蔽所有中斷的能力。每當用戶程序進入臨界區(qū)的時候,屏蔽所有中斷;當出了臨界區(qū)的時候,再開放所有中斷。你認為這種方法有什么缺點。答:用戶進程進入臨界區(qū)時屏蔽所有中斷,應當也包括系統(tǒng)程序。若屏蔽的是用戶進程,的確可以保護臨界資源,但若系統(tǒng)所發(fā)出的中斷也被屏蔽,則會引起錯誤,因為系統(tǒng)的中斷往往與當前運行的程序無關,卻可能是一些重耍的硬件中斷,如電源故障等,故不可盲目屏蔽所有中斷;又或者當時發(fā)出故障中斷的中斷源恰好是該臨界資源,則更應該及時響應處理。7.設有n個進程共享一個互斥段,對于如下兩種情況:(1)如果每次只允許一個進程進入互斥段;(2)如果每次最多允許m個進程(m<n)同時進入互斥段。試問:所采用的互斥信號量初值是否相同?信號量的變化范圍如何?答:(1)信號量的初值為1。信號量的變化范圍是1,0,-1, -(n-l)?(2)信號量的初值為m。信號量的變化范圍是:m>m—1,…,1,0,…,一(n—m)。四.應用題1,若程序A和B單獨執(zhí)行時分別需要1小時和1.5小時,其中CPU工作時間分別為18分鐘和27分鐘。若采用多道程序設計方法,讓A和B并行工作,假定CPU利用率達到50%,另加15分鐘系統(tǒng)開銷,請問系統(tǒng)效率能提高多少?解:在多道系統(tǒng)中,程序A和B共用的CPU時間為:(18+27)/50%=90分鐘系統(tǒng)效率提高=(A和B單獨執(zhí)行的時間總和一多道方式下總時間)/A和B單獨執(zhí)行的時間總和,即((60十90)-(90+15))7(60+90)=45/150=30%.在測量控制系統(tǒng)中,數(shù)據(jù)采集任務把所采集的數(shù)據(jù)送入一單緩沖區(qū);計算任務從該單緩沖區(qū)中取出數(shù)據(jù)進行計算。試寫出利用信號量機制實現(xiàn)兩者共享單緩沖區(qū)的同步算法。解:在本題中,應設置兩個信號童sf,se,信號量sf表示緩沖區(qū)中是否有可供打印的計算結果,其初值為。;信號量se用于表示緩沖區(qū)有無空位置存放新的信息,其初值為1。本題的同步描述如F:intse=1;intsf=0;main()(cobeginget();compute();coendget()while(采集工作未完成)采集一個數(shù)據(jù);P(se);將數(shù)據(jù)送入緩沖區(qū);v(sf);compute()while(計算工作未完成)(P(sf);從緩沖區(qū)中取出數(shù)據(jù):v(se);進行數(shù)據(jù)計算:.下圖給出了四個進程合作完成某一任務的前趨圖,試說明這四個進程間的同步關系并用P、V操作描述它。解:上圖說明任務啟動后S1先執(zhí)行。當S1結束后,S2、S3可以開始執(zhí)行。S2、S3完成后,S4才能開始執(zhí)行。為了確保這一-執(zhí)行順序,設三個同步信號量b2、b3、b4分別表示進程S2、S3、S4是否可以開始執(zhí)行,其初值均為0。這四個進程的同步描述如下:intb2=0;intb3=0;intb4=0;main(){cobeginsi();s2();s3();s4();coendsl()v(b2);v(b3);}s2(){P(b2);v(b4);}s3()(P(b3);v(b4);}s4()P(b4);p(b4); /*因在s2和s3完成后均對b4作了v操作,因此這里要用兩個p操作*/.某系統(tǒng)的進程狀態(tài)轉換圖如下,請說明:(1)引起各種狀態(tài)轉換的典型事件有哪些?(2)當我們觀察系統(tǒng)中某些進程時,能夠看到某一進程產生的一次狀態(tài)轉換能引起另一進程作一次狀態(tài)轉換。在什么情況下,當一個進程發(fā)生轉換3時能立即引起另一個進程發(fā)生轉換1?(3)試說明是否會發(fā)生下述因果轉換:2f3—>24-*1答:(1)在本題所給的進程狀態(tài)轉換圖中.存在四種狀態(tài)轉換。當進程調度程序從就緒隊列中選取一個進程投入運行時引起轉換1;正在執(zhí)行的進程如因時間片用完而被暫停執(zhí)行就會引起轉換2:正在執(zhí)行的進程因等待的事件尚未發(fā)生而無法執(zhí)行(如進程請求完成I/O)則會引起轉換3;當進程等待的事件發(fā)生時(如I/O完成)則會引起轉換4o(2)如果就緒隊列非空,則一個進程的轉換3會立即引起另一個進程的轉換1?這是因為一個進程發(fā)生轉換3意味著正在執(zhí)行的進程由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài),這時處理機空閑,進程調度程序必然會從就緒隊列中選取一個進程并將它投入運行,因此只要就緒隊列非空,一個進程的轉換3能立即引起另一個進程的轉換lo(3)所謂因果轉換指的是有兩個轉換,一個轉換的發(fā)生會引起另一個轉換的發(fā)生,前一個轉換稱為因,后一個轉換稱為果,這兩個轉換稱為因果轉換。當然這種因果關系并不是什么時候都能發(fā)生,而是在一定條件下才會發(fā)生。2—?!:發(fā)生轉換2時,就必然引起另一進程的轉換1。因為當發(fā)生轉換2時,正在執(zhí)行的進程從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài),進程調度程序必然會從就緒隊列中選取一個進程投入運行,即發(fā)生轉換1。3—?2:某個進程的轉換3決不可能引起另一進程發(fā)生轉換2。這是因為當前執(zhí)行進程從執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài).不可能又從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài)。4—?I:當處理機空閑且就緒隊列為空時,某一進程的轉換4就會引起該進程的轉換1.因為此時處理機空閑,一旦某個進程發(fā)生轉換4,就意味著有一個進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài),因而調度程序就會將就緒隊列中的此進程投入運行。5.某車站售票廳,任何時刻最多可容納20名購票者進入,當售票廳中少于20名購票者時,廳外的購票者可立即進入,否則需在外面等待。若把一個購票者看作一個進程,請回答下列問題:(1)用PV操作管理這些并發(fā)進程時,應怎樣定義信號量,寫出信號量的初值以及信號量各種取值的含義。(2)根據(jù)所定義的信號量,把應執(zhí)行的P、V操作填入下面橫線上,以保證進程能夠正確地并發(fā)執(zhí)行。(3)若欲購票者最多為n個人,寫出信號量可能的變化范圍(最大值和最小值)。答:(D定義一信號量S,初始值為20,其意義如下:S>0S的值表示可繼續(xù)進入售票廳的人數(shù)S=0表示售票廳中已有20名顧客(購票者)S<0|S|的值為等待進入售票廳的人數(shù)(2)根據(jù)所定義的信號量,把應執(zhí)行的P、V操作填入下面橫線上,以保證進程能夠正確地并發(fā)執(zhí)行。COBEGINPROCESSPi(i=l,2, )begin;P(S)進入售票廳;購票;退出;V(s)end;COEND(3)S的最大值為20;S的最小值為20—n6.理發(fā)店里有一位理發(fā)師,一把理發(fā)椅和N把供等候理發(fā)的顧客坐的椅子.如果沒有顧客,則理發(fā)師便在理發(fā)椅上睡覺.當一個顧客到來時,他必須先喚醒理發(fā)師.如果顧客到來時理發(fā)師正在理發(fā),則如果有空椅子,可坐下來等;否則離開。解:定義信號量如下:VarSn:semaphore;{位子數(shù)目,初值為n}S:semaphore;{理發(fā)師睡覺,初值為1)mutex:semaphore;{初值為1}用P、V操作實現(xiàn)如下:顧客進程i:P(Sn);{門外觀望}P(mutex);進門;V(mutex);V(S);{if(sn==n-Dv(s);}等候;理發(fā):V(Sn)P(mutex);出門;V(mutex);理發(fā)師進程:RepeatP⑸;P(mutex);叫人理發(fā);V(mutex);理發(fā);Untilfalse;.試寫出用加鎖原語和開鎖原語實現(xiàn)兩個進程關于臨界資源的操作的描述。答:Programtestbegins:=0(表示該資源可用)cobegin(1)begin加鎖原語;臨界區(qū)A;開鎖原語;endbegin加鎖原語;臨界區(qū)B;開鎖原語;endconendend.桌子上有一只盤子,每次只能放入一只水果。爸爸專向盤中放蘋果,媽媽專向盤中放桔子,一個兒子專等吃盤中的桔子,一個女兒專等吃盤中的蘋果。請利用P、V操作實現(xiàn)他們之間的同步。解:在本題中,應設置三個信號量s、so、sa,信號量s表示盤子是否為空,其初值為1;信號量so表示盤中是否有桔子,其初值為0;信號量sa表示盤中是否有蘋果,其初值為0。同步描述如下:ints=I;intsa=0;intso=0;main(){cobeginfather();son();daughter();coend}father()p(s);將水果放入盤中;if(放入的是桔子)v(so);elsev(sa);)son()(p(so);從盤中取出桔子;v(s);吃桔子:)daughter()(p(sa);從盤中取出蘋果;v(s);吃蘋果;}.桌子上有一只盤子,最多可容納兩個水果,每次只能放人或取出一個水果。爸爸專向盤子中放蘋果(apple),媽媽專向盤子中放桔子(orange),兩個兒子專等吃盤子中的桔子,兩個女兒專等吃盤子中的蘋果。請用Pv操作來實現(xiàn)爸爸、媽媽、兒子、女兒之間的同步與互斥關系。解:盤子為互斥資源,因可以放兩個水果,empty初值為2;再設信號量mutex初值為1,控制對盤子的互斥訪問;apple表示盤中蘋果個數(shù),表示盤中桔子個數(shù),初值均為0。parbeginFather:beginLI:p(empty);P(mutex);放蘋果;V(mutex);V(apple);GotoLI;End;Mother:beginL2:P(empty);P(mutex);放桔子;V(mutex);V(orange);GotoL2;End;Daughter:beginL3:p(apple);P(mutex);取蘋果;V(mutex);V(empty);GotoL3;End;Son:beginL4:P(orange);P(mutex);取桔子;V(mutex);V(empty);GotoL4;End;Parend10.現(xiàn)為某臨界資源設一把鎖w,當w=l時,表示關鎖,w=0時,表示鎖已打開,試寫出開鎖和關鎖的原語,并說明如何利用它們去控制對該臨界資源的互斥訪問?解:①開鎖原語unlock(w)如下:unlock(w):w:=0關鎖原語k)ck(w)如下:Lock(w):whilew=1doskip;w:=1;②可設臨界段cs放在兩者之間來實現(xiàn)互斥,即Lock(w);cs;unlock(w)H.用PV操作解決讀者寫者問題的正確程序如下:beginS,Sr:Semaphore;rc:integer;S:=l;Sr:=l;rc:=0;cobeginPROCESSReaderi(i=l,2...)beginP(Sr)rc:=rc+l;ifrc=lthenP(S);V(Sr);readfile;P(Sr);rc:=rc-lifrc=OthenV(S);V(Sr);end;PROCESSWriterj(j=l,2...)beginP(S);Writefile;V(S)end;coend;end;請回答:(1)信號量Sr的作用:(1)程序中什么語句用于讀寫互斥,寫寫互斥;(2)(3)若規(guī)定僅允許5個進程同時讀怎樣修改程序?答:(1)Sr用于讀者計數(shù)rc的互斥信號量;(2)ifrc=lthenP(S)中的P(S)用于讀寫互斥,寫者進程中的P(S)用于寫寫互斥,讀寫互斥。(3)程序中增加一個信號量S5,初值為5,P(S5)語句加在讀者進程P(Sr)之前,V(S5)語句加在讀者進程第2個V(Sr)之后。12.哲學家甲請哲學家乙、丙、丁到某處討論問題,約定全體到齊后開始討論;在討論的間隙四位哲學家進餐,每人進餐時都需使用刀、叉各一把,餐桌上的布置如下圖所示。請用信號量及P、v操作說明這四位哲學家的同步、互斥過程。(其中b表示刀,w表示叉)解:在本題中,應設置四個信號量fOrkl、fbrk2、knifeKknife2,其初值均為1,分別表示資源叉1、叉2、刀1、刀2是否可用。同步描述如下:intfork1=1;intfork2=l;intknifel=l;intknife2=l;main(){cobeginpa();pb();pc();pd();coend;)pa(){while(1);{p(knife1);P(forkl);進餐;v(knifel);v(forkl);討論問題:)}Pb()(while(1);(p(knife2);P(forkl);進餐;v(knife2);v(forkl);討論問題;pc()while(1);{p(knife2);P(fork2);進餐;v(knife2);v(fbrk2);討論問題;pd(){while(1);(p(knifel);p(fdrk2);進餐;v(knifel);v(fbrkl);討論問題;)}13.某數(shù)據(jù)庫有一個寫進程,多個讀進程,它們之間讀、寫操作的互斥要求是:寫進程正在寫該數(shù)據(jù)庫時不能有其他進程讀該數(shù)據(jù)庫,也不能有其他進程寫該數(shù)據(jù)庫;讀進程之間不互斥,可以同時讀該數(shù)據(jù)庫。請用信號量及P、V操作描述這一組進程的工作過程。解:在本題中,允許讀進程同時讀數(shù)據(jù)庫,但寫進程正在寫數(shù)據(jù)庫時不允許其他進程讀數(shù)據(jù)庫,也不允許其他進程寫該數(shù)據(jù)庫。為了解決讀、寫進程之間的同步,應設置兩個信號量和一個共享變量:讀互斥信號量rmutex,用于使讀進程互斥地訪問共享變量count,其初值為1;寫互斥信號量wmutex,用于實現(xiàn)寫進程與讀進程的互斥及寫進程與寫進程的互斥,其初值為1,共享變量count,用于記錄當前正在讀數(shù)據(jù)庫的讀進程數(shù)目,初值為0。其工作過程如下:intrmutex=l;intwmutex=l;intcount=0;main()cobeginreader();write();coend)reader(){while(l)(p(rmutex);if(count=0)p(wmutex);count++;v(rmutex);讀數(shù)據(jù)庫:p(rmutex);count——if(count=0)v(wmutex);v(rmutex);I}write()(while(l){p(wmutex);寫數(shù)據(jù)庫;v(wmutex);)).設公共汽車上,司機和售票員的活動分別是:司機的活動:啟動車輛;正常行車;到站停車;售票員的活動:關車門;售票;開車門;在汽車不斷的到站、停車、行駛過程中,這兩個活動有什么同步關系?用信號量和P、V操作實現(xiàn)他們的同步。解:在汽車行駛過程中,司機活動與售票員活動之間的同步關系為:售票員關車門后,向司機發(fā)開車信號,司機接到開車信號后啟動車輛,在汽車正常行駛過程中售票員售票,到站時司機停車,售票員在車停后開車門讓乘客上卜車。因此司機啟動車輛的動作必須與售票員關車門的動作取得同步;售票員開車門的動作也必須與司機停車取得向步,在本題中,應設置兩個信號量:Si,s2,si表示是否允許司機啟動汽車,其初值為0:s2表示是否允許售票員開門,其初值為0。用P、v原語描述如下:intsl=0;ints2=0;main()Icobegindriver();busman();coend}driver()Iwhile(l)(p(sl);啟動車輛;正常行車;到站停車;v(s2);busman()(while(l){關車門;v(sl);售票;p(s2);開車門;上卜,乘客:.有一個倉庫,可以存放A和B兩種產品,倉庫的存儲空間足夠大,但要求:(1)一次只能存入一種產品(A或B);(2)—N〈A戶品數(shù)星一B產品數(shù)量其中,N和M是正整數(shù)。試用“存放A”和“存放B”以及P、v操作描述產品A與產品B的入庫過程。解:由于不能直接在程序中使用表達式的值來控制產品A與產品B入庫的同步與互斥過程,因此應將表達式轉換成制約條件,即首先將表達式分解為:A產品數(shù)量-B產品數(shù)量〈MB產品數(shù)量-A產品數(shù)量〈N進一步分析如下:(1)苦只放入A產品而不放入B產品,則A產品最多可放MT次。因此,設信號量Sa初值為M-h此外,每當放入一個B產品時,則使信號量Sa增1,即A產品隨之增加一次放入的機會。(2)若只放入B產品而不放入A產品,則B產品最多可放NT次。因此,設信號量Sb初值為從NT。此外,每當放入一個A產品時,則使信號量Sb增1,即B產品隨之增加一次放入的機會。因為每次只允許一種產品入庫,所以設置信號量mutex控制對倉庫的互斥訪問。并發(fā)程序如下:beginmutex:=1;Sa:=M-l;Sb:=N-l;CobeginPA:beginRepeatP(Sa);P(mutex);A產品入庫;(mutex);(Sb);UntilfalseEndPB:beginRepeatP(Sb);P(mutex);B產品入庫;(mutex);V(Sa);UntilfalseEndCoendend第三章處理機調度與死鎖一.選擇題.在為多道程序所提供的可共享的系統(tǒng)資源不足時,可能出現(xiàn)死鎖。但是,不適當?shù)摹部赡墚a生死鎖。A.進程優(yōu)先權 B.資源的線性分配C.進程推進順序 D.分配隊列優(yōu)先權答:C.采用資源剝奪法可解除死鎖,還可以采用方法解除死鎖。A.執(zhí)行并行操作 B.撤消進程C.拒絕分配新資源 D.修改信號量答:B.產生死鎖的必要條件有四個,要防止死鎖的發(fā)生,可以破壞這四個必要條件之一,但破壞條件是不大實際的。A.互斥 B.不可搶占C.部分分配 D.循環(huán)等持答:A.在分時操作系統(tǒng)中,進程調度經常采用算法.A.先來先服務 B.最高優(yōu)先權C.時間片輪轉 D.隨機答:C.資源的按序分配策略可以破壞條件。A.互斥使用資源 B.占有且等待資源C.非搶奪資源 D.循環(huán)等待資源答:D.在 情況下,系統(tǒng)出現(xiàn)死鎖。A.計算機系統(tǒng)發(fā)生了重大故障.有多個封鎖的進程同時存在C.苦干進程因競爭資源而無休止地相互等持他方釋放已占有的資源D.資源數(shù)大大小于進程數(shù)或進程同時申請的資源數(shù)大大超過資源總數(shù)答:C.銀行家算法是--種算法。A.死鎖解除 B.死鎖避免C.死鎖預防 D.死鎖檢測答:B.優(yōu)先權是在創(chuàng)建進程時確定的,確定之后在整個進程運行期間不再改變。A.先來先服務 B.靜態(tài)C.動態(tài) D.短作業(yè)答:B.某系統(tǒng)中有3個并發(fā)進程,都需要同類資源4個,試問該系統(tǒng)不會發(fā)生死鎖的最少資源數(shù)是tA.9B.10C.11D.12答:B.在下列解決死鎖的方法中,屬于死鎖預防策略的是—0A.銀行家算法 B.資源有序分配法C.死鎖檢測法 D.資源分配圖化簡法答:B.以下敘述中正確的是oA.調度原語主要是按照一定的算法,從阻塞隊列中選擇一個進程,將處理機分配給它。B.預防死鎖的發(fā)生可以通過破壞產生死鎖的四個必要條件之一來實現(xiàn),但破壞互斥條件的可能性不大。C.進程進入臨界區(qū)時要執(zhí)行開鎖原語。D.既考慮作業(yè)等待時間,又考慮作業(yè)執(zhí)行時間的調度算法是先來先服務算法答:B.—是作業(yè)存在的惟一標志。A.作業(yè)名 B.進程控制塊C.作業(yè)控制塊 D.程序名答:C.作業(yè)調度算法的選擇??紤]因素之一是使系統(tǒng)有最高的吞吐量,為此應 oA.不讓處理機空閑 B.能夠處理盡可能多的作業(yè)C.使各類用戶都滿意 D.不使系統(tǒng)過于復雜答:B.用戶使用操作系統(tǒng)通常有三種手段,它們是終端命令、系統(tǒng)調用命令和oA.計算機高級指令 B.宏命令C.作業(yè)控制語言 D.匯編語言答:C.在分時操作系統(tǒng)環(huán)境下運行的作業(yè)通常稱為。A.后臺作業(yè) B.長作業(yè)C.終端型作業(yè) D.批量型作業(yè)答:C.當作業(yè)進入完成狀態(tài),操作系統(tǒng)?A.將刪除該作業(yè)并收回其所占資源,同時輸出結果B.將該作業(yè)的控制塊從當前作業(yè)隊列中剔除,收回其所占資源C.將收回該作業(yè)所占資源并輸出結果D.將輸出結果并刪除內存中的作業(yè)答:B.在各種作業(yè)調度算法中,若所有作業(yè)同時到達,則平均等待時間最短的算法是A.先來先服務 B.優(yōu)先權調度C.最高響應比優(yōu)先 D.短作業(yè)優(yōu)先答:D.既考慮作業(yè)等待時間,又考慮作業(yè)執(zhí)行時間的調度算法是oA.響應比高者優(yōu)先 B.短作業(yè)優(yōu)先C.優(yōu)先級調度 D.先來先服務答:A.作業(yè)調度程序從處于狀態(tài)的隊列中選取適當?shù)淖鳂I(yè)投入運行。A.運行B.提交C完成D.后備答:D.是指從作業(yè)提交給系統(tǒng)到作業(yè)完成的時間間隔。A.周轉時間 B.響應時間C.等待時間 D.運行時間答:A.作業(yè)從進入后備隊列到被調度程序選中的時間間隔稱為.A.周轉時間 B.響應時間C.等待時間D觸發(fā)時間答:C.假設下述四個作、也同時到達,當使用最高優(yōu)先數(shù)優(yōu)先調度算法時,作業(yè)的平均周轉時間作業(yè)所■運行1忖間優(yōu)先敷12425938i438A.4.5B.10.5C.4.75D.10.25答:D.下述作業(yè)調度算法中,調度算法與作業(yè)的估計運行時間有關。A.先來先服務 B.短作業(yè)優(yōu)先C.優(yōu)先權 D.時間片輪轉答:B.用戶通過終端使用計算機系統(tǒng)控制作業(yè)執(zhí)行的方式稱為方式。A.自動B.聯(lián)機C.脫機D.假脫機答:B.作業(yè)生存期共經歷四個狀態(tài),它們是提交、后備、和完成。A.就緒B.執(zhí)行C.等待D.開始答:B.系統(tǒng)在 ,發(fā)生從目態(tài)到管態(tài)的轉換。A.發(fā)出P操作時 B.發(fā)出v操作時C.執(zhí)行系統(tǒng)調用時 D.執(zhí)行置程序狀態(tài)字時答:C.以下敘述中正確的是oA.操作系統(tǒng)的作業(yè)管理是一種微觀的低級管理。B.作業(yè)的提交方式有兩種,但對應的作業(yè)控制方式只有一種。C.一個作業(yè)從進入系統(tǒng)到運行結束,一般要經歷的狀態(tài)是:后備狀態(tài)、就緒狀態(tài)和完成狀態(tài)。D.多道批處理與單道批處理的主要區(qū)別在于它必須有作業(yè)調度功能和進程調度功能,內存中可以存放多道作業(yè)。答:D.設有4個作業(yè)同時到達,每個作業(yè)的執(zhí)行時間均為2小時,它們在一臺處理機上按單道方式運行,則平均周轉時間為。A.1小時B.5小時C.2.5小時D.8小時答:B.現(xiàn)有3個同時到達的作業(yè)JI,J2和J3,它們的執(zhí)行時間分別是T1、T2和T3,且T1<T2<T3。系統(tǒng)按單道方式運行且采用短作業(yè)優(yōu)先算法,則平均周轉時間是OA.T1十T2十T3 B.(T1十T2+T3)/3C.(3T1十2T2+T3)/3 D.(T1十2T2+3T3)/3答:C.一作業(yè)8:00到達系統(tǒng),估計運行時間為1小時。若10:00開始執(zhí)行該作業(yè),其響應比是OA.2B.1C.3D.0.5答:C.設有3個作業(yè),它們的到達時間和運行時間如下表所示,并在一臺處理機上按單道方式運行。如按響應比高者優(yōu)先算法,則作業(yè)執(zhí)行的次序是o作業(yè)到達時間運行時間18:002時間28:301小時39:30Q25小時A.J1J2J3 B.J1,J3,J2 C.J2J3J1 D.J3,J2,J1答:B.響應比是指,A.作業(yè)計算時間與作業(yè)等待時間之比B.作業(yè)周轉時間與作業(yè)計算時間之比C.系統(tǒng)調度時間與作業(yè)等待時間之比D.系統(tǒng)調度時間與作業(yè)計算時間之比答:B.設有3個作業(yè)JI、J2、J3,其運行的時間分別為1、2、3小時;假定這些作業(yè)同時到達,并在一臺處理機上按單道運行,則平均用轉時間最小的執(zhí)行序列是。A.J1J2J3 B.J1,J3,J2 C.J2,J1,J3 D.J2,J3,J1答:.當作業(yè)進入完成狀態(tài),操作系統(tǒng)oA.將刪除該作業(yè)并回收其所占資源,同時輸出結果B.將該作業(yè)的作業(yè)控制塊從當前作業(yè)隊列中刪除,回收其所占資源并輸出結果C.將回收該作業(yè)所占資源并輸出結果D.將刪除內存中的作業(yè)并輸出結果答:A.一個作業(yè)的完成要經過若干加工步驟,這每個步驟稱為.A.作業(yè)流B.子程序C.子進程D.作業(yè)步答:D.在批處理方式下,操作員把一批作業(yè)組織成向系統(tǒng)成批輸入。A.作業(yè)步B.作業(yè)流C.子程序 D.程序組答:B.根據(jù)進程的緊迫性程度進行進程調度,應采用oA.先來先服務調度算法 B.最高優(yōu)先級調度算法C.時間片輪轉調度算法 D.分級調度算法答:B.采用最高優(yōu)先級調度算法時,對那些具有相同優(yōu)先級的進程分配CPU的次序是。A.時間片輪轉B.運行時間長短C.先來先服務 D.使用外圍設備多少答:C二.填空題.死鎖是指在系統(tǒng)中的多個—無限期地等待永遠不會發(fā)生的條件。答:進程.進程調度負責的分配工作。答:處理機.在調度算法中,按照進程進入就緒隊列的先后次序來分配處理機。答:先來先服務.死鎖產生的必要條件有四個,即①、②、③、④。答:①互斥條件②不剝奪條件③請求和保持條件④環(huán)路等待條件.解除死鎖常用的方法有兩種,①是從其他進程那里剝奪足夠數(shù)量的資源給②進程以解除死鎖狀態(tài)。答:①資源剝奪法②死鎖.銀行家算法中,當一個進程提出的資源請求將導致系統(tǒng)從豈。_進入時,系統(tǒng)就拒絕它的資源請求。答:①安全狀態(tài)②不安全狀態(tài).如果要求所有進程一次性申請它所需要的全部資源,若系統(tǒng)有足夠的資源分配給進程,便一次把所有的資源分配給該進程。但在分配時只要有一種資源要求不能滿足,則資源全不分配,進程等待,這種死鎖預防方法破壞了死鎖產生必要條件中的條件。答:請求和保持.對待死鎖,一般應考慮死鎖的預防、避免、檢測和解除四個問題。典型的銀行家算法是屬于①,破壞環(huán)路等待條件是屬于而剝奪資源是③的基本方法。答:①死鎖的避免②死鎖的預防③死鎖的解除.在一個具有分時兼批處理的計算機操作系統(tǒng)中,如果有終端作業(yè)和批處理作業(yè)混合同時執(zhí)行,作業(yè)應優(yōu)先占用處理器。答:終端型作業(yè).一個作業(yè)可以分成若干順序處理的加工步驟,每個加工步驟稱為一個。答:作業(yè)步.作業(yè)調度又稱①,其主要功能是②,并為作業(yè)做好運行前的準備工作和作業(yè)完成后的善后處理工作。答:①高級調度②按照某種原則從后備作業(yè)隊列中選取作業(yè).確定作業(yè)調度算法時應注意系統(tǒng)資源的均衡使用,使①作業(yè)和②作業(yè)搭配運行。答:①I/O②CPU繁忙.設有一組作業(yè),它們的提交時間及運行時間如下:作業(yè)號我交時的運行時間(分仲)17019:403039:5010410:105在單道方式下,采用短作業(yè)優(yōu)先調度算法,作業(yè)的執(zhí)行順序是。答:1、4、3、2.調度是處理機的高級調度,調度是處理機的低級調度。答;作業(yè)、進程.如果系統(tǒng)中所有作業(yè)是同時到達的,則使作業(yè)平均周轉時間最短的作業(yè)調度算法是=答:短作業(yè)優(yōu)先(SJF)調度算法.?個理想的作業(yè)調度算法應該是既能,又能使進入系統(tǒng)的作業(yè)得到計算結果。答:提高系統(tǒng)效率、及時.響應比高者優(yōu)先算法綜合考慮了作業(yè)的和。答:等待時間、計算時間.時間片是指允許進程一次占用處理器的。時間片輪轉調度算法常用于操作系統(tǒng)中。答:最長時間、分時.時間片取值的大小關系到和,所以時間片的值應根據(jù)進程要求系統(tǒng)給出應答的時間和進入系統(tǒng)的進程數(shù)來決定。答:計算機系統(tǒng)的效率、用戶的滿意程度.進程的切換是由 引起的,總是發(fā)生在發(fā)生之后。答:進程狀態(tài)的變化、中斷事件三.簡答題.在單處理機的分時系統(tǒng)中,分配給進程P的時間片用完后,系統(tǒng)進行切換,結果調度到的仍然是進程P。有可能出現(xiàn)上述情形嗎?如果可能請說明理由。答:有可能出現(xiàn)上述情況。例如,若在進程P時間片用完后,被迫回到就緒隊列時,就緒隊列為空,這樣進程P就是就緒隊列中惟一的一個進程,于是調度程序選中的進程必然是進程P;又如在按優(yōu)先統(tǒng)調度的系統(tǒng)中,就緒隊列按進程優(yōu)先級排列,在進程P時間片用完之后回到就緒隊列時,若其優(yōu)先級高于當前就緒隊列中的其他進程,則它將排在就緒隊列之首,從而再次被調度程序選中并投入運行。.進程調度中“可搶占“和“非搶占“兩種方式,哪一種系統(tǒng)的開銷更大?為什么?答:可搶占式會引起系統(tǒng)的開銷更大??蓳屨际秸{度是嚴格保證任何時刻,讓具有最高優(yōu)先權的進程占有處理機運行,因此增加了處理機調度的時機,引起為退出處理機的進程保留現(xiàn)場,為占有處理機的進程恢復現(xiàn)場等時間(和空間)開銷增大。.簡單敘述作業(yè)調度和進程調度的區(qū)別。答:(1)作業(yè)調度是選符合條件的收容態(tài)作業(yè)裝入內存。進程調度是從就緒態(tài)進程中選一個占用處理機。(2)作業(yè)調度是高級調度,它位于操作系統(tǒng)的作業(yè)管理層次。進程調度是低級調度,它位于操作系統(tǒng)分層結構的最內層。(3)作業(yè)調度是宏觀調度,它所選擇的作業(yè)只是具有獲得處理機的資格,但尚未占有處理機,不能立即在其上實際運行。進程調度是微觀調度,動態(tài)地把處理機實際地分配給所選擇的進程,使之真正活動起來。另外,進程調度相當頻繁,而作業(yè)調度執(zhí)行的次數(shù)一般很少。4.某進程被喚醒后立即投入運行,我們就說這個系統(tǒng)采用的是剝奪式調度方式,對嗎?為什么?答:不對。剝奪式調度方式是指進程在申請資源時系統(tǒng)無法滿足,則強行剝奪其他進程所占有的資源,分配給該進程。而進程進入睡眠狀態(tài)則表明當前并不是剝奪調度方式,被喚醒后立即投入運行,只能說資源可以分配給該進程使用,但并不一定是從其他進程那里剝奪過來的,也可以是進程自動釋放的。.在某一時刻,系統(tǒng)中既無執(zhí)行態(tài)進程又無就緒態(tài)進程,是否可能?若可能,在什么情況下會產生?答:有可能。在系統(tǒng)死鎖的狀態(tài)下,進程組處于占有等待資源的狀態(tài),應當既不屬于執(zhí)行態(tài),也不屬于就緒態(tài)。.關于處理機調度,試問:(1)什么是處理機三級調度?(2)處理機三級調度分別在什么情況下發(fā)生?(3)各級調度分別完成什么工作?答:(1)處理機三級調度是:高級調度(作業(yè)調度)、中級調度(交換調度)和低級調度(進程調度),它們構成了操作系統(tǒng)內的多級調度,不同類型的操作系統(tǒng)不一定都有這三種調度。(2)高級調度是在需耍從后備作業(yè)隊列調度作業(yè)進入內存運行時發(fā)生;低級調度是在處理機空閑時需要調度一個就緒進程投入運行時發(fā)生;中級調度是在內存緊張不能滿足進程運行需要時發(fā)生。(3)高級調度決定把外存中處于后備隊列的哪些作業(yè)調入內存,并為它們創(chuàng)建進程和分配必要的資源,然后將新創(chuàng)建的進程接入就緒隊列準備執(zhí)行。低級調度則決定就緒隊列中的哪個進程將獲得處理機,并將處理機分配給該進程使用。中級調度是在內存資源緊張的情況下暫時將不運行的進程調至外存,待內存空閑時再將外存上具有運行條件的就緒進程重新調入內存。7.何謂JCB?其作用是什么?它由誰在什么時候創(chuàng)建?它由誰在什么時候撤消?JCB至少包括哪些內容?答:為了管理和調度外存中的作業(yè),就必須記錄己進入系統(tǒng)中的各作業(yè)情況,因此,系統(tǒng)為每個作業(yè)設置了一個作業(yè)控制塊JCB(Jobcontrolblock)來記錄作業(yè)的有關信息。JCB是作業(yè)存在的唯一標志,系統(tǒng)通過JCB而感加作業(yè)的存在,并通過JCB對作業(yè)進行控制和管理。系統(tǒng)在作業(yè)進入后備狀態(tài)時由作業(yè)注冊程序為作業(yè)建立JCB,從而使該作業(yè)可以被作業(yè)調度程序感知而實施管理。當作業(yè)執(zhí)行完畢進入完成狀態(tài)時由“終止作業(yè)”程序撤消其JCB,釋放有關資源,該作業(yè)就被撤消而不再存在了。不同的系統(tǒng)JCB所包含的信息有所不同,這取決于系統(tǒng)對作業(yè)的調度要求。通常JCB包含如下內容:(1)資源要求:要求運行時間、最遲完成時間、需要的內存容量、外設的種類及數(shù)量等。(2)資源使用情況:作業(yè)進入系統(tǒng)的時間、開始運行時間、已運行時間、內存地址、外部設備號等。(3)作業(yè)控制方式:聯(lián)機作業(yè)控制還是脫機作業(yè)控制。(4)作業(yè)類型:是終端型作業(yè)還是批量型作業(yè),是I/O繁忙型作業(yè)還是CPU繁忙型作業(yè)。.現(xiàn)有兩道作業(yè)同時執(zhí)行,一道以計算為主,另一道以輸入輸出為主,你將怎么賦予作業(yè)進程占有處理器的優(yōu)先級?為什么?答:優(yōu)先級調度算法的依據(jù)是:(1)對某些時間要求緊迫的作業(yè)給予優(yōu)光照顧;(2)為充分發(fā)揮外部設備的作用,優(yōu)先照顧I/O繁忙的作業(yè);(3)為保證終端會話型作業(yè)有合理的響應時間,應優(yōu)先照顧終端會話型作業(yè)。因此,應賦予輸入輸出為主的作業(yè)比以計算為主的作業(yè)更高的優(yōu)先級。.什么是作業(yè)?作業(yè)步?作業(yè)流?答:作業(yè)是用戶一次請求計算機系統(tǒng)為其完成任務所做工作的總和。作業(yè)步是處理作業(yè)各個獨立的子任務,即一個作業(yè)處理過程中相對獨立的加工步驟。在批處理系統(tǒng)中把若干作業(yè)依次放在輸入設備上,并在操作系統(tǒng)控制下將其送入輔存,形成一個作業(yè)流,也稱為輸入流。作業(yè)流是出若干作業(yè)組成的。.在一個分時系統(tǒng)中,若為每個進程分配時間片可以隨進程的執(zhí)行特點和執(zhí)行情況而變化?,F(xiàn)有兩類進程,一類進程經常產生中斷,另一類進程中斷次數(shù)很少,請問如何為這兩類進程分配時間片?為什么?更進一步,它們的優(yōu)先級如何確定?答:系統(tǒng)分配時間片,經常產生中斷的進程應分配較短的時間片,很少產生中斷的進程應分配較長的時間片。這是因為經常中斷的進程連續(xù)運行的時間相對較短,即使給它分配較長的時間片,也可能在時間片未用完之前產生中斷,這樣不利于CPU效率提高;而中斷次數(shù)很少的進程,它連續(xù)運行的時間較長,為減少調度次數(shù)應分配較長的時間片,盡可能讓它較長時間占用CPU,可減少系統(tǒng)在調度上的開銷。經常產生中斷的進程的優(yōu)先級應高于中斷次數(shù)少的進程的優(yōu)先級。因為這類進程經常產生中斷,當它占用CPU后因某事件主動讓出CPU時,就可以讓其他進程使用CPU,使CPU與其他部件并行工作。.考慮一個有3類資源的系統(tǒng),系統(tǒng)所有可用資源為(4,2,2),進程A申請(2.2,1),可滿足;進程B請求(1,0,1),可以滿足,若A再請求(0,0,1),則被阻塞。此時,若C請求(2,0,0),它可以分到剩余資源(1,0,0),并從A已分到的資源中獲得一個資源,于是進程A的分配向量變成(1,2,1),而需求向量變成(1,0,1)0(1)這種分配方式會導致死鎖嗎?如果會,請舉一個例子:如果不會,請說明產生死鎖的哪一個必要條件不成立?(2)這種分配方式會導致某些進程的無限等待嗎?為什么?答:(1)這種分配方式不會導致死鎖。因為死鎖的必要條件:請求并保持條件不成立。(2)有可能導致進程A的無限等待。因為進程A因處于等待狀態(tài)而被剝奪了資源,今后若進程B、C釋放所占資源,但后續(xù)進程源源不斷到來,相繼申請并占有進程A所需的資源.則進程A有可能進入無限等待狀態(tài)。.試說明資源的靜態(tài)分配策略能防止死鎖的原因。答:資源靜態(tài)分配策略要求每個進程在開始執(zhí)行前申請所需的全部資源,僅在系統(tǒng)為之分配了所需的全部資源后,該進程才開始執(zhí)行。這樣,進程在執(zhí)行過程中不再申請資源,從而破壞了死鎖的四個必要條件之一"占有并等待條件",從而防止死鎖的發(fā)生。.采用資源順序分配法可破壞死鎖的必要條件之一:“環(huán)路等待條件”,簡述該方法的思想,并說明這種方法為什么能預防死鎖。答:首先給系統(tǒng)中的資源編號,即作一個函數(shù)F:R-N,其中R為資源類型集合,N為自然數(shù)集合,進程只能按編號從小到大的順序申請資源,否則拒絕分配。若存在循環(huán)等待的一組進程.不妨記為(PO,Pl...Pa)且Pi擁有資源ri,則根據(jù)順序分配原則有:F(rO)<F(rl)<...F(ra)<F(rO),即F(rO)<F(rO)顯然與資源編號的唯一性相矛盾。故不會存在“環(huán)路等待”。.為什么說多級反饋隊列調度算法能較好地滿足各類用戶的需要?答:多級反饋隊列調度算法能較好地滿足各種類型用戶的需要。對終端型用戶而言,由于終端型作業(yè)用戶所提交的作業(yè)大部分屬于交互型作業(yè),作業(yè)通常比較短小,系統(tǒng)只要能使這些作業(yè)在第一隊列所規(guī)定的時間片內完成,便可使終端型作業(yè)用戶感到滿意;對于短批處理作業(yè)用戶而言,他們的作業(yè)開始時像終端型作業(yè)一樣,如果僅在第一隊列中執(zhí)行一個時間片即可完成,便可獲得與終端型作業(yè)一樣的響應時間,對于稍長的作業(yè),通常也只需要在第二隊列和第三隊列中各執(zhí)行一個時間片即可完成,其周轉時間仍然較短:對于長批處理作業(yè)用戶而言,他們的長作業(yè)將依次在第1,2,…,直到第n個隊列中運行,然后再按輪轉方式運行,用戶不必擔心其作業(yè)長期得不到處理。.為什么說采用有序資源分配法不會產生死鎖?答:為了便于說明,不妨設系統(tǒng)中有m類資源,n個進程,分別用RI,R2,…,Rm(l,2,…,m可看作資源編號)和Pl,P2,…Pn表示。根據(jù)有序資源分配法可知,進程申請資源時必須按照資源編號的升序進行,即任何進程在占有了R1類資源后,再申請的資源Rj的編號j一定大于1。因此在任一時刻,系統(tǒng)中至少存在一個進程Pk,它占有了較高編號的資源Rh,且它繼續(xù)請求的資源必然是空閑的,因而Pk可以一直向前推進直至完成,當Pk運行完成后即會釋放它占有的所有資源;在Pk完成之后,剩下的進程集合中同樣會存在一個進程,它占有了較高編號的資源,且它繼續(xù)請求的資源必然是空閑的,因而它可以一直向前推進直至完成,以此類推,所有進程均可運行完成,故不會發(fā)生死鎖。.有相同類型的5個資源被4個進程所共享,且每個進程最多需要2個這樣的資源就可以運行完畢。試問該系統(tǒng)是否會由于對這種資源的競爭而產生死鎖。答:該系統(tǒng)不會由于對這種資源的競爭而產生死鎖。因為在最壞情況下,每個進程都需要2個這樣的資源,且每個進程都已申請到了1個資源,那么系統(tǒng)中還剩下1個可用資源。無論系統(tǒng)為了滿足哪個進程的資源申請而將資源分配給該進程,都會因為該進程已獲得了它所需要的全部資源而確保它運行完畢,從而可將它占有的2個資源歸還給系統(tǒng),這就保證了其余三個進程能順利運行。由此可知,該系統(tǒng)不會由于對這種資源的競爭而產生死鎖。四.應用題1.假定在單CPU條件下有下列要執(zhí)行的作業(yè):作業(yè)運行時間優(yōu)先級1102243330作業(yè)到來的時間是按作業(yè)編號順序進行的(即后面作業(yè)依次比前一個作業(yè)遲到一個時間單位)。(1)用一個執(zhí)行時間圖描述在采用非搶占式優(yōu)先級算法時執(zhí)行這些作業(yè)的情況。(2)對于上述算法,各個作業(yè)的周轉時間是多少?平均周轉時間是多少?(3)對于上述算法,各個作業(yè)的帶權周轉時間是多少?平均帶權周轉時間是多少?解:(1)非搶占式優(yōu)先級算法作業(yè)的執(zhí)行情況如下:作業(yè)到達時間運行時間完成時間周轉時間帶權周轉時間1010101()1.021417164.032313113.7平均周轉時間12.3平均帶權周轉時間2.92.若在后備作業(yè)隊列中等待運行的同時有三個作業(yè)1、2、3,已知它們各自的運行時間為a、b、c,且滿足關系aVbVc,試證明采用短作業(yè)優(yōu)先調度算法能獲得最小平均周轉時間。證明:由于短作業(yè)優(yōu)先調度算法總是在后備作業(yè)隊列中選擇運行時間最短的作業(yè)作為調度對象,因此對短作業(yè)優(yōu)先調度算法而言,這三個作業(yè)的總周轉時間為T1=a+(a+b)+(a+b+c)=3a+2b+c (1)若不按短作業(yè)優(yōu)先調度算法來調度這三個作業(yè),不失一般性,假定調度順序為2、1、3,則其周轉時間為T2=b+(b+a)+(b+a+c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學美術課教案合集六篇
- 金融風控述職報告
- 餐飲個人年度工作總結模板
- 幼兒園班長個人述職總結5篇
- 中考給鼓勵孩子的一封信
- 手繪漫畫教學課件
- 幼兒園集體活動方案5篇
- 打擊非法傳銷主題班會5
- 2022年基層單位計劃生育工作計劃
- 大學教師工作總結模版
- 保健按摩師-國家職業(yè)標準(2023年版)
- 四川仁壽紅色革命
- 河北省安全生產風險管控與隱患治理規(guī)課件
- 氣管切開非機械通氣病人氣道護理課件
- 建設工程竣工消防查驗記錄
- 淺談10kV架空線路檔距的確定
- 《衛(wèi)星通信系統(tǒng)》課件
- 船舶與海洋工程導論(船舶性能)期末單元測試與答案
- 《溝通能力提升》課件
- 江蘇小高考計算機考試題目及答案
- 線上線下混合教學課程設計
評論
0/150
提交評論