計算機操作系統(tǒng)題目及答案整理_第1頁
計算機操作系統(tǒng)題目及答案整理_第2頁
計算機操作系統(tǒng)題目及答案整理_第3頁
計算機操作系統(tǒng)題目及答案整理_第4頁
計算機操作系統(tǒng)題目及答案整理_第5頁
已閱讀5頁,還剩118頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)復(fù)習(xí)題第一章操作系統(tǒng)引論一.選擇題.操作系統(tǒng)是一種_系統(tǒng)軟件o.操作系統(tǒng)的一處理機—管理部分負(fù)責(zé)對進程進行調(diào)度。.操作系統(tǒng)是對計算機資源—進行管理的軟件。.從用戶的觀點看,操作系統(tǒng)是用戶與計算機之間的接口—。.操作系統(tǒng)的功能是進行處理機管理、存儲器管理、設(shè)備管理及信息管理。.操作系統(tǒng)中采用多道程序設(shè)計技術(shù)提高CPU和外部設(shè)備的利用率O.操作系統(tǒng)是現(xiàn)代計算機系統(tǒng)不可缺少的組成部分,是為了提高計算機的利用率和方便用戶使用計算機而配備的一種系統(tǒng)軟件。.操作系統(tǒng)的基本類型主要有實時操作系統(tǒng)、批處理操作系統(tǒng)及分時操作系統(tǒng) o.所謂—多道程序設(shè)計—是指將一個以上的作業(yè)放入主存,并且同時處于運行狀態(tài),這些作業(yè)共享處理機的時間和外圍設(shè)備等其他資源。.下面關(guān)于操作系統(tǒng)的敘述中正確的是批處理作業(yè)必須具有作業(yè)控制信,口、0.如果分時操作系統(tǒng)的時間片一定,那么用戶數(shù)越多,則響應(yīng)時間越長。.實時操作系統(tǒng)必須在規(guī)定時間內(nèi)完成來自外部的事件。.分時系統(tǒng)中為了使多個用戶能夠同時與系統(tǒng)交互,最關(guān)鍵的問題是系統(tǒng)能夠及時接收多個用戶的輸入。.分時操作系統(tǒng)通常采用—時間片輪轉(zhuǎn)—策略為用戶服務(wù)。.在—實時—操作系統(tǒng)控制下計算機系統(tǒng)能及時處理由過程控制反饋的數(shù)據(jù)并作出響應(yīng)。.下面6個系統(tǒng)中,必須是實時操作系統(tǒng)的有個。計算機輔助設(shè)計系統(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.內(nèi)存C.CPUD.中斷.在下列操作系統(tǒng)的各個功能組成部分中,不需要硬件的支持。A.進程調(diào)度 B.時鐘管理C.地址映射 D.中斷系統(tǒng).設(shè)計實時操作系統(tǒng)時,首先應(yīng)考慮系統(tǒng)的實時性和可靠性o.分時系統(tǒng)需要使用下面哪些成分?⑴多道程序設(shè)計技術(shù) (2)作業(yè)說明書⑶終端命令解釋程序 (4)中斷處理⑸優(yōu)先級調(diào)度 (6)系統(tǒng)調(diào)用答:⑴、(3)、(4)、(6).時間片概念一般用于一分時操作系統(tǒng).批處理系統(tǒng)的主要缺點是無交互性,.下面不屬于操作系統(tǒng)功能。A.用戶管理 B.CPU和存儲管理C.設(shè)備管理 D.文件和作業(yè)管理答:A.當(dāng)CPU執(zhí)行系統(tǒng)程序時,CPU處于oA.管態(tài) B.目態(tài)C.系統(tǒng)態(tài) D.A和C答:D.能直接對系統(tǒng)中各類資源進行動態(tài)分配和管理,控制、協(xié)調(diào)各任務(wù)的并行執(zhí)行且系統(tǒng)中主機無主次之分,并向用戶提供統(tǒng)一的、有效的軟件接口的系統(tǒng)是分布式操作系統(tǒng),.下列選擇中,_高級程序設(shè)計語言的編譯器一不是操作系統(tǒng)關(guān)心的主要問題。.實時操作系統(tǒng)對可靠件和安全性的要求極高,它—不強求系統(tǒng)資源的利用率_O.火車站的售票系統(tǒng)屬于—實時一系統(tǒng)。.在分時系統(tǒng)中,通常的時間片是一幾十亳秒o.用于控制生產(chǎn)流水線、進行工業(yè)處理控制的操作系統(tǒng)是實時系統(tǒng)。.分時操作系統(tǒng)適用于—調(diào)試運行程序—=.下列系統(tǒng)中,屬于實時系統(tǒng)的是。A.辦公自動化系統(tǒng) B.計算機輔助設(shè)計系統(tǒng)C.£機訂票系統(tǒng) D.計算機激光照排系統(tǒng)答:C.目前個人計算機中的操作系統(tǒng)主要是單用戶操作系統(tǒng).強調(diào)并行計算的操作系統(tǒng)是—分布式操作系統(tǒng)—o.能夠?qū)崿F(xiàn)通信及資源共享的操作系統(tǒng)是網(wǎng)絡(luò)操作系統(tǒng)o.UNIX操作系統(tǒng)是??種_分時操作系統(tǒng)o.以下操作系統(tǒng)中屬于網(wǎng)絡(luò)操作系統(tǒng)的是oA.MS-DOSB.Windows98C.UNIXD.WindowsNT答:D二.填空題.操作系統(tǒng)的基本功能包括④處理機—管理、②存儲器—管理、_?設(shè)備一管理、@信息(或文件)_管理。除此之外還為用戶使用操作系統(tǒng)提供了用戶接口。.如果一個操作系統(tǒng)兼有批處理、分時處理和實時處理操作系統(tǒng)三者或其中兩者的功能,這樣的操作系統(tǒng)稱為_通用操作系統(tǒng)o.在分時和批處理系統(tǒng)結(jié)合的操作系統(tǒng)中引入了“前臺”和“后臺”作業(yè)的概念,其目的是—提高CPU的利用率。.實時操作系統(tǒng)與分時操作系統(tǒng)的主要區(qū)別是_及時性和高可靠性―-.在主機控制下進行的輸入/輸出操作稱為聯(lián)機輸入輸出操作。.按內(nèi)存中同時運行程序的數(shù)目可以將批處理系統(tǒng)分為兩類:①單道批處理系統(tǒng)和3多道批處理系統(tǒng)。.批處理一系統(tǒng)不允許用戶隨時干預(yù)自己程序的運行。.多道程序設(shè)計的特點是多道、宏觀上的并行和—微觀上的串行o.單道批處理系統(tǒng)是在解決人機矛盾和_CPU和I/。設(shè)備之間速度不匹配的矛盾中發(fā)展起來的。.對操作系統(tǒng)的總體設(shè)計目標(biāo)來說,批處理操作系統(tǒng)應(yīng)注重提高計算機的效率,盡量增加系統(tǒng)的—平均吞吐量分時操作系統(tǒng)應(yīng)保證用戶—所能忍受的響應(yīng)時間—;而實時操作系統(tǒng)則應(yīng)在保證及時響應(yīng)和處理有關(guān)事件的前提下,再考慮—系統(tǒng)資源的利用率。.分時系統(tǒng)中的響應(yīng)時間_是衡量-個分時系統(tǒng)性能的重要指標(biāo)。.導(dǎo)彈飛行控制系統(tǒng)屬于—實時系統(tǒng)。.在操作系統(tǒng)的發(fā)展過程中,多道程序設(shè)計和_分時系統(tǒng)一的出現(xiàn),標(biāo)志了操作系統(tǒng)的正式形成。.實時系統(tǒng)按應(yīng)用的不同分為過程捽制系統(tǒng)和_數(shù)據(jù)處理系統(tǒng)—兩種。.分時操作系統(tǒng)的用戶通過與計算機相連的終端來使用計算機系統(tǒng),允許多個用戶同時上機。.個人計算機操作系統(tǒng)每次只允許一個用戶使用計算機,稱為單用戶操作系統(tǒng)o.為計算機網(wǎng)絡(luò)配置的操作系統(tǒng)稱—網(wǎng)絡(luò)操作系統(tǒng)—o.網(wǎng)絡(luò)操作系統(tǒng)的主要功能是實現(xiàn)—各臺計算機之間的通信_以及一網(wǎng)絡(luò)中各種資源的共享 。.近年來,適合開放系統(tǒng)的操作系統(tǒng)成為一個重要的研究課題,IEEE把它命名為—POSIX 即計算機環(huán)境可移植操作系統(tǒng)。.在—分時系統(tǒng)_控制下,用戶在終端設(shè)備上可以直接輸入、調(diào)試和運行自己的程序,能直接修改程序中的錯誤,并直接獲得結(jié)果。.根據(jù)服務(wù)對象不同,常用的單處理機OS可以分為如下三種類型:允許多個用戶在其終端上同時交互地使用計算機的OS稱為一分時—系統(tǒng),它通常采用一時間片輪轉(zhuǎn)—策略為用戶服務(wù);允許用戶把苦干個作業(yè)提交計算機系統(tǒng)集中處理的OS稱為一批處理一系統(tǒng),衡量這種系統(tǒng)性能的一個主要指標(biāo)是系統(tǒng)的吞吐量—;在實時系統(tǒng)控制下,計算機系統(tǒng)能及時處理由過程控制反饋的數(shù)據(jù)并做出響應(yīng)。設(shè)計這種系統(tǒng)時應(yīng)首先考慮系統(tǒng)的及時性和可靠性O(shè)

三.簡答題敘述操作系統(tǒng)在計算機系統(tǒng)中的位置。答:操作系統(tǒng)是運行在計算機硬件系統(tǒng)上的最基本的系統(tǒng)軟件。它控制和管理著所有的系統(tǒng)硬件(CPU、主存、各種硬件部件和外部設(shè)備等),也控制和管理著所有的系統(tǒng)軟件(系統(tǒng)程序和用戶進程等),操作系統(tǒng)對計算機使用者提供了一種良好的操作環(huán)境,也為其他各種應(yīng)用系統(tǒng)提供了最基本的支撐環(huán)境?,F(xiàn)代操作系統(tǒng)是一個復(fù)雜的軟件系統(tǒng),它與計算機硬件系統(tǒng)有著千絲萬縷的聯(lián)系,也與用戶有著密不可分的關(guān)系,它在計算機系統(tǒng)中位于計算機裸機和計算機用戶之間,如下圖所示(圖1.1),緊挨著硬件的就是操作系統(tǒng),它通過系統(tǒng)核心程序?qū)τ嬎銠C系統(tǒng)中的兒類資源進行管理,如處理機、存儲器、輸入輸出設(shè)備、數(shù)據(jù)與文檔資源、用戶作業(yè)等,并向用戶提供若干服務(wù),通過這些服務(wù)將所有小A.上未:nH6/1用戶過它圖1.1操作系統(tǒng)的位置所有小A.上未:nH6/1用戶過它圖1.1操作系統(tǒng)的位置生環(huán)境。:本的系統(tǒng)軟件。:和應(yīng)用系統(tǒng),通'接口。怎樣理解“由于計算機上裝有操作系統(tǒng),從而擴展了原計算機的功能”?答:計算機系統(tǒng)的硬件結(jié)構(gòu)和機器?級的操作包含了諸如指令集、存儲器組織、總線結(jié)構(gòu)和輸入輸出部件等的操作與捽制,這些最基本的操作恰恰又是最復(fù)雜和最難以由用戶直接進行的操作。例如:用戶要進行文件讀寫,而文件是以二進制代碼的方式存放在磁盤、磁帶等存儲裝置中,需要有一種途徑把用戶的要求轉(zhuǎn)換成對具體的硬件部件、電路信號、選擇開關(guān)等的細(xì)微操作,用戶自己不可能完成這些操作,但操作系統(tǒng)把用戶的高級操作轉(zhuǎn)換成一系列的低級操作,最終完成文件的讀寫。所有的低級操作對用戶來講都是透明的,即無需用戶關(guān)心的、看不見的,操作系統(tǒng)把硬件全部隱藏起來,給用戶提供了一個友好的、易于操作的界面。此外,操作系統(tǒng)還要進行大量的系統(tǒng)事務(wù)處理。如響應(yīng)中斷的發(fā)生、處理定時操作、管理存儲器及其他低級操作。所以,可以說操作系統(tǒng)是硬件系統(tǒng)的擴展,從而擴展了原計算機的功能,它比直接對計算機硬件系統(tǒng)進行操作要容易得多。試對分時操作系統(tǒng)和實時操作系統(tǒng)進行比較。答:我們可以從以下幾個方面對這兩種操作系統(tǒng)進行比較:(1)實時信息處理系統(tǒng)與分時操作系統(tǒng)…樣都能為多個用戶服務(wù),系統(tǒng)按分時原則為多個終端用戶服務(wù);而對實時控制系統(tǒng),則表現(xiàn)為經(jīng)常對多路現(xiàn)場信息進行采集以及對多個對象或多個執(zhí)行機構(gòu)進行捽制。(2)實時信息處理系統(tǒng)與分時操作系統(tǒng)一樣,每個用戶各占一個終端,彼此獨立操作,互不干擾。因此用戶感覺就像他一人獨占計算機;而在實時控制系統(tǒng)中信息的采集和對對象的控制也都是彼此互不干擾的。(3)實時信息系統(tǒng)對響應(yīng)時間的要求與分時操作系統(tǒng)類似,都是以人所能接受的等待時間來確定的;而實時控制系統(tǒng)的響應(yīng)時間則是以控制對象所能接受的延時來確定的。(4)分時操作系統(tǒng)是一種通用系統(tǒng),主要用于運行終端用戶程序,因此它具有較強的交互能力。而實時操作系統(tǒng)雖然也有交互能力,但其交互能力不及刖者。(5)分時操作系統(tǒng)要求系統(tǒng)可靠,相比之下,實時操作系統(tǒng)則要求系統(tǒng)高度可靠。設(shè)計實時操作系統(tǒng)的主要困難是什么?答:設(shè)計適用于實時環(huán)境的操作系統(tǒng)的主要困難是:住實時環(huán)境規(guī)定的時間限額內(nèi)對用戶作出相應(yīng)的反應(yīng)。如果系統(tǒng)不能在規(guī)定的時間限額內(nèi)完成指定的任務(wù),那么就可能導(dǎo)致整個實時系統(tǒng)的崩潰。因此,在設(shè)計這類操作系統(tǒng)時,設(shè)計者必須保證所采用的調(diào)度策略及相關(guān)技術(shù)不會使響應(yīng)時間超過實時環(huán)境所規(guī)定的時間限額。采用多道程序設(shè)計的主要優(yōu)點是什么?答:多道程序設(shè)計考慮到作業(yè)的運行規(guī)律是交替使用CPU和I/0,故將多道程序同時保存于系統(tǒng)中,使各作業(yè)對CPU與I/O的使用在時間上重疊,提高了CPU和I/0設(shè)備的利用率。一個分層結(jié)構(gòu)操作系統(tǒng)由裸機,用戶,CPU管理,文件管理,作業(yè)管理,內(nèi)存管理,設(shè)備管理,命令管理等部分組成。試按層次結(jié)構(gòu)的原則從內(nèi)到外將各部分重新排列。答:按層次結(jié)構(gòu)原則從內(nèi)到外依次為:裸機,CPU管理,內(nèi)存管理,設(shè)備管理,文件管理,作業(yè)管理,命令管理,用戶。什么是操作系統(tǒng)?它有什么基本特征?答:操作系統(tǒng)是指控制和管理計算機的軟、硬件資源,介理組織計算機的工作流程、方便用戶使用的程序集介。操作系統(tǒng)具有4個基本特征:⑴并發(fā)性:宏觀上在一段時間內(nèi)有多道程序在同時運行,而微觀上這些程序是在交替執(zhí)行。⑵共享性:因程序的并發(fā)執(zhí)行而使系統(tǒng)中的軟、硬件資源不再為某個程序獨占,而是由多個程序共同使用。⑶虛擬性:多道程序設(shè)計技術(shù)把?臺物理計算機虛擬為多臺邏輯上的計算機,使得每個用戶都感覺自己是“獨占”計算機。⑷異步性(不確定性):多道程序系統(tǒng)中,各程序之間存在著直接或間接的聯(lián)系,程序的推進速度受到其他程序的影響,這樣,程序運行的順序、程序完成的時間以及程序運行的結(jié)果都是不確定的。操作系統(tǒng)是隨著多道程序設(shè)計技術(shù)的出現(xiàn)逐步發(fā)展起來的,要保證多道程序的正常運行,在技術(shù)上需要解決哪些基本問題?答:(1)在多道程序之間應(yīng)如何分配被它們共享的處理機,使得CPU既能滿足各程序運行的需要.又有較高的利用率;此外,一旦將CPU分配給某程序后,應(yīng)何時收回。⑵如何為每道程序分配必要的內(nèi)存空間,使它們各得其所但又不會因相互重疊而丟失信息;此外,應(yīng)如何防止因某道程序出現(xiàn)異常情況而破壞其他程序。(3)系統(tǒng)中可能有多種類型的I/O設(shè)備供多道程序共享,應(yīng)如何分配這些I/O設(shè)備,如何做到既方便用戶的使用,又能提高設(shè)備的利用率。⑷在現(xiàn)代計算機系統(tǒng)中通常都存在著大量的程序和數(shù)據(jù),應(yīng)如何組織它們才便于用戶使用;此外,還有信息保存的安全性和一致性問題。⑸對于系統(tǒng)中的各種應(yīng)用程序,它們有的屬于計算型,有的屬于I/O型,有些既重要又緊迫,有些又要求系統(tǒng)能及時響應(yīng),這時系統(tǒng)應(yīng)如何組織和安排這些作業(yè)(程序)的工作流程。實際上,這些問題的全體就是操作系統(tǒng)的核心內(nèi)容。如何理解操作系統(tǒng)的異步不確定性?答:在單道程序環(huán)境下,由于程序獨占全機軟、硬件資源且完全是在一個封閉環(huán)境下運行,所以,如果使用相同的輸入,則多次運行的結(jié)果必然相同。引入多道程序技術(shù)后,由于多道程序共享全機軟、硬件資源,即各程序之間存在著直接或間接的聯(lián)系。此時程序的運行就不是在一個封閉的環(huán)境下,程序的運行要受到其他程序和系統(tǒng)資源的影響,這會引起程序運行的結(jié)果、程序運行的順序和完成的時間不確定。此外,在多道程序環(huán)境下,外部設(shè)備的中斷、輸入輸出的請求等出現(xiàn)的時間都是不確定的。這些不確定因素給操作系統(tǒng)設(shè)計帶來了很大的復(fù)雜性。對于程序執(zhí)行結(jié)果的不確定是絕不允許的,這是操作系統(tǒng)必須解決的主要問題;而程序運行順序及完成時間的不確定是多道程序環(huán)境所決定的,因此,操作系統(tǒng)應(yīng)能對運行順序進行協(xié)調(diào)和管理。至于外部設(shè)備的中斷、輸入輸出請求甚至程序運行故障等不確定性,操作系統(tǒng)應(yīng)在出現(xiàn)的時刻及時響應(yīng)并予以解決,如果操作系統(tǒng)的設(shè)計考慮不周,也可能造成系統(tǒng)的混亂和崩潰。第二章進程管理一.選擇題.在進程管理中,當(dāng)時進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài).A.進程被進程調(diào)度程序選中 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)調(diào)用命令 D.兩條高級進程通信原語答:A.對進程的管理和控制使用。A.指令 B.原語C.信號量 D.信箱通信答:B.進程的并發(fā)執(zhí)行是指若干個進程oA.同時執(zhí)行 B.在執(zhí)行的時間上是重疊的C.在執(zhí)行的時間上是不可重疊的 D.共享系統(tǒng)資源答:B.若P、V操作的信號量S初值為2,當(dāng)前值為一1,則表示有等待進程。A.0個B.1個C.2個D.3個答:B.進程的三個基本狀態(tài)在一定條件下可以相互轉(zhuǎn)化,進程由就緒狀態(tài)變?yōu)檫\行狀態(tài)的條件是一①;由運行狀態(tài)變?yōu)樽枞麪顟B(tài)的條件是 ② 。A.時間片用完 B,等待某事件發(fā)生C.等待的某事件己發(fā)生 D.被進程調(diào)度程序選中答,①D②B.下列的進程狀態(tài)變化中,—變化是不可能發(fā)生的。A.運行一就緒 B.運行一等待C.等待一運行 D.等待一就緒答:C.一個運行的進程用完了分配給它的時間片后,它的狀態(tài)變?yōu)?A.就緒 B.等待C.運行 D.由用戶自己確定答:A.用P、V操作管理臨界區(qū)時,信號量的初值應(yīng)定義為。A.-1B.0C.1D.任意值答:C.用V操作喚醒一個等待進程時,被喚醒進程的狀態(tài)變?yōu)?A.等待B.就緒C.運行D.完成答:B.進程間的同步是指進程間在邏輯上的相互 關(guān)系。A.聯(lián)接B.制約C,繼續(xù)D.調(diào)用答:B.是-一種只能進行P操作和V操作的特殊變量。A.調(diào)度B.進程C.同步D.信號量答:D.下面對進程的描述中,錯誤的是oA.進程是動態(tài)的概念 B.進程執(zhí)行需要處理機C.進程是有生命期的 D.進程是指令的集合答:D.下面的敘述中正確的是—oA.操作系統(tǒng)的一個重要概念是進程,因此不同進程所執(zhí)行的代碼也一定不同。為了避免發(fā)生進程死鎖,各進程只能逐個申請資源。C.操作系統(tǒng)用PCB管理進程,用戶進程可以從此PCB中讀出與本身運行狀況有關(guān)的信息D.進程同步是指某些進程之間在邏輯上的相互制約關(guān)系答: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)中,直到被操作人員撤消隨著作業(yè)運行正?;虿徽=Y(jié)束而撤消C.隨著時間片輪轉(zhuǎn)而撤消與建立D.隨著進程的阻塞或喚醒而撤消與建立答:B.一個進程被喚醒意味著oA.該進程重新占有了CPU B.它的優(yōu)先權(quán)變?yōu)樽畲驝.其PCB移至等待隊列隊首 D.進程變?yōu)榫途w狀態(tài)答:D.下面所述步驟中,不是創(chuàng)建進程所必需的。A.由調(diào)度程序為進程分配CPU B.建立一個進程控制塊C.為進程分配內(nèi)存 D.將進程控制塊鏈入就緒隊列答:A.多道程序環(huán)境下,操作系統(tǒng)分配資源以—為基本單位。A.程序B.指令C.進程D.作業(yè)答:C.對于兩個并發(fā)進程,設(shè)互斥信號量為mutex,若mutex=0,則OA.表示沒有進程進入臨界區(qū)表示有一個進程進入臨界區(qū)C.表示有一個進程進入臨界區(qū),另一個進程等待進入D.表示有兩個進程進入臨界區(qū)答:B.兩個進程合作完成一個任務(wù),在并發(fā)執(zhí)行中,?個進程要等待其合作伙伴發(fā)來消息,或者建立某個條件后再向前執(zhí)行,這種制約性合作關(guān)系被稱為進程的。A.同步B.互斥C.調(diào)度D.執(zhí)行答:A.為了進行進程協(xié)調(diào),進程之間應(yīng)當(dāng)具有一定的聯(lián)系,這種聯(lián)系通常采用進程間交換數(shù)據(jù)的方式進行,這種方式稱為oA.進程互斥B.進程同步C.進程制約D.進程通信答:D.設(shè)有5個進程共享一個互斥段,如果最多允許有3個進程同時進入互斥段,則所采用的互斥信號量的初值應(yīng)是0A.5 B.3 C.1 D.0答:B.支持多道程序設(shè)計的操作系統(tǒng)在運行過程中,不斷地選擇新進程運行來實現(xiàn)CPU的共享,但其中不是引起操作系統(tǒng)選擇新進程的直接原因。A.運行進程的時間片用完 B.運行進程出錯C.運行進程要等待某一事件的發(fā)生 D.有新進程進入就緒狀態(tài)答:D.在多道程序設(shè)計系統(tǒng)中,多個計算問題同時裝入計算機系統(tǒng)的主存儲器=A.并發(fā)執(zhí)行 B.順序執(zhí)行C.并行執(zhí)行 D.同時執(zhí)行答:A

.引入多道程序設(shè)計技術(shù)后,處理器的利用率。A.有所改善 B.極大地提高C.降低了D.無變化,僅使程序執(zhí)行方便答:B.從總體上說,采用多道程序設(shè)計技術(shù)可單位時間的算題量,但對每一個算題,從算題開始到全部完成所需的時間比單道執(zhí)行所需的時間可能要oA.增加,減少B.增加,延長C.減少,延長D.減少,減少答:B.同一程序運行在不同的數(shù)據(jù)集上,創(chuàng)建了的進程。A.同步B.互斥C.相同D.不同答:D.關(guān)于進程,下列敘述不正確的是oA.進程包含了數(shù)據(jù)和運行其上的程序同一程序運行在不同的數(shù)據(jù)集合上時,構(gòu)成不同的進程C.?個被創(chuàng)建了的進程,在它消亡之前,總是處于三種基本狀態(tài)之一D.若干個進程在單CPU系統(tǒng)中必須依次執(zhí)行,即一個進程完成后,另一個進程才能開始工作答:D.對于一個單CPU系統(tǒng),允許若干進程同時執(zhí)行,輪流占用CPU稱它們?yōu)榈?。A.順序執(zhí)行B.A.順序執(zhí)行B.同時執(zhí)行C.并行執(zhí)行C.并行執(zhí)行D.并發(fā)執(zhí)行答:D.一個程序與和它有關(guān)的進程的對應(yīng)關(guān)系是0A.一對一 B.多對一C.一對多 D.多對多答:C35.在操作系統(tǒng)中,使計算機系統(tǒng)能實現(xiàn)進程并發(fā)執(zhí)行,保證系統(tǒng)正常工作的機制是0A.中斷 B.查詢C.同步 D.互斥答:A二.填空題.進程的基本特征有①、②、獨立性、異步性及結(jié)構(gòu)特征。答:①動態(tài)性②并發(fā)性.信號量的物理意義是當(dāng)信號量值大于零時表示①;當(dāng)信號量值小于零時其絕對值表示②。答:①可用資源的數(shù)目 ②因請求該資源而被阻塞的進程數(shù)目.臨界資源的概念是①,而臨界區(qū)是指②.答:①一次僅允許一個進程訪問的資源②進程中訪問臨界資源的那段程序代碼.進程在運行過程中有三種基本狀態(tài),它們是①、②、③。答:①運行②就緒③等待(阻塞).進程主要由①、② 、③三部分內(nèi)容組成,其中④是進程存在的唯一標(biāo)志,而⑤部分也可以為其他進程共享。答:①程序段②數(shù)據(jù)段③PCB@PCB⑤程序段.系統(tǒng)中各進程之間邏輯上的相互制約關(guān)系稱為 。答:進程同步.若一個進程己進入臨界區(qū),其他欲進入臨界區(qū)的進程必須 。答:等待.將進程的 鏈接在一起就形成了進程隊列。答:PCB.用P、V操作管理臨界區(qū)時,任何一個進程在進入臨界區(qū)之前應(yīng)調(diào)用①操作,在退出臨界區(qū)時應(yīng)調(diào)用②操作。答:①P②V.用信箱實現(xiàn)通信時,應(yīng)有①和②兩條基本原語。答:①發(fā)送②接收.在多道程序系統(tǒng)中,進程之間存在著的不同制約關(guān)系可以劃分為兩類:①與②。③指進程間具有的一定邏輯關(guān)系;④是指進程間在使用共享資源方面的約束關(guān)系。答:①同步②互斥③同步④互斥.有m個進程共享同一?臨界資源,若使用信號量機制實現(xiàn)對臨界資源的互斥訪問,則信號量值的變化范圍是1至一(m-l) 。.設(shè)系統(tǒng)中有n(n>2)個進程,且當(dāng)前不再執(zhí)行進程調(diào)度程序,試考慮下述4種情況:①沒有運行進程,有2個就緒進程,n個進程處于等待狀態(tài)。②有1個運行進程,沒有就緒進程,n—l進程處于等待狀態(tài)。⑨有1個運行進程,有1個就緒進程,n—2進程處于等待狀態(tài)。④有1個運行進程,n—l個就緒進程,沒有進程處于等待狀態(tài)。上述情況中,不可能發(fā)生的情況是答:①.在一個單處理機系統(tǒng)中,若有5個用戶進程,且假設(shè)當(dāng)前時刻為用戶態(tài),則處于就緒狀態(tài)的用戶進程最多有①個,最少有②個。答:①4②。.操作系統(tǒng)中,對信號量S的P原語操作定義中,使進程進入相應(yīng)等待隊列等待的條件是。答:S<0.下面關(guān)于進程的敘述不正確的是 。①進程申請CPU得不到滿足時,其狀態(tài)變?yōu)榈却隣顟B(tài)。②在單CPU系統(tǒng)中,任一時刻至多有一個進程處于運行狀態(tài)。③優(yōu)先級是進行進程調(diào)度的重要依據(jù),一旦確定不能改變。④進程獲得處理機而運行是通過調(diào)度而實現(xiàn)的。答:③.信箱邏輯上分成①信箱頭和②信箱體兩部分。①中存放有關(guān)信箱的描述。②由若干格子組成,每格存放一信件,格子的數(shù)目和大小在創(chuàng)建信箱時確定。.當(dāng)多個進程等待分配處理機時,系統(tǒng)按一種規(guī)定的策略從多個處于就緒狀態(tài)的進程中選擇一個進程,讓它占有處理機,被選中的進程就進入了、執(zhí)行狀態(tài)。.若使當(dāng)前運行的進程總是優(yōu)先級最高的進程,應(yīng)選擇搶占式(剝奪式) 進程調(diào)度算法。.操作系統(tǒng)中用于完成一些特定功能的、不可中斷的過程稱為原語。三.簡答題.在操作系統(tǒng)中為什么要引入進程概念?它與程序的關(guān)系是怎樣的?答:在操作系統(tǒng)中,由于多道程序并發(fā)執(zhí)行時共享系統(tǒng)資源,共同決定這些資源的狀態(tài),因此系統(tǒng)中各程序在執(zhí)行過程中就出現(xiàn)了相互制約的新關(guān)系,程序的執(zhí)行出現(xiàn)“走走停停”的新狀態(tài)。這些都是在程序執(zhí)行的動態(tài)過程中發(fā)生的。用程序這個靜態(tài)概念已不能如實反映程序并發(fā)執(zhí)行過程中的這些特征。為此,人們引入“進程”這?概念來描述程序動態(tài)執(zhí)行過程的性質(zhì)。進程和程序是既有聯(lián)系又有區(qū)別的兩個概念,進程不能脫離具體程序而虛設(shè),程序規(guī)定了相應(yīng)進程所要完成的動作。它們的主要區(qū)別如下:⑴程序是指令的有序集合,其本身沒有任何運行的含義,它是一個靜態(tài)的概念;進程是程序在處理機上的一次執(zhí)行過程,它是一個動態(tài)概念。⑵程序的存在是永久的,而進程則是有生命期的,它因創(chuàng)建而產(chǎn)生,因調(diào)度而執(zhí)行,因得不到資源而暫停,因撤銷而消亡。⑶程序僅是指令的有序集合。而進程則由程序、數(shù)據(jù)和進程控制塊組成。⑷在傳統(tǒng)的操作系統(tǒng)中,進程是資源分配和調(diào)度運行的基本單位,而程序不是。⑸進程與程序之間不是一一對應(yīng)的,即同一程序同時運行于若干不同的數(shù)據(jù)集合上,它將屬于若干個不同的進程;而一個進程至少對應(yīng)執(zhí)行一個程序。.為了實現(xiàn)并發(fā)進程間的合作和協(xié)調(diào)工作,以及保證系統(tǒng)的安全,操作系統(tǒng)在進程管理方面應(yīng)做哪些工作?答:(1)進程控制:系統(tǒng)必須設(shè)置一套控制機構(gòu)來實現(xiàn)進程創(chuàng)建、進程撤消以及進程在運行過程中的狀態(tài)轉(zhuǎn)換。⑵進程同步:系統(tǒng)必須設(shè)置同步機制來實現(xiàn)對所有進程的運行進行協(xié)調(diào),協(xié)調(diào)的方式包括進程的互斥和進程的同步。⑶進程通信:多道程序環(huán)境下可能需要諸進程合作完成一個任務(wù),這些進程相互間需要通過交換信息來協(xié)調(diào)各自工作的進度。因此系統(tǒng)必須具有進程之間通信(交換信息)的能力。⑷進程調(diào)度:系統(tǒng)必須能夠在處理機空閑時,按一定算法從就緒進程隊列中選擇一個就緒進程,把處理機分配給它,并為之設(shè)置運行的現(xiàn)場使其投入運行。.在操作系統(tǒng)中引入線程概念的主要目的是什么?答:減少程序并發(fā)執(zhí)行時所需付出的口寸空開銷,提高程序執(zhí)行的并發(fā)度。特別有利于共享存儲器的多處理機系統(tǒng),和更加適合c/S模型。.在一個單CPU的多道程序設(shè)計系統(tǒng)中,若在某一時刻有N個進程同時存在,那么處于運行態(tài)、等待態(tài)和就緒態(tài)進程的最小和最大值分別可能是多少?答:若多道程序設(shè)計系統(tǒng)中,在某一時刻有N個進程同時存在,則處于運行態(tài)的進程最少。個,最大1個;處于就緒態(tài)的進程最少。個,最大N—1個;處于等待態(tài)的進程最少0個,最大N個。.進程之間存在哪幾種相互制約關(guān)系?各是什么原因引起的?下列活動分別屬于哪種制約關(guān)系?⑴若干同學(xué)去圖書館借書;(2)兩隊舉行籃球比賽;⑶流水線生產(chǎn)各道工序;⑷商品生產(chǎn)和社會消費答:進程之間的制約關(guān)系分為直接制約關(guān)系(即同步)和間接制約關(guān)系(即互斥)。同步是因合作進程之間協(xié)調(diào)彼此的工作而控制自己的執(zhí)行速度,即因相互合作、相互等待而產(chǎn)生的制約關(guān)系;而互斥是進程之間競爭臨界資源而禁止兩個以上的進程同時進入臨界區(qū)所發(fā)生的制約關(guān)系。⑴屬于互斥關(guān)系,因為一本書只能借給一個同學(xué)。(2)屬于互斥關(guān)系,籃球只有一個,兩隊都要爭奪。(3)居于同步關(guān)系,各道工序的開始都依賴前一道工序的完成。(4)屬于同步關(guān)系,商品沒生產(chǎn)出來則消費無法進行,商品沒有消費完則無須再生產(chǎn)。.為了讓用戶進程互斥地進入臨界區(qū),可以把整個臨界區(qū)實現(xiàn)成不可中斷的過程,即讓用戶具有屏蔽所有中斷的能力。每當(dāng)用戶程序進入臨界區(qū)的時候,屏蔽所有中斷;當(dāng)出了臨界區(qū)的時候,再開放所有中斷。你認(rèn)為這種方法有什么缺點。答:用戶進程進入臨界區(qū)時屏蔽所有中斷,應(yīng)當(dāng)也包括系統(tǒng)程序。若屏蔽的是用戶進程,的確可以保護臨界資源,但若系統(tǒng)所發(fā)出的中斷也被屏蔽,則會引起錯誤,因為系統(tǒng)的中斷往往與當(dāng)前運行的程序無關(guān),卻可能是一些重要的硬件中斷,如電源故障等,故不可盲目屏蔽所有中斷;又或者當(dāng)時發(fā)出故障中斷的中斷源恰好是該臨界資源,則更應(yīng)該及時響應(yīng)處理。.設(shè)有n個進程共享一個互斥段,對于如下兩種情況:⑴如果每次只允許一個進程進入互斥段;(2)如果每次最多允許m個進程(m<n)同時進入互斥段。試問:所采用的互斥信號量初值是否相同?信號量的變化范圍如何?答:(1)信號量的初值為1。信號量的變化范圍是1,0,—1,…,-(n-1)。⑵信號量的初值為m。信號量的變化范圍是:m,m—1, (n—m)o四.應(yīng)用題.若程序A和B單獨執(zhí)行時分別需要1小時和1.5小時,其中CPU工作時間分別為18分鐘和27分鐘。若采用多道程序設(shè)計方法,讓A和B并行工作,假定CPU利用率達(dá)到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))/(60十90)=45/150=30%.在測量控制系統(tǒng)中,數(shù)據(jù)采集任務(wù)把所采集的數(shù)據(jù)送入一單緩沖區(qū);計算任務(wù)從該單緩沖區(qū)中取出數(shù)據(jù)進行計算。試寫出利用信號量機制實現(xiàn)兩者共享單緩沖區(qū)的同步算法。解:在本題中,應(yīng)設(shè)置兩個信號童sf,se,信號量sf表示緩沖區(qū)中是否有可供打印的計算結(jié)果,其初值為。;信號量se用于表示緩沖區(qū)有無空位置存放新的信息,其初值為1。本題的同步描述如下:intse=l;intsf=O;main()(cobeginget();compute();coend)get(){while(采集工作未完成){采集一個數(shù)據(jù);P(se);將數(shù)據(jù)送入緩沖區(qū);v(sf);})compute()(while(計算工作未完成)P(sf);

從緩沖區(qū)中取出數(shù)據(jù);v(se);進行數(shù)據(jù)計算;間的一任務(wù)的前趨圖,試說明這四個進程間的一任務(wù)的前趨圖,試說明這四個進程解:上圖說明任務(wù)啟動后SI先執(zhí)行。當(dāng)S1結(jié)束后,S2、S3可以開始執(zhí)行。S2、S3完成后,S4才能開始執(zhí)行。為了確保這一執(zhí)行順序,設(shè)三個同步信號量b2、b3、b4分別表示進程S2、S3、S4是否可以開始執(zhí)行,其初值均為0。這四個進程的同步描述如下:intb2=0;intb3=0;intb4=0;main(){cobeginsi();();();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操作*/執(zhí)行乂六、 換圖如下,請說明:__\__(1)引起各種狀態(tài)轉(zhuǎn)換的典型事件有哪些?(2)當(dāng)我們觀察系統(tǒng)中某些進程時,能夠看到某一進程產(chǎn)生的一次狀態(tài)轉(zhuǎn)換能引起另一進程作一次狀態(tài)轉(zhuǎn)換。在什么情況下,當(dāng)一個進程發(fā)生轉(zhuǎn)換3時能立即引起另一個進程發(fā)生轉(zhuǎn)換I?(3)試說明是否會發(fā)生下述因果轉(zhuǎn)換:4T*答:(1)在本題所給的進程狀態(tài)轉(zhuǎn)換圖中.存在四種狀態(tài)轉(zhuǎn)換。當(dāng)進程調(diào)度程序從就緒隊列中選取一個進程投入運行時引起轉(zhuǎn)換1;正在執(zhí)行的進程如因時間片用完而被暫停執(zhí)行就會引起轉(zhuǎn)換2;正在執(zhí)行的進程因等待的事件尚未發(fā)生而無法執(zhí)行(如進程請求完成I/O)則會引起轉(zhuǎn)換3;當(dāng)進程等待的事件發(fā)生時(如I/O完成)則會引起轉(zhuǎn)換4O⑵如果就緒隊列非空,則一個進程的轉(zhuǎn)換3會立即引起另一個進程的轉(zhuǎn)換lo這是因為一個進程發(fā)生轉(zhuǎn)換3意味著正在執(zhí)行的進程由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài),這時處理機空閑,進程調(diào)度程序必然會從就緒隊列中選取一個進程并將它投入運行,因此只要就緒隊列非空,一個進程的轉(zhuǎn)換3能立即引起另一個進程的轉(zhuǎn)換1。⑶所謂因果轉(zhuǎn)換指的是有兩個轉(zhuǎn)換,一個轉(zhuǎn)換的發(fā)生會引起另一個轉(zhuǎn)換的發(fā)生,前一個轉(zhuǎn)換稱為因,后一個轉(zhuǎn)換稱為果,這兩個轉(zhuǎn)換稱為因果轉(zhuǎn)換。當(dāng)然這種因果關(guān)系并不是什么時候都能發(fā)生,而是在一定條件下才會發(fā)生。一21:發(fā)生轉(zhuǎn)換2時,就必然引起另一進程的轉(zhuǎn)換1。因為當(dāng)發(fā)生轉(zhuǎn)換2時,正在執(zhí)行的進程從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài),進程調(diào)度程序必然會從就緒隊列中選取一個進程投入運行,即發(fā)生轉(zhuǎn)換1。f32:某個進程的轉(zhuǎn)換3決不可能引起另一進程發(fā)生轉(zhuǎn)換2。這是因為當(dāng)前執(zhí)行進程從執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài).不可能又從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài)。- 41:當(dāng)處理機空閑且就緒隊列為空時,某一進程的轉(zhuǎn)換4就會引起該進程的轉(zhuǎn)換1。因為此時處理機空閑,一旦某個進程發(fā)生轉(zhuǎn)換4,就意味著有一個進程從阻塞狀態(tài)變?yōu)榫途w狀態(tài),因而調(diào)度程序就會將就緒隊列中的此進程投入運行。5.某車站售票廳,任何時刻最多可容納20名購票者進入,當(dāng)售票廳中少于20名購票者時,廳外的購票者可立即進入,否則需在外面等待。若把一個購票者看作一個進程,請回答下列問題:(1)用PV操作管理這些并發(fā)進程時,應(yīng)怎樣定義信號量,寫出信號量的初值以及信號量各種取值的含義。(2)根據(jù)所定義的信號量,把應(yīng)執(zhí)行的P、V操作填入下面橫線上,以保證進程能夠正確地并發(fā)執(zhí)行。(3)若欲購票者最多為n個人,寫出信號量可能的變化范圍(最大值和最小值)。答:(1)定義一信號量S,初始值為20,其意義如下:S>0S的值表示可繼續(xù)進入售票廳的人數(shù)S=0表示售票廳中已有20名顧客(購票者)S<01S|的值為等待進入售票廳的人數(shù)(2)根據(jù)所定義的信號量,把應(yīng)執(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ā)椅上睡覺.當(dāng)一個顧客到來時,他必須先喚醒理發(fā)師.如果顧客到來時理發(fā)師正在理發(fā),則如果有空椅子,可坐下來等;否則離開。解:定義信號量如下:VarSn:semaphore;{位子數(shù)目,初值為n}semaphore;{理發(fā)師睡覺,初值為1}mutex: semaphore;{初值為1}用P、V操作實現(xiàn)如下:顧客進程i:P(Sn);{門外觀望}P(mutex);進門;V(mutex);V(S);{if(sn==n-l)v(s);)等候;理發(fā);V(Sn)P(mutex);出門;V(mutex);理發(fā)師進程:RepeatP(S);P(mutex);叫人理發(fā);V(mutex);理發(fā);Untilfalse;7.試寫出用加鎖原語和開鎖原語實現(xiàn)兩個進程關(guān)于臨界資源的操作的描述。答:Programtestbegins:=0(表示該資源可用)cobegin(1)A:begin加鎖原語;臨界區(qū)A;開鎖原語;endB:begin加鎖原語;臨界區(qū)B;開鎖原語;endconendend.桌子上有一只盤子,每次只能放入一只水果。爸爸專向盤中放蘋果,媽媽專向盤中放桔子,一個兒子專等吃盤中的桔子,一個女兒專等吃盤中的蘋果。請利用P、V操作實現(xiàn)他們之間的同步。解:在本題中,應(yīng)設(shè)置三個信號量s、so,sa,信號量s表示盤子是否為空,其初值為1;信號量so表示盤中是否有桔子,其初值為0;信號量sa表示盤中是否有蘋果,其初值為0。同步描述如下:ints=l;intsa=0;intso=0;main(){cobeginfather();son();daughter();coendfather()p(s);將水果放入盤中;if(放入的是桔子)v(so);elsev(sa);}son()(p(so);從盤中取出桔子;v(s);吃桔子;)daughter()(p(sa);從盤中取出蘋果;v(s);吃蘋果;).桌子上有一只盤子,最多可容納兩個水果,每次只能放人或取出一個水果。爸爸專向盤子中放蘋果(apple),媽媽專向盤子中放桔子(orange),兩個兒子專等吃盤子中的桔子,兩個女兒專等吃盤子中的蘋果。請用Pv操作來實現(xiàn)爸爸、媽媽、兒子、女兒之間的同步與互斥關(guān)系。解:盤子為互斥資源,因可以放兩個水果,empty初值為2;再設(shè)信號量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;Parend.現(xiàn)為某臨界資源設(shè)一把鎖w,當(dāng)w=l時,表示關(guān)鎖,w=0時,表示鎖已打開,試寫出開鎖和關(guān)鎖的原語,并說明如何利用它們?nèi)タ刂茖υ撆R界資源的互斥訪問?解:①開鎖原語unlock(w)如下:unlock(w):w:=0關(guān)鎖原語lock(w)如下:Lock(w):whilew=ldoskip;w:=1;②可設(shè)臨界段cs放在兩者之間來實現(xiàn)互斥,即Lock(w);cs;unlock(w).用PV操作解決讀者寫者問題的正確程序如下:beginS,Sr:Semaphore;rc:integer;S:=l;Sr:=l;rc:=O;cobeginPROCESSReaderi(1=1,2...)beginP(Sr)rc:=rc+l;ifrc=lthenP(S);V(Sr);readfile;P(Sr);rc:=rc-lifrc=0thenV(S);V(Sr);end;PROCESSWriterj(j=l,2.??)beginP(S);Writefile;V(S)end;coend;end;請回答:(1)信號量Sr■的作用;(1)程序中什么語句用于讀寫互斥,寫寫互斥;⑵(3)若規(guī)定僅允許5個進程同時讀怎樣修改程序?答:(1)Sr用于讀者計數(shù)rc的互斥信號量;ifrc=lthenP(S)中的P(S)用于讀寫互斥,寫者進程中的P(S)用于寫寫互斥,讀寫互斥。(3)程序中增加一個信號量S5,初值為5,P(S5)語句加在讀者進程P(Sr)之前,V(S5)語句加在讀者進程第2個V(Sr)之后。.哲學(xué)家甲請哲學(xué)'一一 口定全體到齊后開始討論;在討論的間隙四位 叉片:刀、叉各一把,餐桌上的布置如下圖所示。 丙(0食品)甲.應(yīng)哲學(xué)家的同步、互斥過程。 ,J刀

乙(其中b表示刀,W表示叉)解:在本題中,應(yīng)設(shè)置四個信號量fOrkl、fork2,knifel,knife2,其初值均為1,分別表示資源叉1、叉2、刀1、刀2是否可用。同步描述如下:intfork1=1;intfork2=l;intknifel=l;intknife2=l;main()(cobeginpa();Pb();pc();pd();coend;pa()while(1);(p(knifel);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(fork2);討論問題;))pd(){while(1);{p(knifel);P(fork2);進餐;v(knifel);v(forkl);討論問題;)).某數(shù)據(jù)庫有一個寫進程,多個讀進程,它們之間讀、寫操作的互斥要求是:寫進程正在寫該數(shù)據(jù)庫時不能有其他進程讀該數(shù)據(jù)庫,也不能有其他進程寫該數(shù)據(jù)庫;讀進程之間不互斥,可以同時讀該數(shù)據(jù)庫。請用信號量及P、V操作描述這一組進程的工作過程。解:在本題中,允許讀進程同時讀數(shù)據(jù)庫,但寫進程正在寫數(shù)據(jù)庫時不允許其他進程讀數(shù)據(jù)庫,也不允許其他進程寫該數(shù)據(jù)庫。為了解決讀、寫進程之間的同步,應(yīng)設(shè)置兩個信號量和一個共享變量:讀互斥信號量rmutex,用于使讀進程互斥地訪問共享變量count,其初值為1;寫互斥信號量wmutex,用于實現(xiàn)寫進程與讀進程的互斥及寫進程與寫進程的互斥,其初值為1,共享變量count,用于記錄當(dāng)前正在讀數(shù)據(jù)庫的讀進程數(shù)目,初值為0。其工作過程如下:intrmutex=l;intwmutex=l;intcount=0;main()cobeginreader();write();coend)whiled)p(rmutex);if(count=0)p(wmutex);count++;v(rmutex);讀數(shù)據(jù)庫;p(rmutex);count——if(count=0)v(wmutex);v(rmutex);))write()(while(l){p(wmutex);寫數(shù)據(jù)庫;v(wmutex);.設(shè)公共汽車上,司機和售票員的活動分別是:司機的活動:啟動車輛;正常行車;到站停車;售票員的活動:關(guān)車門;售票;開車門;在汽車不斷的到站、停車、行駛過程中,這兩個活動有什么同步關(guān)系?用信號量和P、V操作實現(xiàn)他們的同步。解:在汽車行駛過程中,司機活動與售票員活動之間的同步關(guān)系為:售票員關(guān)車門后,向司機發(fā)開車信號,司機接到開車信號后啟動車輛,在汽車正常行駛過程中售票員售票,到站時司機停車,售票員在車停后開車門讓乘客上下車。因此司機啟動車輛的動作必須與售票員關(guān)車門的動作取得同步;售票員開車門的動作也必須與司機停車取得向步,在本題中,應(yīng)設(shè)置兩個信號量:si、s2,si表示是否允許司機啟動汽車,其初值為0:s2表示是否允許售票員開門,其初值為0。用P、v原語描述如下:intsl=0;ints2=0;main()(cobegindriver();busman();coendwhile(1)p(sl);啟動車輛;正常行車;到站停車;v(s2);)}busman()(while(1)(關(guān)車門;v(sl);售票;P(s2);開車門;上下乘客;)).有一個倉庫,可以存放A和B兩種產(chǎn)品,倉庫的存儲空間足夠大,但要求:(1)一次只能存入一種產(chǎn)品(A或B);(2)—N〈A戶品數(shù)星一B產(chǎn)品數(shù)量〈M。其中,N和M是正整數(shù)。試用“存放A”和“存放B”以及P、v操作描述產(chǎn)品A與產(chǎn)品B的入庫過程。解:由于不能直接在程序中使用表達(dá)式的值來控制產(chǎn)品A與產(chǎn)品B入庫的同步與互斥過程,因此應(yīng)將表達(dá)式轉(zhuǎn)換成制約條件,即首先將表達(dá)式分解為:A產(chǎn)品數(shù)量-B產(chǎn)品數(shù)量<MB產(chǎn)品數(shù)量-A產(chǎn)品數(shù)量0進一步分析如下:(1)苦只放入A產(chǎn)品而不放入B產(chǎn)品,則A產(chǎn)品最多可放MT次。因此,設(shè)信號量Sa初值為MT。此外,每當(dāng)放入一個B產(chǎn)品時,則使信號量Sa增1,即A產(chǎn)品隨之增加?次放入的機會。(2)若只放入B產(chǎn)品而不放入A產(chǎn)品,則B產(chǎn)品最多可放N-1次。因此,設(shè)信號量Sb初值為從21。此外,每當(dāng)放入一個A產(chǎn)品時,則使信號量Sb增1,即B產(chǎn)品隨之增加一次放入的機會。因為每次只允許一種產(chǎn)品入庫,所以設(shè)置信號量mutex控制對倉庫的互斥訪問。并發(fā)程序如下:beginmutex:=1;Sa:=M-l;Sb:=N-l;CobeginPA:beginRepeatP(Sa);P(mutex);

A產(chǎn)品入庫;V(mutex);V(Sb);UntilfalseEndPB:beginRepeatP(Sb);P(mutex);B產(chǎn)品入庫;V(mutex);V(Sa);UntilfalseEndCoendend第三章處理機調(diào)度與死鎖一.選擇題.在為多道程序所提供的可共享的系統(tǒng)資源不足時,可能出現(xiàn)死鎖。但是,不適當(dāng)?shù)摹部赡墚a(chǎn)生死鎖。A.進程優(yōu)先權(quán) B.資源的線性分配C.進程推進順序D.C.進程推進順序D.分配隊列優(yōu)先權(quán)答:c.采用資源剝奪法可解除死鎖,還可以采用方法解除死鎖。A.執(zhí)行并行操作 B.撤消進程C.拒絕分配新資源 D.修改信號量答:B.產(chǎn)生死鎖的必要條件有四個,要防止死鎖的發(fā)生,可以破壞這四個必要條件之一,但破壞—互斥—條件是不大實際的。.在分時操作系統(tǒng)中,進程調(diào)度經(jīng)常采用—時間片輪轉(zhuǎn)算法..資源的按序分配策略可以破壞—循環(huán)等待資源條件。.在情況下,系統(tǒng)出現(xiàn)死鎖。A.計算機系統(tǒng)發(fā)生了重大故障.有多個封鎖的進程同時存在C.苦干進程因競爭資源而無休止地相互等持他方釋放已占仃的資源D.資源數(shù)大大小于進程數(shù)或進程同時申請的資源數(shù)大大超過資源總數(shù)答:C.銀行家算法是一種—死鎖避免—算法。—靜態(tài)—優(yōu)先權(quán)是在創(chuàng)建進程時確定的,確定之后在整個進程運行期間不再改變。.某系統(tǒng)中有3個并發(fā)進程,都需要同類資源4個,試問該系統(tǒng)不會發(fā)生死鎖的最少資源數(shù)是 、A.9B.10C.11D.12答:B.在下列解決死鎖的方法中,屬于死鎖預(yù)防策略的是—oA.銀行家算法B.資源有序分配法C.死鎖檢測法C.死鎖檢測法D.資源分配圖化簡法答:B.以下敘述中正確的是oA.調(diào)度原語主要是按照?定的算法,從阻塞隊列中選擇一個進程,將處理機分配給它。B.預(yù)防死鎖的發(fā)生可以通過破壞產(chǎn)生死鎖的四個必要條件之一來實現(xiàn),但破壞互斥條件的可能性不大。C.進程進入臨界區(qū)時要執(zhí)行開鎖原語。D.既考慮作業(yè)等待時間,又考慮作業(yè)執(zhí)行時間的調(diào)度算法是先來先服務(wù)算法答:B.—是作業(yè)存在的惟一標(biāo)志。A.作業(yè)名 B.進程控制塊C.作業(yè)捽制塊 D.程序名答:C.作業(yè)調(diào)度算法的選擇??紤]因素之一是使系統(tǒng)有最高的吞吐量,為此應(yīng)=A.不讓處理機空閑 B.能夠處理盡可能多的作業(yè)C.使各類用戶都滿意 D.不使系統(tǒng)過于復(fù)雜答:B.用戶使用操作系統(tǒng)通常有三種手段,它們是終端命令、系統(tǒng)調(diào)用命令和OA.計算機高級指令 B.宏命令C.作業(yè)控制語言 D.匯編語言答:C.在分時操作系統(tǒng)環(huán)境下運行的作業(yè)通常稱為。

B.長作業(yè)A.B.長作業(yè)C.終端型作業(yè) D.批量型作業(yè)答:C.當(dāng)作業(yè)進入完成狀態(tài),操作系統(tǒng)。A.將刪除該作業(yè)并收回其所占資源,同時輸出結(jié)果B.將該作業(yè)的捽制塊從當(dāng)前作業(yè)隊列中剔除,收回其所占資源C.將收回該作業(yè)所占資源并輸出結(jié)果D.將輸出結(jié)果并刪除內(nèi)存中的作業(yè)答:B.在各種作業(yè)調(diào)度算法中,若所有作業(yè)同時到達(dá),則平均等待時間最短的算法是=A.先來先服務(wù) B.優(yōu)先權(quán)調(diào)度C.最高響應(yīng)比優(yōu)先 D.短作業(yè)優(yōu)先答:D.既考慮作業(yè)等待時間,又考慮作業(yè)執(zhí)行時間的調(diào)度算法是oA.響應(yīng)比高者優(yōu)先 B.短作業(yè)優(yōu)先C.優(yōu)先級調(diào)度 D.先來先服務(wù)答:A.作業(yè)調(diào)度程序從處于狀態(tài)的隊列中選取適當(dāng)?shù)淖鳂I(yè)投入運行。A.運行B.提交C完成D.后備答:D.是指從作業(yè)提交給系統(tǒng)到作業(yè)完成的時間間隔。A.周轉(zhuǎn)時間 B.響應(yīng)時間C.等待時■間C.等待時■間D.運行時間答:A22.作業(yè)從進入后備隊列到被調(diào)度程序選中的時間間隔稱為.A.周轉(zhuǎn)時間B.響應(yīng)時間C.等待時間D觸發(fā)時間作業(yè)所需運行酎卿優(yōu)先敷124259的平38I438A.4.5 B.10.5 C.4.75 D.10.25答:D.下述作業(yè)調(diào)度算法中,調(diào)度算法與作業(yè)的估計運行時間有關(guān)。A.先來先服務(wù) B.短作業(yè)優(yōu)先C.優(yōu)先權(quán) D.時間片輪轉(zhuǎn)答:B.用戶通過終端使用計算機系統(tǒng)控制作業(yè)執(zhí)行的方式稱為方式。A.自動B.聯(lián)機C.脫機D.假脫機答:B.作業(yè)生存期共經(jīng)歷四個狀態(tài),它們是提交、后備、和完成。A.就緒B.執(zhí)行C.等待D.開始答:B.系統(tǒng)在,發(fā)生從目態(tài)到管態(tài)的轉(zhuǎn)換。A.發(fā)出P操作時 B.發(fā)出v操作時C.執(zhí)行系統(tǒng)調(diào)用時 D.執(zhí)行置程序狀態(tài)字時答:C.以下敘述中正確的是。A.操作系統(tǒng)的作業(yè)管理是,一種微觀的低級管理。作業(yè)的提交方式有兩種,但對應(yīng)的作業(yè)控制方式只有一種。C.一個作業(yè)從進入系統(tǒng)到運行結(jié)束,一般要經(jīng)歷的狀態(tài)是:后備狀態(tài)、就緒狀態(tài)和完成狀態(tài)。D.多道批處理與單道批處理的主要區(qū)別在于它必須有作業(yè)調(diào)度功能和進程調(diào)度功能,內(nèi)存中可以存放多道作業(yè)。答:D.設(shè)有4個作業(yè)同時到達(dá),每個作業(yè)的執(zhí)行時間均為2小時,它們在--臺處理機上按單道方式運行,則平均周轉(zhuǎn)時間為oA.1小時B.5小時C.2.5小時D.8小時答:B.現(xiàn)有3個同時到達(dá)的作業(yè)JI,J2和J3,它們的執(zhí)行時間分別是Tl、T2和T3,且T1<T2<T3.系統(tǒng)按單道方式運行且采用短作業(yè)優(yōu)先算法,則平均周轉(zhuǎn)時間是。A.Tl+T2十T3 B.(T1十T2+T3)/3C.(3T1+2T2+T3J/3 D.(T1十2T2+3T3)/3答:C一作業(yè)8:00到達(dá)系統(tǒng),估計運行時間為1小時。若10:00開始執(zhí)行該作業(yè),其響應(yīng)比是□A.2B.1C.3 D,0.5答:C32.設(shè)有3個作業(yè),它們的到達(dá)時間和運行時間如下表所示,并在一臺處理機作業(yè)到達(dá)時間運行時間18:002時間兒 28:301小時 3 9:300.25小時A.J1J2J3 B.J1J3J2 C.J2J3J1 D.J3J2J1答:B.響應(yīng)比是指0A.作業(yè)計算時間與作業(yè)等待時間之比B.作業(yè)周轉(zhuǎn)時間與作業(yè)計算時間之比C.系統(tǒng)調(diào)度時間與作業(yè)等待時間之比D.系統(tǒng)調(diào)度時間與作業(yè)計算時間之比答:B.設(shè)有3個作業(yè)JI、J2、J3,其運行的時間分別為I、2、3小時;假定這些作業(yè)同時到達(dá),并在一臺處理機上按單道運行,則平均用轉(zhuǎn)時間最小的執(zhí)行序列是。A.J1J2J3 B.J1J3J2 C.J2J1J3 D.J2J3J1答:.當(dāng)作業(yè)進入完成狀態(tài),操作系統(tǒng)oA.將刪除該作業(yè)并回收其所占資源,同時輸出結(jié)果B,將該作業(yè)的作業(yè)控制塊從當(dāng)前作業(yè)隊列中刪除,回收其所占資源并輸出結(jié)果C.將回收該作業(yè)所占資源并輸出結(jié)果D.將刪除內(nèi)存中的作業(yè)并輸出結(jié)果答:A.一個作業(yè)的完成要經(jīng)過若干加工步驟,這每個步驟稱為oA.作業(yè)流B.子程序C.子進程D.作業(yè)步答:D.在批處理方式下,操作員把一批作業(yè)組織成向系統(tǒng)成批輸入。A.作業(yè)步B.作業(yè)流C.子程序 D.程序組答:B.根據(jù)進程的緊迫性程度進行進程調(diào)度,應(yīng)采用oA.先來先服務(wù)調(diào)度算法B.最高優(yōu)先級調(diào)度算法C.時間片輪轉(zhuǎn)調(diào)度算法 D.分級調(diào)度算法答:B.采用最高優(yōu)先級調(diào)度算法時,對那些具有相同優(yōu)先級的進程分配CPU的次序是oA.時間片輪轉(zhuǎn) B.運行時間長短C.先來先服務(wù) D.使用外圍設(shè)備多少答:C二.填空題.死鎖是指在系統(tǒng)中的多個—無限期地等待永遠(yuǎn)不會發(fā)生的條件。答:進程.進程調(diào)度負(fù)責(zé)的分配工作。答:處理機.在調(diào)度算法中,按照進程進入就緒隊列的先后次序來分配處理機。答:先來先服務(wù).死鎖產(chǎn)生的必要條件有四個,即①、②、③、④。答:①互斥條件②不剝奪條件③請求和保持條件④環(huán)路等待條件.解除死鎖常用的方法有兩種,是從其他進程那里剝奪足夠數(shù)量的資源給進程以解除死鎖狀態(tài)。答:①資源剝奪法②死鎖.銀行家算法中,當(dāng)一個進程提出的資源請求將導(dǎo)致系統(tǒng)從進入—②時,系統(tǒng)就拒絕它的資源請求。答:①安全狀態(tài)②不安全狀態(tài).如果要求所有進程一次性申請它所需要的全部資源,若系統(tǒng)有足夠的資源分配給進程,便?次把所有的資源分配給該進程。但在分配時只要有一種資源要求不能滿足,則資源全不分配,進程等待,這種死鎖預(yù)防方法破壞了死鎖產(chǎn)生必要條件中的條件。答:請求和保持.對待死鎖,?般應(yīng)考慮死鎖的預(yù)防、避免、檢測和解除四個問題。典型的銀行家算法是屬于①,破壞環(huán)路等待條件是屬于②,而剝奪資源是_③的基本方法。答:①死鎖的避免②死鎖的預(yù)防③死鎖的解除.在一個具有分時兼批處理的計算機操作系統(tǒng)中,如果有終端作業(yè)和批處理作業(yè)混合同時執(zhí)行,作業(yè)應(yīng)優(yōu)先占用處理器。答:終端型作業(yè).一個作業(yè)可以分成若干順序處理的加工步驟,每個加工步驟稱為一個。答:作業(yè)步.作業(yè)調(diào)度又稱①,其主要功能是②,并為作業(yè)做好運行前的準(zhǔn)備工作和作業(yè)完成后的善后處理工作。答:①高級調(diào)度②按照某種原則從后備作業(yè)隊列中選取作業(yè).確定作業(yè)調(diào)度算法時應(yīng)注意系統(tǒng)資源的均衡使用,使①作業(yè)和②作業(yè)搭配運行。作業(yè)號提交時閭運行時間(分伸)19D07029:403039:5010410:105在單道方式下,采用短作業(yè)優(yōu)先調(diào)度算法,作業(yè)的執(zhí)行順序是O答:1、4、3,2.調(diào)度是處理機的高級調(diào)度,調(diào)度是處理機的低級調(diào)度。答;作業(yè)、進程.如果系統(tǒng)中所有作業(yè)是同時到達(dá)的,則使作業(yè)平均周轉(zhuǎn)時間最短的作業(yè)調(diào)度算法是O答:短作業(yè)優(yōu)先(SJF)調(diào)度算法.一個理想的作業(yè)調(diào)度算法應(yīng)該是既能,又能使進入系統(tǒng)的作業(yè)—得到計算結(jié)果。答:提高系統(tǒng)效率、及時.響應(yīng)比高者優(yōu)先算法綜合考慮了作業(yè)的和,答:等待時間、計算時間.時間片是指允許進程一次占用處理器的o時間片輪轉(zhuǎn)調(diào)度算法常用于操作系統(tǒng)中。答:最長時間、分時.時間片取值的大小關(guān)系到和,所以時間片的值應(yīng)根據(jù)進程要求系統(tǒng)給出應(yīng)答的時間和進人系統(tǒng)的進程數(shù)來決定。答:計算機系統(tǒng)的效率、用戶的滿意程度.進程的切換是由引起的,總是發(fā)生在發(fā)生之后。答:進程狀態(tài)的變化、中斷事件三.簡答題.在單處理機的分時系統(tǒng)中,分配給進程P的時間片用完后,系統(tǒng)進行切換,結(jié)果調(diào)度到的仍然是進程P。有可能出現(xiàn)上述情形嗎?如果可能請說明理由°答:有可能出現(xiàn)上述情況。例如,若在進程P時間片用完后,被迫回到就緒隊列時,就緒隊列為空,這樣進程P就是就緒隊列中惟一的一個進程,于是調(diào)度程序選中的進程必然是進程P;又如在按優(yōu)先統(tǒng)調(diào)度的系統(tǒng)中,就緒隊列按進程優(yōu)先級排列,在進程P時間片用完之后回到就緒隊列時,若其優(yōu)先級高于當(dāng)前就緒隊列中的其他進程,則它將排在就緒隊列之首,從而再次被調(diào)度程序選中并投入運行。.進程調(diào)度中"可搶占"和"非搶占"兩種方式,哪一種系統(tǒng)的開銷更大?為什么?答:可搶占式會引起系統(tǒng)的開銷更大??蓳屨际秸{(diào)度是嚴(yán)格保證任何時刻,讓具有最高優(yōu)先權(quán)的進程占有處理機運行,因此增加了處理機調(diào)度的時機,引起為退出處理機的進程保留現(xiàn)場,為占有處理機的進程恢復(fù)現(xiàn)場等時間(和空間)開銷增大。.簡單敘述作業(yè)調(diào)度和進程調(diào)度的區(qū)別。答:(1)作業(yè)調(diào)度是選符合條件的收容態(tài)作業(yè)裝入內(nèi)存。進程調(diào)度是從就緒態(tài)進程中選??個占用處理機。(2)作業(yè)調(diào)度是高級調(diào)度,它位于操作系統(tǒng)的作業(yè)管理層次。進程調(diào)度是低級調(diào)度,它位于操作系統(tǒng)分層結(jié)構(gòu)的最內(nèi)層。(3)作業(yè)調(diào)度是宏觀調(diào)度,它所選擇的作業(yè)只是具有獲得處理機的資格,但尚未占有處理機,不能立即在其上實際運行。進程調(diào)度是微觀調(diào)度,動態(tài)地把處理機實際地分配給所選擇的進程,使之真正活動起來。另外,進程調(diào)度相當(dāng)頻繁,而作業(yè)調(diào)度執(zhí)行的次數(shù)一般很少。.某進程被喚醒后立即投入運行,我們就說這個系統(tǒng)采用的是剝奪式調(diào)度方式,對嗎?為什么?答:不對。剝奪式調(diào)度方式是指進程在申請資源時系統(tǒng)無法滿足,則強行剝奪其他進程所占有的資源,分配給該進程。而進程進入睡眠狀態(tài)則表明當(dāng)前并不是剝奪調(diào)度方式,被喚醒后立即投入運行,只能說資源可以分配給該進程使用,但并不一定是從其他進程那里剝奪過來的,也可以是進程自動釋放的。.在某一時刻,系統(tǒng)中既無執(zhí)行態(tài)進程又無就緒態(tài)進程,是否可能?若可能,在什么情況下會產(chǎn)生?答:有可能。在系統(tǒng)死鎖的狀態(tài)下,進程組處于占有等待資源的狀態(tài),應(yīng)當(dāng)既不屬于執(zhí)行態(tài),也不屬于就緒態(tài)。6.關(guān)于處理機調(diào)度,試問:(1)什么是處理機三級調(diào)度?(2)處理機三級調(diào)度分別在什么情況下發(fā)生?⑶各級調(diào)度分別完成什么工作?答:⑴處理機三級調(diào)度是:高級調(diào)度(作業(yè)調(diào)度)、中級調(diào)度(交換調(diào)度)和低級調(diào)度(進程調(diào)度),它們構(gòu)成了操作系統(tǒng)內(nèi)的多級調(diào)度,不同類型的操作系統(tǒng)不一定都有這三種調(diào)度。⑵高級調(diào)度是在需要從后備作業(yè)隊列調(diào)度作業(yè)進入內(nèi)存運行時發(fā)生;低級調(diào)度是在處理機空閑時需要調(diào)度一個就緒進程投入運行時發(fā)生;中級調(diào)度是在內(nèi)存緊張不能滿足進程運行需要時發(fā)生。⑶高級調(diào)度決定把外存中處于后備隊列的哪些作業(yè)調(diào)入內(nèi)存,并為它們創(chuàng)建進程和分配必要的資源,然后將新創(chuàng)建的進程接入就緒隊列準(zhǔn)備執(zhí)行。低級調(diào)度則決定就緒隊列中的哪個進程將獲得處理機,并將處理機分配給該進程使用。中級調(diào)度是在內(nèi)存資源緊張的情況下暫時將不運行的進程調(diào)至外存,待內(nèi)存空閑時再將外存上具有運行條件的就緒進程重新調(diào)入內(nèi)存。.何謂JCB?其作用是什么?它由誰在什么時候創(chuàng)建?它由誰在什么時候撤消?JCB至少包括哪些內(nèi)容?答:為了管理和調(diào)度外存中的作業(yè),就必須記錄己進入系統(tǒng)中的各作業(yè)情況,因此,系統(tǒng)為每個作業(yè)設(shè)置了一個作業(yè)控制塊JCB(Jobcontrolblock)來記錄作業(yè)的有關(guān)信息。JCB是作業(yè)存在的唯一標(biāo)志,系統(tǒng)通過JCB而感加作業(yè)的存在,并通過JCB對作業(yè)進行控制和管理。系統(tǒng)在作業(yè)進入后備狀態(tài)時由作業(yè)注冊程序為作業(yè)建立JCB,從而使該作業(yè)可以被作業(yè)調(diào)度程序感知而實施管理。當(dāng)作業(yè)執(zhí)行完畢進入完成狀態(tài)時由“終止作業(yè)”程序撤消其JCB,釋放有關(guān)資源,該作業(yè)就被撤消而不再存在了。不同的系統(tǒng)JCB所包含的信息有所不同,這取決于系統(tǒng)對作業(yè)的調(diào)度要求。通常JCB包含如下內(nèi)容:⑴資源要求:要求運行時間、最遲完成時間、需要的內(nèi)存容量、外設(shè)的種類及數(shù)量等。(2)資源使用情況:作業(yè)進入系統(tǒng)的時間、開始運行時間、已運行時間、內(nèi)存地址、外部設(shè)備號等。⑶作業(yè)控制方式:聯(lián)機作業(yè)控制還是脫機作業(yè)控制。⑷作業(yè)類型:是終端型作業(yè)還是批量型作業(yè),是I/O繁忙型作業(yè)還是CPU繁忙型作業(yè)。.現(xiàn)有兩道作業(yè)同時執(zhí)行,一道以計算為主,另一道以輸入輸出為主,你將怎么賦予作業(yè)進程占有處理器的優(yōu)先級?為什么?答:優(yōu)先級調(diào)度算法的依據(jù)是:⑴對某些時間要求緊迫的作業(yè)給予優(yōu)光照顧;⑵為充分發(fā)揮外部設(shè)備的作用,優(yōu)先照顧I/O繁忙的作業(yè);⑶為保證終端會話型作業(yè)有合理的響應(yīng)時間,應(yīng)優(yōu)先照顧終端會話型作業(yè)。因此,應(yīng)賦予輸入輸出為主的作業(yè)比以計算為主的作業(yè)更高的優(yōu)先級。.什么是作業(yè)?作業(yè)步?作業(yè)流?答:作業(yè)是用戶一次請求計算機系統(tǒng)為其完成任務(wù)所做工作的總和。作業(yè)步是處理作業(yè)各個獨立的子任務(wù),即一個作業(yè)處理過程中相對獨立的加工步驟。在批處理系統(tǒng)中把若干作業(yè)依次放在輸入設(shè)備上,并在操作系統(tǒng)控制下將其送入輔存,形成一個作業(yè)流,也稱為輸入流。作業(yè)流是出若干作業(yè)組成的。.在一個分時系統(tǒng)中,若為每個進程分配時間片可以隨進程的執(zhí)行特點和執(zhí)行情況而變化?,F(xiàn)有兩類進程,一類進程經(jīng)常產(chǎn)生中斷,另一類進程中斷次數(shù)很少,請問如何為這兩類進程分配時間片?為什么?更進一步,它們的優(yōu)先級如何確定?答:系統(tǒng)分配時間片,經(jīng)常產(chǎn)生中斷的進程應(yīng)分配較短的時間片,很少產(chǎn)生中斷的進程應(yīng)分配較長的時間片。這是因為經(jīng)常中斷的進程連續(xù)運行的時間相對較短,即使給它分配較長的時間片,也可能在時間片未用完之前產(chǎn)生中斷,這樣不利于CPU效率提高;而中斷次數(shù)很少的進程,它連續(xù)運行的時間較長,為減少調(diào)度次數(shù)應(yīng)分配較長的時間片,盡可能讓它較長時間占用CPU,可減少系統(tǒng)在調(diào)度上的開銷。經(jīng)常產(chǎn)生中斷的進程的優(yōu)先級應(yīng)高于中斷次數(shù)少的進程的優(yōu)先級。因為這類進程經(jīng)常產(chǎn)生中斷,當(dāng)它占用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,l)o⑴這種分配方式會導(dǎo)致死鎖嗎?如果會,請舉一個例子;如果不會,請說明產(chǎn)生死鎖的哪一個必要條件不成立?(2)這種分配方式會導(dǎo)致某些進程的無限等待嗎?為什么?答:⑴這種分配方式不會導(dǎo)致死鎖。因為死鎖的必要條件:請求并保持條件不成立。⑵有可能導(dǎo)致進程A的無限等待。因為進程A因處于等待狀態(tài)而被剝奪了資源,今后若進程B、C釋放所占資源,但后續(xù)進程源源不斷到來,相繼申請并占有進程A所需的資源.則進程A有可能進入無限等待狀態(tài)。.試說明資源的靜態(tài)分配策略能防止死鎖的原因。答:資源靜態(tài)分配策略要求每個進程在開始執(zhí)行前申請所需的全部資源,僅在系統(tǒng)為之分配了所需的全部資源后,該進程才開始執(zhí)行。這樣,進程在執(zhí)行過程中不再申請資源,從而破壞了死鎖的四個必要條件之一"占有并等待條件",從而防止死鎖的發(fā)生。.采用資源順序分配法可破壞死鎖的必要條件之一:“環(huán)路等待條件”,簡述該方法的思想,并說明這種方法為什么能預(yù)防死鎖。答:首先給系統(tǒng)中的資源編號,即作一個函數(shù)F:R3N,其中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)路等待"。.為什么說多級反饋隊列調(diào)度算法能較好地滿足各類用戶的需要?答:多級反饋隊列調(diào)度算法能較好地滿足各種類型用戶的需要。對終端型用戶而言,由于終端型作業(yè)用戶所提交的作業(yè)大部分屬于交互型作業(yè),作業(yè)通常比較短小,系統(tǒng)只要能使這些作業(yè)在第一隊列所規(guī)定的時間片內(nèi)完成,便可使終端型作業(yè)用戶感到滿意;對于短批處理作業(yè)用戶而言,他們的作業(yè)開始時像終端型作業(yè)一樣,如果僅在第一隊列中執(zhí)行一個時間片即可完成,便可獲得與終端型作業(yè)一樣的響應(yīng)時間,對于稍長的作業(yè),通常也只需要在第二隊列和第三隊列中各執(zhí)行一個時間片即可完成,其周轉(zhuǎn)時間仍然較短;對于長批處理作業(yè)用戶而言,他們的長作業(yè)將依次在第1,2,直到第n個隊列中運行,然后再按輪轉(zhuǎn)方式運行,用戶不必?fù)?dān)心其作業(yè)長期得不到處理。.為什么說采用有序資源分配法不會產(chǎn)生死鎖?答:為了便于說明,不妨設(shè)系統(tǒng)中有m類資源,n個進程,分別用R1,R2,—,Rm(l,2,—,m可看作資源編號)和Pl,P2,…Pn表示。根據(jù)有序資源分配法可知,進程申請資源時必須按照資源編號的升序進行,即任何進程在占有了R1類資源后,再申請的資源Rj的編號j-定大于1。因此在任一時刻,系統(tǒng)中至少存在一個進程Pk,它占有了較高編號的資源Rh,且它繼續(xù)請求的資源必然是空閑的,因而Pk可以一直向前推進直至完成,當(dāng)Pk運行完成后即會釋放它占有的所有資源;在Pk完成之后,剩下的進程集合中同樣會存在?一個進程,它占有了較高編號的資源,且它繼續(xù)請求的資源必然是空閑的,因而它可以??直向前推進直至完成,以此類推,所有進程均可運行完成,故不會發(fā)生死鎖。.有相同類型的5個資源被4個進程所共享,且每個進程最多需要2個這樣的資源就可以運行完畢。試問該系統(tǒng)是否會由于對這種資源的競爭而產(chǎn)生死鎖。答:該系統(tǒng)不會由于對這種資源的競爭而產(chǎn)生死鎖。因為在最壞情況下,每個進程都需要2個這樣的資源,且每個進程都已申請到了1個資源,那么系統(tǒng)中還剩下1個可用資源。無論系統(tǒng)為了滿足哪個進程的資源申請而將資源分配給該進程,都會因為該進程已獲得了它所需要的全部資源而確保它運行完畢,從而可將它占有的2個資源歸還給系統(tǒng),這就保證了其余三個進程能順利運行。由此可知,該系統(tǒng)不會由于對這種資源的競爭而產(chǎn)生死鎖。四.應(yīng)用題1.假定在單CPU條件下有下列要執(zhí)行的作業(yè):作業(yè)運行時間優(yōu)先級1102243330作業(yè)到來的時間是按作業(yè)編號順序進行的(即后面作業(yè)依次比前一個作業(yè)遲到一個時間單位)。(1)用一個執(zhí)行時間圖描述在采用非搶占式優(yōu)先級算法時執(zhí)行這些作業(yè)的情況。(2)對于上述算法,各個作業(yè)的周轉(zhuǎn)時間是多少?平均周轉(zhuǎn)時間是多少?(3)對于上述算法,各個作業(yè)的帶權(quán)周轉(zhuǎn)時間是多少?平均帶權(quán)周轉(zhuǎn)時間是多少?解:⑴非搶占式優(yōu)先級算法作業(yè)的執(zhí)行情況如下:

作業(yè)到達(dá)時間運行時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間101010101.021417164.032313113.7平均周轉(zhuǎn)時間12.3平均帶權(quán)周轉(zhuǎn)時間2.92.若在后備作業(yè)隊列中等待運行的同時有三個作業(yè)1、2、3,已知它們各自的運行時間為a、b、c,且滿足關(guān)系aVbVc,試證明采用短作業(yè)優(yōu)先調(diào)度算法能獲得最小平均周轉(zhuǎn)時間。證明:由于短作業(yè)優(yōu)先調(diào)度算法總是在后備作業(yè)隊列中選擇運行時間最短的作業(yè)作為調(diào)度對象,因此對短作業(yè)優(yōu)先調(diào)度算法而言,這三個作業(yè)的總周轉(zhuǎn)時間為Tl=a+(a+b)+(a+b+c)=3a+2b+c (1)若不按短作業(yè)優(yōu)先調(diào)度算法來調(diào)度這三個作業(yè),不失一般性,假定調(diào)度順序為2、1、3,則其周轉(zhuǎn)時間為T2=b+(b+a)+(b+a+c)=3b+2a+c (2)山,。)兩共田徨.T2-T1=h-Gf)作業(yè)號提交時間執(zhí)行時間110.02.0210.21.0310.40.5410.50.3試計算在單道程序環(huán)境下,采用先來先服務(wù)調(diào)度算法和最短作業(yè)優(yōu)先調(diào)度算法

作業(yè)號提交時間?執(zhí)行時間開始時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間位:110.02.010.012.02.01.021021.012.013.02.82.8310.40.513.013.53.16.2410.50.313.513.83.311.0平的國槎Rd?同T=f9n-k9Q-kQ1-VQ Q作業(yè)號提交時間執(zhí)行時向開始時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間110.02.010.012.02.0L0410.50.312.012.31.86.0310.40.512312.82.44.8210.21.012.813.83.63.6平均周轉(zhuǎn)時間為TY2.0+1.8+2.4+3.6)/4=2.45平均帶權(quán)周轉(zhuǎn)時間W=(l十6十4.8十3.6)/4=3.85作業(yè)號 到達(dá)時間 運行時間比優(yōu)1.1nJ. 28.08.32.00.5作業(yè)號到達(dá)時間運行時間開始時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間18.02.08.010.02.01.028.30.510.110.62.34.638.50.110.010.11.616.049.00.410.611.02.05.0平均周轉(zhuǎn)時間為T=(2.0十2.3十1.6十2.0)/4=1.975平均帶權(quán)周轉(zhuǎn)時間W=(l十4.6十16十5)/4=6.655.有一個具有兩道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的調(diào)度算法,進程調(diào)度采作業(yè)名到達(dá)時間估計運行時間優(yōu)先數(shù)優(yōu)先A10:0040分5B10:2030分3C10:3050分4D10:5020分6(D列出所有作業(yè)進入內(nèi)存時間及結(jié)束時間(2)計算平均周轉(zhuǎn)時間。分析:在本題中,每個作業(yè)的運行將經(jīng)歷兩級調(diào)度:作業(yè)調(diào)度和進程調(diào)度。作業(yè)調(diào)度采用短作業(yè)優(yōu)先調(diào)度算法,進程調(diào)度采用基于優(yōu)先數(shù)的搶占式調(diào)度算法,高優(yōu)先級的進程可以搶占系統(tǒng)處理機。只有當(dāng)作業(yè)調(diào)度程序?qū)⒆鳂I(yè)裝入內(nèi)存后,方能參與進程調(diào)度。本題中的批處理系統(tǒng)是兩道作業(yè)系統(tǒng),因此每次只能有兩道作業(yè)進入系統(tǒng)內(nèi)存。本題中的作業(yè)和進程推進順序如下:10:00時,A作業(yè)到達(dá)。因系統(tǒng)的后備作業(yè)隊列中沒有其他作業(yè),進程就緒隊列中也沒有進程,故作業(yè)調(diào)度程序?qū)⒆鳂I(yè)A調(diào)入內(nèi)存并將它排在就緒隊列上,進程調(diào)度程序調(diào)度它運行。10:20時,B作業(yè)到達(dá)。因系統(tǒng)的后備作業(yè)隊列中沒有其他作業(yè),故作業(yè)調(diào)度程序?qū)⒆鳂I(yè)B調(diào)入內(nèi)存并將它排在就緒隊列上。而作業(yè)B的優(yōu)先級高于作業(yè)A的優(yōu)先級,進程調(diào)度程序停止作業(yè)A的運行,將作業(yè)A放入就緒隊列,調(diào)度作業(yè)B運行。此時,系統(tǒng)中已有兩道作業(yè)在內(nèi)存中運行,作業(yè)A已運行20分鐘,還需運行20分鐘才能完成。10:30時,C作業(yè)到達(dá)。因系統(tǒng)中已有兩道作業(yè)在內(nèi)存中運行,故作業(yè)C只能在后備作業(yè)隊列中等待作業(yè)調(diào)度。此時,作業(yè)B已運行了10分針并將繼續(xù)運行,還需運行20分鐘才能完成,作業(yè)A已等待10分針并將繼續(xù)等待、還需運行20分鐘才能完成。10:50時,B作業(yè)運行30分鐘結(jié)束運行,D作業(yè)到達(dá)。因系統(tǒng)中只有作業(yè)A在內(nèi)存中運行,作業(yè)后備隊列中有C、D兩道作業(yè),按短作業(yè)優(yōu)先的作業(yè)調(diào)度策略,作

溫馨提示

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

最新文檔

評論

0/150

提交評論