版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)課后習(xí)題部分答案目錄TOC\o"1-3"\h\u2135355617第一章 第一章1.操作系統(tǒng)的定義。答:操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)系統(tǒng)軟件,管理和控制計(jì)算機(jī)系統(tǒng)中的硬件和軟件資源,合理地組織計(jì)算機(jī)的工作流程,以便有效利用這些資源為用戶提供一個(gè)功能強(qiáng)、適用方便的工作環(huán)境,從而在計(jì)算機(jī)和用戶之間起到接口的作用。2、設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?答:方便性:方便用戶使用計(jì)算機(jī);有效性:有效使用操作系統(tǒng),讓系統(tǒng)的資源利用率高,吞吐量達(dá);可擴(kuò)充性:方便增加新功能和模塊,以及修改老的功能和模塊以適應(yīng)計(jì)算機(jī)硬件、體系結(jié)構(gòu)和應(yīng)用發(fā)展的要求;開(kāi)放性:遵循設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范,讓操作系統(tǒng)與系統(tǒng)兼容,滿足跨平臺(tái)性要求。3.OS的作用可表現(xiàn)在哪幾個(gè)方面?答:(1)操作系統(tǒng)是用于計(jì)算機(jī)硬件系統(tǒng)之間的接口,用戶并不直接與計(jì)算機(jī)硬件打交道,而是通過(guò)操作系統(tǒng)提供的命令、系統(tǒng)調(diào)用以及圖形化接口來(lái)使用計(jì)算機(jī)。(2)操作系統(tǒng)是計(jì)算機(jī)資源的管理者。處理的分配和控制,內(nèi)存的分配和回收,I/O設(shè)備的分配和操縱,文件的存取、共享和保護(hù)工作都是由操作系統(tǒng)來(lái)完成的。(3)、操作系統(tǒng)實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象。操作系統(tǒng)是輔設(shè)在裸機(jī)上的多層軟件,它不僅增強(qiáng)了系統(tǒng)的功能,而且還隱藏了對(duì)硬件操作的細(xì)節(jié),從而實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象。4.操作系統(tǒng)發(fā)展的主要?jiǎng)恿κ鞘裁??答:?)計(jì)算機(jī)硬件升級(jí)和新硬件的出現(xiàn);(2)提供新的服務(wù),方便使用;(3)提高計(jì)算機(jī)資源利用率;(4)更正軟件錯(cuò)誤;(5)計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展。5.何謂脫機(jī)I/O和聯(lián)機(jī)I/O?答:脫機(jī)I/O是指由專門的I/O設(shè)備控制完成輸入輸出操作的方式,不受CPU運(yùn)行操作系統(tǒng)來(lái)控制的方式?,F(xiàn)在的聯(lián)機(jī)I/O是指I/O操作必須要受到操作系統(tǒng)的控制,即I/O設(shè)備工作受CPU的控制完成,早期時(shí)候的聯(lián)機(jī)I/O是指在人工操作方式下,CPU和I/O設(shè)備同時(shí)被同一個(gè)任務(wù)獨(dú)占的操作方式。6.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問(wèn)題是什么?應(yīng)如何解決?答:分時(shí)系統(tǒng)最關(guān)鍵的問(wèn)題是及時(shí)接收和及時(shí)處理的問(wèn)題。及時(shí)接受問(wèn)題用一個(gè)多路卡實(shí)現(xiàn)。及時(shí)處理采用作業(yè)直接進(jìn)入內(nèi)存,然后采用輪轉(zhuǎn)運(yùn)行方式進(jìn)行處理。7.什么是實(shí)時(shí)系統(tǒng)?什么是硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)?答:實(shí)時(shí)系統(tǒng):能及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行的計(jì)算機(jī)系統(tǒng),分為實(shí)時(shí)控制系統(tǒng)和實(shí)時(shí)事務(wù)處理系統(tǒng)。硬實(shí)時(shí)任務(wù):系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則會(huì)出現(xiàn)難以預(yù)測(cè)的后果。軟實(shí)時(shí)任務(wù):它也聯(lián)系著一個(gè)截止時(shí)間,但并不嚴(yán)格,若錯(cuò)過(guò)了任務(wù)的截止時(shí)間,對(duì)系統(tǒng)產(chǎn)生的影響不會(huì)太大。8.操作系統(tǒng)的特征。答:(1)任務(wù)共行性:宏觀上,指系統(tǒng)中有多個(gè)任務(wù)同時(shí)運(yùn)行;微觀上,指單處理機(jī)系統(tǒng)中的任務(wù)并發(fā),即多個(gè)任務(wù)在單處理機(jī)上交替運(yùn)行;或多處理機(jī)系統(tǒng)中的任務(wù)并行,即多個(gè)任務(wù)在多個(gè)處理機(jī)上同時(shí)運(yùn)行。(2)資源共享性:宏觀上,指多個(gè)任務(wù)可以同時(shí)使用的系統(tǒng)資源;微觀上,指多個(gè)任務(wù)可以交替互斥地使用系統(tǒng)中的某個(gè)資源。(3)虛擬性:指將一個(gè)物理上的實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物。如采用分時(shí)技術(shù),將一臺(tái)處理機(jī)虛擬為若干臺(tái)虛擬機(jī)。還可以虛擬存儲(chǔ)、虛擬設(shè)備、虛擬通道、虛擬文件、虛擬用戶組以及虛擬網(wǎng)絡(luò)等。(4)不確定性:程序執(zhí)行結(jié)果不確定,程序不可再現(xiàn);多道程序環(huán)境下,進(jìn)城以異步方式執(zhí)行。9.操作系統(tǒng)的任務(wù)。答:管理處理機(jī);管理存儲(chǔ)器;管理輸入/輸出設(shè)備;管理數(shù)據(jù)文件;提供接口服務(wù)。10.處理機(jī)管理有哪些主要功能?其主要任務(wù)是什么?答:(1)進(jìn)程控制:創(chuàng)建和撤銷進(jìn)程以及控制進(jìn)程的狀態(tài)轉(zhuǎn)換。(2)進(jìn)程同步:協(xié)調(diào)、互斥訪問(wèn)臨界資源,協(xié)調(diào)執(zhí)行進(jìn)度。(3)進(jìn)程通信:進(jìn)程間的信息交換。(4)進(jìn)程調(diào)度:按一定的算法從進(jìn)程就緒隊(duì)列中選出一個(gè)進(jìn)程,把處理機(jī)分配給它,使之運(yùn)行。11.內(nèi)存管理有哪些主要功能?其主要任務(wù)是什么?答:主要任務(wù)為:對(duì)多道程序的并發(fā)執(zhí)行提供良好的環(huán)境;便于用戶使用存儲(chǔ)器;提高存儲(chǔ)器的利用率;為盡量多的用戶提供足夠大的存儲(chǔ)空間。主要功能:內(nèi)存分配:靜態(tài)分配/動(dòng)態(tài)分配、連續(xù)分配/非連續(xù)分配;內(nèi)存保護(hù):系統(tǒng)內(nèi)存空間、用戶內(nèi)存空間;地址映射:邏輯地址到物理地址映射;內(nèi)存擴(kuò)充:采用虛擬存儲(chǔ)技術(shù)等讓用戶獲得一個(gè)比實(shí)際內(nèi)存空間大得多的內(nèi)容空間。12.設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?答:主要任務(wù):為用戶程序分配I/O設(shè)備;完成用戶程序請(qǐng)求的I/O操作;提高處理機(jī)和I/O設(shè)備的利用率;改善人機(jī)界面。主要功能:緩沖管理;設(shè)備分配;設(shè)備處理:?jiǎn)?dòng)設(shè)備,中斷處理;虛擬設(shè)備功能;RAID技術(shù)、磁盤調(diào)度。13.文件管理有哪些主要功能?其主要任務(wù)是什么?答:主要任務(wù):管理用戶文件和系統(tǒng)文件;管理文件的存儲(chǔ)空間;保證文件數(shù)據(jù)的安全;方便用戶使用文件。主要功能:文件目錄管理;文件的邏輯組織與訪問(wèn)方式;存儲(chǔ)空間的管理:文件的物理組織、空閑磁盤空間的管理;文件的共享與安全。14.什么是操作系統(tǒng)內(nèi)核?微內(nèi)核和強(qiáng)內(nèi)核相比較具有的優(yōu)點(diǎn)是什么?答:操作系統(tǒng)內(nèi)核是指大多數(shù)操作系統(tǒng)的核心部分,包括管理處理機(jī)、存儲(chǔ)器、I/O設(shè)備和文件等部分的核心部分構(gòu)成。微內(nèi)核與強(qiáng)內(nèi)核相比較的有點(diǎn)是:具有更好的靈活性、開(kāi)放性、可擴(kuò)充性。15.經(jīng)典問(wèn)題分析:有三個(gè)進(jìn)程A、B、C,他們使用同一個(gè)設(shè)備進(jìn)行I/O操作,并且按A、B、C的指定次序執(zhí)行。進(jìn)程A共計(jì)運(yùn)行180ms,每隔40ms需要進(jìn)行I/O操作,I/O時(shí)間是20ms。進(jìn)程B共計(jì)運(yùn)行150ms,每隔20ms需要進(jìn)行I/O操作,I/O時(shí)間是10ms,進(jìn)程C共計(jì)運(yùn)行160ms,每隔20ms需要進(jìn)行I/O操作,I/O時(shí)間是20ms。假設(shè)調(diào)度的時(shí)間可以忽略,且同時(shí)到達(dá)內(nèi)存,請(qǐng)畫出在單道環(huán)境和多道程序環(huán)境下運(yùn)行的時(shí)間關(guān)系圖,并比較兩者的效率。ABABC 計(jì)算I/O (2)多道環(huán)境下的時(shí)間關(guān)系圖如下:AABC 在單道情況下,運(yùn)行完成三個(gè)進(jìn)程所需要的時(shí)間是490ms,在多道情況下,運(yùn)行完成三個(gè)進(jìn)程所需要的時(shí)間是310ms,所以多道比單道的效率高。第二章簡(jiǎn)答題2.什么是并發(fā)?什么是并行?用日常生活中的例子舉例說(shuō)明。答:并發(fā)是指在一段時(shí)間內(nèi)多個(gè)進(jìn)程同時(shí)運(yùn)行,宏觀上同時(shí),微觀上依次執(zhí)行。并行是指若干進(jìn)程在同一時(shí)刻同時(shí)運(yùn)行。日常生活例子:以食堂打飯為例。并行:食堂排隊(duì)打飯,如果把每個(gè)窗口看做CPU,每個(gè)同學(xué)看作進(jìn)程,那么在某一刻在各個(gè)窗口打飯的同學(xué)可以認(rèn)為是并行的。并發(fā):同樣以打飯為例,對(duì)其中一個(gè)窗口而言,在該窗口排隊(duì)的每個(gè)同學(xué)只能依次獲得打飯機(jī)會(huì),因此可以認(rèn)為該隊(duì)列的每個(gè)同學(xué)是并發(fā)的(在食堂開(kāi)始服務(wù)的時(shí)間段內(nèi)都能打到飯)。3.在操作系統(tǒng)中為什么要引入進(jìn)程的概念?它會(huì)產(chǎn)生什么樣的影響?答:在多道程序環(huán)境下,程序并發(fā)執(zhí)行時(shí)失去了封閉性、具有間斷性及運(yùn)行結(jié)果不可再現(xiàn)等特征。特別是運(yùn)行結(jié)果不可再現(xiàn)這一特征,決定了程序不能參與并發(fā)執(zhí)行。因此,為了能夠使程序并發(fā)執(zhí)行,必須引入“進(jìn)程”概念對(duì)并發(fā)執(zhí)行的程序加以描述和控制。引入進(jìn)程這一概念后,通過(guò)PCB來(lái)管理進(jìn)程運(yùn)行過(guò)程中需要的描述信息、控制信息、管理信息等,可以使原來(lái)不能并發(fā)執(zhí)行的程序可以并發(fā)執(zhí)行。4.試說(shuō)明PCB的作用具體表現(xiàn)在那些方面?為什么說(shuō)PCB是進(jìn)程存在的唯一標(biāo)志?答:為了便于系統(tǒng)描述和管理程序的運(yùn)行,操作系統(tǒng)為每個(gè)參與執(zhí)行的程序(含數(shù)據(jù))配置了一個(gè)專門的數(shù)據(jù)結(jié)構(gòu)叫做PCB(又稱為進(jìn)程控制塊)。PCB的作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序成為一個(gè)能獨(dú)立運(yùn)行的基本單位,一個(gè)能與其他進(jìn)程并發(fā)執(zhí)行的進(jìn)程。主要表現(xiàn)在:1)作為獨(dú)立運(yùn)行的標(biāo)志;2)能夠間斷運(yùn)行;3)提供進(jìn)程管理需要的信息;4)提供進(jìn)程調(diào)度的信息;5)實(shí)現(xiàn)進(jìn)程間的同步與通信。5.說(shuō)明進(jìn)程的三個(gè)基本狀態(tài)及其相互轉(zhuǎn)換的典型原因?答:進(jìn)程運(yùn)行過(guò)程中,由于競(jìng)爭(zhēng)資源,因此會(huì)在不同狀態(tài)中轉(zhuǎn)換。三種基本狀態(tài)分別是:就緒狀態(tài)、運(yùn)行狀態(tài)和阻塞狀態(tài)。三種基本狀態(tài)轉(zhuǎn)換的典型原因是:就緒狀態(tài)的進(jìn)程,當(dāng)進(jìn)程調(diào)度獲得CPU時(shí),可從就緒狀態(tài)轉(zhuǎn)換為執(zhí)行狀態(tài)。執(zhí)行狀態(tài)的進(jìn)程,當(dāng)有I/O請(qǐng)求時(shí),會(huì)從執(zhí)行狀態(tài)轉(zhuǎn)換為阻塞狀態(tài);在分時(shí)系統(tǒng)中,執(zhí)行狀態(tài)的進(jìn)程時(shí)間片用完,會(huì)從執(zhí)行狀態(tài)轉(zhuǎn)換為就緒狀態(tài)。阻塞狀態(tài)的進(jìn)程,當(dāng)I/O請(qǐng)求完成,會(huì)從阻塞狀態(tài)轉(zhuǎn)換為就緒狀態(tài)。6.試從動(dòng)態(tài)性、并發(fā)性和獨(dú)立性上比較進(jìn)程和程序?答:從動(dòng)態(tài)性看:進(jìn)程是程序的執(zhí)行,由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡;而程序是個(gè)靜態(tài)實(shí)體,不管運(yùn)行與否均存在。從并發(fā)性看:程序不能并發(fā)執(zhí)行,而進(jìn)程可以并發(fā)執(zhí)行。從獨(dú)立性看:進(jìn)程是獨(dú)立運(yùn)行,獨(dú)立獲取資源及獨(dú)立接受調(diào)度的基本單位;未建立PCB的程序是不能作為獨(dú)立運(yùn)行的單位參與運(yùn)行。7.什么是操作系統(tǒng)內(nèi)核?其主要功能有哪些?答:內(nèi)核:通常將一些與硬件緊密相關(guān)的模塊(如中斷)、各種常用設(shè)備驅(qū)動(dòng)程序以及運(yùn)行頻率較高的模塊(時(shí)鐘管理、進(jìn)程調(diào)度等)都安排在緊靠硬件的軟件層中,將它們常駐內(nèi)存。主要功能:1、支撐功能。包括中斷處理、時(shí)鐘管理、原語(yǔ)操作等。2、資源管理功能。包括進(jìn)程管理、存儲(chǔ)器管理、設(shè)備管理等。8.什么臨界資源和臨界區(qū)?臨界區(qū)管理的基本準(zhǔn)則是什么?答:把在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問(wèn)的資源稱為臨界資源。在每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段代碼。管理臨界區(qū)的準(zhǔn)則:(1)空閑讓進(jìn)。如果若干進(jìn)程要求進(jìn)入空閑的臨界區(qū),一次僅允許一個(gè)進(jìn)程進(jìn)入。(2)忙則等待。任何時(shí)候,處于臨界區(qū)內(nèi)的進(jìn)程不可多于一個(gè)。(3)有限等待。進(jìn)入臨界區(qū)的進(jìn)程要在有限時(shí)間內(nèi)退出。(4)讓權(quán)等待。如果進(jìn)程不能進(jìn)入自己的臨界區(qū),則應(yīng)讓出CPU,避免進(jìn)程出現(xiàn)“忙等”現(xiàn)象9.為什么要在操作系統(tǒng)中引入線程?試從調(diào)度性、并發(fā)性、擁有資源和系統(tǒng)開(kāi)銷4個(gè)方面對(duì)進(jìn)程和線程進(jìn)行比較。答:在OS中引入進(jìn)程的目的是為了使多個(gè)程序能并發(fā)執(zhí)行,以提高資源利用率和系統(tǒng)吞吐量,那么,在操作系統(tǒng)中再引入線程,則是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開(kāi)銷,使OS具有更好的并發(fā)性。進(jìn)程與線程的比較:從調(diào)度性來(lái)看:線程是調(diào)度和分派的基本單位,而進(jìn)程是資源擁有的基本單位,線程共享進(jìn)程的全部資源。一個(gè)進(jìn)程內(nèi)的線程切換到另一個(gè)進(jìn)程內(nèi)的線程時(shí)要引起進(jìn)程的切換。從并發(fā)性來(lái)看:在引入線程的OS中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線程之間亦可并發(fā)執(zhí)行,因而OS具有更好的并發(fā)性,從而能更好地提高系統(tǒng)的資利用率及系統(tǒng)的吞吐量。從擁有資源來(lái)看:進(jìn)程是擁有資源的基本單位,線程不擁有資源,但繼承進(jìn)程的資源。從系統(tǒng)開(kāi)銷來(lái)看:創(chuàng)建或撒消進(jìn)程,系統(tǒng)都要為之分配或回收資源,OS的開(kāi)銷將大于創(chuàng)建線程或撒消線程的開(kāi)消。類似地在進(jìn)程切換時(shí),涉及到整個(gè)當(dāng)前進(jìn)程CPU環(huán)境的保存以及新被調(diào)度運(yùn)行的進(jìn)程的CPU環(huán)境的設(shè)置。而線程切換只須保存和設(shè)置少量寄存器的內(nèi)容,并不涉及存儲(chǔ)器管理方面的操作。因此,進(jìn)程切換的開(kāi)銷也遠(yuǎn)大于線程切換的開(kāi)銷。綜合題1.畫出下列語(yǔ)句的前趨圖:并指出哪些語(yǔ)句可以并發(fā)執(zhí)行?S1:a=x+yS2:b=z+1S3:c=a-bS4:w=c+1答:可畫出如圖所示的前趨關(guān)系。可以看出:S3必須在a和b被賦值后方能執(zhí)行;S4必須在S3之后執(zhí)行;其中,S1和S2可以并發(fā)執(zhí)行,因?yàn)樗鼈儽舜嘶ゲ灰蕾嚒?.假設(shè)有輸入、加工和輸出3個(gè)并發(fā)進(jìn)程共享一個(gè)緩沖區(qū)B,輸入進(jìn)程負(fù)責(zé)從輸入設(shè)備讀入一條記錄,每讀一條記錄后把它存放在緩沖區(qū)B中,加工進(jìn)程在緩沖區(qū)B中加工輸入進(jìn)程存入的記錄。輸出進(jìn)程負(fù)責(zé)把加工后的記錄打印輸出。緩沖區(qū)B中每次只能存放一條記錄,當(dāng)記錄被加工輸出后,緩沖區(qū)B中才可存放下—條新記錄。請(qǐng)用P、V操作來(lái)描述它們并發(fā)執(zhí)行時(shí)能正確工作的程序。答:設(shè)fullB,emptyB分別為緩沖區(qū)B裝滿數(shù)據(jù)和空的信號(hào)量,Work為數(shù)據(jù)加工信號(hào)量,0為未加工,1為加工后的數(shù)據(jù)。varfullB,emptyB,Work,:semaphore:=0,1,0;BeginParbeginProcedure輸入:beginrepeatwait(emptyB);讀一條記錄放入緩沖區(qū)中signal(fullB);untilfalse;endProcedure加工:beginrepeatwait(fullB);在緩沖區(qū)B中進(jìn)行加工;signal(work);untilfalse;endProcedure輸出:beginrepeatwait(work);打印輸出;signal(emptyB);untilfalse;endparendend3.設(shè)有一個(gè)成品倉(cāng)庫(kù),總共能夠存放10臺(tái)成品,生產(chǎn)者生產(chǎn)產(chǎn)品放入倉(cāng)庫(kù),消費(fèi)者從倉(cāng)庫(kù)中取出成品消費(fèi)。為了防止積壓,倉(cāng)庫(kù)滿時(shí)就停止生產(chǎn)。由于倉(cāng)庫(kù)搬運(yùn)設(shè)備只有一套,故成品的存入和取出只能分別執(zhí)行,使用wait()和signal()操作來(lái)實(shí)現(xiàn)該方案。答:Varmutex,full,empty:semaphore:=1,0,10;BeginParbeginprocedure:beginrepeat生產(chǎn)一個(gè)成品;wait(empty);wait(mutex);將產(chǎn)品存入倉(cāng)庫(kù);signal(mutex);signal(full);untilfalse;endconsumer:beginrepeatwait(full);wait(mutex);將產(chǎn)品從倉(cāng)庫(kù)取出;signal(mutex);signal(empty);消費(fèi)成品;untilfalse;endparendend4.有一窄橋每次只能過(guò)一輛車,每次為了保證正常通行,只要橋上沒(méi)有車,就允許一端的車過(guò)橋,待其全部過(guò)完后才允許另一端的車過(guò)橋。請(qǐng)用信號(hào)量和PV操作寫出過(guò)窄橋的同步算法。答:設(shè)mutex為橋的互斥信號(hào)量,rmutex,lmutex分別為向右,向左過(guò)橋的互斥信號(hào)量,設(shè)rightcount,leftcount分別為向右向左行駛的汽車數(shù)量Varmutex,rmutex,lmutex,samphore:=1,1;Rightcount,leftcount:integer:=0;Parbegin向右行駛:beginP(rmutex);Ifrightcount=0thenp(mutex);rightcount:=rightcount+1;V(rmutex);開(kāi)始過(guò)橋;P(rmutex);rightcount:=rightcount-1;Ifrightcount=0thenv(mutex);V(rmutex);End向左行駛:beginP(lmutex);Ifleftcount=0thenp(mutex);leftcount:=leftcount+1;V(lmutex);開(kāi)始過(guò)橋;P(lmutex);leftcount:=leftcount-1;Ifleftcount=0thenv(mutex);V(lmutex);EndParend5.某招待所有100個(gè)床位,住宿者住入要先登記(在登記表上填寫姓名及床位號(hào)),離去時(shí)要撤銷登記(在登記表上刪去姓名和床位號(hào))。請(qǐng)給出住宿登記及撤銷登記過(guò)程的算法描述。答:設(shè)mutex=1為登記信號(hào)量Empty=100為床位登記:beginRepeatWait(empty)Wait(mutex)登記表上填寫姓名及床位號(hào)Signal(mutex)Untilfalseend撤銷登記:BeginRepeatWait(mutex)撤銷登記;Signal(mutex)Signal(empty)Untilfalse6.有3個(gè)進(jìn)程PA,PB,PC合作解決文件打印問(wèn)題:PA將文件記錄N從磁盤讀入主存的緩沖區(qū)1,每執(zhí)行一次讀一個(gè)記錄;PB將緩沖區(qū)S1的內(nèi)容復(fù)制到緩沖區(qū)2,每執(zhí)行一次復(fù)制—個(gè)記錄;PC將緩沖區(qū)2的內(nèi)容打印出來(lái),每執(zhí)行一次打印一個(gè)記錄。緩沖區(qū)的大小等于一個(gè)記錄大小。請(qǐng)用P,V操作來(lái)保證文件的正確打印。答:Varempty1,full1,empty2,full2:semaphore:=1,0,1,0;PA:beginrepeatwait(empty1);讀出記錄N,將N寫入緩沖區(qū)1;signal(full1);untilfalse;endPB:beginrepeatwait(full1);wait(empty2)將記錄N從緩沖區(qū)1復(fù)制到緩沖區(qū)2中;signal(empty1);signal(full2);untilfalse;endPC:beginrepeatwait(full2);從緩沖區(qū)2中取數(shù)據(jù)打?。籹ignal(empty2);untilfalse;end第三章一、問(wèn)答題1.高級(jí)調(diào)度與低級(jí)調(diào)度的主要任務(wù)是什么?為什么要引入中級(jí)調(diào)度?答:高級(jí)調(diào)度的任務(wù)是根據(jù)JCB中的信息,檢查系統(tǒng)中的資源能否滿足作業(yè)對(duì)資源的需求,以及按照一定的調(diào)度算法,從外存的后備隊(duì)列中選取某些作業(yè)調(diào)入內(nèi)存,并為它們創(chuàng)建進(jìn)程、分配必要的資源。然后再將新創(chuàng)建的進(jìn)程排在就緒隊(duì)列上等待調(diào)度。進(jìn)程調(diào)度的任務(wù)主要有(1)保存處理機(jī)的現(xiàn)場(chǎng)信息;(2)按某種算法選取進(jìn)程;(3)把處理器分配給進(jìn)程。當(dāng)內(nèi)存空間非常緊張時(shí),或處理機(jī)找不到可執(zhí)行的就緒進(jìn)程時(shí),需要選擇一個(gè)進(jìn)程(阻塞或就緒狀態(tài))換出到外存,釋放出內(nèi)存空間給別的進(jìn)程使用;當(dāng)內(nèi)存空間較充裕時(shí),從外存選取一個(gè)掛起狀態(tài)的進(jìn)程調(diào)度到內(nèi)存(換入)。在換入和換出的過(guò)程中,發(fā)生了中程調(diào)度,只有支持進(jìn)程掛起的操作系統(tǒng)才具有中程調(diào)度功能,目的是為了提高內(nèi)存的利用率和系統(tǒng)的吞吐量。2.在選擇調(diào)度方式和調(diào)度算法時(shí),應(yīng)遵循的準(zhǔn)則是什么?答:滿足用戶對(duì)響應(yīng)時(shí)間、周轉(zhuǎn)時(shí)間、截止時(shí)間的要求;滿足系統(tǒng)的需求,盡量提高系統(tǒng)吞吐量和處理機(jī)利用率,保證各類資源的平衡使用、公平性及優(yōu)先級(jí)。3.在作業(yè)調(diào)度中應(yīng)如何確定接納多少個(gè)作業(yè)和接納哪些作業(yè)?答:選擇多少個(gè)作業(yè)進(jìn)入內(nèi)存,為之創(chuàng)建進(jìn)程,取決于多道程序的度,即允許同時(shí)在內(nèi)存中運(yùn)行的進(jìn)程數(shù)。選擇哪些算法,取決于長(zhǎng)程調(diào)度算法。4.何謂靜態(tài)和動(dòng)態(tài)優(yōu)先級(jí)?確定靜態(tài)優(yōu)先級(jí)的依據(jù)是什么?答:一旦確定下來(lái),進(jìn)程在運(yùn)行期間它的優(yōu)先級(jí)一直不變化的優(yōu)先級(jí)叫靜態(tài)優(yōu)先級(jí)。系統(tǒng)首先為一個(gè)進(jìn)程賦予初始優(yōu)先級(jí),該優(yōu)先級(jí)會(huì)隨著進(jìn)程的運(yùn)行而改變,這樣的優(yōu)先級(jí)叫動(dòng)態(tài)優(yōu)先級(jí)。確定靜態(tài)優(yōu)先級(jí)的依據(jù):(1)進(jìn)程類型;(2)進(jìn)程對(duì)資源的需求;(3)用戶要求。5.試分別說(shuō)明可重用資源和可消耗資源的性質(zhì)。答:可重用性資源是一種可供用戶重復(fù)使用多次的資源,它具有如下性質(zhì):(1)每一個(gè)可重用性資源中的單元只能分配給一個(gè)進(jìn)程使用,不允許多個(gè)進(jìn)程共享。(2)進(jìn)程在使用可重用性資源時(shí),須按照這樣的順序:①請(qǐng)求資源。如果請(qǐng)求資源失敗,請(qǐng)求進(jìn)程將會(huì)被阻塞或循環(huán)等待。②使用資源。進(jìn)程對(duì)資源進(jìn)行操作,如用打印機(jī)進(jìn)行打?。虎坩尫刨Y源。當(dāng)進(jìn)程使用完后自己釋放資源。(3)系統(tǒng)中每一類可重用性資源中的單元數(shù)目是相對(duì)固定的,進(jìn)程在運(yùn)行期間既不能創(chuàng)建也不能刪除它??上男再Y源又稱為臨時(shí)性資源,它是在進(jìn)程運(yùn)行期間,由進(jìn)程動(dòng)態(tài)地創(chuàng)建和消耗的,它具有如下性質(zhì):(1)每一類可消耗性資源的單元數(shù)目在進(jìn)程運(yùn)行期間是可以不斷變化的,有時(shí)它可以有許多,有時(shí)可能為0。(2)進(jìn)程在運(yùn)行過(guò)程中,可以不斷地創(chuàng)造可消耗性資源的單元,將它們放入該資源類的緩沖區(qū)中,以增加該資源類的單元數(shù)目。③進(jìn)程在運(yùn)行過(guò)程中,可以請(qǐng)求若干個(gè)可消耗性資源單元,用于進(jìn)程自己的消耗,不再將它們返回給該資源類中。6.試比較FCFS和SJF兩種進(jìn)程調(diào)度算法。答:FCFS按照進(jìn)程到達(dá)的先后順序排隊(duì),每次調(diào)度隊(duì)首的進(jìn)程,屬于非剝奪調(diào)度方式,實(shí)現(xiàn)簡(jiǎn)單,看似公平。但對(duì)于那些后進(jìn)入隊(duì)列而運(yùn)行時(shí)間較短的進(jìn)程,或I/O型的進(jìn)程而言,可能需要等待較長(zhǎng)時(shí)間。SJF屬于非剝奪方式調(diào)度算法。當(dāng)需要調(diào)度作業(yè)(進(jìn)程)時(shí),通過(guò)計(jì)算判斷就緒隊(duì)列中哪一個(gè)進(jìn)程預(yù)計(jì)執(zhí)行時(shí)間最短,或后備作業(yè)隊(duì)列中哪一個(gè)或幾個(gè)作業(yè)預(yù)計(jì)執(zhí)行時(shí)間最短,就調(diào)度誰(shuí)。當(dāng)某個(gè)進(jìn)程獲得處理機(jī),直到其執(zhí)行完成,或需要等待某個(gè)事件而阻塞時(shí),才自動(dòng)釋放處理機(jī),系統(tǒng)又調(diào)度新的進(jìn)程或作業(yè)。與FCFS算法比較,短進(jìn)程優(yōu)先調(diào)度算法改善了系統(tǒng)的性能,降低了系統(tǒng)的平均等待時(shí)間,提高了系統(tǒng)的吞吐量。但是該算法也存在一些問(wèn)題:(1)很難準(zhǔn)確地預(yù)測(cè)進(jìn)程的執(zhí)行時(shí)間;(2)可能導(dǎo)致長(zhǎng)進(jìn)程饑餓,對(duì)長(zhǎng)進(jìn)程不利。(3)采用非剝奪方式,未考慮進(jìn)程的緊迫程度,不適合于分時(shí)系統(tǒng)或者事務(wù)處理系統(tǒng)。7.在時(shí)間片輪轉(zhuǎn)法中,應(yīng)如何確定時(shí)間片的大小?答:T=N*Q,Q表示時(shí)間片大小,T表示響應(yīng)時(shí)間,N表示就緒隊(duì)列進(jìn)程數(shù)。時(shí)間片大小的確定應(yīng)綜合考慮系統(tǒng)的最大用戶數(shù)、響應(yīng)時(shí)間、系統(tǒng)效率等多種因素,能保證80%的進(jìn)程能夠在一個(gè)時(shí)間片內(nèi)完成就可以。8.何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?答:可以描述為多個(gè)進(jìn)程因?yàn)楦?jìng)爭(zhēng)資源,或執(zhí)行時(shí)推進(jìn)的順序不當(dāng),或相互通信而永久阻塞現(xiàn)象,如果沒(méi)有外力作用,這種現(xiàn)象將永遠(yuǎn)保持下去。產(chǎn)生死鎖的原因是進(jìn)程競(jìng)爭(zhēng)資源,即資源的數(shù)量小于進(jìn)程數(shù)量而引起的。死鎖產(chǎn)生的條件:(1)互斥:競(jìng)爭(zhēng)的資源一次只能被一個(gè)進(jìn)程使用。(2)占有且等待:當(dāng)一個(gè)進(jìn)程占有一些資源,同時(shí)又申請(qǐng)新的資源。如果新資源申請(qǐng)失敗,進(jìn)程將占有資源且阻塞等待。(3)非剝奪:進(jìn)程已占有的資源不能被其他進(jìn)程強(qiáng)行剝奪。(4)循環(huán)等待:在系統(tǒng)中存在一個(gè)由若干進(jìn)程形成的環(huán)形請(qǐng)求鏈,其中的每一個(gè)進(jìn)程都占有一些資源,同時(shí)又申請(qǐng)環(huán)形請(qǐng)求鏈中下一個(gè)進(jìn)程所占有的資源。前三個(gè)條件是產(chǎn)生死鎖的必要條件,第四個(gè)條件是充分條件,四個(gè)條件共同構(gòu)成死鎖產(chǎn)生的充分必要條件。9.解決死鎖的方法有哪些?答:(1)預(yù)防死鎖,指進(jìn)程申請(qǐng)資源必須遵循某些預(yù)先制定的限制條件,以破壞產(chǎn)生死鎖的四個(gè)必要條件之一或幾個(gè),防止死鎖發(fā)生。(2)避免死鎖指,當(dāng)進(jìn)程申請(qǐng)系統(tǒng)資源時(shí),需要首先判斷(預(yù)測(cè)),如果滿足這次資源的請(qǐng)求是否會(huì)導(dǎo)致死鎖,可能會(huì)導(dǎo)致死鎖的資源請(qǐng)求將會(huì)被拒絕。讓請(qǐng)求資源進(jìn)程的進(jìn)程阻塞等待,直到其所需的資源可分配為止。(3)當(dāng)進(jìn)程申請(qǐng)資源時(shí),不進(jìn)行任何限制,即允許死鎖發(fā)生。但要求系統(tǒng)定期或不定期檢測(cè)是否有死鎖發(fā)生。當(dāng)檢測(cè)到死鎖時(shí),再力求解除死鎖。10.實(shí)時(shí)系統(tǒng)中采用的調(diào)度算法可以有如下幾種:1)非搶占優(yōu)先權(quán)調(diào)度算法。2)立即搶占的優(yōu)先權(quán)調(diào)度算法。3)時(shí)間片輪轉(zhuǎn)調(diào)度算法。4)基于時(shí)鐘中斷搶占的優(yōu)先權(quán)調(diào)度算法。按實(shí)時(shí)要求的嚴(yán)格程度由低到高的順序是什么,請(qǐng)寫出分析過(guò)程。答:3—1—4—2。時(shí)間片輪轉(zhuǎn)算法是按進(jìn)程先后達(dá)到的時(shí)間排序,并且為每個(gè)進(jìn)程分配時(shí)間片,只有時(shí)間片到才能切換,時(shí)間片未到不能剝奪進(jìn)程的執(zhí),所以時(shí)間要求嚴(yán)格度低。非搶占式優(yōu)先權(quán)調(diào)度算法,由于具有優(yōu)先權(quán),高優(yōu)先權(quán)可以打斷低優(yōu)先權(quán),只要將時(shí)間要求緊迫的任務(wù)賦予高優(yōu)先權(quán),即可滿足時(shí)間要求較嚴(yán)格的需求。但是在低優(yōu)先權(quán)進(jìn)程執(zhí)行過(guò)程中是不能被打斷的,所以其優(yōu)先權(quán)能響應(yīng)的時(shí)間緊迫程度會(huì)打折扣?;跁r(shí)鐘中斷搶占的優(yōu)先權(quán)調(diào)度算法,可以讓高優(yōu)先權(quán)的進(jìn)程搶占低優(yōu)先權(quán)的進(jìn)程,但是只有在時(shí)鐘中段到來(lái)的時(shí)候才能搶占。立即搶占的優(yōu)先權(quán)調(diào)度算法能夠讓高優(yōu)先權(quán)的進(jìn)程在任何時(shí)刻搶占CPU。二、綜合題1.一個(gè)計(jì)算機(jī)系統(tǒng)中擁有6臺(tái)打印機(jī),現(xiàn)有N個(gè)進(jìn)程競(jìng)爭(zhēng)使用,每個(gè)進(jìn)程要求2臺(tái)打印機(jī),試問(wèn):N的值如何選取時(shí)系統(tǒng)中絕對(duì)不會(huì)出現(xiàn)死鎖?答:該問(wèn)題類似于哲學(xué)家問(wèn)題,讓N<=資源數(shù)-1即可,即N<=6-1,有N<=5。2.多道批處理系統(tǒng)中配有一臺(tái)處理器和兩臺(tái)外設(shè)(Dl、D2),用戶存儲(chǔ)空間為100MB。已知系統(tǒng)采用可搶占的高優(yōu)先數(shù)調(diào)度算法和不允許移動(dòng)的可變分區(qū)分配策略,設(shè)備分配按照動(dòng)態(tài)分配原則。今有4個(gè)作業(yè)同時(shí)提交給系統(tǒng),如下表所示。作業(yè)名優(yōu)先數(shù)運(yùn)行時(shí)間內(nèi)存需求(M)A65分鐘50B34分鐘10C87分鐘60D45分鐘20作業(yè)運(yùn)行時(shí)間和I/O時(shí)間按下述順序進(jìn)行:A.CPU(1分鐘),D1(2分鐘),D2(2分鐘)B.CPU(3分鐘),D1(1分鐘)C.CPU(2分鐘),D1(3分鐘),D2(2分鐘)D.CPU(4分鐘),D1(1分鐘)忽略輔助操作,請(qǐng)給出4個(gè)作業(yè)的平均周轉(zhuǎn)時(shí)間?解:按照高優(yōu)先數(shù)調(diào)度算法,即優(yōu)先數(shù)越高,越優(yōu)先得到調(diào)度的策略,且四個(gè)作業(yè)同時(shí)提交系統(tǒng),根據(jù)題意及條件,C優(yōu)先被調(diào)度,為其創(chuàng)建進(jìn)程并分配內(nèi)存空間。其調(diào)度時(shí)系統(tǒng)狀況如下表:作業(yè)名優(yōu)先數(shù)CPUD1D2內(nèi)存需求(M)系統(tǒng)剩余內(nèi)存(M)C82分鐘3分鐘2分鐘6040當(dāng)其2分鐘以后,由于開(kāi)始I/O操作,所以按照調(diào)度策略,調(diào)入下一個(gè)高優(yōu)先數(shù)的作業(yè)A,為其創(chuàng)建進(jìn)程,并為它分配內(nèi)存空間,但由于內(nèi)存空間不滿足需要,該進(jìn)程阻塞,系統(tǒng)轉(zhuǎn)而調(diào)度D,為其創(chuàng)建進(jìn)程并分配存儲(chǔ)空間。調(diào)度D執(zhí)行的系統(tǒng)情況如下表:作業(yè)名優(yōu)先數(shù)CPUD1D2內(nèi)存需求(M)系統(tǒng)剩余內(nèi)存(M)C82分鐘3分鐘2分鐘6040D44分鐘1分鐘02020當(dāng)D執(zhí)行3分鐘后,C釋放D1資源,使用D2資源。當(dāng)D執(zhí)行4分鐘后,可以使用D1資源,且進(jìn)程切換,系統(tǒng)調(diào)度B,為其創(chuàng)建進(jìn)程,并分配存儲(chǔ)空間。此時(shí)系統(tǒng)狀態(tài)如圖:作業(yè)名優(yōu)先數(shù)CPUD1D2內(nèi)存需求(M)系統(tǒng)剩余內(nèi)存(M)C82分鐘3分鐘2分鐘6040D44分鐘1分鐘02020B33分鐘1分鐘01010當(dāng)B執(zhí)行1分鐘后,C和D同時(shí)完成,系統(tǒng)回收其內(nèi)存資源、D1和D2。系統(tǒng)狀態(tài)如圖:作業(yè)名優(yōu)先數(shù)CPUD1D2內(nèi)存需求(M)系統(tǒng)剩余內(nèi)存(M)B31分鐘1分鐘01090由于采用可搶占式,此時(shí)內(nèi)存資源滿足A的需求,喚醒A執(zhí)行,B進(jìn)程阻塞。此時(shí)系統(tǒng)狀態(tài)如圖:作業(yè)名優(yōu)先數(shù)CPUD1D2內(nèi)存需求(M)系統(tǒng)剩余內(nèi)存(M)B31分鐘(阻塞)1分鐘01090A61分鐘2分鐘2分鐘5040此時(shí)A進(jìn)程執(zhí)行1分鐘后,使用D1,然后使用D2,喚醒B執(zhí)行B執(zhí)行完剩余的2分鐘后,A剛好使用完畢D1,B可以順利使用D1。B使用D1的1分鐘后結(jié)束進(jìn)程,釋放資源,再過(guò)1分鐘后,A使用完D2,進(jìn)程A結(jié)束,釋放資源,此時(shí)所有進(jìn)程結(jié)束,系統(tǒng)的資源狀況恢復(fù)到初始狀態(tài)。在這個(gè)過(guò)程中,C的周轉(zhuǎn)時(shí)間為7分鐘,D的周轉(zhuǎn)時(shí)間為:2+5=7(分鐘);B的周轉(zhuǎn)時(shí)間為:等待時(shí)間(2+4+1)分鐘+執(zhí)行處理時(shí)間4分鐘=11分鐘;A的周轉(zhuǎn)時(shí)間為:等待時(shí)間(2+4+1)分鐘+執(zhí)行處理時(shí)間5分鐘=12分鐘。系統(tǒng)平均周轉(zhuǎn)時(shí)間為:(7+7+11+12)/4=9.25(分鐘)3.設(shè)有4個(gè)作業(yè)J1,J2,J3,J4.它們的到達(dá)時(shí)間和要求服務(wù)時(shí)間如下表所示。若這4個(gè)作業(yè)在—臺(tái)處理機(jī)上按單道方式運(yùn)行,采用響應(yīng)比高者優(yōu)先調(diào)度算法。1)試寫出各作業(yè)的執(zhí)行順序;2)求各作業(yè)的周轉(zhuǎn)時(shí)間及平均周轉(zhuǎn)時(shí)間。3)求各作業(yè)的帶權(quán)周轉(zhuǎn)時(shí)間及平均帶權(quán)周轉(zhuǎn)時(shí)間。作業(yè)到達(dá)時(shí)間服務(wù)時(shí)間J18:002小時(shí)J28:3040分鐘J39:0025分鐘J49:3030分鐘解:(1)響應(yīng)比高者優(yōu)先算法屬于非剝奪算法。J1先到達(dá),優(yōu)先調(diào)度,服務(wù)時(shí)間120分鐘,10點(diǎn)鐘執(zhí)行完畢時(shí),此時(shí)系統(tǒng)其他等待進(jìn)程的響應(yīng)比為:RJ2=1+(10:00-8:30)/40=3.25RJ3=1+(10:00-9:00)/25=3.4RJ4=1+(10:00-9:30)/30=2根據(jù)響應(yīng)比高低,優(yōu)先調(diào)度J3執(zhí)行。J3執(zhí)行25分鐘,在10:25時(shí)完成,此時(shí)計(jì)算J2和J4的響應(yīng)比為:RJ2=1+(10:25-8:30)/40=6.75RJ4=1+(10:25-9:30)/30=2.83根據(jù)響應(yīng)比高低,優(yōu)先調(diào)度J2執(zhí)行,J2執(zhí)行40分鐘,在11:05分完成。此時(shí)系統(tǒng)只剩下J4,調(diào)度J4執(zhí)行,執(zhí)行30分鐘,于11:35分完成。所以系統(tǒng)調(diào)度執(zhí)行順序?yàn)椋篔1,J3,J2,J4。(2)J1的周轉(zhuǎn)時(shí)間為:10:00-8:00=120分鐘; J2的周轉(zhuǎn)時(shí)間為:11:05-8:30=155分鐘; J3的周轉(zhuǎn)時(shí)間為:10:25-9:00=85分鐘; J4的周轉(zhuǎn)時(shí)間為:11:35-9:30=125分鐘。系統(tǒng)的平均周轉(zhuǎn)時(shí)間為:(120+155+85+125)/4=121.25(分鐘)。(3)帶權(quán)周轉(zhuǎn)時(shí)間=周轉(zhuǎn)時(shí)間/系統(tǒng)服務(wù)時(shí)間,由此可以計(jì)算; J1的帶權(quán)周轉(zhuǎn)時(shí)間為:120分鐘/120分鐘=1; J2的帶權(quán)周轉(zhuǎn)時(shí)間為:155分鐘/40分鐘=3.875; J3的帶權(quán)周轉(zhuǎn)時(shí)間為:85分鐘/25分鐘=3.4; J4的帶權(quán)周轉(zhuǎn)時(shí)間為:125分鐘/30分鐘=4.17系統(tǒng)平均帶權(quán)周轉(zhuǎn)時(shí)間為:(1+3.875+3.4+4.17)/4=3.114.在銀行家算法的例子中,如果P0發(fā)出的請(qǐng)求向量由Request(0,2,0)改為Request(0,1,0),問(wèn)系統(tǒng)可否將資源分配給它?解:根據(jù)教材例子,P1申請(qǐng)了(1,0,2)并獲得該資源后,系統(tǒng)資源情況如下圖:此時(shí)P0申請(qǐng)(0,2,0),經(jīng)過(guò)分析不安全,系統(tǒng)不能分配給它請(qǐng)求的資源。如果改為申請(qǐng)(0,1,0),Request(0,1,0)<Need(7,4,3);Request1(0,1,0)≤Available1(2,3,0),系統(tǒng)可以試探地分配,分配后系統(tǒng)資源情況如下:由于剩下的資源已經(jīng)無(wú)法滿足任何一個(gè)進(jìn)程的需求,所以此時(shí)不能滿足P0的請(qǐng)求。5.在銀行家算法中,若出現(xiàn)下述資源分配情況,試問(wèn):
(1)該狀態(tài)是否安全?(2)若進(jìn)程P2提出請(qǐng)求Request(1,2,2,2)后,系統(tǒng)能否將資源分配給它?解:(1)此刻能夠找到一個(gè)安全序列P0,P3,P4,P1,P2,此刻系統(tǒng)是安全的。(2)若P2申請(qǐng)(1,2,2,2)后,系統(tǒng)判斷Request(1,2,02,2)<Need(2,3,5,6);Request1(0,1,0)≤Available1(1,6,2,2),可以試著預(yù)分配。但是分配之后系統(tǒng)可用資源還剩0,4,0,0,已經(jīng)無(wú)法滿足任何一個(gè)進(jìn)程的資源需求,系統(tǒng)不能將資源分配給它。第四章1、什么是靜態(tài)鏈接、裝入時(shí)動(dòng)態(tài)鏈接和運(yùn)行時(shí)的動(dòng)態(tài)鏈接?答:靜態(tài)鏈接是指在程序運(yùn)行前,先將各目標(biāo)模塊及它們所需的庫(kù)函數(shù),鏈接成一個(gè)完整的裝配模塊,以后不再拆開(kāi)的鏈接方式。裝入時(shí)動(dòng)態(tài)鏈接是指將用戶源程序編譯后得到的一組目標(biāo)模塊,在裝入內(nèi)存時(shí)采用邊裝入邊鏈接的鏈接方式。運(yùn)行時(shí)動(dòng)態(tài)鏈接是指對(duì)某些目標(biāo)模塊的鏈接,是在程序執(zhí)行中需要該目標(biāo)模塊時(shí),才對(duì)它進(jìn)行的鏈接2、簡(jiǎn)述分頁(yè)系統(tǒng)和分段系統(tǒng)的異同點(diǎn)答:相同點(diǎn):都采用離散分配的方式來(lái)提高內(nèi)存利用率;都通過(guò)地址變換機(jī)構(gòu)來(lái)實(shí)現(xiàn)地址變換。區(qū)別:(1)頁(yè)是信息的物理單位,分頁(yè)是為了提高內(nèi)存的利用率。段是信息的邏輯單位,含有一組意義相對(duì)比較完整的信息。分段是為了更好地滿足用戶的需求。(2)頁(yè)的大小固定且由系統(tǒng)決定。段的長(zhǎng)度不固定,且由用戶所編寫的程序決定。(3)分頁(yè)的地址空間是唯一的,程序員只需要利用一個(gè)記憶符,便可以表示一個(gè)地址。分段的地址空間是二維的,程序員在標(biāo)識(shí)一個(gè)地址時(shí),既需要給出段名,又需要給出段內(nèi)地址。3、什么情況下需要重定位?為什么要引入重定位?答:源程序經(jīng)過(guò)編譯、鏈接產(chǎn)生的裝入模塊一般是從0開(kāi)始編制的,其中的地址都是相對(duì)于起始地址的相對(duì)地址。在將它裝入內(nèi)存時(shí),其分配到的內(nèi)存空間的起始地址通常不為0,因此指令和數(shù)據(jù)的實(shí)際物理地址和裝入模塊中的相對(duì)地址不一致,此時(shí),為了使程序能夠正確執(zhí)行,必須將相對(duì)地址轉(zhuǎn)換為物理地址,即進(jìn)行重定位。4、在具有快表的段頁(yè)式存儲(chǔ)管理方式中,如何實(shí)現(xiàn)地址變換?答:在CPU給出有效地址后,由地址變換機(jī)構(gòu)自動(dòng)將頁(yè)號(hào)P送入高速緩沖寄存器,并將此頁(yè)號(hào)與高速緩存中的所有頁(yè)號(hào)比較,若找到匹配頁(yè)號(hào),表示要訪問(wèn)的頁(yè)表項(xiàng)在快表中??芍苯訌目毂碜x出該頁(yè)對(duì)應(yīng)物理塊號(hào),送到物理地址寄存器中。如快表中沒(méi)有對(duì)應(yīng)頁(yè)表項(xiàng),則再訪問(wèn)內(nèi)存頁(yè)表,找到后,把從頁(yè)表項(xiàng)中讀出物理塊號(hào)送地址寄存器;同時(shí)修改快表,將此頁(yè)表項(xiàng)存入快表。但若寄存器已滿,則OS必須找到合適的頁(yè)表項(xiàng)換出5、什么是對(duì)換技術(shù)?為什么要引入對(duì)換?對(duì)換有哪些類型?答:對(duì)換時(shí)指內(nèi)存中暫時(shí)不能運(yùn)行的進(jìn)程或者暫時(shí)不用的程序或數(shù)據(jù)換出到外存上,以便騰出足夠的內(nèi)存空間,把已經(jīng)具備運(yùn)行條件的進(jìn)程或者進(jìn)程所需要的程序和數(shù)據(jù)換入內(nèi)存。目的是解決內(nèi)存緊張問(wèn)題,帶來(lái)的好處是進(jìn)一步提高了處理機(jī)的利用率和系統(tǒng)吞吐量。對(duì)換類型:整體對(duì)換、頁(yè)面(分段)對(duì)換。6、在采用首次適應(yīng)算法回收內(nèi)存時(shí),可能出現(xiàn)哪幾種情況?應(yīng)怎樣處理這些情況?答:在采用首次適應(yīng)算法回收內(nèi)存時(shí)可能出現(xiàn)4種情況:(1)回收區(qū)前鄰空閑區(qū)。將回收區(qū)與前鄰空閑區(qū)合并,將前鄰空閑區(qū)大小修改為兩者之和。(2)回收區(qū)后鄰空閑區(qū)。將兩區(qū)合并,改后鄰空閑區(qū)始址為回收區(qū)始址,大小為兩者之和。(3)回收區(qū)前后均鄰空閑區(qū)。將三個(gè)分區(qū)合并,修改前鄰空閑區(qū)大小為三者之和。(4)回收區(qū)前后均不鄰空閑區(qū)。為回收區(qū)設(shè)置空閑區(qū)表項(xiàng),填入回收區(qū)始址和大小并插入空閑區(qū)隊(duì)列。7、給定內(nèi)存空閑分區(qū),按地址從小到大為:100K、500K、200K、300K、600K?,F(xiàn)有用戶進(jìn)程依次分別212K、417K、112K、426K。(1)分別用首次適應(yīng)算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法、最壞適應(yīng)算法將它們裝入到內(nèi)存的哪個(gè)分區(qū)?(2)哪個(gè)算法最有效利用內(nèi)存?答:(1)按題意地址從小到大進(jìn)行分區(qū),如圖所示:分區(qū)號(hào)分區(qū)長(zhǎng)1100K2500K3200K4300K5600K1)首次適應(yīng)算法:212K選中分區(qū)2,這時(shí)分區(qū)2還剩下288KB。417K選中分區(qū)5,這時(shí)分區(qū)5還剩下183KB。112K選中分區(qū)2,這時(shí)分區(qū)2還剩下176KB。426KB無(wú)分區(qū)能滿足要求,等待。2)循環(huán)首次適應(yīng)算法:本題目中與首次適應(yīng)算法相同。3)最佳適應(yīng)算法:212K選中分區(qū)4,這時(shí)分區(qū)4還剩88KB。417K選中分區(qū)2,這時(shí)分區(qū)2還剩83KB。112K選中分區(qū)3,這時(shí)分區(qū)3還剩88K。426K選中分區(qū)5,這時(shí)分區(qū)5還剩174KB。4)最壞適應(yīng)算法:212K選中分區(qū)5,這時(shí)分區(qū)5還剩388KB。417K選中分區(qū)2,這時(shí)分區(qū)2還剩83KB。112K選中分區(qū)5,這時(shí)分區(qū)5還剩176KB。426K無(wú)分區(qū)能滿足,等待。(2)最佳適應(yīng)算法最有效使用內(nèi)存。8、某系統(tǒng)采用頁(yè)式存儲(chǔ)管理策略,擁有邏輯空間32頁(yè),每頁(yè)2KB,擁有物理空間1MB。(1)寫出邏輯地址的格式。(2)若不考慮訪問(wèn)權(quán)限等,進(jìn)程的頁(yè)表有多少項(xiàng)?每項(xiàng)至少有多少位?(3)如果物理空間減少一半,頁(yè)表結(jié)構(gòu)應(yīng)相應(yīng)作怎樣的改變?答:(1)該系統(tǒng)擁有邏輯空間32頁(yè),故邏輯地址中頁(yè)號(hào)必須用5位來(lái)描述;而每頁(yè)為2KB,因此,頁(yè)內(nèi)地址必須用11位來(lái)描述,這樣可得到它的邏輯地址格式:1511100頁(yè)號(hào)頁(yè)內(nèi)地址(2)每個(gè)進(jìn)程最多有32個(gè)頁(yè)面,因此,進(jìn)程的頁(yè)表項(xiàng)最多為32項(xiàng);若不考慮訪問(wèn)權(quán)限等,則頁(yè)表項(xiàng)中只需給出頁(yè)所對(duì)應(yīng)的物理塊塊號(hào),1MB的物理空間可分為29個(gè)內(nèi)存塊,故每個(gè)頁(yè)表項(xiàng)至少有9位。(3)如果物理地址空間減半,則頁(yè)表中頁(yè)表項(xiàng)數(shù)仍不變,但每項(xiàng)的長(zhǎng)度可減少1位。9、已知某分頁(yè)系統(tǒng),主存容量為64K字節(jié),頁(yè)面大小為1K,對(duì)一個(gè)4頁(yè)大的作業(yè),其0、1、2、3頁(yè)分別被分配到主存的2、4、6、7塊中,試:將十進(jìn)制的邏輯地址1023、2500、3500、4500轉(zhuǎn)換成物理地址。答:邏輯地址1023。1023/1K,得到頁(yè)號(hào)為0,頁(yè)內(nèi)地址為1023,查頁(yè)表找到對(duì)應(yīng)的物理塊號(hào)為2,因此物理地址為2*1K+1023=3071.邏輯地址2500。2500/1K,得到頁(yè)號(hào)為2,頁(yè)內(nèi)地址為452,查頁(yè)表找到對(duì)應(yīng)的物理塊號(hào)為6,因此物理地址為6*1K+452=6596.邏輯地址3500。3500/1K,得到頁(yè)號(hào)為3,頁(yè)內(nèi)地址為428,查頁(yè)表找到對(duì)應(yīng)的物理塊號(hào)為7,因此物理地址為7*1K+428=7596.邏輯地址4500。4500/1K,得到頁(yè)號(hào)為4,頁(yè)內(nèi)地址為404,查頁(yè)表找到對(duì)應(yīng)的物理塊號(hào)為2,因此物理地址為2*1K+1023=3071.10、對(duì)于下表所示的段表,請(qǐng)將邏輯地址(0,137),(1,4000),(2,3600),(5,239)轉(zhuǎn)換成物理地址。段號(hào)內(nèi)存始址段長(zhǎng)050K10K160K3K270K5K3120K8K4150K4K答:(1)段號(hào)0小于段表長(zhǎng)5,故段號(hào)合法;由段表的第0項(xiàng)可獲得段的內(nèi)存始址位50K,段長(zhǎng)位10K,由于段內(nèi)地址137,小于段長(zhǎng)10K,故段內(nèi)地址也是合法的,因此可以得出對(duì)應(yīng)的物理地址為50K+137=51337(2)段號(hào)1小于段表長(zhǎng)5,故段號(hào)合法;由段表的第1項(xiàng)可獲得段的內(nèi)存始址位60K,段長(zhǎng)位3K,經(jīng)檢查,段內(nèi)地址4000超過(guò)段長(zhǎng)3K,因此產(chǎn)生越界中斷。(3)段號(hào)2小于段表長(zhǎng)5,故段號(hào)合法;由段表的第2項(xiàng)可獲得段的內(nèi)存始址位70K,段長(zhǎng)位5K,由于段內(nèi)地址3600,小于段長(zhǎng)10K,故段內(nèi)地址也是合法的,因此可以得出對(duì)應(yīng)的物理地址為70K+3600=75280.(4)段號(hào)5等于段表長(zhǎng),故段號(hào)不合法,產(chǎn)生越界中斷。第五章1、什么是程序局部性原理?程序局部性主要體現(xiàn)在哪里方面?答:程序局部性原理是指程序在執(zhí)行時(shí)將呈現(xiàn)出局部性規(guī)律,即在一較短的時(shí)間內(nèi),程序的執(zhí)行僅局限于某個(gè)部分,相應(yīng)地,它所訪問(wèn)的存儲(chǔ)空間也局限在某個(gè)區(qū)域。局部性主要表現(xiàn)在以下2個(gè)方面:(1)時(shí)間局部性。如果程序中的某條指令一旦執(zhí)行,則不久以后該指令可能再次執(zhí)行;如果某個(gè)數(shù)據(jù)被訪問(wèn),則不久以后該數(shù)據(jù)可能被再次訪問(wèn)。產(chǎn)生局部性的典型原因是程序中存在中大量的循環(huán)操作。(2)空間局部性。一旦程序訪問(wèn)了某個(gè)存儲(chǔ)單元,則不久以后,其附近的存儲(chǔ)單元也將被訪問(wèn),即程序在一段時(shí)間內(nèi)所訪問(wèn)的地址,可能集中在一定的范圍內(nèi),其典型情況是程序的順序執(zhí)行。2、什么是虛擬存儲(chǔ)器?虛擬存儲(chǔ)區(qū)有什么特征?答:虛擬存儲(chǔ)器是指具有請(qǐng)求調(diào)入功能和置換功能,能從邏輯上對(duì)內(nèi)存容量加以擴(kuò)充的一種存儲(chǔ)器系統(tǒng)。其邏輯容量由內(nèi)存容量和外存容量之和所決定,其運(yùn)行速度接近于內(nèi)存速度,而每位的成本又接近于外存。虛擬存儲(chǔ)器有以下特征:(1)多次性。一個(gè)作業(yè)中的程序和數(shù)據(jù),無(wú)需在作業(yè)運(yùn)行時(shí)一次性地全部裝入內(nèi)存,允許被分成多次調(diào)入內(nèi)存運(yùn)行,即只需將當(dāng)前要運(yùn)行的那部分程序和數(shù)據(jù)裝入內(nèi)存即可開(kāi)始運(yùn)行。(2)對(duì)換性。一個(gè)作業(yè)中的程序和數(shù)據(jù),無(wú)需在作業(yè)運(yùn)行時(shí)一直常駐內(nèi)存,允許在作業(yè)的運(yùn)行過(guò)程中進(jìn)行換進(jìn)換出。即在進(jìn)程運(yùn)行期間,運(yùn)行將那些暫時(shí)不使用的代碼和數(shù)據(jù)從內(nèi)存調(diào)至外存的對(duì)換去(換出),待需要時(shí)再將它們從外存調(diào)至內(nèi)存(換進(jìn))。(3)虛擬性。指能夠從邏輯上擴(kuò)充內(nèi)存容量,使用戶所看到的內(nèi)存容量遠(yuǎn)大于實(shí)際內(nèi)存容量。虛擬性以多次性和對(duì)換性位基礎(chǔ)。3、在請(qǐng)求分頁(yè)系統(tǒng)中,頁(yè)表應(yīng)包括哪些數(shù)據(jù)項(xiàng)?每項(xiàng)的作用是什么?答:頁(yè)表應(yīng)包括:頁(yè)號(hào)、物理塊號(hào)、狀態(tài)位P、訪問(wèn)字段A、修改位M和外存地址。其中狀態(tài)位P指示該頁(yè)是否調(diào)入內(nèi)存,供程序訪問(wèn)時(shí)參考;訪問(wèn)字段A用于記錄本頁(yè)在一段時(shí)間內(nèi)被訪問(wèn)的次數(shù),或最近已有多長(zhǎng)時(shí)間未被訪問(wèn),提供給置換算法選擇換出頁(yè)面時(shí)參考;修改位M表示該頁(yè)在調(diào)入內(nèi)存后是否被修改過(guò);外存地址用于指出該頁(yè)在外存上的地址,通常是物理塊號(hào),供調(diào)入該頁(yè)時(shí)使用。4、在請(qǐng)求分頁(yè)系統(tǒng)中,應(yīng)從何處將所需頁(yè)面調(diào)入內(nèi)存?答:請(qǐng)求分頁(yè)系統(tǒng)中的缺頁(yè)從何處調(diào)入內(nèi)存分三種情況:(1)系統(tǒng)擁有足夠?qū)Q區(qū)空間時(shí),可以全部從對(duì)換區(qū)調(diào)入所需頁(yè)面,提高調(diào)頁(yè)速度。在進(jìn)程運(yùn)行前將與該進(jìn)程有關(guān)的文件從文件區(qū)拷貝到對(duì)換區(qū)。(2)系統(tǒng)缺少足夠?qū)Q區(qū)空間時(shí),不被修改的文件直接從文件區(qū)調(diào)入;當(dāng)換出這些頁(yè)面時(shí),未被修改的不必?fù)Q出,再調(diào)入時(shí),仍從文件區(qū)直接調(diào)入。對(duì)于可能修改的,在換出時(shí)便調(diào)到對(duì)換區(qū),以后需要時(shí)再?gòu)膶?duì)換區(qū)調(diào)入。(3)UNIX方式。未運(yùn)行頁(yè)面從文件區(qū)調(diào)入。曾經(jīng)運(yùn)行過(guò)但被換出頁(yè)面,下次從對(duì)換區(qū)調(diào)入。UNIX系統(tǒng)允許頁(yè)面共享,某進(jìn)程請(qǐng)求的頁(yè)面有可能已調(diào)入內(nèi)存,直接使用不再調(diào)入。5、簡(jiǎn)述產(chǎn)生“抖動(dòng)”的原因以及“抖動(dòng)”的預(yù)防方法。答:產(chǎn)生“抖動(dòng)”的原因:同時(shí)在系統(tǒng)中運(yùn)行的進(jìn)程太多,分配給每一個(gè)進(jìn)程的物理塊太少,不能滿足進(jìn)程正常運(yùn)行的基本要求,致使每個(gè)進(jìn)程在運(yùn)行時(shí),頻繁地出現(xiàn)缺頁(yè),必須請(qǐng)求系統(tǒng)將所缺少的頁(yè)面調(diào)入內(nèi)存。這使得系統(tǒng)中排隊(duì)等待頁(yè)面調(diào)進(jìn)/調(diào)出的進(jìn)程數(shù)量增加,對(duì)磁盤的有效訪問(wèn)也隨之增加,造成每個(gè)進(jìn)程的大部分時(shí)間都用于頁(yè)面的換進(jìn)/換出?!岸秳?dòng)”預(yù)防方法:(1)采取局部置換策略;(2)把工作集算法融入到處理機(jī)調(diào)度中;(3)利用“L=S”準(zhǔn)則調(diào)節(jié)缺頁(yè)率;(4)選擇暫停的進(jìn)程。6、在請(qǐng)求分段系統(tǒng)中,段表項(xiàng)應(yīng)包括哪些數(shù)據(jù)項(xiàng)?答:段名、段長(zhǎng)、段基址、存儲(chǔ)方式、訪問(wèn)字段A、修改位M、存在位P、增補(bǔ)位、外存始址。7、在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,假如一個(gè)作業(yè)的頁(yè)面走向是2,3,2,1,5,2,4,5,3,2,5,2。目前沒(méi)有任何頁(yè)面裝入內(nèi)存,當(dāng)分配給該作業(yè)的物理塊數(shù)為3時(shí),請(qǐng)分別計(jì)算采用OPT算法、FIFO算法、LRU算法、CLOCK算法時(shí),訪問(wèn)過(guò)程中所發(fā)生的缺頁(yè)次數(shù)和缺頁(yè)率。答(1)OPT算法232152453252頁(yè)框1222222444222頁(yè)框233333333333頁(yè)框3155555555是否缺頁(yè)是是是是是是缺頁(yè)6次,缺頁(yè)率=6/12=50%(2)FIFO算法232152453252頁(yè)框1222231552243頁(yè)框233315224435頁(yè)框3152443352是否缺頁(yè)是是是是是是是是是缺頁(yè)9次,缺頁(yè)率=9/12=75%(3)LRU算法232152453252頁(yè)框1232152453252頁(yè)框223215245325頁(yè)框3321524533是否缺頁(yè)是是是是是是是缺頁(yè)7次,缺頁(yè)率=7/12=58.3%(4)CLOCK算法232152453252頁(yè)框12*2*2*->2*5*5*->5*->5*3*3*->3*->3*頁(yè)框2->3*3*3*->32*2*2*->2->2*22*頁(yè)框3->->1*1->14*4*445*5*是否缺頁(yè)是是是是是是是是缺頁(yè)8次,缺頁(yè)率=8/12=66.7%第六章一、簡(jiǎn)答題1.有幾種I/O控制方式?各有何持點(diǎn)?答:I/O控制方式有4種,即程序直接控制方式、中斷控制方式、DMA方式和通道控制方式。(1)程序直接控制方式優(yōu)點(diǎn)是控制簡(jiǎn)單,也不需要多少硬件支持。但CPU和外設(shè)只能串行工作,且CPU的大部分時(shí)間處于循環(huán)測(cè)試狀態(tài),使CPU的利用率大大降低;CPU在一段時(shí)間內(nèi)只能和一臺(tái)外設(shè)交換數(shù)據(jù)信息,從而不能實(shí)現(xiàn)設(shè)備之間的并行工作;由于程序直接控制方式依靠測(cè)試設(shè)備狀態(tài)標(biāo)志來(lái)控制數(shù)據(jù)傳送,因此.無(wú)法發(fā)現(xiàn)和處理因設(shè)備或其他硬件所產(chǎn)生的錯(cuò)誤。所以,程序直接控制方式只適用于那些CPU執(zhí)行速度較慢且外設(shè)較少的。(2)中斷控制方式優(yōu)點(diǎn)是能實(shí)現(xiàn)CPU與設(shè)備以及設(shè)備與設(shè)備間的并行操作,CPU的利用率較程序直接控制方式大大提高。但由于I/O控制器的數(shù)據(jù)緩沖寄存器裝滿數(shù)據(jù)后將會(huì)發(fā)出中斷且數(shù)據(jù)緩沖寄存器通常較小,因此在一次數(shù)據(jù)傳送過(guò)程中發(fā)生中斷次數(shù)較多而耗去大量CPU時(shí)間;如果系統(tǒng)中配置的外設(shè)數(shù)目較多,且都以中斷方式進(jìn)行并行操作,則可能耗去大量CPU時(shí)間或因CPU來(lái)不及處理而造成數(shù)據(jù)丟失。(3)DMA方式與中斷方式相比,DMA方式是在一批數(shù)據(jù)傳送完成后中斷CPU,從而大大減少了CPU進(jìn)行中斷處理的次數(shù),且DMA方式下的數(shù)據(jù)傳送是在DMA控制器控制下完成的。但DMA方式仍有一定的局限,如對(duì)外設(shè)的管理和某些操作仍由CPU控制,多個(gè)DMA控制器的使用也不經(jīng)濟(jì)。(4)通道控制方式通道是一個(gè)專管I/O控制的處理機(jī)。在通道控制方式下,CPU只需發(fā)出I/O指令,通道就能完成相應(yīng)的I/O操作,并在操作結(jié)束時(shí)向CPU發(fā)出中斷信號(hào);同時(shí)一個(gè)通道還能控制多臺(tái)外設(shè)。但是,通道價(jià)格較高,從經(jīng)濟(jì)的角度出發(fā)不宜過(guò)多使用。2.為什么要引入設(shè)備獨(dú)立性?如何實(shí)現(xiàn)設(shè)備獨(dú)立性?答:用戶不指定物理設(shè)備,而是指定邏輯設(shè)備,使得用戶作業(yè)和物理設(shè)備之間分開(kāi),再通過(guò)其他途徑建立邏輯設(shè)備和物理設(shè)備之間的映射,設(shè)備的這種特性就是“設(shè)備獨(dú)立性”。好處:應(yīng)用程序與具體物理設(shè)備無(wú)關(guān),系統(tǒng)增減或變更設(shè)備時(shí)對(duì)源程序不必加以修改;易于應(yīng)對(duì)I/O設(shè)備故障,提高系統(tǒng)可靠性;增加設(shè)備分配的靈活性,更有效地利用邏輯設(shè)備資源,實(shí)現(xiàn)多道程序設(shè)計(jì)。3.SPOOLing系統(tǒng)由哪幾部分組成?以打印機(jī)為例說(shuō)明如何利用SPOOLing技術(shù)實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)打印機(jī)的共享?答:SPOOLING系統(tǒng)由磁盤上的輸入井和輸出井,內(nèi)存中的輸入輸出緩沖區(qū)以及輸入輸出進(jìn)程構(gòu)成。在用SPOOLING技術(shù)共享打印機(jī)時(shí),對(duì)所有提出請(qǐng)求的用戶進(jìn)程,系統(tǒng)接受他們的請(qǐng)求時(shí),并不真正八大應(yīng)急分配給它們,而是給他們兩件事:1、由輸出進(jìn)程在輸出井中為他申請(qǐng)一個(gè)空閑緩沖區(qū),并將要答應(yīng)的數(shù)據(jù)送入其中。2、輸出進(jìn)程給用戶進(jìn)程申請(qǐng)一張空白的打印請(qǐng)求表,把用戶的打印請(qǐng)求填入表里,再將該表掛到打印隊(duì)列上。至此用戶進(jìn)程覺(jué)得它的打印進(jìn)程已經(jīng)完成,而不必等待滿速的打印過(guò)程完成,當(dāng)打印機(jī)空閑時(shí),輸出進(jìn)程從打印表中取出一個(gè)打印請(qǐng)求表,將打印數(shù)據(jù)傳進(jìn)進(jìn)程的輸出井的內(nèi)存緩沖區(qū),再有打印機(jī)輸出打印依次處理打印表中的緩沖數(shù)據(jù),直到為空,系統(tǒng)將每個(gè)打印請(qǐng)求進(jìn)程在輸出井中分配一個(gè)存儲(chǔ)區(qū)是的每個(gè)用戶進(jìn)程在邏輯上獨(dú)占一個(gè)打印及,從而實(shí)現(xiàn)打印機(jī)共享。二、綜合題4.假定磁盤有200個(gè)柱面,編號(hào)0~199,當(dāng)前存取臂的位置在143號(hào)柱面上,并剛剛完成了125號(hào)柱面的服務(wù)請(qǐng)求,如果請(qǐng)求隊(duì)列的先后順序是:86,147,91,177,94,150,102,175,130;試問(wèn):為完成上述請(qǐng)求,下列算法存取臂移動(dòng)的總量是多少?并算出存取臂移動(dòng)的順序。(1)先來(lái)先服務(wù)算法FCFS;(2)最短查找時(shí)間優(yōu)先算法SSTF;(3)掃描算法SCAN。(4)電梯調(diào)度。答:(1)先來(lái)先服務(wù)算法FCFS為565,依次為143-86-147-91-177-94-150-102-175-130。(2)最短查找時(shí)間優(yōu)先算法SSTF為162依次為143-147-150-130-102-94-91-86-175-177。(3)掃描算法SCAN為169,依次為143-147-150-175-177-199-130-102-94-91-86。(4)電梯調(diào)度為125(先向地址大的方向),依次為143-147-150-175-177-130-102-94-91-86。為148(先向地址小的方向)依次為143-130-102-94-91-86-147-150-175-177。5.旋轉(zhuǎn)型設(shè)備上信息的優(yōu)化分布能減少為若干個(gè)I/O服務(wù)的總時(shí)間。設(shè)磁鼓上分為20個(gè)區(qū),每區(qū)存放一個(gè)記錄,磁鼓旋轉(zhuǎn)一周需20毫秒,讀出每個(gè)記錄平均需用1毫秒,讀出后經(jīng)2毫秒處理,再繼續(xù)處理下一個(gè)記錄。在不知當(dāng)前磁鼓位置的情況下:(1)順序存放記錄1、……,記錄20時(shí),試計(jì)算讀出并處理20個(gè)記錄的總時(shí)間;(2)給出優(yōu)先分布20個(gè)記錄的一種方案,使得所花的總處理時(shí)間減少,且計(jì)算出這個(gè)方案所花的總時(shí)間。答:(1)定位第1個(gè)記錄需10ms。讀出第1個(gè)記錄,處理花2ms,這時(shí)已到了第4個(gè)記錄,再轉(zhuǎn)過(guò)18個(gè)記錄(花18ms)才能找到記錄2,所以,讀出并處理20個(gè)記錄的總時(shí)間:10+3+(1+2+18)×19=13+21×19=412ms(2)如果給出優(yōu)先分布20個(gè)記錄的方案為:1,8,15,2,9,16,3,10,17,4,11,18,5,12,19,6,13,20,7,14。當(dāng)讀出第1個(gè)記錄,花2ms處理后,恰好就可以處理記錄2,省去了尋找下一個(gè)記錄的時(shí)間,讀出并處理20個(gè)記錄的總時(shí)間:10+3+3×19=13+247=260ms第七章一、簡(jiǎn)答題1.什么是文件?它包含哪些類型及特點(diǎn)?答:文件是信息的一種組織形式,是存儲(chǔ)在外存上的具有標(biāo)識(shí)名的一組相關(guān)信息集合。文件包含的內(nèi)容有:源程序、二進(jìn)制代碼、文本文檔、數(shù)據(jù)、表格、聲音和圖像等。文件的特點(diǎn)如下:(1)文件具有保存性,它被存儲(chǔ)在某種存儲(chǔ)介質(zhì)上,長(zhǎng)期保存和多次使用。(2)文件是按名存取的,每個(gè)文件具有惟一的標(biāo)識(shí)名,通過(guò)標(biāo)識(shí)名(文件名)來(lái)存取文件中的信息,而不需了解文件在存儲(chǔ)介質(zhì)上的具體物理位置。(3)文件的內(nèi)容是一組信息的集合,信息可以是源程序、二進(jìn)制代碼、文本文檔、數(shù)據(jù)、表格、聲音和圖像等。2.什么是文件的邏輯結(jié)構(gòu)?它有哪幾種組織方式?答:文件的邏輯結(jié)構(gòu)是用戶可見(jiàn)結(jié)構(gòu)。組織方式:一種是無(wú)結(jié)構(gòu)的流式文件,是指對(duì)文件內(nèi)信息不再劃分單位,它是依次的一串字符流構(gòu)成的文件。一種是有結(jié)構(gòu)的記錄式文件,是用戶把文件內(nèi)的信息按邏輯上獨(dú)立的含義劃分信息單位,每個(gè)單位稱為一個(gè)邏輯記錄(簡(jiǎn)稱記錄)。3.什么是文件系統(tǒng),文件系統(tǒng)的主要功能包括哪些?答
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年海洋能發(fā)電公司崗位調(diào)動(dòng)與輪崗管理制度
- 單細(xì)胞感染性炎癥反應(yīng)-洞察與解讀
- 數(shù)據(jù)可視化分析工具-洞察與解讀
- 小學(xué)數(shù)學(xué)教學(xué)中數(shù)學(xué)繪本與思維可視化訓(xùn)練課題報(bào)告教學(xué)研究課題報(bào)告
- 數(shù)據(jù)要素市場(chǎng)定價(jià)-洞察與解讀
- 云護(hù)理隱私保護(hù)-洞察與解讀
- 我國(guó)循環(huán)經(jīng)濟(jì)立法中企業(yè)責(zé)任配置的優(yōu)化路徑探究
- 我國(guó)開(kāi)放式基金業(yè)績(jī)持續(xù)性的多維度剖析與實(shí)證研究
- 工程竣工驗(yàn)收監(jiān)理工作詳細(xì)總結(jié)
- 標(biāo)準(zhǔn)化管理工作領(lǐng)導(dǎo)小組組建方案
- 養(yǎng)老院設(shè)施審批流程
- 【9英一?!渴徍?024-2025學(xué)年中考第一次模擬考試英語(yǔ)試卷
- 公司股東入股合作協(xié)議書(shū)
- 中國(guó)糖尿病防治指南(2024版)解讀
- 2024年勞動(dòng)保障監(jiān)察和調(diào)解仲裁股年終總結(jié)
- 藝術(shù)院校合作辦學(xué)方案
- 物業(yè)工程管理中的成本控制方法
- 2023年四川省綿陽(yáng)市中考數(shù)學(xué)試卷
- 安徽省合肥市包河區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期中數(shù)學(xué)試卷
- 醫(yī)療器械行業(yè)招商方案
- 醫(yī)院紀(jì)檢監(jiān)察室工作總結(jié)暨述職報(bào)告課件
評(píng)論
0/150
提交評(píng)論