操作系統(tǒng)(第三版)劉振鵬 王煜 張明 編著 答案_第1頁(yè)
操作系統(tǒng)(第三版)劉振鵬 王煜 張明 編著 答案_第2頁(yè)
操作系統(tǒng)(第三版)劉振鵬 王煜 張明 編著 答案_第3頁(yè)
操作系統(tǒng)(第三版)劉振鵬 王煜 張明 編著 答案_第4頁(yè)
操作系統(tǒng)(第三版)劉振鵬 王煜 張明 編著 答案_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章 引論1什么是硬件系統(tǒng)?什么是軟件環(huán)境?它們之間有什么聯(lián)系?答:計(jì)算機(jī)硬件是指計(jì)算機(jī)系統(tǒng)中由電子、機(jī)械和光電元件等組成的各種計(jì)算機(jī)部件和計(jì)算機(jī)設(shè)備。這些部件和設(shè)備依據(jù)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的要求構(gòu)成的有機(jī)整體,稱為計(jì)算機(jī)硬件系統(tǒng)。軟件是計(jì)算機(jī)系統(tǒng)中的程序和有關(guān)的文件。程序是計(jì)算任務(wù)的處理對(duì)象和處理規(guī)則的描述;文件是為了便于了解程序所需的資料說(shuō)明。硬件為軟件提供具體實(shí)現(xiàn)的基礎(chǔ),軟件是用戶與硬件之間的接口界面。2什么是操作系統(tǒng)?操作系統(tǒng)追求的主要目標(biāo)是什么? 答:操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)系統(tǒng)軟件,是能有效地組織和管理計(jì)算機(jī)系統(tǒng)中的硬件和軟件資源,合理地組織計(jì)算機(jī)工作流程,控制程序的執(zhí)行,并向用戶

2、提供各種服務(wù)功能,使得用戶能夠靈活、方便、有效地使用計(jì)算機(jī),并使整個(gè)計(jì)算機(jī)系統(tǒng)能高效地運(yùn)行的一組程序 模塊的集合。操作系統(tǒng)追求的主要目標(biāo)包括四個(gè)方面,分別是:方便性、有效性、可擴(kuò)充性、開放性。3在用戶程序與硬件裸機(jī)之間,操作系統(tǒng)可以分為那幾個(gè)模塊?答:在用戶程序與硬件裸機(jī)之間,操作系統(tǒng)可以分為:系統(tǒng)軟件、支撐軟件和應(yīng)用軟件三個(gè)模塊。 4.操作系統(tǒng)如何實(shí)現(xiàn)計(jì)算機(jī)操作的自動(dòng)化?如何看待操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位?答:(1)計(jì)算機(jī)操作系統(tǒng)是實(shí)現(xiàn)自動(dòng)化控制的一部分,大致可以把操作系統(tǒng)分為以下幾類:批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。其中批處理操作系統(tǒng)、分時(shí)操作系

3、統(tǒng)、實(shí)時(shí)操作系統(tǒng)是基本的操作系統(tǒng)。批處理操作系統(tǒng)按照用戶預(yù)先規(guī)定好的步驟控制作業(yè)的執(zhí)行,實(shí)現(xiàn)計(jì)算機(jī)操作的自動(dòng)化。又可分為批處理單道系統(tǒng)和批處理多道系統(tǒng)。單道系統(tǒng)每次只有一個(gè)作業(yè)裝入計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器運(yùn)行,多個(gè)作業(yè)可自動(dòng)、順序地被裝入運(yùn)行。批處理多道系統(tǒng)則允許多個(gè)作業(yè)同時(shí)裝入主存儲(chǔ)器,中央處理器輪流地執(zhí)行各個(gè)作業(yè),各個(gè)作業(yè)可以同時(shí)使用各自所需的外圍設(shè)備,這樣可以充分利用計(jì)算機(jī)系統(tǒng)的資源,縮短作業(yè)時(shí)間,提高系統(tǒng)的吞吐率。分時(shí)操作系統(tǒng),這種系統(tǒng)中,一個(gè)計(jì)算機(jī)系統(tǒng)與許多終端設(shè)備連接,分時(shí)系統(tǒng)支持多個(gè)終端用戶,同時(shí)以交互方式使用計(jì)算機(jī)系統(tǒng),為用戶在測(cè)試、修改和控制程序執(zhí)行方面提供了靈活性。實(shí)時(shí)操作系統(tǒng)

4、能使計(jì)算機(jī)系統(tǒng)接收到外部信號(hào)后及時(shí)進(jìn)行處理,并在嚴(yán)格的規(guī)定時(shí)間內(nèi)完成處理,且給出反饋信號(hào)。它是較少有人為干預(yù)的監(jiān)督和控制系統(tǒng)。實(shí)時(shí)系統(tǒng)對(duì)可靠性和安全性要求極高,不強(qiáng)求系統(tǒng)資源的利用率。網(wǎng)絡(luò)操作系統(tǒng)可以把若干計(jì)算機(jī)聯(lián)合起來(lái),實(shí)現(xiàn)各臺(tái)計(jì)算機(jī)之間的通信及網(wǎng)絡(luò)中各種資源的共享,像我們現(xiàn)在使用的Windows ,UNIX和Linux等操作系統(tǒng)都是網(wǎng)絡(luò)操作系統(tǒng)。分布式操作系統(tǒng)的網(wǎng)絡(luò)中各臺(tái)計(jì)算機(jī)沒有主次之分,在任意兩臺(tái)計(jì)算機(jī)間的可進(jìn)行信息交換和資源共享。這一點(diǎn)上分布式操作系統(tǒng)和網(wǎng)絡(luò)操作系統(tǒng)差別不大,他們的本質(zhì)區(qū)別在于:分布式操作系統(tǒng)能使系統(tǒng)中若干計(jì)算機(jī)相互協(xié)作完成一個(gè)共同的任務(wù)。這使得各臺(tái)計(jì)算機(jī)組成一個(gè)完整

5、的,功能強(qiáng)大的計(jì)算機(jī)系統(tǒng)。(2)操作系統(tǒng)實(shí)際上是一個(gè)計(jì)算機(jī)系統(tǒng)中硬、軟件資源的總指揮部。操作系統(tǒng)的性能高低,決定了整體計(jì)算機(jī)的潛在硬件性能能否發(fā)揮出來(lái)。操作系統(tǒng)本身的安全性和可靠程度,在一定程度上決定了整個(gè)計(jì)算機(jī)系統(tǒng)的安全性和可靠度。它是軟件技術(shù)的核心,是軟件的基礎(chǔ)運(yùn)行平臺(tái)。操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟件,是對(duì)硬件系統(tǒng)的第一次擴(kuò)充,支持其他所有軟件運(yùn)行。5.操作系統(tǒng)分成哪幾類? 答:?jiǎn)蔚琅幚硐到y(tǒng)、多道批處理系統(tǒng)、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)、微機(jī)操作系統(tǒng)、多處理機(jī)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。6.從資源管理的角度來(lái)看,操作系統(tǒng)具有哪些功能?答:從資源管理的角度來(lái)看,操作系統(tǒng)的基本功

6、能可分為五大部分 (1)處理器管理:為用戶地分處理器時(shí)間,盡可能地使處理器處于忙狀態(tài),提高處理器的工作效率。(2)存儲(chǔ)管理:實(shí)現(xiàn)對(duì)主存儲(chǔ)器的管理,為用戶分配主存空間,保護(hù)主存中的程序和數(shù)據(jù)不被破壞,提高主存空間的利用率。 (3)文件管理:面向用戶實(shí)現(xiàn)按文件名存取文件,管理用戶信息的存儲(chǔ)、檢索、共享和保護(hù),合理地分配和使用文件的存儲(chǔ)空間。 (4)設(shè)備管理:負(fù)責(zé)管理各種外圍設(shè)備,包括設(shè)備的分配、啟動(dòng)以及SPOOL的實(shí)現(xiàn)技術(shù)。 (5)作業(yè)管理:實(shí)現(xiàn)作業(yè)調(diào)度和控制作業(yè)的執(zhí)行。作業(yè)調(diào)度從等待處理的作業(yè)中選擇可以裝入主存儲(chǔ)器的作業(yè),對(duì)已經(jīng)裝入主存儲(chǔ)器的作業(yè)按用戶的意圖控制其執(zhí)行。討論操作系統(tǒng)可以從哪些角度

7、出發(fā),如何統(tǒng)一看待它們?答:可以從軟件的觀點(diǎn)、計(jì)算機(jī)系統(tǒng)資源管理的觀點(diǎn)、進(jìn)程的觀點(diǎn)、用戶與計(jì)算機(jī)硬件系統(tǒng)之間的觀點(diǎn)、虛機(jī)器觀點(diǎn)、服務(wù)提供者觀點(diǎn)。簡(jiǎn)述操作系統(tǒng)發(fā)展的幾個(gè)階段。答:(1)1946年50年代末,第一代電子管時(shí)代,無(wú)操作系統(tǒng)(2)1950年代末60年代中期,第二代晶體管時(shí)代,批處理系統(tǒng);(3)1960年代中期70年代中期,第三代,集成電路時(shí)代,多道程序設(shè)計(jì);(4)1970年代中期至今,第四代,大規(guī)和超大規(guī)模集成電路時(shí)代,分時(shí)系統(tǒng);也可以把操作系統(tǒng)的發(fā)展階段總結(jié)為:第一代是以dos為代表的磁盤操作系統(tǒng)時(shí)代,以磁盤管理的方式來(lái)管理內(nèi)容;第二代是以Windows為代表的文件操作系統(tǒng)時(shí)代,以文

8、件管理的方式來(lái)管理內(nèi)容;第三代是以安卓和ios為代表的應(yīng)用操作系統(tǒng)時(shí)代,應(yīng)用成為主要的管理內(nèi)容的工具;第四代,則是即將來(lái)臨的時(shí)代,超級(jí)app凌駕于操作系統(tǒng)之上的時(shí)代。什么叫批處理系統(tǒng)?它可分為哪兩種?答:通常是把一批作業(yè)以脫機(jī)輸入方式輸入到磁帶上,并在系統(tǒng)中配上監(jiān)督程序,在監(jiān)督程序的控制下使這批作業(yè)能一個(gè)接一個(gè)地連續(xù)處理,這樣的系統(tǒng)成為批處理系統(tǒng)??煞譃閱蔚琅幚硐到y(tǒng)和多道批處理系統(tǒng)。10什么是多道程序系統(tǒng)?其主要特性是什么?答:多道程序系統(tǒng)是指在內(nèi)存中同時(shí)放入若干道作業(yè),并且可以相互交替執(zhí)行程序。 多道程序設(shè)計(jì)的基本特征:多道性、無(wú)序性、調(diào)度性。11.什么是分時(shí)系統(tǒng)?其主要特點(diǎn)是什么?答:分

9、時(shí)系統(tǒng)是指一臺(tái)主機(jī)上連接了多個(gè)帶有顯示器和鍵盤的終端,同時(shí)允許多個(gè)用戶共享主機(jī)中的資源,每個(gè)用戶都可以通過(guò)自己的終端以交方式使用計(jì)算機(jī)的系統(tǒng)。特點(diǎn):多路性、獨(dú)立性、及時(shí)性、交互性。12.什么是實(shí)時(shí)系統(tǒng)?主要有哪幾大類?答:實(shí)時(shí)系統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致的運(yùn)行。主要包括:(1)按任務(wù)執(zhí)行時(shí)是否呈現(xiàn)周期性來(lái)劃分,包括:周期性實(shí)時(shí)任務(wù)、非周期性實(shí)時(shí)任務(wù)。(2)根據(jù)對(duì)截止時(shí)間的要求來(lái)分,包括:強(qiáng)實(shí)時(shí)任務(wù)、弱實(shí)時(shí)任務(wù)。13實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)命令的主要區(qū)別有哪些?答:分時(shí)操作系統(tǒng)特點(diǎn):多路性、交互性、獨(dú)立性、及時(shí)性實(shí)時(shí)操作系統(tǒng)特點(diǎn):多路性

10、、交互性、獨(dú)立性、及時(shí)性、可靠性(1)多路性。實(shí)時(shí)信息處理系統(tǒng)也按分時(shí)原則為多個(gè)終端用戶服務(wù)。實(shí)時(shí)控制系統(tǒng)的多路性則主要表現(xiàn)在系統(tǒng)周期性地對(duì)多路現(xiàn)場(chǎng)信息進(jìn)行采集,以及對(duì)多個(gè)對(duì)象或多個(gè)執(zhí)行機(jī)構(gòu)進(jìn)行控制。而分時(shí)系統(tǒng)中的多路性則與用戶情況有關(guān),時(shí)多時(shí)少。(2)獨(dú)立性。實(shí)時(shí)信息處理系統(tǒng)與分時(shí)系統(tǒng)一樣具有獨(dú)立性,每個(gè)終端用戶在向?qū)崟r(shí)系統(tǒng)提出服務(wù)請(qǐng)求時(shí),是彼此獨(dú)立地操作,互不干擾;而實(shí)時(shí)控制系統(tǒng)中,對(duì)信息的采集和對(duì)對(duì)象的控制也都是彼此互不干擾。(3)及時(shí)性。實(shí)時(shí)信息處理系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人所能接受的等待時(shí)間來(lái)確定的;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性,則是以控制對(duì)象所要求的開始截止時(shí)間或完成截止

11、時(shí)間來(lái)確定的,一般為秒級(jí)到毫秒級(jí),甚至有的要低于100微秒。(4)交互性。實(shí)時(shí)信息處理系統(tǒng)雖然也具有交互性,但這里人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序。它不像分時(shí)系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)處理和資源共享等服(5)分時(shí)系統(tǒng)雖然也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)高度可靠。14簡(jiǎn)述操作系統(tǒng)的特征?答:并發(fā)、共享、虛擬、異步性。15簡(jiǎn)述處理機(jī)的組成和工作原理。你認(rèn)為哪些部分和操作系統(tǒng)密切相關(guān)?為什么?一般處理器由運(yùn)算器、控制器、一系列的寄存器以及高速緩存構(gòu)成。運(yùn)算器實(shí)現(xiàn)任何指令中的算術(shù)和邏輯運(yùn)算,是計(jì)算機(jī)計(jì)算的核心;控制器負(fù)責(zé)控制程序運(yùn)行的流程,包括取指令,維護(hù)CPU狀態(tài)

12、,CPU與內(nèi)存之間的交互等等。寄存器是指令在CPU內(nèi)部做處理的過(guò)程中暫存數(shù)據(jù),地址一級(jí)指令信息的存儲(chǔ)設(shè)備,在計(jì)算機(jī)的存儲(chǔ)系統(tǒng)中它具有最快的訪問速度。加上高速緩存以及內(nèi)存管理單元()。16.為了支持操作系統(tǒng),現(xiàn)代處理機(jī)一般都提供哪兩種工作狀態(tài)以隔離操作系統(tǒng)和普通程序??jī)煞N狀態(tài)各有什么特點(diǎn)?答:管態(tài)(特權(quán)態(tài))和目態(tài)(用戶態(tài))管態(tài)一般指操作系統(tǒng)管理程序運(yùn)行時(shí)的狀態(tài),具有較高的特權(quán)級(jí)別,可以執(zhí)行所有指令;而目態(tài)一般指用戶程序運(yùn)行時(shí)的狀態(tài),具有較低的特權(quán)級(jí)別,只可以執(zhí)行非特權(quán)指令。17.什么是分級(jí)的存儲(chǔ)體系結(jié)構(gòu)?它主要解決了什么問題?答:為了解決對(duì)存儲(chǔ)器要求容量大,速度快,成本低三者之間的矛盾,目前通常

13、采用多級(jí)存儲(chǔ)器體系結(jié)構(gòu),即使用高速緩沖存儲(chǔ)器、主存儲(chǔ)器和外存儲(chǔ)器。名稱簡(jiǎn)稱用途特點(diǎn)高速緩沖存儲(chǔ)器Cache高速存取指令和數(shù)據(jù)存取速度快,但存儲(chǔ)容量小主存儲(chǔ)器主存存放計(jì)算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù)存取速度較快,存儲(chǔ)容量不大外存儲(chǔ)器外存存放系統(tǒng)程序和大型數(shù)據(jù)文件及數(shù)據(jù)庫(kù)存儲(chǔ)容量大,位成本低18.內(nèi)存通常有哪兩種類型?它們各自的特點(diǎn)是什么?用在那里?答:讀/寫型存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)讀/寫型存儲(chǔ)器(RAM)是指可以把數(shù)據(jù)存入其中任一地址單元,并且可在以后的任何時(shí)候把數(shù)據(jù)讀出來(lái),或者重新存入別的數(shù)據(jù)的一種存儲(chǔ)器,這種存儲(chǔ)器通常稱為隨機(jī)訪問存儲(chǔ)器,斷電后信息會(huì)消失。主要用于存放隨機(jī)存取的

14、程序和數(shù)據(jù)。只讀存儲(chǔ)器(ROM)是指只能從其中讀取數(shù)據(jù),但不能隨意地用普通的方法向其中寫入數(shù)據(jù)(向其中寫入數(shù)據(jù)只能用特殊的方法),這種存儲(chǔ)器通常稱為只讀存儲(chǔ)器,斷電后信息不會(huì)消失。通常把一些常駐內(nèi)存的模塊以微程序形式固化在ROM中。19.簡(jiǎn)述程序的局部性原理。這個(gè)原理在分級(jí)的存儲(chǔ)體系結(jié)構(gòu)中是怎樣起作用?答:原理:程序執(zhí)行時(shí),處理器為了取得指令和數(shù)據(jù)而訪問存儲(chǔ)器?,F(xiàn)代的程序設(shè)計(jì)技術(shù)很注重程序代碼的復(fù)用,這樣,程序中會(huì)有很多的循環(huán)和子程序調(diào)用,一旦進(jìn)入這樣的程序段,就會(huì)重復(fù)存取相同的指令集合。類似地,對(duì)數(shù)據(jù)存取也有這樣的局部性。在經(jīng)過(guò)一段時(shí)間以后,使用到的代碼和數(shù)據(jù)的集合會(huì)改變,但在較短的時(shí)間內(nèi)它

15、們能比較穩(wěn)定地保持在一個(gè)存儲(chǔ)器的局部區(qū)域中,處理器也主要和存儲(chǔ)器的這個(gè)局部打交道。作用:基于這一原理,就有充分的理由設(shè)計(jì)出多級(jí)存儲(chǔ)的體系結(jié)構(gòu),并使得存取級(jí)別較低的存儲(chǔ)器的比率小于存取級(jí)別較高的存儲(chǔ)器的比率。20.緩沖技術(shù)在計(jì)算機(jī)系統(tǒng)中起著什么樣的作用?它是如何工作的?答:作用:解決了部件之間速度不匹配的問題。工作:每當(dāng)用戶要求輸入數(shù)據(jù)時(shí),先在緩沖區(qū)中尋找,如果已經(jīng)在緩沖區(qū),即可直接從中讀取,如果不在,就再訪問內(nèi)存,由內(nèi)存輸入到緩沖區(qū)再由用戶使用21.簡(jiǎn)述中斷和操作系統(tǒng)的關(guān)系。操作系統(tǒng)是如何利用中斷機(jī)制的?答:中斷是處理機(jī)對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生的異步事件的響應(yīng)。中斷裝置就是在CPU每執(zhí)行完一條指令

16、后,判別是否有事件發(fā)生,如果沒有事件發(fā)生,CPU繼續(xù)執(zhí)行;若有事件發(fā)生,中斷裝置中斷原先占用CPU的程序的執(zhí)行,把被中斷程序的斷點(diǎn)保存起來(lái),讓操作系統(tǒng)的處理服務(wù)程序占用CPU對(duì)事件進(jìn)行處理,處理完后,再讓被中斷的程序繼續(xù)占用CPU執(zhí)行下去。中央處理器在任何時(shí)刻最多只能被一個(gè)程序占用。通過(guò)中斷裝置系統(tǒng)中若干程序可以交替地占用處理器,形成多個(gè)程序同時(shí)執(zhí)行的狀態(tài)。利用CPU與外圍設(shè)備的并行工作能力,以及各外圍設(shè)備之間的并行工作能力,操作系統(tǒng)能讓多個(gè)程序同時(shí)執(zhí)行。22.時(shí)鐘對(duì)操作系統(tǒng)有什么作用?答:在計(jì)算機(jī)系統(tǒng)中,設(shè)置時(shí)鐘是十分必要的。這是由于時(shí)鐘以為計(jì)算機(jī)完成以下必不可少的工作:1. 在多道程序運(yùn)行

17、環(huán)境中,它可以為系統(tǒng)發(fā)現(xiàn)一個(gè)陷入死循環(huán)(編程錯(cuò)誤)的作業(yè),從而防止機(jī)時(shí)的浪費(fèi)。2. 在分時(shí)系統(tǒng)中,用間隔時(shí)鐘來(lái)實(shí)現(xiàn)作業(yè)間按時(shí)間片輪轉(zhuǎn)。3. 在實(shí)時(shí)系統(tǒng)中,按要求的進(jìn)間間隔輸出正確的時(shí)間信息號(hào)給一個(gè)實(shí)時(shí)控制的控制設(shè)備(如A/D 、D/A轉(zhuǎn)換設(shè)備。4. 定時(shí)喚醒那些要求延遲執(zhí)行的各個(gè)外部事件(如定時(shí)為各進(jìn)程計(jì)算優(yōu)先數(shù),銀行系統(tǒng)中定時(shí)運(yùn)行某類結(jié)賬程序等)。5. 記錄用戶使用各種設(shè)備的時(shí)間和記錄某外部事件發(fā)生的時(shí)間間隔。6. 記錄用戶和系統(tǒng)所需要的絕對(duì)時(shí)間,即年、月、日。23.操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)有哪幾種方法?各有何優(yōu)缺點(diǎn)?答:操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)有:(1)模塊化結(jié)構(gòu)操作系統(tǒng) 優(yōu)點(diǎn):提高了操作系統(tǒng)設(shè)計(jì)的正確性

18、,可理解性和維護(hù)性;增強(qiáng)了操作系統(tǒng)的可適應(yīng)性;加速了操作系統(tǒng)的開發(fā)過(guò)程;(2)層次結(jié)構(gòu)操作系統(tǒng) 優(yōu)點(diǎn):易保證系統(tǒng)的正確性;易擴(kuò)充性和易維護(hù)性;(3)微內(nèi)核 優(yōu)點(diǎn):足夠小的內(nèi)核;基于客戶/服務(wù)器模式;應(yīng)用機(jī)制和策略分離的技術(shù);采用面向?qū)ο蟮募夹g(shù);(4)客戶/服務(wù)器模式 優(yōu)點(diǎn):允許數(shù)據(jù)的分布處理要和存儲(chǔ),有便于集中管理,靈活性和可擴(kuò)充性強(qiáng),易修改。第2章 用戶接口與作業(yè)管理1.解釋作業(yè)和作業(yè)步?答:作業(yè):把一次計(jì)算機(jī)過(guò)程或者事務(wù)處理過(guò)程中,肏輸入輸出結(jié)束,用戶要求計(jì)算機(jī)所做的全部工作;作業(yè)步:完成作業(yè)的每一個(gè)步驟。2闡述程序、作業(yè)、作業(yè)步的聯(lián)系與區(qū)別答:聯(lián)系:用戶要求計(jì)算機(jī)處理的問題,要用某種程序

19、設(shè)計(jì)語(yǔ)言對(duì)要處理的問題編制程序后交給計(jì)算機(jī)系統(tǒng),作業(yè)的每一個(gè)加工步驟稱為一個(gè)作業(yè)步,針對(duì)每個(gè)作業(yè)步,計(jì)算機(jī)系統(tǒng)要?jiǎng)?chuàng)建一個(gè)或多個(gè)進(jìn)程才能執(zhí)行。區(qū)別:程序是指令的集合;進(jìn)程是程序在一個(gè)數(shù)據(jù)集上的一次執(zhí)行;用戶要求計(jì)算機(jī)系統(tǒng)處理的個(gè)別計(jì)算問題成為一個(gè)“作業(yè)”。任何一個(gè)作業(yè)都要經(jīng)過(guò)若干加工步驟才能得到結(jié)果,作業(yè)的每一個(gè)加工步驟稱為一個(gè)作業(yè)步。3.什么是作業(yè)調(diào)度?作業(yè)調(diào)度選擇作業(yè)的必要條件是什么?答:操作系統(tǒng)根據(jù)允許并行工作的道數(shù)和一定的算法從等待的作業(yè)(后備作業(yè))中選取若干作業(yè)裝入主存儲(chǔ)器,使它們可以去獲得處理器運(yùn)行,這項(xiàng)工作稱為作業(yè)調(diào)度。作業(yè)調(diào)度的必要條件是,即只有在系統(tǒng)當(dāng)前尚未分配的資源可以滿足在

20、系統(tǒng)中等待執(zhí)行的作業(yè)的資源要求。4.操作系統(tǒng)提供了哪些便于用戶控制交互式作業(yè)的使用接口答:操作系統(tǒng)提供了命令接口、程序接口、圖形接口三種類型的用戶接口,其中程序接口是操作系統(tǒng)專門為用戶程序設(shè)置的,也是用戶程序取得操作系統(tǒng)服務(wù)的唯一途徑。程序接口通常由各種各樣的系統(tǒng)調(diào)用所組成。一個(gè)具有分時(shí)兼批處理功能的操作系統(tǒng)應(yīng)怎樣調(diào)度和管理作業(yè)?為什么?答:在一個(gè)具有分時(shí)兼批處理的計(jì)算機(jī)系統(tǒng)中總是優(yōu)先接納終端用戶作業(yè),僅當(dāng)終端作業(yè)數(shù)小于系統(tǒng)可以允許同時(shí)工作的作業(yè)數(shù)時(shí),可以調(diào)度批處理作業(yè),允許終端作業(yè)和批處理作業(yè)混合同時(shí)執(zhí)行。為了使終端用戶有滿意的時(shí)間,可采用分級(jí)調(diào)度的方法分配處理器??砂延嘘P(guān)終端作業(yè)的就緒進(jìn)程

21、排成一個(gè)就緒隊(duì)列,而把有關(guān)批處理作業(yè)的就緒進(jìn)程排入另外的就緒隊(duì)列中。當(dāng)有終端作業(yè)的就緒進(jìn)程時(shí),總是讓終端作業(yè)的就緒進(jìn)程按“時(shí)間片輪轉(zhuǎn)”的方法現(xiàn)占用處理器。當(dāng)無(wú)終端作業(yè)的就緒進(jìn)程時(shí),才去查看批處理作業(yè)的就緒隊(duì)列,按確定的算法從中選擇一個(gè)就緒進(jìn)程讓它占用處理器??墒菇K端用戶滿意,又能提高系統(tǒng)效率。系統(tǒng)采用不能移動(dòng)已在主存儲(chǔ)器中作業(yè)的可變分區(qū)方式管理主存儲(chǔ)器,現(xiàn)有供用戶使用的主存空間100K,系統(tǒng)配有4臺(tái)磁帶機(jī),有一批作業(yè)見表2.6。表2.6作業(yè)序號(hào) 進(jìn)輸入井時(shí)間 要求計(jì)算時(shí)間 需要主存量 申請(qǐng)磁帶機(jī)數(shù)1l0:0025分鐘15K2臺(tái)210:2030分鐘80K1臺(tái)310:3010分鐘50K3臺(tái)410:

22、3520分鐘10K2臺(tái)510:4015分鐘30K2臺(tái)該系統(tǒng)采用多道程序設(shè)計(jì)技術(shù),對(duì)磁帶機(jī)采用靜態(tài)分配,忽略設(shè)備工作時(shí)間和系統(tǒng)進(jìn)行調(diào)度所花的時(shí)間,請(qǐng)分別寫出采用“先來(lái)先服務(wù)調(diào)度算法”、“計(jì)算時(shí)間短的作業(yè)優(yōu)先算法”和選中作業(yè)執(zhí)行的次序以及各個(gè)作業(yè)的裝入主存時(shí)間、開始執(zhí)行時(shí)間、完成時(shí)間、周轉(zhuǎn)時(shí)間以及它們的平均周轉(zhuǎn)時(shí)間。注意:作業(yè)從提交到完成需要經(jīng)過(guò)兩級(jí)調(diào)度,分別是作業(yè)調(diào)度和進(jìn)程調(diào)度,這兩級(jí)調(diào)度采用相同的調(diào)度策略。答:1. 作業(yè)調(diào)度和進(jìn)程調(diào)度均采用FCFS調(diào)度算法。作業(yè)序號(hào)進(jìn)入輸入井時(shí)間執(zhí)行次序裝入內(nèi)存時(shí)間開始執(zhí)行時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間110:00110:0010:0010:2525210:20210:

23、2010:2510:5535310:30411:3011:3011:4070410:35310:3510:5511:1540510:40510:5511:1511:3050平均周轉(zhuǎn)時(shí)間=(25+35+70+40+50)/5=44(2)作業(yè)調(diào)度和進(jìn)程調(diào)度均采用最短作業(yè)優(yōu)先調(diào)度算法。最短作業(yè)優(yōu)先作業(yè)序號(hào)進(jìn)入輸入井時(shí)間執(zhí)行次序裝入內(nèi)存時(shí)間開始執(zhí)行時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間備注110:00110:0010:0010:2525210:20210:2010:2510:5535310:30511:3011:3011:4070410:35410:3511:1011:3055510:40310:5510:5511:1

24、030平均周轉(zhuǎn)時(shí)間=(25+35+70+55+30)/5=43(3)作業(yè)調(diào)度和進(jìn)程調(diào)度均采用響應(yīng)比最高者優(yōu)先調(diào)度算法。作業(yè)序號(hào)進(jìn)入輸入井時(shí)間執(zhí)行次序裝入內(nèi)存時(shí)間開始執(zhí)行時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間備注110:00110:0010:0010:2525210:20210:2010:2510:5535310:30511:3011:3011:4070410:35410:3510:5511:154010:55時(shí),作業(yè)2結(jié)束,內(nèi)在中有作業(yè)4和5,作業(yè)4的響應(yīng)比=2,作業(yè)5的響應(yīng)比=1,應(yīng)調(diào)度4510:40310:5511:1511:3050平均周轉(zhuǎn)時(shí)間=(25+35+70+40+50)/5=447在一個(gè)批處理單道

25、系統(tǒng)中,采用響應(yīng)比高者優(yōu)先的作業(yè)調(diào)度算法。當(dāng)一個(gè)作業(yè)進(jìn)入系統(tǒng)后就開始調(diào)度。假定作業(yè)都僅是計(jì)算,忽略調(diào)度花費(fèi)的時(shí)間?,F(xiàn)有3個(gè)作業(yè),進(jìn)入系統(tǒng)的時(shí)間和需要計(jì)算的時(shí)間如表2-2表22 進(jìn)入系統(tǒng)的時(shí)間和需要計(jì)算的時(shí)間表作業(yè)進(jìn)入系統(tǒng)時(shí)間需要計(jì)算時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間19:0060分鐘9:0010:0060分鐘29:1045分鐘10:2511:10120分鐘39:1525分鐘10:0010:2570分鐘(1)求出每個(gè)作業(yè)的開始時(shí)間、完成時(shí)間及周轉(zhuǎn)時(shí)間。答:(1)由于作業(yè)1先被調(diào)度,所以作業(yè)1的開始時(shí)間為:9:00,完成時(shí)間為:10:00,周轉(zhuǎn)時(shí)間:60分鐘(完成時(shí)間-進(jìn)入系統(tǒng)時(shí)間):作業(yè)2的響應(yīng)比=1

26、+50/45作業(yè)3的響應(yīng)比=1+45/25因?yàn)樽鳂I(yè)3的響應(yīng)比 >作業(yè)2的響應(yīng)比高,則作業(yè)3被調(diào)度。所以作業(yè)3開始時(shí)間為:10:00,完成時(shí)間:10:25,周轉(zhuǎn)時(shí)間:70分鐘,繼續(xù)調(diào)度作業(yè)2,所以開始時(shí)間為:10:25,完成時(shí)間:11:10,周轉(zhuǎn)時(shí)間:120分鐘(2)計(jì)算三個(gè)作業(yè)的平均周轉(zhuǎn)時(shí)間應(yīng)為多少?平均周轉(zhuǎn)時(shí)間=8383.3分鐘8.批處理作業(yè)是如何控制執(zhí)行的?答:按用戶提交作業(yè)控制說(shuō)明書控制作業(yè)的執(zhí)行。一個(gè)作業(yè)往往要分幾個(gè)作業(yè)步執(zhí)行,一般說(shuō),總是按照作業(yè)步順序控制作業(yè)執(zhí)行的,一個(gè)作業(yè)步的工作完成后,繼續(xù)下一個(gè)作業(yè)步的工作,直至作業(yè)執(zhí)行結(jié)束,一個(gè)作業(yè)步的工作往往由多個(gè)進(jìn)程合作來(lái)完成。9設(shè)

27、有I/O頻繁、I/O與計(jì)算機(jī)均衡和計(jì)算量大的3個(gè)作業(yè),它們同時(shí)進(jìn)入內(nèi)存并行工作,請(qǐng)給每個(gè)作業(yè)賦予運(yùn)行優(yōu)先數(shù),并說(shuō)明理由。答:選擇作業(yè)調(diào)度算法要考慮多種因素,其中一個(gè)重要的因素就是系統(tǒng)資源的均衡使用。用戶作業(yè)所需資源差異很大,例如,進(jìn)行科學(xué)計(jì)算的作業(yè)(CUP繁忙)要求較多的CPU時(shí)間,而輸入/輸出要求較少;事務(wù)處理作業(yè)(I/O繁忙)要求較少的CPU時(shí)間,而要求較多的輸出打印各種表格。因此在考慮設(shè)計(jì)目標(biāo)的前提下,合理搭配各種類型的作業(yè),最大限度地發(fā)揮各種資源的效益,使它們得到充分利用,這對(duì)提高整個(gè)計(jì)算機(jī)系統(tǒng)效益會(huì)有好處。計(jì)算量大的作業(yè)的優(yōu)先級(jí)為1、I/O與計(jì)算機(jī)均衡作業(yè)的優(yōu)先級(jí)為2、I/O頻繁作業(yè)

28、的優(yōu)先級(jí)為3。10什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用與一般過(guò)程調(diào)用的區(qū)別是什么?答:系統(tǒng)調(diào)用在本質(zhì)上是應(yīng)用程序請(qǐng)求操作系統(tǒng)核心完成某一特定功能的一種過(guò)程調(diào)用,是一種特殊的過(guò)程調(diào)用,它與一般的過(guò)程調(diào)用有以下幾方面的區(qū)別:(1)通過(guò)軟中斷進(jìn)入一般的過(guò)程調(diào)用可直接由調(diào)用過(guò)程轉(zhuǎn)向被調(diào)用過(guò)程;而執(zhí)行系統(tǒng)調(diào)用時(shí),由于調(diào)用和被調(diào)用過(guò)程是處于不同的系統(tǒng)狀態(tài),因而不允許由調(diào)用過(guò)程直接轉(zhuǎn)向被調(diào)用過(guò)程,而通常都是通過(guò)軟中斷機(jī)制轉(zhuǎn)向相應(yīng)的命令處理程序。(2)運(yùn)行在不同的處理機(jī)狀態(tài)一般的過(guò)程調(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

29、)處理機(jī)狀態(tài)的轉(zhuǎn)換一般的過(guò)程調(diào)用不涉及系統(tǒng)狀態(tài)的轉(zhuǎn)換,直接由調(diào)用過(guò)程轉(zhuǎn)向被調(diào)用過(guò)程。但在運(yùn)行系統(tǒng)調(diào)用時(shí),由于調(diào)用和被調(diào)用過(guò)程工作在不同的系統(tǒng)狀態(tài),因而不允許由調(diào)用過(guò)程直接轉(zhuǎn)向被調(diào)用過(guò)程,通常都是通過(guò)軟中斷機(jī)制先由目態(tài)轉(zhuǎn)換為管態(tài),在操作系統(tǒng)核心分析之后,再轉(zhuǎn)向相應(yīng)的系統(tǒng)調(diào)用處理程序。(4)返回問題一般的過(guò)程調(diào)用在被調(diào)用過(guò)程執(zhí)行完后,將返回到調(diào)用過(guò)程繼續(xù)執(zhí)行。但是,在采用搶占式調(diào)度方式的系統(tǒng)中,系統(tǒng)調(diào)用在被調(diào)用過(guò)程執(zhí)行完后,系統(tǒng)將對(duì)所有要求運(yùn)行的進(jìn)程進(jìn)行優(yōu)先級(jí)分析。如果調(diào)用進(jìn)程仍然具有最高優(yōu)先級(jí),則返回到調(diào)用進(jìn)程繼續(xù)執(zhí)行,否則,將重新調(diào)度,以便讓優(yōu)先級(jí)最高的進(jìn)程優(yōu)先執(zhí)行。此時(shí),系統(tǒng)將把調(diào)用進(jìn)程放入

30、就緒隊(duì)列中。(5)嵌套調(diào)用像一般過(guò)程一樣,系統(tǒng)調(diào)用也允許嵌套調(diào)用,即在一個(gè)被調(diào)用過(guò)程的執(zhí)行期間,還可以再利用系統(tǒng)調(diào)用命令去調(diào)用另一個(gè)系統(tǒng)調(diào)用。一般情況下,每個(gè)系統(tǒng)對(duì)嵌套調(diào)用的深度都有一定的限制,例如最大深度為6。11分時(shí)系統(tǒng)中終端處理程序的作用是什么?答:配置在終端上的終端處理程序主要用于實(shí)現(xiàn)人機(jī)交互,接收用戶從終端上輸入的字符、字符緩沖管理、回送顯示、屏幕編輯和特殊字符處理。第3章 進(jìn)程與進(jìn)程管理什么是進(jìn)程?它與程序有哪些異同點(diǎn)?答:進(jìn)程是具有獨(dú)立功能的可并發(fā)執(zhí)行的程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行過(guò)程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨(dú)立單位。或者說(shuō),進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過(guò)程。異同點(diǎn):進(jìn)程是程序的一次執(zhí)

31、行,它是一個(gè)動(dòng)態(tài)的概念,程序是完成某個(gè)特定功能的指令的有序序列,它是個(gè)靜態(tài)的概念。但進(jìn)程是把程序作為它的運(yùn)行實(shí)體,沒有程序,也就沒有進(jìn)程。進(jìn)程和程序的區(qū)別還在于:一個(gè)進(jìn)程可以執(zhí)行一個(gè)或幾個(gè)程序。反之,同一程序也可能由多個(gè)進(jìn)程同時(shí)執(zhí)行。進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位;程序則不是。程序可以作為一種軟件資源長(zhǎng)期保存,而進(jìn)程是程序的一次執(zhí)行過(guò)程,它是臨時(shí)的,有生命期的。表現(xiàn)在它由創(chuàng)建而產(chǎn)生,完成任務(wù)后被撤消。進(jìn)程是具有結(jié)構(gòu)的。為了描述進(jìn)程的運(yùn)行變化過(guò)程,應(yīng)為每個(gè)進(jìn)程建立一個(gè)結(jié)構(gòu)進(jìn)程控制塊。從結(jié)構(gòu)上看,進(jìn)程是由程序、數(shù)據(jù)和進(jìn)程控制塊三部分組成。進(jìn)程控制塊的作用是什么?它主要包括哪幾部分內(nèi)容?

32、答:進(jìn)程控制塊的作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù))成為一個(gè)能獨(dú)立運(yùn)行的基本單位,一個(gè)能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程。也就是說(shuō),操作系統(tǒng)是根據(jù)進(jìn)程控制塊PCB來(lái)對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。PCB是進(jìn)程存在的惟一標(biāo)志。在進(jìn)程控制塊中,主要包括下述四個(gè)方面用于描述和控制進(jìn)程運(yùn)行的信息:進(jìn)程表示符信息處理機(jī)狀態(tài)信息進(jìn)程調(diào)度信息進(jìn)程控制信息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í)行,這時(shí)的狀態(tài)稱為就緒狀態(tài)。執(zhí)行狀態(tài)。進(jìn)程已獲得處理機(jī),程序

33、正在執(zhí)行。阻塞狀態(tài)。進(jìn)程因發(fā)生某種等待事件(如I/O請(qǐng)求、申請(qǐng)緩沖空間等)而暫停執(zhí)行時(shí)的狀態(tài),亦即進(jìn)程的執(zhí)行受到阻塞,故稱這種狀態(tài)為阻塞狀態(tài),有時(shí)也稱為“等待”狀態(tài)或“睡眠”狀態(tài)。(2)進(jìn)程狀態(tài)的轉(zhuǎn)換進(jìn)程在運(yùn)行期間不斷地從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài),進(jìn)程的各種調(diào)度狀態(tài)依據(jù)一定的條件而發(fā)生變化,它可以多次處于就緒狀態(tài)和執(zhí)行狀態(tài),也可多次處于阻塞狀態(tài),但可能排在不同的阻塞隊(duì)列中。進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換如下圖所示。1. 什么是操作系統(tǒng)內(nèi)核答:現(xiàn)代操作系統(tǒng)廣泛采用層次式結(jié)構(gòu),而將操作系統(tǒng)的功能分別設(shè)置在不同的層次中,通常,將一些與硬件緊密相關(guān)的模塊諸如中斷處理程序、各種常用設(shè)備的驅(qū)動(dòng)程序以及運(yùn)行頻率

34、較高的模塊(諸如時(shí)鐘管理、進(jìn)程調(diào)度以及許多模塊公用的一些基本操作)都安排在緊靠硬件的軟件層次中并使它們常駐內(nèi)存,以便提高操作系統(tǒng)的運(yùn)行效率,并對(duì)它們加以特殊的保護(hù)。通常把這一部分稱為操作系統(tǒng)的內(nèi)核。內(nèi)核是計(jì)算機(jī)硬件的第一層擴(kuò)充軟件,它們?yōu)橄到y(tǒng)對(duì)進(jìn)程進(jìn)行控制、對(duì)存儲(chǔ)器進(jìn)行管理提供了有效的機(jī)制。大多數(shù)時(shí)間片輪轉(zhuǎn)調(diào)度程序使用一個(gè)固定大小的時(shí)間片,請(qǐng)給出選擇小時(shí)間片的理由。然后,再給出選擇大時(shí)間片的理由。答:選擇小時(shí)間片目的是使輪轉(zhuǎn)的總時(shí)間減少,使用戶進(jìn)程盡快得到應(yīng)答選擇大時(shí)間片目的是減少進(jìn)程調(diào)度的次數(shù),提高系統(tǒng)效率。有5個(gè)批處理作業(yè)A到E幾乎同時(shí)到達(dá)一計(jì)算中心。它們的估計(jì)運(yùn)行時(shí)間分別為10、6、2、

35、4和8分鐘。其優(yōu)先數(shù)(由外部設(shè)定)分別為3、5、2、1和4,其中5設(shè)為最高優(yōu)先級(jí)。對(duì)于下列每種調(diào)度算法,計(jì)算其平均進(jìn)程周轉(zhuǎn)時(shí)間,可忽略進(jìn)程切換的開銷。時(shí)間片輪轉(zhuǎn)法(當(dāng)時(shí)間片長(zhǎng)短=6分鐘時(shí));優(yōu)先級(jí)調(diào)度;先來(lái)先服務(wù)(按照次序l0、6、2、4、8運(yùn)行);最短作業(yè)優(yōu)先。對(duì),假設(shè)系統(tǒng)具有多道處理能力,每個(gè)作業(yè)均獲得公平的CPU時(shí)間,對(duì)到假設(shè)任時(shí)刻只有一個(gè)作業(yè)運(yùn)行,直到結(jié)束。所有的作業(yè)都是CPU密集型作業(yè)。答:時(shí)間片輪轉(zhuǎn)法的平均周轉(zhuǎn)時(shí)間是21A, B, C, D, E分別時(shí)間為10,6,2,4,8,時(shí)間片大小為六,所以經(jīng)過(guò)兩輪時(shí)間片輪轉(zhuǎn),A的周轉(zhuǎn)時(shí)間是34,B的是12,C的是14,D的是18,E的是24

36、;所以102/5=21;優(yōu)先級(jí)調(diào)度的平均周轉(zhuǎn)時(shí)間是20 A, B, C, D, E分別優(yōu)先級(jí)為3,5,2,1,4,時(shí)間片大小為六,所以次序?yàn)锽,E,A,C,D,B的周轉(zhuǎn)時(shí)間是6,E的是14,A的是24,C的是16,D的是30;所以100/5=20;先來(lái)先服務(wù)的平均周轉(zhuǎn)時(shí)間是19.2 次序?yàn)?A, B, C, D, EA的周轉(zhuǎn)時(shí)間是10,B的是16,C的是18,D的是22,E的是30;所以96/5=19.2;最短作業(yè)優(yōu)先的平均周轉(zhuǎn)時(shí)間是14 次序?yàn)?C, D,B, E,AA的周轉(zhuǎn)時(shí)間是30,B的是12,C的是2,D的是6,E的是20;所以70/5=14;7.什么是線程?進(jìn)程和線程的主要區(qū)別是什么

37、?答:進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位. 線程是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組寄存器和棧),但是它可與同屬一個(gè)進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源. 一個(gè)線程可以創(chuàng)建和撤銷另一個(gè)線程;同一個(gè)進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行。進(jìn)程和線程的區(qū)別在于:簡(jiǎn)而言之,一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程.線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高。另外,進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立的內(nèi)

38、存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行效率。線程在執(zhí)行過(guò)程中與進(jìn)程還是有區(qū)別的。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序的出 口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。從邏輯角度來(lái)看,多線程的意義在于一個(gè)應(yīng)用程序中,有多個(gè)執(zhí)行部分可以同時(shí)執(zhí)行。但操作系統(tǒng)并沒有將多個(gè)線程看做多個(gè)獨(dú)立的應(yīng)用,來(lái)實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配。這就是進(jìn)程和線程的重要區(qū)別。8.簡(jiǎn)述進(jìn)程創(chuàng)建的步驟。答:(1)申請(qǐng)空白PCB;(2)為新進(jìn)程分配資源,為新進(jìn)程的程序和數(shù)據(jù)以及用戶棧分配必要的內(nèi)存空間。(3)初始化進(jìn)程控制塊(4)將新進(jìn)程插入就緒隊(duì)列。9

39、.某系統(tǒng)采用最高響應(yīng)比優(yōu)先的調(diào)度算法,某個(gè)時(shí)刻根據(jù)用戶要求創(chuàng)建了一個(gè)進(jìn)程P,進(jìn)程P在其存在過(guò)程中依次經(jīng)歷了如下進(jìn)程:答:創(chuàng)建進(jìn)程P:進(jìn)程處于就緒狀態(tài);(1):就緒態(tài)>執(zhí)行態(tài);執(zhí)行態(tài)>阻塞態(tài);(2):阻塞態(tài)>就緒態(tài)(3):就緒態(tài)> 執(zhí)行態(tài)(4):執(zhí)行態(tài)>就緒態(tài)(5):就緒態(tài)> 執(zhí)行態(tài)(6):執(zhí)行態(tài)>完成態(tài)10.若程序Pa、Pb和Pc單獨(dú)執(zhí)行的時(shí)間分別為Ta=15min,Tb=1 .5h,Tc=2h,其中處理機(jī)工作時(shí)間分別為Ta=10min,Tb=15min,Tc=35min,如果采用多道程序設(shè)計(jì)的方法,讓Pa,Pb,Pc并行工作,假定處理機(jī)利用率達(dá)到60

40、%,另加20分鐘系統(tǒng)開銷,請(qǐng)問系統(tǒng)效率能提高百分之幾?答:?jiǎn)蔚阑ㄙM(fèi)的時(shí)間:1+1.5+2=4.5多道程序共花費(fèi)的時(shí)間:(10+15+35)/60%=100min總花費(fèi)時(shí)間:100+20=120min=2h效率提高:(1+1.5+2)-2)/4.5=5/911、假定有一個(gè)進(jìn)程A,他的工作流程圖3-21所示,如果系統(tǒng)中進(jìn)程只有3中狀態(tài)(就緒,執(zhí)行,阻塞),且進(jìn)程被進(jìn)程調(diào)度選中后就可投入運(yùn)行,時(shí)間片q=200ms,請(qǐng)順序列出其從開始到結(jié)束所經(jīng)歷的狀態(tài)轉(zhuǎn)換過(guò)程,并注明原因。答:(1)開始時(shí),進(jìn)程被調(diào)度程序選中立即投入運(yùn)行,運(yùn)行200ms后,時(shí)間片到時(shí),進(jìn)程有運(yùn)行狀態(tài)轉(zhuǎn)變成就緒態(tài),發(fā)生進(jìn)程切換,其他進(jìn)程

41、被調(diào)度運(yùn)行。(2)某時(shí)刻,該進(jìn)程重新被調(diào)度程序調(diào)度投入運(yùn)行,進(jìn)程從就緒態(tài)變成運(yùn)行態(tài),運(yùn)行50ms后,進(jìn)程請(qǐng)求磁盤I/0,有運(yùn)行態(tài)變?yōu)樽枞麘B(tài)。(3)磁盤I/O完成后,進(jìn)程有阻塞態(tài)變?yōu)榫途w態(tài),并在某時(shí)刻被調(diào)度程序調(diào)度到CPU運(yùn)行,從就緒態(tài)變成運(yùn)行態(tài)。(4)運(yùn)行50ms后,進(jìn)程因請(qǐng)求磁帶I/O而阻塞(5)進(jìn)程磁帶I/O請(qǐng)求完成后,從阻塞態(tài)變成就緒態(tài),某一時(shí)刻被調(diào)度程序選中執(zhí)行,從就緒態(tài)變成運(yùn)行態(tài),運(yùn)行200ms后時(shí)間片用完,進(jìn)程從運(yùn)行態(tài)變?yōu)榫途w態(tài)。(6)某一時(shí)刻,調(diào)度程序選中進(jìn)程執(zhí)行,但進(jìn)程要執(zhí)行打印請(qǐng)求,此時(shí)進(jìn)程從就緒態(tài)變?yōu)樽枞麘B(tài)。(7)打印請(qǐng)求結(jié)束后,進(jìn)程有阻塞態(tài)變?yōu)榫途w態(tài),某一時(shí)刻進(jìn)程又被重新

42、調(diào)度執(zhí)行,進(jìn)程從就緒態(tài)變?yōu)檫\(yùn)行態(tài),運(yùn)行150ms后進(jìn)程結(jié)束。第4章 進(jìn)程同步與通信1并發(fā)執(zhí)行的進(jìn)程在系統(tǒng)中通常表現(xiàn)為幾種關(guān)系?各是在什么情況下發(fā)生的?答:對(duì)資源的共享引起的互斥關(guān)系:進(jìn)程之間本來(lái)是相互獨(dú)立的,但由于共享資源而產(chǎn)生了關(guān)系。間接制約關(guān)系,互斥關(guān)系。協(xié)作完成同一個(gè)任務(wù)引起的同步關(guān)系:一組協(xié)作進(jìn)程要在某些同步點(diǎn)上相互等待發(fā)信息后才能繼續(xù)運(yùn)行。直接制約關(guān)系。同步關(guān)系。進(jìn)程之間的前序關(guān)系:由于進(jìn)程之間的互斥同步關(guān)系,使得進(jìn)程之間具有了前序關(guān)系,這些關(guān)系決定了各個(gè)進(jìn)程創(chuàng)建和終止的時(shí)間。2 什么叫臨界資源?什么叫臨界區(qū)?對(duì)臨界區(qū)的使用應(yīng)符合的四個(gè)準(zhǔn)則(互斥使用、讓權(quán)等待、有空讓進(jìn)、有限等待)。

43、答: 臨界資源:就是一次僅允許一個(gè)進(jìn)程使用的資源。臨界區(qū):就是并發(fā)進(jìn)程訪問臨界資源的那段必須互斥執(zhí)行的程序。臨界區(qū)使用的準(zhǔn)則:互斥使用:不能同時(shí)有兩個(gè)進(jìn)程在臨界區(qū)內(nèi)執(zhí)行讓權(quán)等待:等待進(jìn)入臨界區(qū)的進(jìn)程,應(yīng)釋放處理機(jī)后阻塞等待有空讓進(jìn):在臨界區(qū)外運(yùn)行的進(jìn)程不可阻止其他進(jìn)程進(jìn)入臨界區(qū) 有限等待:不應(yīng)使要進(jìn)入臨界區(qū)的進(jìn)程無(wú)限期等待在臨界區(qū)之外3若信號(hào)量s表示某一類資源,則對(duì)s執(zhí)行wait、signal操作的直觀含義是什么?答:wait(s)操作將信號(hào)量值增1后,若該值為負(fù),則執(zhí)行wait操作的進(jìn)程等待。 signal(s)操作將信號(hào)量增1后,若該值為正,這執(zhí)行signal操作的進(jìn)程喚醒等待進(jìn)程。4答:

44、(1)利用信號(hào)量實(shí)現(xiàn)互斥。為臨界資源設(shè)置一個(gè)互斥信號(hào)量mutex,初值為1;每個(gè)進(jìn)程中將臨界區(qū)代碼置于wait和signal原語(yǔ)間。(2)用wait和signal實(shí)現(xiàn)進(jìn)程同步時(shí),同步信號(hào)量的初值與相應(yīng)資源有關(guān),也與wait和signal操作在程序代碼中出現(xiàn)位置有關(guān)。5(1)當(dāng)s>0時(shí),s表示可使用的資源數(shù)或新得可使用資源的進(jìn)程數(shù);(2)當(dāng)s=0時(shí),s表示無(wú)資源可使用或不允許進(jìn)程再進(jìn)入臨界區(qū);(3)當(dāng)s<0時(shí),s表示等待使用資源的進(jìn)程數(shù)或進(jìn)入臨界區(qū)的進(jìn)程個(gè)數(shù);6in=out 是空 (in+1)mod100=out 是滿 7 有一個(gè)閱覽室,讀者進(jìn)入時(shí)必須先 在一張登記表上進(jìn)行登記,該表

45、為每一座位列一表目,包括座號(hào)和讀者姓名,讀者離開時(shí), 要?jiǎng)h掉登記的信息,閱覽室共有100個(gè)座位, 試問: 1、為描寫讀者動(dòng)作,應(yīng)編寫幾個(gè)程序, 應(yīng)設(shè)置幾個(gè)進(jìn)程?進(jìn)程與程序間關(guān)系如何? 2、試問P、V操作寫出這些進(jìn)程間的同步 算法。解法1、將讀者入室查表登記和離室查表取消登記各編一個(gè)程序,這樣每個(gè)讀者需設(shè)兩個(gè)進(jìn) 程,分別執(zhí)行入室和離室程序。2、semaphore mutex =1;/ 用于互斥使用登記表 semaphore s =100; / 表示資源信號(hào)量 while(1) p (s); p (mutex); 在登記表上進(jìn)行登記 v(mutex); 在閱覽室閱讀; p (mutex); 在登記

46、表上消除其登記信息 v(mutex); v(s); 8 復(fù)印室里有一個(gè)操作員為顧客復(fù)印資料,有5把椅子供顧客休息等待復(fù)印。如果沒有顧客,則操作員休息。當(dāng)顧客來(lái)到復(fù)印室時(shí),如果有空椅子則坐下來(lái),并喚醒復(fù)印操作員;如果沒有空椅子則必須離開復(fù)印室。答: 信號(hào)量: customers表示正在等待復(fù)印的顧客數(shù)量(不包括正在復(fù)印的顧客) operator記錄正在等候顧客的操作員數(shù),只有1和0 mutex用于對(duì)waiting的訪問; 變量: waiting表示等待的顧客數(shù)量。它實(shí)際上是customers的一個(gè)副本。之所以使用waiting是因?yàn)闊o(wú)法讀取信號(hào)量的當(dāng)前值。 semaphore customers

47、=0,operator=0,mutex=1; waiting=0; process operator( )/操作員進(jìn)程 while(1) wait(customers); /等待顧客到來(lái)復(fù)??; signal(operator); /通知顧客已經(jīng)完成復(fù)印 process cusotmeri( )/顧客進(jìn)程i wait(mutex); if(waiting<5) waiting+;signal(customers); signal(mutex); wait(operator); wait(mutex); waiting-; signal(mutex);else signal(mutex);

48、離開復(fù)印室; main( ) cobegin operator( ); customeri( ); 91) 關(guān)系分析。供應(yīng)者與三個(gè)抽煙者分別是同步關(guān)系。由于供應(yīng)者無(wú)法同時(shí)滿足兩個(gè)或 以上的抽煙者,三個(gè)抽煙者對(duì)抽煙這個(gè)動(dòng)作互斥(或由三個(gè)抽煙者輪流抽煙得知2) 整理思路。顯然這里有四個(gè)進(jìn)程。供應(yīng)者作為生產(chǎn)者向三個(gè)抽煙者提供材料。3) 信號(hào)量設(shè)置。信號(hào)量offer1、offer2、offer3分別表示煙草和紙組合的資源、煙草和 火柴組合的資源、紙和火柴組合的資源。信號(hào)量finish用于互斥進(jìn)行抽煙動(dòng)作。代碼如下:int random; /存儲(chǔ)隨機(jī)數(shù)semaphore offer1=0; /定義信號(hào)量

49、對(duì)應(yīng)煙草和紙組合的資源semaphore offer2=0; /定義信號(hào)量對(duì)應(yīng)煙草和火柴組合的資源semaphore offer3=0; /定義信號(hào)量對(duì)應(yīng)紙和火柴組合的資源semaphore finish=0; /定義信號(hào)量表示抽煙是否完成/供應(yīng)者while(1)random = 任意一個(gè)整數(shù)隨機(jī)數(shù);random=random% 3;if(random=0)V(offerl) ; /提供煙草和紙else if(random=l) V(offer2); /提供煙草和火柴elseV(offer3) /提供紙和火柴/ 任意兩種材料放在桌子上;P(finish);/擁有煙草者while(1)P (of

50、fer3);/ 拿紙和火柴,卷成煙,抽掉;V(finish);/擁有紙者while(1)P(offer2);/ 煙草和火柴,卷成煙,抽掉;V(finish);/擁有火柴者while(1)P(offer1);/ 拿煙草和紙,卷成煙,抽掉;v(finish);10為了互斥地入庫(kù)和出庫(kù),需為倉(cāng)庫(kù)設(shè)置一初值為1的互斥信號(hào)量mutex;為了使生產(chǎn)的產(chǎn)品件數(shù)滿足-nA的件數(shù)B的件數(shù)m,須設(shè)置兩個(gè)同步的信號(hào)量,其中SAB表示當(dāng)前允許A生產(chǎn)的產(chǎn)品數(shù)量,其初值為m,SBA表示當(dāng)前允許B生產(chǎn)的產(chǎn)品數(shù)量,其初值為n;另外,還需設(shè)置一個(gè)整數(shù)difference表示所銷售的A、B產(chǎn)品數(shù)量之差,而為了同步生產(chǎn)者和銷售者并

51、使銷售的A、B產(chǎn)品的件數(shù)-nA的件數(shù)B的件數(shù)m,還需要設(shè)置三個(gè)資源信號(hào)量,其中S對(duì)應(yīng)于倉(cāng)庫(kù)中的總的產(chǎn)品量,SA對(duì)應(yīng)于倉(cāng)庫(kù)中的A產(chǎn)品量,SB對(duì)應(yīng)于倉(cāng)庫(kù)中的B產(chǎn)品量,它們的初值都為0. Semaphore SAB=m,SBA=n,S=0,SA=0,SB=0,mutex=1; process A( ) while(1) wait(SAB); Produce a product A; signal(SBA); /入庫(kù)操作,滿足出入庫(kù)操作互斥即可 wait(mutex); add the product A to the storehouse; signal(mutex); signal(SA); /入

52、庫(kù)產(chǎn)品A一件,所以給SA增值signal(S); /入庫(kù)產(chǎn)品一件,所以給S增值,S是倉(cāng)庫(kù)中全部產(chǎn)品的數(shù)量 process B( ) while(1) /生產(chǎn)產(chǎn)品,-nA的件數(shù)B的件數(shù)m,方法同第4題 wait(SBA); Produce a product B; signal(SAB); /入庫(kù)操作,滿足出入庫(kù)操作互斥即可 wait(mutex); add the product A to the storehouse; signal(mutex); signal(SB); /入庫(kù)產(chǎn)品A一件,所以給SA增值 signal(S); /入庫(kù)產(chǎn)品一件,所以給S增值,S是倉(cāng)庫(kù)中全部產(chǎn)品的數(shù)量 proc

53、ess C( ) while(1) wait(S); /首先檢查有無(wú)產(chǎn)品,無(wú)產(chǎn)品阻塞,有產(chǎn)品,下面操作將會(huì)取走一件產(chǎn)品,所以S減1 if(difference<=-n) wait(SA); / difference<=-n時(shí)只能取A產(chǎn)品一件,無(wú)A產(chǎn)品則需阻塞 /出庫(kù)操作,滿足出入庫(kù)操作互斥 wait(mutex);take a product A from storehouse; signal(mutex); difference+; /取A產(chǎn)品一件,difference+ else if(difference>=m) wait(SB); / difference>=m

54、時(shí)只能取B產(chǎn)品一件,無(wú)B產(chǎn)品則需阻塞 /出庫(kù)操作,滿足出入庫(kù)操作互斥 wait(mutex);take a product B from storehouse; signal(mutex); difference-; /取B產(chǎn)品一件,difference- else /-n<difference<m,即可以取產(chǎn)品A也可以取產(chǎn)品B,隨意取一件產(chǎn)品出來(lái),之后再根據(jù)取得產(chǎn)品是A還是B進(jìn)行處理 /出庫(kù)操作,滿足出入庫(kù)操作互斥 wait(mutex);take a product A 或B from storehouse; signal(mutex); if(product_type=A)

55、/取的是產(chǎn)品A,則信號(hào)量SA減1,這里不可能發(fā)生沒有A產(chǎn)品,進(jìn)程C需要阻塞的情況wait(SA);difference+;/取A產(chǎn)品一件,difference+ else /取的是產(chǎn)品B,則信號(hào)量SB減1,這里不可能發(fā)生沒有B產(chǎn)品,進(jìn)程C需要阻塞的情況wait(SB);difference-;/取B產(chǎn)品一件,difference- Sell the product; main() cobegin A(); B(); C(); 11.某寺廟有小和尚和老和尚各若干人,水缸一只,由小和尚提水入缸給老和尚飲用。水缸可容水10桶,水取自同一口水井中。水井徑窄,每次僅能容一只水桶取水,水桶總數(shù)為3個(gè)。若每次入、取水僅為1桶,而且不可同時(shí)進(jìn)行。試用記錄型信號(hào)量機(jī)制寫出小和尚和老和尚的活動(dòng)過(guò)程。互斥資源有水缸和水井,分別用mutex1和mutex2來(lái)互斥。水桶總數(shù)僅3只,由信號(hào)量count控制,信號(hào)量empty和full控制入水和出水量。semaphore mutex1,mutex2,empty,full,count; mutex1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論