操作系統(tǒng)習(xí)題答案_第1頁
操作系統(tǒng)習(xí)題答案_第2頁
操作系統(tǒng)習(xí)題答案_第3頁
操作系統(tǒng)習(xí)題答案_第4頁
操作系統(tǒng)習(xí)題答案_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1.什么是硬件系統(tǒng)?什么是軟件環(huán)境?它們之間有什么聯(lián)系?

計(jì)算機(jī)硬件是指計(jì)算機(jī)系統(tǒng)中由電子、機(jī)械和光電元件等組成的各種部件和設(shè)備。由這

些部件和設(shè)備依據(jù)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的要求構(gòu)成的有機(jī)整體,稱為計(jì)算機(jī)硬件系統(tǒng)。計(jì)算機(jī)軟

件是指安裝在計(jì)算機(jī)系統(tǒng)中的程序和有關(guān)的文件。程序作為一種具有邏輯結(jié)構(gòu)的信息,精確

而完整地描述了計(jì)算任務(wù)中的處理對象和處理規(guī)則。這一描述還必須通過相應(yīng)的實(shí)體才能體

現(xiàn)。記載上述信息的實(shí)體就是硬件。

2.什么是操作系統(tǒng)?操作系統(tǒng)追求的主要目標(biāo)是什么?

操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一種系統(tǒng)軟件,它統(tǒng)一管理計(jì)算機(jī)系統(tǒng)的資源,控制程序的

執(zhí)行,是配置在計(jì)算機(jī)硬件上的第一層軟件,是對硬件系統(tǒng)的首次擴(kuò)充。

操作系統(tǒng)的目標(biāo)是方便性、有效性、可擴(kuò)充性、開放性。

3.在用戶程序與硬件裸機(jī)之間,操作系統(tǒng)可以分為哪幾個模塊?

操作系統(tǒng)是覆蓋在硬件上的第一層軟件,它管理計(jì)算機(jī)的硬件和軟件資源,并向用戶提

供良好的界面。操作系統(tǒng)與硬件緊密相關(guān),它直接管理著硬件資源,為用戶完成所有與硬件

相關(guān)的操作,從而極大地方便了用戶對硬件資源的使用,并提高了硬件資源的利用率。操作

系統(tǒng)是一種特殊的系統(tǒng)軟件,其他系統(tǒng)軟件運(yùn)行在操作系統(tǒng)的基礎(chǔ)之上,可獲得操作系統(tǒng)提

供的大量服務(wù),也就是說,操作系統(tǒng)是其他系統(tǒng)軟件和硬件的接口。而一般用戶使用計(jì)算機(jī)

除了需要操作系統(tǒng)的支持外,還需要用到大量的其他系統(tǒng)軟件和應(yīng)用軟件,以使其工作更加

方便和高效??梢?,硬件、操作系統(tǒng)、其他系統(tǒng)軟件、應(yīng)用程序和用戶之間存在著如圖1-1

所示的層次關(guān)系。

4.操作系統(tǒng)如何實(shí)現(xiàn)計(jì)算機(jī)操作的自動化?如何看待操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位?

操作系統(tǒng)是運(yùn)行在計(jì)算機(jī)硬件系統(tǒng)上的最基本的系統(tǒng)軟件。它控制和管理計(jì)算機(jī)系

統(tǒng)中的硬件資源和軟件資源,是整個計(jì)算機(jī)系統(tǒng)硬、軟件資源的總指揮部。操作系統(tǒng)為計(jì)

算機(jī)用戶提供了一種良好的操作環(huán)境,也為其他各種應(yīng)用系統(tǒng)提供了最基本的支撐環(huán)

境。操作系統(tǒng)是用戶和計(jì)算機(jī)硬件之間的一個接口。

5.操作系統(tǒng)分成哪幾類?

操作系統(tǒng)的基本類型有三種:批處理系統(tǒng)、分時系統(tǒng)和實(shí)時系統(tǒng)。其中,批處理

系統(tǒng)是最早出現(xiàn)的操作系統(tǒng)類型,目的是為了提高計(jì)算機(jī)資源的利用率和系統(tǒng)的吞吐

量;分時系統(tǒng)的產(chǎn)生和發(fā)展則是為了滿足用戶的需要,實(shí)現(xiàn)了人機(jī)交互,分時系統(tǒng)采

用分時技術(shù),使多個用戶可以共享主機(jī)并與自己的作業(yè)進(jìn)行很好的交互;實(shí)時系統(tǒng)是

為了滿足實(shí)時監(jiān)控和實(shí)時信息處理兩方面要求而產(chǎn)生的,所以具有很高的可靠性并能

對各種情況做出及時的響應(yīng),實(shí)時系統(tǒng)也具有交互性,但僅限于訪問系統(tǒng)中某些特定

的專業(yè)服務(wù)程序。

6.從資源管理觀點(diǎn)看,操作系統(tǒng)具有哪些功能?

操作系統(tǒng)是計(jì)算機(jī)資源的管理者,管理著計(jì)算機(jī)的處理機(jī)、存儲器、I/O設(shè)備和文件,

所以操作系統(tǒng)也就有這四大功能:處理機(jī)管理、存儲器管理、設(shè)備管理和文件管理。

7.討論操作系統(tǒng)可以從哪些角度出發(fā),如何統(tǒng)一看待它們?

研究操作系統(tǒng)的幾種主要觀點(diǎn):

(1)軟件的觀點(diǎn)。從軟件的觀點(diǎn)來看,操作系統(tǒng)有其作為軟件的外在特性和內(nèi)在特性。

所謂外在特性,是指操作系統(tǒng)是一種軟件,它的外部表現(xiàn)形式,即它的操作命令定義集和它

的界面完全確定了操作系統(tǒng)這個軟件的使用方式。所謂內(nèi)在特性,是指操作系統(tǒng)是-一種軟件,

它具有一般軟件的結(jié)構(gòu)特點(diǎn),然而這種軟件不是一般的應(yīng)用軟件,它具有一般軟件所不具備

的特殊結(jié)構(gòu)。

(2)計(jì)算機(jī)系統(tǒng)資源管理的觀點(diǎn)。操作系統(tǒng)是計(jì)算機(jī)資源的管理者,管理著計(jì)算機(jī)的處

理機(jī)、存儲器、I/O設(shè)備和文件,所以操作系統(tǒng)也就有這四大功能:處理機(jī)管理、存儲器管

理、設(shè)備管理和文件管理。

(3)進(jìn)程的觀點(diǎn)。這種觀點(diǎn)把操作系統(tǒng)看作由若干個可以同時獨(dú)立運(yùn)行的程序和一個對

這些程序進(jìn)行協(xié)調(diào)的核心組成,這些同時運(yùn)行的程序稱為進(jìn)程。

(4)用戶與計(jì)算機(jī)硬件系統(tǒng)之間接口的觀點(diǎn)。操作系統(tǒng)作為用戶和計(jì)算機(jī)硬件系統(tǒng)之間

接口的含義是,操作系統(tǒng)處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過操作系統(tǒng)來使用計(jì)算機(jī)。

或者說,用戶在操作系統(tǒng)的幫助下能夠方便、快捷、安全、可靠地操縱計(jì)算機(jī)硬件和運(yùn)行自

己的程序。

(5)虛機(jī)器觀點(diǎn)。從服務(wù)用戶的機(jī)器擴(kuò)充的觀點(diǎn)來看,操作系統(tǒng)為用戶使用計(jì)算機(jī)提供

了許多服務(wù)功能和良好的工作環(huán)境。用戶不再直接使用硬件機(jī)器(稱為裸機(jī)),而是通過操

作系統(tǒng)來控制和使用計(jì)算機(jī),從而把計(jì)算機(jī)擴(kuò)充為功能更強(qiáng)、使用更加方便的計(jì)算機(jī)系統(tǒng)(稱

為虛擬計(jì)算機(jī))。

(6)服務(wù)提供者觀點(diǎn)。在操作系統(tǒng)以外,從用戶角度看操作系統(tǒng),它應(yīng)能為用戶提供比

裸機(jī)功能更強(qiáng)、服務(wù)質(zhì)量更高、更方便靈活的虛擬機(jī)器。操作系統(tǒng)能為用戶提供一組功能強(qiáng)

大的、方便的、好用的廣義指令(系統(tǒng)調(diào)用)。

8.簡述操作系統(tǒng)發(fā)展的幾個階段。

參考教材,略

9.什么是批處理系統(tǒng)?它可分為哪兩種?

參考教材,略

10.什么是多道程序系統(tǒng)?其主要特性是什么?

為了進(jìn)一步提高資源的利用率和增加系統(tǒng)的吞吐量,在20世紀(jì)60年代中期引入了多道

程序設(shè)計(jì)技術(shù),在操作系統(tǒng)中引入多道程序設(shè)計(jì)技術(shù)后,使系統(tǒng)具有以下特征:

①多道性。在內(nèi)存中可同時駐留多道程序,并允許它們并發(fā)執(zhí)行,從而有效地提高了

資源利用率和增加系統(tǒng)吞吐量。

②無序性。多個作業(yè)完成的先后順序與它們進(jìn)入內(nèi)存的順序之間并無嚴(yán)格的對應(yīng)關(guān)系,

即先進(jìn)入內(nèi)存的作業(yè)可能較后甚至最后完成,而后進(jìn)入內(nèi)存的作業(yè)又可能先完成。

③調(diào)度性。作業(yè)從提交給系統(tǒng)開始直至完成,需要經(jīng)過以下兩次調(diào)度:

?作業(yè)調(diào)度。指按一定的作業(yè)調(diào)度算法,從外存的后備作業(yè)隊(duì)列中,選擇若干個作業(yè)調(diào)

入內(nèi)存。

?進(jìn)程調(diào)度。指按一定的進(jìn)程調(diào)度算法,從已在內(nèi)存的作業(yè)中選擇一個作業(yè),將處理機(jī)

分配給它,使之執(zhí)行。

11.什么是分時系統(tǒng)?其主要特點(diǎn)是什么?

在分時系統(tǒng)中采用了分時技術(shù),即把處理機(jī)的時間劃分成很短的時間片.(如幾百毫秒),

輪流地分配給各個終端作業(yè)使用。若在分配給它的時間片內(nèi),作業(yè)沒有執(zhí)行完,它必須將

CPU交給下一個作業(yè)使用,并等下一輪得到CPU時再繼續(xù)執(zhí)行。系統(tǒng)的響應(yīng)時間和用戶的

數(shù)量成反比,即用戶數(shù)越多,響應(yīng)時間越長。

12.什么是實(shí)時系統(tǒng)?主要有哪幾大類?

實(shí)時系統(tǒng)是指系統(tǒng)能及時(或即時)響應(yīng)外部事件的請求,在規(guī)定的時間內(nèi)完成該事

件的處理,并控制所有實(shí)時任務(wù)協(xié)調(diào)一致地運(yùn)行。主要分為實(shí)時控制系統(tǒng)和實(shí)時信息處理系

統(tǒng)。

13.實(shí)時系統(tǒng)與分時系統(tǒng)的主要差別有哪些?

從多路性、獨(dú)立性、及時性、交互性和可靠性五個方面對它們進(jìn)行比較。

(1)多路性。實(shí)時信息處理系統(tǒng)與分時系統(tǒng)一樣具有多路性,系統(tǒng)按分時原則為多個終

端用戶服務(wù)。而對實(shí)時控制系統(tǒng)而言,其多路性則主要表現(xiàn)在:經(jīng)常對多路的現(xiàn)場信息進(jìn)行

采集,以及對多個對象或多個執(zhí)行機(jī)構(gòu)進(jìn)行控制。

(2)獨(dú)立性。實(shí)時信息處理系統(tǒng)與分時系統(tǒng)一樣具有獨(dú)立性。每個終端用戶在向分時系

統(tǒng)提出服務(wù)請求時,是彼此獨(dú)立地操作,互不干擾;而在實(shí)時控制系統(tǒng)中信息的采集和對對

象的控制,也都是彼此互不干擾。

(3)及時性。實(shí)時信息系統(tǒng)對實(shí)時性的要求與分時系統(tǒng)類似,都是以人所能接受的等待

時間來確定;而實(shí)時控制系統(tǒng)的及時性,則是以控制對象所要求的開始截止時間或完成截止

時間來確定的。

(4)交互性。實(shí)時信息處理系統(tǒng)雖也具有交互性,但這里人與系統(tǒng)的交互,僅限于訪問

系統(tǒng)中某些專用服務(wù)程序。它不像分時系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)處理服務(wù)、資源共享

等服務(wù)。

(5)可靠性。分時系統(tǒng)雖然也要求系統(tǒng)可靠,相比之下,實(shí)時系統(tǒng)則要求系統(tǒng)高度可靠。

因?yàn)槿魏尾铄e都可能帶來巨大的經(jīng)濟(jì)損失,甚至無法預(yù)料的災(zāi)難性后果。因此,在實(shí)時系統(tǒng)

中,往往都采取了多級容錯措施,來保證系統(tǒng)及數(shù)據(jù)的安全。

14.批處理操作系統(tǒng)、分時操作系統(tǒng)和實(shí)時操作系統(tǒng)的特點(diǎn)各是什么?

批處理操作系統(tǒng)的特點(diǎn):成批處理,系統(tǒng)吞吐量高,資源利用率高,用戶不能直接干預(yù)

作業(yè)的執(zhí)行。

分時操作系統(tǒng)的特點(diǎn):多路性、獨(dú)立性、及時性、交互性。

實(shí)時操作系統(tǒng)的特點(diǎn):及時響應(yīng)、快速處理;高可靠性和安全性;不要求系統(tǒng)資源利

用率。

15.簡述操作系統(tǒng)的特性。

操作系統(tǒng)的特征有并發(fā)、共享、虛擬和異步性。它們的關(guān)系如下:

(1)并發(fā)和共享是操作系統(tǒng)最基本的特征。為了提高計(jì)算機(jī)資源的利用率,操作系統(tǒng)必

然要采用多道程序設(shè)計(jì)技術(shù),使多個程序共享系統(tǒng)的資源,并發(fā)地執(zhí)行。

(2)并發(fā)和共享互為存在的條件。一方面,資源的共享以程序(進(jìn)程)的并發(fā)執(zhí)行為條

件,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然不存在資源的共享問題;另一方面,若系統(tǒng)不能對資

源共享實(shí)施有效管理,協(xié)調(diào)好各個進(jìn)程對共享資源的訪問,也必將影響到程序的并發(fā)執(zhí)行,

甚至根本無法并發(fā)執(zhí)行。

(3)虛擬以并發(fā)和共享為前提條件。為了使并發(fā)進(jìn)程能更方便、更有效地共享資源,操

作系統(tǒng)經(jīng)常采用多種虛擬技術(shù)來在邏輯上增加CPU和設(shè)備的數(shù)量以及存儲器的容量,從而

解決眾多并發(fā)進(jìn)程對有限系統(tǒng)資源的競爭問題。

(4)異步性是并發(fā)和共享的必然結(jié)果。操作系統(tǒng)允許多個并發(fā)進(jìn)程共享資源、相互合作,

使得每個進(jìn)程的運(yùn)行過程受到其他進(jìn)程的制約,不再“一氣呵成”,這必然導(dǎo)致異步性特征

的產(chǎn)生。

16.簡述并發(fā)與并行的區(qū)別。

并行性和并發(fā)性是既相似又有區(qū)別的兩個概念。并行性是指兩個或多個事件在同一時刻

發(fā)生;而并發(fā)性是指兩個或多個事件在同一時間間隔內(nèi)發(fā)生。

17.簡述網(wǎng)絡(luò)操作系統(tǒng)的主要功能。

計(jì)算機(jī)網(wǎng)絡(luò)是通過通信設(shè)施將物理上分散的具有自治功能的多個計(jì)算機(jī)系統(tǒng)互聯(lián)起來,

實(shí)現(xiàn)信息交換、資源共享、可互操作和協(xié)作處理的系統(tǒng)。網(wǎng)絡(luò)操作系統(tǒng)用于管理網(wǎng)絡(luò)中的各

種資源,為用戶提供各種服務(wù)。其主要功能如下:

(1)網(wǎng)絡(luò)通信。這是網(wǎng)絡(luò)最基本的功能,其任務(wù)是在源主機(jī)和目標(biāo)主機(jī)之間實(shí)現(xiàn)無差錯

的數(shù)據(jù)傳輸。

(2)資源管理。對網(wǎng)絡(luò)中的共享資源(硬件和軟件)實(shí)施有效的管理,協(xié)調(diào)諸用戶對共

享資源的使用,保證數(shù)據(jù)的安全性和一致性。

(3)網(wǎng)絡(luò)服務(wù)。這是在前兩個功能的基礎(chǔ)上,為了方便用戶而直接向用戶提供的多種有

效服務(wù)。主要的網(wǎng)絡(luò)服務(wù)有:電子郵件服務(wù);文件傳輸、存取和管理服務(wù);共享硬盤服務(wù);

共享打印服務(wù)。

(4)網(wǎng)絡(luò)管理。網(wǎng)絡(luò)管理最基本的任務(wù)是安全管理。通過“存取控制”來確保存取

數(shù)據(jù)的安全性;通過“容錯技術(shù)”來保證系統(tǒng)故障時數(shù)據(jù)的安全性。此外,還應(yīng)對網(wǎng)絡(luò)

性能進(jìn)行監(jiān)視,對使用情況進(jìn)行統(tǒng)計(jì),以便為提高網(wǎng)絡(luò)性能、進(jìn)行網(wǎng)絡(luò)維護(hù)和記賬等提

供必要的信息。

(5)互操作能力。在20世紀(jì)80年代后期推出的操作系統(tǒng)都已提供了聯(lián)網(wǎng)功能,從而便

于將微型計(jì)算機(jī)連接到網(wǎng)絡(luò)上。在90年代推出的網(wǎng)絡(luò)操作系統(tǒng)又提供了一定范圍的互操作

能力。所謂互操作,在客戶機(jī)/服務(wù)器模式的LAN環(huán)境下,是指連接在服務(wù)器上的多種客戶

機(jī)和主機(jī)不僅能與服務(wù)器通信,而且還能以透明的方式訪問服務(wù)器上的文件系統(tǒng);而在互聯(lián)

網(wǎng)環(huán)境下的互操作,是指不同網(wǎng)絡(luò)間的客戶機(jī)不僅能通信,而且也能以透明的方式訪問其他

網(wǎng)絡(luò)中的文件服務(wù)器。

18.簡述處理機(jī)的組成和工作原理。你認(rèn)為哪些部分和操作系統(tǒng)密切相關(guān),為什么?

參考教材,略

19.為了支持操作系統(tǒng),現(xiàn)代處理機(jī)一般都提供哪兩種工作狀態(tài),以隔離操作系統(tǒng)和普通程

序?兩種狀態(tài)各有什么特點(diǎn)?

參考教材,略

20.什么是分級的存儲體系結(jié)構(gòu)?它主要解決了什么問題?

參考教材,略

21.內(nèi)存通常有哪兩種類型?它們各自的特點(diǎn)是什么?用在哪里?

參考教材,略

22.簡述程序的局部性原理。這個原理在分級的存儲體系結(jié)構(gòu)中是怎樣起作用的?

參考教材.,略

23.緩沖技術(shù)在計(jì)算機(jī)系統(tǒng)中起著什么樣的作用?它是如何工作的?

參考教材,略

24.簡述中斷和操作系統(tǒng)的關(guān)系。操作系統(tǒng)是如何利用中斷機(jī)制的?

參考教材,略

25.時鐘對操作系統(tǒng)有什么重要作用?

參考教材,略

第2章

1.解釋作業(yè)和作業(yè)步。

參考教材,略

2.闡述程序、作業(yè)、作業(yè)步的聯(lián)系和區(qū)別。

參考教材,略

3.什么叫作業(yè)調(diào)度?作業(yè)調(diào)度選擇作業(yè)的必要條件是什么?

作業(yè)調(diào)度又稱高級調(diào)度,其主要功能是按照某種原則從后備隊(duì)列中選取作業(yè),并為作

業(yè)做好運(yùn)行前的準(zhǔn)備工作和作業(yè)完成后的善后處理工作.

4.操作系統(tǒng)提供了哪些便于用戶控制交互式作業(yè)的使用接口?

操作系統(tǒng)提供了命令接口、程序接口、圖形接口三種類型的用戶接口,其中程序接口是

操作系統(tǒng)專門為用戶程序設(shè)置的,也是用戶程序取得操作系統(tǒng)服務(wù)的唯一途徑。程序接口通

常由各種各樣的系統(tǒng)調(diào)用所組成。

5.一個具有分時兼批處理功能的操作系統(tǒng)應(yīng)怎樣調(diào)度和管理作業(yè)?為什么?

參考教材,略

6.系統(tǒng)采用不能移動已在內(nèi)存儲器中作業(yè)的可變分區(qū)方式管理內(nèi)存儲器,現(xiàn)有供用戶使用

的內(nèi)存空間100KB,系統(tǒng)配有4臺磁帶機(jī),有一批作業(yè),如表2-1所示。

表2-1作業(yè)情況表

作業(yè)序號進(jìn)輸入井時間要求計(jì)算時間/min需要內(nèi)存量/KB申請磁帶機(jī)數(shù)/臺

110:0025102

210:2030801

310:301()503

410:3520152

510:4015302

該系統(tǒng)采用多道程序設(shè)計(jì)技術(shù),對磁帶機(jī)采用靜態(tài)分配,忽略設(shè)備工作時間和系統(tǒng)進(jìn)行

調(diào)度所花的時間,請分別寫出采用“先來先服務(wù)調(diào)度算法”、“最短作業(yè)優(yōu)先算法”和“響應(yīng)

比最高者優(yōu)先算法”選中作業(yè)執(zhí)行的次序以及各個作業(yè)的裝入內(nèi)存時間、開始執(zhí)行時間、完

成時間、周轉(zhuǎn)時間和它們的平均周轉(zhuǎn)時間。

采用響應(yīng)比高者優(yōu)先算法、短作業(yè)優(yōu)先算法和先來先服務(wù)算法時,選中作業(yè)執(zhí)行的次序

均為1,2,4,5,3。

7.在上題中,若允許移動已在內(nèi)存儲器中的作業(yè),則作業(yè)被選中的次序又是怎樣的呢?并

計(jì)算出它們的平均周轉(zhuǎn)時間。

8.批處理作業(yè)是如何控制執(zhí)行的?

參考教材,略

9.終端用戶控制終端作業(yè)的執(zhí)行大致有幾個階段?

參考教材,略

10.設(shè)有I/O頻繁、I/O與計(jì)算機(jī)均衡和計(jì)算量大的3個作業(yè),它們同時進(jìn)入內(nèi)存并行工作,

請給每個作業(yè)賦予運(yùn)行優(yōu)先數(shù),并說明理由。

選擇作業(yè)調(diào)度算法要考慮多種因素,其中一個重要的因素就是系統(tǒng)資源的均衡使用。

用戶作業(yè)所需資源差異很大,例如,進(jìn)行科學(xué)計(jì)算的作業(yè)(CUP繁忙)要求較多的CPU時

間,而輸入/輸出要求較少;事務(wù)處理作業(yè)(I/O繁忙)要求較少的CPU時間,而要求較多

的輸出打印各種表格。因此在考慮設(shè)計(jì)目標(biāo)的前提下,合理搭配各種類型的作業(yè),最大限度

地發(fā)揮各種資源的效益,使它們得到充分利用,這對提高整個計(jì)算機(jī)系統(tǒng)效益會有好處。

II.什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用與一般過程調(diào)用的區(qū)別是什么?

系統(tǒng)調(diào)用在本質(zhì)上是應(yīng)用程序請求操作系統(tǒng)核心完成某一特定功能的一種過程調(diào)用,是

一種特殊的過程調(diào)用,它與一般的過程調(diào)用有以下幾方面的區(qū)別:

(1)通過軟中斷進(jìn)入

一般的過程調(diào)用可直接由調(diào)用過程轉(zhuǎn)向被調(diào)用過程;而執(zhí)行系統(tǒng)調(diào)用時,由于調(diào)用和被

調(diào)用過程是處于不同的系統(tǒng)狀態(tài),因而不允許由調(diào)用過程直接轉(zhuǎn)向被調(diào)用過程,而通常都是

通過軟中斷機(jī)制轉(zhuǎn)向相應(yīng)的命令處理程序。

(2)運(yùn)行在不同的處理機(jī)狀態(tài)

一般的過程調(diào)用,其調(diào)用程序和被調(diào)用程序都運(yùn)行在相同的處理機(jī)狀態(tài)。而系統(tǒng)調(diào)用與

一般調(diào)用的最大區(qū)別就在于:調(diào)用程序運(yùn)行在目態(tài),而被調(diào)用程序運(yùn)行在管態(tài)。

(3)處理機(jī)狀態(tài)的轉(zhuǎn)換

一般的過程調(diào)用不涉及系統(tǒng)狀態(tài)的轉(zhuǎn)換,直接由調(diào)用過程轉(zhuǎn)向被調(diào)用過程。但在運(yùn)行系

統(tǒng)調(diào)用時,由于調(diào)用和被調(diào)用過程工作在不同的系統(tǒng)狀態(tài),因而不允許由調(diào)用過程直接轉(zhuǎn)向

被調(diào)用過程,通常都是通過軟中斷機(jī)制先由目態(tài)轉(zhuǎn)換為管態(tài),在操作系統(tǒng)核心分析之后,再

轉(zhuǎn)向相應(yīng)的系統(tǒng)調(diào)用處理程序。

(4)返回問題

一般的過程調(diào)用在被調(diào)用過程執(zhí)行完后,將返回到調(diào)用過程繼續(xù)執(zhí)行。但是,在采用搶

占式調(diào)度方式的系統(tǒng)中,系統(tǒng)調(diào)用在被調(diào)用過程執(zhí)行完后,系統(tǒng)將對所有要求運(yùn)行的進(jìn)程進(jìn)

行優(yōu)先級分析。如果調(diào)用進(jìn)程仍然具有最高優(yōu)先級,則返回到調(diào)用進(jìn)程繼續(xù)執(zhí)行,否則,將

重新調(diào)度,以便讓優(yōu)先級最高的進(jìn)程優(yōu)先執(zhí)行。此時,系統(tǒng)將把調(diào)用進(jìn)程放入就緒隊(duì)列中。

(5)嵌套調(diào)用

像一般過程一樣,系統(tǒng)調(diào)用也允許嵌套調(diào)用,即在一個被調(diào)用過程的執(zhí)行期間,還可以

再利用系統(tǒng)調(diào)用命令去調(diào)用另一個系統(tǒng)調(diào)用。一般情況下,每個系統(tǒng)對嵌套調(diào)用的深度都有

一定的限制,例如最大深度為6。

12.分時系統(tǒng)中終端處理程序的作用是什么?

參考教材,略

13.操作系統(tǒng)向用戶提供了哪幾類接口?

操作系統(tǒng)向用戶提供了三類接口:命令接口、程序接口和圖形接口。用戶利用命令接口

提供的操作命令來組織和控制作業(yè)的執(zhí)行,按命令接口對作業(yè)控制方式的不同,又可以將命

令接口分為聯(lián)機(jī)命令接口和脫機(jī)命令接口;用戶還可以利用程序接口提供的系統(tǒng)調(diào)用來請求

并獲得操作系統(tǒng)的服務(wù),程序接口在用戶編制程序的時候使用。近年來,為方便用戶的使用,

又出現(xiàn)了圖形接口。

14.試說明作業(yè)的狀態(tài),并說明引起狀態(tài)轉(zhuǎn)換的典型原因。

作業(yè)的狀態(tài)有提交狀態(tài)、后備狀態(tài)、運(yùn)行狀態(tài)和完成狀態(tài)。

用戶正在向操作系統(tǒng)提交作業(yè)時所處的狀態(tài)叫做提交狀態(tài)。送入計(jì)算機(jī)并由操作系統(tǒng)將

作業(yè)存放在磁盤上以后,系統(tǒng)為這個作業(yè)建立一個作業(yè)控制塊,并把它插入到后備隊(duì)列中等

待調(diào)度運(yùn)行,此時,這個作業(yè)所處的狀態(tài)稱為后備狀態(tài)。

當(dāng)這個作業(yè)被作業(yè)調(diào)度程序選中,并為它分配了必要的資源,建立了一組相應(yīng)的進(jìn)程之

后,這個作業(yè)就由后備狀態(tài)變?yōu)檫\(yùn)行狀態(tài)。

當(dāng)作業(yè)正常運(yùn)行結(jié)束或因發(fā)生錯誤而異常結(jié)束時,作業(yè)進(jìn)入完成狀態(tài)。此時,由操作系

統(tǒng)將作業(yè)控制塊從當(dāng)前作業(yè)隊(duì)列中刪除,并收回其所占用的資源。

15.作業(yè)和進(jìn)程有什么區(qū)別和聯(lián)系?

作業(yè)通常是指用戶在一次計(jì)算過程中或者一次事物處理過程中要求計(jì)算機(jī)系統(tǒng)所做工

作的集合,包括用戶程序、所需的數(shù)據(jù)及命令等。進(jìn)程是具有獨(dú)立功能的可并發(fā)執(zhí)行的程序

在一個數(shù)據(jù)集合上的運(yùn)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨(dú)立單位。作業(yè)和進(jìn)程之間的

區(qū)別和聯(lián)系如下:

(1)作業(yè)是用戶向計(jì)算機(jī)提交的任務(wù)實(shí)體,而進(jìn)程則是完成用戶任務(wù)的執(zhí)行實(shí)體,是向

操作系統(tǒng)申請分配資源的基本單位。

(2)一個作業(yè)可以由多個進(jìn)程組成,且一個作業(yè)至少由一個進(jìn)程組成。

(3)作業(yè)的概念主要用在批處理系統(tǒng)中,而進(jìn)程的概念則用在所有的多道程序系統(tǒng)中。

16.有.5個批處理作業(yè)(A、B、C、D、E)幾乎同時到達(dá),估計(jì)的運(yùn)行時間分別為2、4、

6、8、10分鐘,它們的優(yōu)先級分別為1、2、3、4、5(1為最低優(yōu)先級)。對下面的每

種調(diào)度算法,分別計(jì)算作業(yè)的平均周轉(zhuǎn)時間。

(1)最高優(yōu)先級優(yōu)先。

(2)時間片輪轉(zhuǎn)(時間片為2分鐘)。

(3)FIFO(作業(yè)的到達(dá)順序?yàn)镃、D、B、E、A)

(4)短作業(yè)優(yōu)先。

為了計(jì)算方便,假設(shè)這批作業(yè)的到達(dá)時間為0。

(1)使用最高優(yōu)先級優(yōu)先算法時,作業(yè)的調(diào)度順序?yàn)镋、D、C、B、A,各作業(yè)的周轉(zhuǎn)

時間如表2-2所示。

表2-2

作業(yè)執(zhí)行時間優(yōu)先級開始運(yùn)行時間完成時間周轉(zhuǎn)時間

A21283030

B42242828

C63182424

D84101818

E10501010

平均周轉(zhuǎn)時間為(30+28+24+18+10)/5=22分鐘

(2)使用時間片輪轉(zhuǎn)算法時,作業(yè)的調(diào)度順序?yàn)?

0分鐘作業(yè)A、B、C、D、E到達(dá),作業(yè)A開始運(yùn)行,作業(yè)B、C、D、E等待

2分鐘作業(yè)A運(yùn)行結(jié)束,作業(yè)B開始運(yùn)行,作業(yè)C、D、E等待

4分鐘作業(yè)C開始運(yùn)行,作業(yè)D、E、B等待

6分鐘作業(yè)D開始運(yùn)行,作業(yè)E、B、C等待

8分鐘作業(yè)E開始運(yùn)行,作業(yè)B、C、D等待

10分鐘作業(yè)B開始運(yùn)行,作業(yè)C、D、E等待

12分鐘作業(yè)B運(yùn)行結(jié)束,作業(yè)C開始運(yùn)行,作業(yè)D、E等待

14分鐘作業(yè)D開始運(yùn)行,作業(yè)E、C等待

16分鐘作業(yè)E開始運(yùn)行,作業(yè)C、D等待

18分鐘作業(yè)C開始運(yùn)行,作業(yè)D、E等待

20分鐘作業(yè)C運(yùn)行結(jié)束,作業(yè)D開始運(yùn)行,作業(yè)E等待

22分鐘作業(yè)E開始運(yùn)行,作業(yè)D等待

24分鐘作業(yè)D開始運(yùn)行,作業(yè)E等待

26分鐘作業(yè)D運(yùn)行結(jié)束,作業(yè)E開始運(yùn)行

30分鐘作業(yè)E運(yùn)行結(jié)束

各作業(yè)的周轉(zhuǎn)時間如表2-3所示。

表2-3

作業(yè)執(zhí)行時間優(yōu)先級開始運(yùn)行時間完成時間周轉(zhuǎn)時間

A21022

B4221212

C6342020

D8462626

E10583030

平均周轉(zhuǎn)時間為(2+12+20+26+30)/5=18分鐘

(3)使用FIFO(作業(yè)到達(dá)順序?yàn)镃、D、B、E、A)算法時,作業(yè)調(diào)度順序?yàn)镃、D、

B、E、A,各作業(yè)的周轉(zhuǎn)時間如表2-4所示。

表2-4

作業(yè)執(zhí)行時間優(yōu)先級開始運(yùn)行時間完成時間周轉(zhuǎn)時間

A21283030

B42141818

C63066

D8461414

E105182828

平均周轉(zhuǎn)時間為(30+18+6+14+28)/5=19.2分鐘

(4)使用短作業(yè)優(yōu)先算法時,作業(yè)的調(diào)度順序?yàn)锳、B、C、D、E,各作業(yè)的周轉(zhuǎn)時間

如表2-5所示。

表2-5

作業(yè)執(zhí)行時間優(yōu)先級開始運(yùn)行時間完成時間周轉(zhuǎn)時間

A21022

B42266

C6361212

D84122020

E105203030

平均周轉(zhuǎn)時間為(2+6+12+20+30)/5=14分鐘

17.有一個多道程序設(shè)計(jì)系統(tǒng),采用不允許移動的可變分區(qū)方式管理內(nèi)存中的用戶空間,設(shè)

用戶空間為100KB,內(nèi)存空間的分配算法為首次適應(yīng)分配算法,進(jìn)程調(diào)度算法采用先

來先服務(wù)算法,今有如表2-6所示作業(yè)序列。

假定所有作業(yè)都是計(jì)算型作業(yè)且忽略系統(tǒng)調(diào)度時間,請分別寫出采用“先來先服務(wù)調(diào)度

算法”、“計(jì)算時間短的作業(yè)優(yōu)先算法”時,作業(yè)的裝入內(nèi)存時間、開始執(zhí)行時間、完成時

間、周轉(zhuǎn)時間以及它們的平均周轉(zhuǎn)時間。

表2-6

作業(yè)名進(jìn)入“輸入井”時間需計(jì)算時間內(nèi)存需求量

A10:0642分鐘15KB

B10:1830分鐘60KB

C10:3024分鐘50KB

D10:3620分鐘10KB

E10:4212分鐘20KB

采用先來先服務(wù)調(diào)度算法時,作業(yè)的裝入內(nèi)存時間、開始執(zhí)行時間、完成時間及周轉(zhuǎn)時

間如表2-7所示。

表2-7

作業(yè)名進(jìn)入“輸入井”時間裝入內(nèi)存時間開始執(zhí)行時間完成時間周轉(zhuǎn)時間

A10:0610:0610:0610:4842分鐘

B10:1810:1810:4811:1860分鐘

C10:3011:1811:3812:0292分鐘

D10:3610:3611:1811:3862分鐘

E10:4211:1812:0212:1492分鐘

平均周轉(zhuǎn)時間:(42+60+92+62+92)/5=69.6分鐘

采用計(jì)算時間短的作業(yè)優(yōu)先算法時,作業(yè)的裝入內(nèi)存時間、開始執(zhí)行時間、完成時間及

周轉(zhuǎn)時間如表2-8所示。

表2-8

進(jìn)入“輸入井”時

作業(yè)名裝入內(nèi)存時間開始執(zhí)行時間完成時間周轉(zhuǎn)時間

A10:0610:0610:0610:4842分鐘

B10:1810:1810:4811:1860分鐘

C10:3011:1811:5012:14104分鐘

D10:3610:3611:1811:3862分鐘

E10:4211:1811:3811:5068分鐘

平均周轉(zhuǎn)時間:(42+60+104+62+68)/5=67.2分鐘

18.在一個批處理單道系統(tǒng)中,采用響應(yīng)比高者優(yōu)先的作業(yè)調(diào)度算法。當(dāng)一個作業(yè)進(jìn)入系統(tǒng)

后就可以開始調(diào)度,假定作業(yè)都僅是計(jì)算,忽略調(diào)度花費(fèi)的時間?,F(xiàn)有3個作業(yè),進(jìn)入

系統(tǒng)的時間和需要計(jì)算的時間如表2-9所示。

表2-9

作業(yè)進(jìn)入系統(tǒng)時間需要計(jì)算時間開始時間完成時間周轉(zhuǎn)時間

19:0060分鐘———

29:1045分鐘———

39:1525分鐘———

(1)求出每個作業(yè)的開始時間、完成時間及周轉(zhuǎn)時間并填入表2-9中。

(2)計(jì)算三個作業(yè)的平均周轉(zhuǎn)時間應(yīng)為多少?

3個作業(yè)的開始時間、完成時間及周轉(zhuǎn)時間如表2-10所示。

表2-10

作業(yè)進(jìn)入系統(tǒng)時間需要計(jì)算時間開始時間完成時間周轉(zhuǎn)時間

19:0060分鐘9:0010:0060分鐘

29:1045分鐘10:2511:10120分鐘

39:2525分鐘10:0010:2560分鐘

平均周轉(zhuǎn)時間:60+120+60=80分鐘

第3章

1.什么是進(jìn)程,它與程序有哪些異同點(diǎn)?

進(jìn)程和程序是緊密相關(guān)而又完全不同的兩個概念。

(1)每個進(jìn)程實(shí)體中包含了程序段、數(shù)據(jù)段這兩個部分,因此說進(jìn)程和程序是緊密相關(guān)

的。但從結(jié)構(gòu)上看,進(jìn)程實(shí)體中除了程序段和數(shù)據(jù)段外,還必須包含一個數(shù)據(jù)結(jié)構(gòu),即進(jìn)程

控制塊PCB。

(2)進(jìn)程是程序的一次執(zhí)行過程,因此是動態(tài)的。動態(tài)性還表現(xiàn)在進(jìn)程由創(chuàng)建而產(chǎn)生、

由調(diào)度而執(zhí)行、由撤銷而消亡,即它具有一定的生命周期。而程序則只是一組指令的有序集

合,并可永久地存放在某種介質(zhì)上,其本身不具有動態(tài)的含義,因此是靜態(tài)的。

(3)多個進(jìn)程實(shí)體可同時存放在內(nèi)存中并發(fā)執(zhí)行,其實(shí)這正是引入進(jìn)程的目的。而程序

的并發(fā)執(zhí)行具有不可再現(xiàn)性,因此程序不能正確地并發(fā)執(zhí)行。

(4)進(jìn)程是一個能夠獨(dú)立運(yùn)行,獨(dú)立分配資源和獨(dú)立接受調(diào)度的基本單位。而因程序不

具有PCB,所以它是不可能在多道程序環(huán)境下獨(dú)立運(yùn)行的。

(5)進(jìn)程和程序不一一對應(yīng)。同一個程序的多次運(yùn)行,將形成多個不同的進(jìn)程;同一個

程序的一次執(zhí)行也可以產(chǎn)生多個進(jìn)程;而一個進(jìn)程也可以執(zhí)行多個程序。

2.進(jìn)程控制塊的作用是什么?它主要包括哪幾部分內(nèi)容?

進(jìn)程控制塊PCB是一個記錄進(jìn)程屬性信息的數(shù)據(jù)結(jié)構(gòu),是進(jìn)程實(shí)體的一部分,是操作

系統(tǒng)中最重要的數(shù)據(jù)結(jié)構(gòu)。當(dāng)操作系統(tǒng)要調(diào)度某進(jìn)程執(zhí)行時,需要從該進(jìn)程的PCB中查詢

其現(xiàn)行狀態(tài)和優(yōu)先級調(diào)度參數(shù);在調(diào)度到某進(jìn)程后,要根據(jù)其PCB中保存的處理機(jī)狀態(tài)信

息去設(shè)置和恢復(fù)進(jìn)程運(yùn)行的現(xiàn)場,并根據(jù)其PCB中的程序和數(shù)據(jù)的內(nèi)存地址來找到其程序

和數(shù)據(jù);進(jìn)程在執(zhí)行過程中,當(dāng)需要與其他進(jìn)程通信時,也要訪問其PCB;當(dāng)進(jìn)程因某種

原因而暫停執(zhí)行時,又需要將斷點(diǎn)的現(xiàn)場信息保存在其PCB中。系統(tǒng)在建立進(jìn)程的同時就

建立了該進(jìn)程的PCB,在撤銷一個進(jìn)程同時也就撤銷了其PCBo由此可知,操作系統(tǒng)根據(jù)

PCB來對并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理,PCB是進(jìn)程存在的唯一標(biāo)志。

在進(jìn)程控制塊中,用于描述和控制進(jìn)程運(yùn)行的信息主要包括下述四個方面:

(1)進(jìn)程標(biāo)識符信息。進(jìn)程標(biāo)識符用于唯一地標(biāo)識一個進(jìn)程。一個進(jìn)程通常有外部標(biāo)識

符、內(nèi)部標(biāo)識符兩種標(biāo)識符。

(2)處理機(jī)狀態(tài)信息。用于進(jìn)程切換時保存和恢復(fù)CPU現(xiàn)場,主要是由處理機(jī)各種寄

存器中的內(nèi)容所組成。

(3)進(jìn)程調(diào)度信息。存放與進(jìn)程調(diào)度和進(jìn)程對換有關(guān)的信息,主要包括進(jìn)程狀態(tài)、優(yōu)先

級、等待CPU的時間總和、進(jìn)程已執(zhí)行的時間總和和進(jìn)程阻塞原因等信息。

(4)進(jìn)程控制信息。進(jìn)程控制信息包括程序和數(shù)據(jù)的地址、進(jìn)程同步和通信機(jī)制以及資

源清單和鏈接指針等。

3.進(jìn)程有哪幾種基本狀態(tài)?試舉出使進(jìn)程狀態(tài)發(fā)生變化的事件并描繪它的狀態(tài)轉(zhuǎn)換圖。

進(jìn)程有以下三種基本狀態(tài):

①就緒狀態(tài)。當(dāng)進(jìn)程已分配到除CPU以外所有必要的資源后,只要能再獲得處理機(jī)便可

立即執(zhí)行,這時的狀態(tài)稱為就緒狀態(tài)。

②執(zhí)行狀態(tài)。進(jìn)程已獲得處理機(jī),程序正在執(zhí)行。

③阻塞狀態(tài)。進(jìn)程因發(fā)生某種等待事件(如I/O請求、申請緩沖空間等)而暫停執(zhí)行

時的狀態(tài),亦即進(jìn)程的執(zhí)行受到阻塞,故稱這種狀態(tài)為阻塞狀態(tài),有時也稱為“等待”狀態(tài)

或“睡眠”狀態(tài)。

(2)進(jìn)程狀態(tài)的轉(zhuǎn)換

進(jìn)程在運(yùn)行期間不斷地從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài),進(jìn)程的各種調(diào)度狀態(tài)依據(jù)一定的

條件而發(fā)生變化,它可以多次處于就緒狀態(tài)和執(zhí)行狀態(tài),也可多次處于阻塞狀態(tài),但可能排

在不同的阻塞隊(duì)列中。

進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換如圖3-1所示。

執(zhí)行態(tài)';

進(jìn)程調(diào)度//客選出現(xiàn)等待事件

等待事件已經(jīng)發(fā)生

進(jìn)程的基本狀態(tài)及其轉(zhuǎn)換

4.什么是操作系統(tǒng)的內(nèi)核?

參考教材,略

5.大多數(shù)時間片輪轉(zhuǎn)調(diào)度算法使用一個固定大小的時間片,請給出選擇小時間片的理由,

然后再給出選擇大時間片的理由。

時間片長短的確定遵循這樣的原則:既要保證系統(tǒng)中各個用戶進(jìn)程及時地得到響應(yīng),又不

要由于時間片太短而增加調(diào)度的開銷,降低系統(tǒng)的效率。

6.有5個進(jìn)程(A?E)幾乎同時到達(dá)一計(jì)算中心。它們的估計(jì)運(yùn)行時間分別為10、6、2、

4和18分鐘。其優(yōu)先數(shù)(由外部設(shè)定)分別為3、5、2、1和4,其中5設(shè)為最高優(yōu)先級。

對于下列每種調(diào)度算法,計(jì)算其平均進(jìn)程周轉(zhuǎn)時間,可忽略進(jìn)程切換的開銷。

(1)時間片輪轉(zhuǎn)調(diào)度算法(時間片為4)。

(2)優(yōu)先級調(diào)度算法。

(3)先來先服務(wù)調(diào)度算法(按照次序10、6、2、4、8運(yùn)行)調(diào)度算法。

(4)最短進(jìn)程優(yōu)先調(diào)度算法。

對(1),假設(shè)系統(tǒng)具有多道處理能力,每個進(jìn)程均獲得公平的處理機(jī)時間,對(2)?

(4)假設(shè)任一時刻只有一個作業(yè)運(yùn)行,直到結(jié)束。所有的進(jìn)程都是處理機(jī)密集型作業(yè)。

7.什么是線程?進(jìn)程和線程的主要區(qū)別是什么?

在引入線程的操作系統(tǒng)中,線程是進(jìn)程的一個實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單

位。線程自己基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器、

一組寄存器和棧),但它可與同屬一個進(jìn)程的其他線程共享進(jìn)程所擁有的全部資源。

從調(diào)度、并發(fā)性、系統(tǒng)開銷、擁有資源等方面來比較線程和進(jìn)程:

(1)調(diào)度。在傳統(tǒng)的操作系統(tǒng)中,獨(dú)立調(diào)度、分派的基本單位是進(jìn)程。而在引入線程的

操作系統(tǒng)中,則把線程作為調(diào)度和分派的基本單位。

(2)并發(fā)性。在引入線程的操作系統(tǒng)中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個進(jìn)程

中的多個線程之間亦可并發(fā)執(zhí)行,因而使操作系統(tǒng)具有更好的并發(fā)性,從而能更有效地使用

系統(tǒng)資源和提高系統(tǒng)的吞吐量。

(3)擁有資源。不論是傳統(tǒng)的操作系統(tǒng),還是設(shè)有線程的操作系統(tǒng),進(jìn)程都是擁有資源

的基本單位,它可以擁有自己的資源。一般地說,線程自己不擁有系統(tǒng)資源(也有一點(diǎn)必不

可少的資源),但它可以訪問其隸屬進(jìn)程的資源。

(4)系統(tǒng)開銷。由于在創(chuàng)建、撤銷或切換進(jìn)程時,系統(tǒng)都要為之分配或回收資源,保存

CPU現(xiàn)場。因此,操作系統(tǒng)所付出的開銷將顯著地大于在創(chuàng)建、撤銷或切換線程時的開銷。

8.簡述進(jìn)程創(chuàng)建的步驟。

一旦操作系統(tǒng)發(fā)現(xiàn)了要求創(chuàng)建新進(jìn)程的事件后,便調(diào)用進(jìn)程創(chuàng)建原語create(),按下述

步驟創(chuàng)建一個新進(jìn)程:

①申請空白PCB;

②為新進(jìn)程分配資源;

③初始化進(jìn)程控制塊;

④將新進(jìn)程插入就緒隊(duì)列中.

9.某系統(tǒng)采用最高響應(yīng)比優(yōu)先的調(diào)度算法,某個時刻根據(jù)用戶要求創(chuàng)建了一個進(jìn)程P,進(jìn)

程P在其存在過程中依次經(jīng)歷了。

(1)進(jìn)程調(diào)度選中了進(jìn)程P占用處理機(jī)運(yùn)行,進(jìn)程P運(yùn)行中提出資源申請,要求增加

內(nèi)存使用量,沒有得到。

(2)進(jìn)程等待一段時間后得到內(nèi)存。

(3)進(jìn)程調(diào)度再次選中了進(jìn)程P占用處理機(jī)運(yùn)行.

(4)有緊急進(jìn)程Q進(jìn)入,系統(tǒng)停止進(jìn)程P的運(yùn)行,將處理機(jī)分配給進(jìn)程Q。

(5)進(jìn)程Q運(yùn)行完,進(jìn)程調(diào)度再次選中了進(jìn)程P占用處理機(jī)運(yùn)行。

(6)進(jìn)程P運(yùn)行完。

分析進(jìn)程P在其整個生命過程中的狀態(tài)變化。

創(chuàng)建進(jìn)程P:進(jìn)程處于就緒態(tài);

進(jìn)程調(diào)度選中了進(jìn)程P占用處理機(jī)運(yùn)行:就緒態(tài)一執(zhí)行態(tài);

進(jìn)程P運(yùn)行一個時間片后被迫讓出處理機(jī):執(zhí)行態(tài)一就緒態(tài)

進(jìn)程調(diào)度再次選中了進(jìn)程P占用處理機(jī)運(yùn)行:就緒態(tài)一執(zhí)行態(tài);

進(jìn)程P運(yùn)行中提出資源申請,要求增加主存使用量,沒有得到:執(zhí)行態(tài)一阻塞態(tài);

進(jìn)程等待一段時間后得到內(nèi)存:阻塞態(tài)一就緒態(tài);

進(jìn)程調(diào)度再次選中了進(jìn)程P占用處理機(jī)運(yùn)行:就緒態(tài)一執(zhí)行態(tài);

進(jìn)程P運(yùn)行完。

10.程序并發(fā)執(zhí)行并具有可再現(xiàn)性的條件是什么?

程序在并發(fā)執(zhí)行時,多個程序共享系統(tǒng)中的資源,這些資源的狀態(tài)將由多個程序來改變,

從而使程序的執(zhí)行失去了封閉性,也失去了可再現(xiàn)性。如果并發(fā)執(zhí)行的程序要具有可再現(xiàn)性,

則要么沒有共享資源,要么不改變共享資源的狀態(tài)。因此,程序并發(fā)執(zhí)行并具有可再現(xiàn)性的

條件是程序間無共享資源或?qū)蚕碣Y源僅有讀操作。

11.什么是原語?

原語是由若干條機(jī)器指令構(gòu)成的一段程序,用以完成特定的功能。這段程序在執(zhí)行期間

不可分割。也就是說,原語的執(zhí)行不能被中斷,所以原語的操作具有原子性。

12.有4個進(jìn)程P|,P2,P3,P4)它們進(jìn)入就緒隊(duì)列的先后次序?yàn)镻i、P2、P3、P4,它們的

優(yōu)先級和需要的處理機(jī)時間如表3-1所示。假定這四個進(jìn)程執(zhí)行過程中不會發(fā)生等待事

件,忽略進(jìn)行調(diào)度等所花費(fèi)的時間,從某個時刻開始進(jìn)程調(diào)度,請回答下列問題:

①寫出分別采用“先來先服務(wù)”調(diào)度算法選中進(jìn)程執(zhí)行的次序、計(jì)算出各進(jìn)程在就緒

隊(duì)列中的等待時間以及平均等待時間;

②寫出分別采用“非搶占式的優(yōu)先級”(固定優(yōu)先級)調(diào)度算法選中進(jìn)程執(zhí)行的次序、

計(jì)算出各進(jìn)程在就緒隊(duì)列中的等待時間以及平均等待時間;

③寫出分別采用“時間片輪轉(zhuǎn)”(時間片大小為5)調(diào)度算法選中進(jìn)程執(zhí)行的次序、

計(jì)算出各進(jìn)程在就緒隊(duì)列中的等待時間以及平均等待時間。

表3-1

進(jìn)程處理機(jī)時間優(yōu)先級

P183

P261

P3225

P444

先來先服務(wù)算法選擇進(jìn)程的順序依次為Pi、P2、P3、P40

進(jìn)程Pi等待時間為0;

進(jìn)程P2等待時間為8:

進(jìn)程P3等待時間為8+6=14;

進(jìn)程P4等待時間為8+6+22=36。

平均等待時間為(0+8+14+36)/4=14.5

非搶占式的優(yōu)先級算法選擇進(jìn)程的順序依次為P3、P4、Pi、P2。

進(jìn)程P)等待時間為4+22=26;

進(jìn)程P2等待時間為22+4+8=34;

進(jìn)程P3等待時間為0;

進(jìn)程巴等待時間為22。

平均等待時間為(26+34+0+22)/4=20.5

時間片輪轉(zhuǎn)進(jìn)程調(diào)度順序?yàn)镻i、P2、P3、P4、Pi、P2、P3、P3、P3、P3。

進(jìn)程Pi等待兩次,時間為0+(5+5+4)=14;

進(jìn)程P2等待兩次,時間為5+(5+4+3)=17;

進(jìn)程P3等待兩次,時間為(5+5)+(4+3+1)=18;

進(jìn)程P4等待1次,時間為5+5+5=15。

平均等待時間為(14+17+18+15)/4=16

13.假定有一個進(jìn)程A,它的工作流程圖3-2所示,如果系統(tǒng)中進(jìn)程只有三種狀態(tài)(就緒、

執(zhí)行、阻塞),且進(jìn)程被進(jìn)程調(diào)度選中后就可投入運(yùn)行,時間片q=200ms,請順序列出

開始磁盤I/O請求磁帶I/O請求打印請求結(jié)束

計(jì)算250ms計(jì)算50ms計(jì)算200ms計(jì)算150ms

圖3-2進(jìn)程A工作流程圖

其從開始到結(jié)束所經(jīng)歷的狀態(tài)轉(zhuǎn)化過程,并注明原因。

根據(jù)該進(jìn)程的進(jìn)程工作流程圖可知:

(1)開始時,進(jìn)程被調(diào)度程序選中立即投入運(yùn)行,運(yùn)行200ms后,時間片到時,進(jìn)程

由運(yùn)行態(tài)轉(zhuǎn)變成就緒態(tài),發(fā)生進(jìn)程切換,其他進(jìn)程被調(diào)度運(yùn)行;

(2)某時刻,該進(jìn)程重新被調(diào)度程序調(diào)度投入運(yùn)行,進(jìn)程從就緒態(tài)變成運(yùn)行態(tài),運(yùn)行

50ms后,進(jìn)程請求磁盤I/O,由運(yùn)行態(tài)變?yōu)樽枞麘B(tài);

(3)磁盤I/O完成后,進(jìn)程由阻塞態(tài)變?yōu)榫途w態(tài),并在某時刻被調(diào)度程序調(diào)度得到CPU

運(yùn)行,從就緒態(tài)變成運(yùn)行態(tài);

(4)運(yùn)行50ms后,進(jìn)程因請求磁帶I/O而阻塞;

(5)進(jìn)程磁帶I/O請求完成后,從阻塞態(tài)變成就緒態(tài),某一時刻被調(diào)度程序選中執(zhí)行,

從就緒態(tài)變成運(yùn)行態(tài),運(yùn)行200ms后時間片用完,進(jìn)程從運(yùn)行態(tài)變?yōu)榫途w態(tài);

(6)某一時刻,調(diào)度程序選中進(jìn)程執(zhí)行,但進(jìn)程要執(zhí)行打印請求,此時進(jìn)程從就緒態(tài)

變成阻塞態(tài);

(7)打印請求結(jié)束后,進(jìn)程由阻塞態(tài)變?yōu)榫途w態(tài),某一時刻進(jìn)程又被重新調(diào)度執(zhí)行,

進(jìn)程從就緒態(tài)變成運(yùn)行態(tài),運(yùn)行150ms后進(jìn)程結(jié)束。

14.若程序P“,P。和匕單獨(dú)執(zhí)行的時間分別為T“虱和T”T〃=l小時,n=1.5小時,T,=2

小時,其中處理機(jī)工作時間分別為T“=10分鐘,T〃=15分鐘,1二35分鐘。如果采用多

道程序設(shè)計(jì)的方法,讓P“,和P,并行工作,假定處理機(jī)利用率達(dá)到60%,另加20

分鐘系統(tǒng)開銷,請問系統(tǒng)效率能提高百分之幾?

T。,Tb和T,.并行工作共用CPU時間:

(10+15+35)/60%=100

系統(tǒng)效率提高:

[(60+90+120)-(100+20)]/(60+90+120)*100%

=(270-120)/270*100%

=55.6%

15.證明在非剝奪式調(diào)度算法中,對于同時到達(dá)的n個批處理進(jìn)程,最短進(jìn)程優(yōu)先調(diào)度策略

保證了最小的平均等待時間。假設(shè)調(diào)度程序只要有任務(wù)就必須執(zhí)行,且不考慮之后到達(dá)

的進(jìn)程。

首先,設(shè)該”個進(jìn)程為Pl,P2,…,Pn,運(yùn)行所需時間為SI,S2,…,S/io對〃個進(jìn)

程按執(zhí)行時間從小到大重新進(jìn)行排序,則對“個進(jìn)程:P'l,P'2,…,P'n,它們的運(yùn)行時

間滿足:S'1WS'2W…S”。那么有.:

T=S1+(S'1+S'2)+(S'lS'2+S'3)+…+(S'1+S'2+S'3+…+S'n)]/n

=[〃XS'l+("-l)XS'2+…+S'〃]/〃

=(S'1+S'2+…+S'?)-[0XS'l+lXS'2+2XS'3+…1)XS^J/n

由于在任何調(diào)度方式下,S”+S,2+…+S”是一個固定的數(shù),而當(dāng)S”…

WS'〃時才有0XS'l+lXS'2+2XS'3+...(止1)XS"的值最大,也就是說,此時T最小。

第4章

1.并發(fā)執(zhí)行的進(jìn)程在系統(tǒng)中通常表現(xiàn)為兒種關(guān)系?各是在什么情況下發(fā)生的?

在多道程序環(huán)境下,系統(tǒng)中可能有許多進(jìn)程,在這些進(jìn)程之間可能存在以下兩種關(guān)系:

①資源共享關(guān)系。此時,進(jìn)程同步的主要任務(wù)是保證諸進(jìn)程能互斥地訪問臨界資源。

為此,系統(tǒng)中的資源應(yīng)不允許用戶進(jìn)程直接使用,而應(yīng)由系統(tǒng)統(tǒng)一分配。

②相互合作關(guān)系。此時進(jìn)程同步的主要任務(wù)是保證相互合作的諸進(jìn)程在執(zhí)行次序上的

協(xié)調(diào),不會出現(xiàn)與時間有關(guān)的差錯。

2.什么叫臨界資源?什么叫臨界區(qū)?對臨界區(qū)的使用應(yīng)符合哪些規(guī)則?

在計(jì)算機(jī)中有許多資源一次只能允許一個進(jìn)程使用,如果多個進(jìn)程同時使用這些資源,

則有可能造成系統(tǒng)的混亂,這些資源被稱作臨界資源,如打印機(jī)和一些共享變量。

在每個進(jìn)程中,訪問臨界資源的那段代碼稱為臨界區(qū)。

3.若信號量s表示某一類資源,則對s執(zhí)行wait、signal操作的直觀含義是什么?

參考教材,略

4.在用wait、signal操作實(shí)現(xiàn)進(jìn)程通信時,應(yīng)根據(jù)什么原則對信號量賦初值?

參考教材,略

5.當(dāng)進(jìn)程對信號量s執(zhí)行wait、signal操作時,s的值發(fā)生變化,當(dāng)s>0、s=0和s<0時,

其物理意義是什么?

參考教材,略

6.有一容量為100的循環(huán)緩沖區(qū),有多個并發(fā)執(zhí)行進(jìn)程通過該緩沖區(qū)進(jìn)行通信。為了正確

地管理緩沖區(qū),系統(tǒng)設(shè)置了兩個讀寫指針分別為IN、OUT。IN和OUT的值如何反映

緩沖區(qū)為空還是滿的情況?

7.有一閱覽室,共有100個座位。為了很好地利用它,讀者進(jìn)入時必須先在登記表上進(jìn)行

登記。該表表目設(shè)有座位號和讀者姓名,離開時再將其登記項(xiàng)摒除。試問:

(1)為描述讀者的動作,應(yīng)編寫幾個程序?應(yīng)設(shè)幾個進(jìn)程?它們之間的關(guān)系是什么?

(2)試用P、V操作描述進(jìn)程之間的同步算法。

8.什么是死鎖?

所謂死鎖,是指多個進(jìn)程在運(yùn)行過程中因競爭資源而造成的一種僵局,若無外力作用,

這些進(jìn)程都將無法再向前推進(jìn)。

9.死鎖產(chǎn)生的4個必要條件是什么?

死鎖產(chǎn)生的4個必要條件:

(1)互斥條件。進(jìn)程要求對所分配的資源進(jìn)行排它性控制,即在一段時間內(nèi)某資源僅被

一個進(jìn)程所占有。

(2)請求和保持條件。當(dāng)進(jìn)程因請求資源而阻塞時,對己獲得的資源保持不放。

(3)不剝奪條件。進(jìn)程已獲得的資源在未使用完之前不能被剝奪,只能在使用完時由自

己釋放。

(4)環(huán)路等待條件。在發(fā)生死鎖時,必然存在一個進(jìn)程一一資源的環(huán)形鏈。

10.死鎖的4個必要條件是彼此獨(dú)立的嗎?試給出最少的必要條件。

11.什么是銀行家算法?

Dijkstra的銀行家算法是最有代表性的避免死鎖算法。為實(shí)現(xiàn)銀行家算法,系統(tǒng)中必須

設(shè)置若干個數(shù)據(jù)結(jié)構(gòu)。

①可利用資源向量Available,它是一個具有m個元素的數(shù)組,其中的每一個元素

代表一類可利用的資源數(shù)目,其初始值為系統(tǒng)中所配置的該類全部可用資源的數(shù)目。其

數(shù)值隨該類資源的分配與回收而動態(tài)地改變。如果Available[/]=&,表示系統(tǒng)中現(xiàn)有&

類資源X個。

②最大需求矩陣Max。它是一個〃Xm的矩陣,定義了系統(tǒng)中”個進(jìn)程中的每一個進(jìn)

程對,〃類資源的最大需求。如果Max(iJ)=)l,表示進(jìn)程i需要Rj類資源的最大數(shù)目為仇

③分配矩陣Allocation。它是一個"X機(jī)的矩陣,定義了系統(tǒng)中每一類資源當(dāng)前已分配給

每一個進(jìn)程的資源數(shù)。如果Allocation(ij)=k,表示進(jìn)程,?當(dāng)前已分得&類資源的數(shù)目為鼠

④需求矩陣Need。它是一個“X,”的矩陣,用以表示每一個進(jìn)程尚需的各類資源數(shù),

如果Need[iJ]=A,表示進(jìn)程/還需要&類資源k個,方能完成其任務(wù)。

上述三個矩陣存在下述關(guān)系:

Need(izj)=Max(i,j)-Allocation(i,j)

設(shè)Request;是進(jìn)程P,的請求向量。如果Request,U]=k,表示進(jìn)程P,需要%個Rj類型的資

源。當(dāng)P,?發(fā)出資源請求后,系統(tǒng)按銀行家算法進(jìn)行檢查:

①如果Request,<Need?則轉(zhuǎn)向步驟②;否則,認(rèn)為出錯,因?yàn)樗枰馁Y源數(shù)已

超過它所宣布的最大值。

②如果Request,WAvailable,則轉(zhuǎn)向步驟③:否則,表示尚無足夠資源,P:必須等待。

③系統(tǒng)試探把要求的資源分配給進(jìn)程P,并修改下面數(shù)據(jù)結(jié)構(gòu)中的數(shù)值:

Available=Available-Requestj;

Allocation^Allocatiorij+Requesti;

Needi=Needi-Requesti;

④系統(tǒng)執(zhí)行安全性算法,檢查此次資源分配后,系統(tǒng)是否處于安全狀態(tài)。若安全,才

正式將資源分配給進(jìn)程p“以完成本次分配;否則,將試探分配作廢,恢復(fù)原來的資源分配

狀態(tài),讓進(jìn)程Pi等待。

系統(tǒng)所執(zhí)行的安全性算法可描述如下:

①設(shè)置兩個向量:工作向量Work,它表示系統(tǒng)可提供給進(jìn)程繼續(xù)運(yùn)行所需的各類資源

數(shù)目,它含有桃個元素,執(zhí)行安全性算法開始時,Work=Allocation;

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論