




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 列方程解應(yīng)用題復(fù)習(xí)
- 供應(yīng)鏈管理物流管理作業(yè)指導(dǎo)書
- 建房施工合同協(xié)議書
- 2025年黔東南駕校考試貨運(yùn)從業(yè)資格證模擬考試
- 垃圾運(yùn)輸合同合同
- 招聘信息收集表-人力資源
- 電力供應(yīng)與需求分析表
- 2025年天水道路貨運(yùn)從業(yè)資格證模擬考試
- 《生物學(xué)中的光合作用原理及應(yīng)用》
- 加油站購銷合同汽油購銷合同
- 中建混凝土工程專項(xiàng)施工方案
- 機(jī)電一體化(專業(yè)畢業(yè)論文)
- 小學(xué)2年級心理健康教育課件《智斗“攔路虎”-人人都會有困難》
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》真題及答案解析
- 焊工(初級)考試題庫及答案
- 2024年云南省中考物理試題含答案
- 感染科質(zhì)控中心工作匯報(bào)
- Module1Unit1Welivedinasmallhouse (教案) 英語五年級下冊
- 期末試卷(試題)-2024-2025學(xué)年滬教版三年級上冊數(shù)學(xué)
- 風(fēng)險(xiǎn)評估報(bào)告模板
- 合肥市2024年中考理化生實(shí)驗(yàn)評分細(xì)則
評論
0/150
提交評論