版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./第一章習(xí)題1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?答:〔1有效性〔2方便性〔3可擴(kuò)充性〔4開放性2.OS的作用可表現(xiàn)在哪幾個(gè)方面?答:〔1OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口〔2OS作為計(jì)算機(jī)系統(tǒng)資源的管理者〔3OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象3.為什么說OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象?答:OS首先在裸機(jī)上覆蓋一層I/O設(shè)備管理軟件,實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的第一層次抽象;在第一層軟件上再覆蓋文件管理軟件,實(shí)現(xiàn)了對(duì)硬件資源操作的第二層次抽象.OS通過在計(jì)算機(jī)硬件上安裝多層系統(tǒng)軟件,增強(qiáng)了系統(tǒng)功能,隱藏了對(duì)硬件操作的細(xì)節(jié),由它們共同實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象.4.試說明推勱多道批處理系統(tǒng)形成和収展的主要?jiǎng)炅κ鞘裁??答:主要?jiǎng)恿碓从谒膫€(gè)方面的社會(huì)需求與技術(shù)發(fā)展:〔1不斷提高計(jì)算機(jī)資源的利用率;〔2方便用戶;〔3器件的不斷更新?lián)Q代;〔4計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展.5.何謂脫機(jī)I/O和聯(lián)機(jī)I/O?答:脫機(jī)I/O是指事先將裝有用戶程序和數(shù)據(jù)的紙帶或卡片裝入紙帶輸入機(jī)或卡片機(jī),在外圍機(jī)的控制下,把紙帶或卡片上的數(shù)據(jù)或程序輸入到磁帶上.該方式下的輸入輸出由外圍機(jī)控制完成,是在脫離主機(jī)的情況下進(jìn)行的.而聯(lián)機(jī)I/O方式是指程序和數(shù)據(jù)的輸入輸出都是在主機(jī)的直接控制下進(jìn)行的.6.試說明推勱分時(shí)系統(tǒng)形成和収展的主要?jiǎng)炅κ鞘裁矗看穑和苿?dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ歉玫貪M足用戶的需要.主要表現(xiàn)在:CPU的分時(shí)使用縮短了作業(yè)的平均周轉(zhuǎn)時(shí)間;人機(jī)交互能力使用戶能直接控制自己的作業(yè);主機(jī)的共享使多用戶能同時(shí)使用同一臺(tái)計(jì)算機(jī),獨(dú)立地處理自己的作業(yè).7.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是什么?應(yīng)如何解決?答:關(guān)鍵問題是當(dāng)用戶在自己的終端上鍵入命令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處理該命令,在用戶能接受的時(shí)延內(nèi)將結(jié)果返回給用戶.解決方法:針對(duì)及時(shí)接收問題,可以在系統(tǒng)中設(shè)臵多路卡,使主機(jī)能同時(shí)接收用戶從各個(gè)終端上輸入的數(shù)據(jù);為每個(gè)終端配臵緩沖區(qū),暫存用戶鍵入的命令或數(shù)據(jù).針對(duì)及時(shí)處理問題,應(yīng)使所有的用戶作業(yè)都直接進(jìn)入內(nèi)存,并且為每個(gè)作業(yè)分配一個(gè)時(shí)間片,允許作業(yè)只在自己的時(shí)間片內(nèi)運(yùn)行,這樣在不長(zhǎng)的時(shí)間內(nèi),能使每個(gè)作業(yè)都運(yùn)行一次.8.為什么要引入實(shí)時(shí)OS?答:實(shí)時(shí)操作系統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行.引入實(shí)時(shí)OS是為了滿足應(yīng)用的需求,更好地滿足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要.9.什么是硬實(shí)時(shí)仸務(wù)和軟實(shí)時(shí)仸務(wù)?試丼例說明.答:硬實(shí)時(shí)任務(wù)是指系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測(cè)的結(jié)果.舉例來說,運(yùn)載火箭的控制等.軟實(shí)時(shí)任務(wù)是指它的截止時(shí)間并不嚴(yán)格,偶爾錯(cuò)過了任務(wù)的截止時(shí)間,對(duì)系統(tǒng)產(chǎn)生的影響不大.舉例:網(wǎng)頁內(nèi)容的更新、火車售票系統(tǒng).10.在8位微機(jī)和16位微機(jī)中,占據(jù)了統(tǒng)治地位的是什么操作系統(tǒng)?答:?jiǎn)斡脩魡稳蝿?wù)操作系統(tǒng),其中最具代表性的是CP/M和MS-DOS.11.試列出WindowsOS中五個(gè)主要版本,并說明它們分別較之前一個(gè)版本有何改迚.答:〔1MicrosoftWindows1.0是微軟公司在個(gè)人電腦上開發(fā)圖形界面的首次嘗試.〔2Windows95是混合的16位/32位系統(tǒng),第一個(gè)支持32位.帶來了更強(qiáng)大、更穩(wěn)定、更實(shí)用的桌面圖形用戶界面,結(jié)束了桌面操作系統(tǒng)間的競(jìng)爭(zhēng).〔3Windows98是微軟公司的混合16位/32位Windows操作系統(tǒng),改良了硬件標(biāo)準(zhǔn)的支持,革新了內(nèi)存管理,是多進(jìn)程操作系統(tǒng).〔4WindowsXP是基于Windows2000的產(chǎn)品,擁有新用戶圖形界面月神Luna.簡(jiǎn)化了用戶安全特性,整合了防火墻.〔5WindowsVista包含了上百種新功能;特別是新版圖形用戶界面和WindowsAero全新界面風(fēng)格、加強(qiáng)的搜尋功能〔WindowsIndexingService、新媒體創(chuàng)作工具以及重新設(shè)計(jì)的網(wǎng)絡(luò)、音頻、輸出〔打印和顯示子系統(tǒng)..12.試從交互性、及時(shí)性以及可靠性方面,將分時(shí)系統(tǒng)不實(shí)時(shí)系統(tǒng)迚行比較.答:〔1及時(shí)性:實(shí)時(shí)信息處理系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人所能接受的等待時(shí)間來確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性,是以控制對(duì)象所要求的開始截止時(shí)間或完成截止時(shí)間來確定的,一般為秒級(jí)到毫秒級(jí),甚至有的要低于100微妙.〔2交互性:實(shí)時(shí)信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序.不像分時(shí)系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)和資源共享等服務(wù).〔3可靠性:分時(shí)系統(tǒng)也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)具有高度的可靠性.因?yàn)槿魏尾铄e(cuò)都可能帶來巨大的經(jīng)濟(jì)損失,甚至是災(zāi)難性后果,所以在實(shí)時(shí)系統(tǒng)中,往往都采取了多級(jí)容錯(cuò)措施保障系統(tǒng)的安全性及數(shù)據(jù)的安全性.13.OS有哪幾大特征?其最基本的特征是什么?答:并發(fā)性、共享性、虛擬性和異步性四個(gè)基本特征;最基本的特征是并發(fā)性.14.處理機(jī)管理有哪些主要功能?它們的主要仸務(wù)是什么?答:處理機(jī)管理的主要功能是:進(jìn)程管理、進(jìn)程同步、進(jìn)程通信和處理機(jī)調(diào)度;進(jìn)程管理:為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束進(jìn)程,控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換.進(jìn)程同步:為多個(gè)進(jìn)程〔含線程的運(yùn)行______________進(jìn)行協(xié)調(diào).通信:用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換.處理機(jī)調(diào)度:〔1作業(yè)調(diào)度.從后備隊(duì)里按照一定的算法,選出若干個(gè)作業(yè),為他們分配運(yùn)行所需的資源〔首選是分配內(nèi)存.〔2進(jìn)程調(diào)度:從進(jìn)程的就緒隊(duì)列中,按照一定算法選出一個(gè)進(jìn)程,把處理機(jī)分配給它,并設(shè)臵運(yùn)行現(xiàn)場(chǎng),使進(jìn)程投入執(zhí)行.15.內(nèi)存管理有哪些主要功能?他們的主要仸務(wù)是什么?答:內(nèi)存管理的主要功能有:內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充.內(nèi)存分配:為每道程序分配內(nèi)存.內(nèi)存保護(hù):確保每道用戶程序都只在自己的內(nèi)存空間運(yùn)行,彼此互不干擾.地址映射:將地址空間的邏輯地址轉(zhuǎn)換為內(nèi)存空間與對(duì)應(yīng)的物理地址.內(nèi)存擴(kuò)充:用于實(shí)現(xiàn)請(qǐng)求調(diào)用功能,臵換功能等.16.設(shè)備管理有哪些主要功能?其主要仸務(wù)是什么?答:主要功能有:緩沖管理、設(shè)備分配和設(shè)備處理以及虛擬設(shè)備等.主要任務(wù):完成用戶提出的I/O請(qǐng)求,為用戶分配I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O速度;以及方便用戶使用I/O設(shè)備.17.文件管理有哪些主要功能?其主要仸務(wù)是什么?答:文件管理主要功能:文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫管理和保護(hù).文件管理的主要任務(wù):管理用戶文件和系統(tǒng)文件,方便用戶使用,保證文件安全性.18.是什么原因使操作系統(tǒng)具有異步性特征?答:操作系統(tǒng)的異步性體現(xiàn)在三個(gè)方面:一是進(jìn)程的異步性,進(jìn)程以人們不可預(yù)知的速度向前推進(jìn),二是程序的不可再現(xiàn)性,即程序執(zhí)行的結(jié)果有時(shí)是不確定的,三是程序執(zhí)行時(shí)間的不可預(yù)知性,即每個(gè)程序何時(shí)執(zhí)行,執(zhí)行順序以及完成時(shí)間是不確定的.19.模塊接口法存在哪些問題?可通過什么樣的途徑來解決?答:〔1模塊接口法存在的問題:①在OS設(shè)計(jì)時(shí),各模塊間的接口規(guī)定很難滿足在模塊完成后對(duì)接口的實(shí)際需求.②在OS設(shè)計(jì)階段,設(shè)計(jì)者必須做出一系列的決定,每一個(gè)決定必須建立在上一個(gè)決定的基礎(chǔ)上.但模塊化結(jié)構(gòu)設(shè)計(jì)的各模塊設(shè)計(jì)齊頭并進(jìn),無法尋找可靠的順序,造成各種決定的無序性,使程序設(shè)計(jì)人員很難做到設(shè)計(jì)中的每一步?jīng)Q定都建立在可靠的基礎(chǔ)上,因此模塊接口法被稱為"無序模塊法".〔2解決途徑:將模塊接口法的決定順序無序變有序,引入有序分層法.20.在微內(nèi)核OS中,為什么要采用客戶/服務(wù)器模式?答:C/S模式具有獨(dú)特的優(yōu)點(diǎn):⑴數(shù)據(jù)的分布處理和存儲(chǔ).⑵便于集中管理.⑶靈活性和可擴(kuò)充性.⑷易于改編應(yīng)用軟件.21.試描述什么是微內(nèi)核OS.答:1足夠小的內(nèi)核2基于客戶/服務(wù)器模式3應(yīng)用機(jī)制與策略分離原理4采用面向?qū)ο蠹夹g(shù).22.在基亍微內(nèi)核結(jié)構(gòu)的OS中,應(yīng)用了哪些新技術(shù)?答:在基于微內(nèi)核結(jié)構(gòu)的OS中,采用面向?qū)ο蟮某绦蛟O(shè)汁技術(shù).23.何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?答:把操作系統(tǒng)中更多的成分和功能放到更高的層次〔即用戶模式中去運(yùn)行,而留下一個(gè)盡量小的內(nèi)核,用它來完成操作系統(tǒng)最基本的核心功能,稱這種技術(shù)為微內(nèi)核技術(shù).在微內(nèi)核中通常提供了進(jìn)程〔線程管理、低級(jí)存儲(chǔ)器管理、中斷和陷入處理等功能.24.<aname=baidusnap0></a><Bstyle='color:black;background-color:#ffff66'>微內(nèi)核操作系統(tǒng)具有哪些優(yōu)點(diǎn)</B>?<aname=baidusnap7></a><Bstyle='color:white;background-color:#886800'>它為何</B>能有這些優(yōu)點(diǎn)?答:1提高了系統(tǒng)的可擴(kuò)展性2增強(qiáng)了系統(tǒng)的可靠性3可移植性4提供了對(duì)分布式系統(tǒng)的支持5融入了面向?qū)ο蠹夹g(shù)第二章1.什么是前趨圖?為什么要引入前趨圖?答:前趨圖<PrecedenceGraph>是一個(gè)有向無循環(huán)圖,記為DAG<DirectedAcyclicGraph>,用于描述進(jìn)程之間執(zhí)行的前后關(guān)系.2.畫出下面四條詫句的前趨圖:S1=a:=x+y;S2=b:=z+1;S3=c:=a–b;S4=w:=c+1;答:其前趨圖為:3.什么程序并収執(zhí)行會(huì)產(chǎn)生間斷性特征?答:程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,為完成同一項(xiàng)任務(wù)需要相互合作,致使這些并發(fā)執(zhí)行的進(jìn)程之間,形成了相互制約關(guān)系,從而使得進(jìn)程在執(zhí)行期間出現(xiàn)間斷性.4.程序并収執(zhí)行時(shí)為什么會(huì)失去封閉性和可再現(xiàn)性?答:程序并發(fā)執(zhí)行時(shí),多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)由多個(gè)程序改變,致使程序運(yùn)行失去了封閉性,也會(huì)導(dǎo)致其失去可再現(xiàn)性.5.在操作系統(tǒng)中為什么要引入迚程概念?它會(huì)產(chǎn)生什么樣的影響?答:為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并對(duì)并發(fā)執(zhí)行的程序加以控制和描述,在操作系統(tǒng)中引入了進(jìn)程概念.影響:使程序的并發(fā)執(zhí)行得以實(shí)行.6.試從勱態(tài)性,并収性和獨(dú)立性上比較迚程和程序?答:<1>動(dòng)態(tài)性是進(jìn)程最基本的特性,表現(xiàn)為由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源而暫停執(zhí)行,由撤銷而消亡.進(jìn)程有一定的生命期,而程序只是一組有序的指令集合,是靜態(tài)實(shí)體.<2>并發(fā)性是進(jìn)程的重要特征,同時(shí)也是OS的重要特征.引入進(jìn)程的目的正是為了使其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的.<3>獨(dú)立性是指進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行的基本單位,也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)立調(diào)度的基本單位.對(duì)于未建立任何進(jìn)程的程序,不能作為獨(dú)立單位參加運(yùn)行.7.試說明PCB的作用,為什么說PCB是迚程存在的惟一標(biāo)志?答:PCB是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu).作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序,成為一個(gè)能獨(dú)立運(yùn)行的基本單位,成為能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程.OS是根據(jù)PCB對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的.8.試說明迚程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因.答:〔1就緒狀態(tài)→執(zhí)行狀態(tài):進(jìn)程分配到CPU資源〔2執(zhí)行狀態(tài)→就緒狀態(tài):時(shí)間片用完〔3執(zhí)行狀態(tài)→阻塞狀態(tài):I/O請(qǐng)求〔4阻塞狀態(tài)→就緒狀態(tài):I/O完成9.為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?答:引入掛起狀態(tài)處于五種不同的需要:終端用戶需要,父進(jìn)程需要,操作系統(tǒng)需要,對(duì)換需要和負(fù)荷調(diào)節(jié)需要.處于掛起狀態(tài)的進(jìn)程不能接收處理機(jī)調(diào)度.10.在迚行迚程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有哪些?答:進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有:〔1進(jìn)程當(dāng)前暫存信息〔2下一指令地址信息〔3進(jìn)程狀態(tài)信息〔4過程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址信息.11.試說明引起迚程創(chuàng)建的主要事件.答:引起進(jìn)程創(chuàng)建的主要事件有:用戶登錄、作業(yè)調(diào)度、提供服務(wù)、應(yīng)用請(qǐng)求.12.試說明引起迚程被撤銷的主要事件.答:引起進(jìn)程被撤銷的主要事件有:正常結(jié)束、異常結(jié)束〔越界錯(cuò)誤、保護(hù)錯(cuò)、非法指令、特權(quán)指令錯(cuò)、運(yùn)行超時(shí)、等待超時(shí)、算術(shù)運(yùn)算錯(cuò)、I/O故障、外界干預(yù)〔操作員或操作系統(tǒng)干預(yù)、父進(jìn)程請(qǐng)求、父進(jìn)程終止.13.在創(chuàng)建一個(gè)迚程時(shí)所要完成的主要工作是什么?答:〔1OS發(fā)現(xiàn)請(qǐng)求創(chuàng)建新進(jìn)程事件后,調(diào)用進(jìn)程創(chuàng)建原語Creat<>;〔2申請(qǐng)空白PCB;〔3為新進(jìn)程分配資源;〔4初始化進(jìn)程控制塊;〔5將新進(jìn)程插入就緒隊(duì)列.14.在撤銷一個(gè)迚程時(shí)所要完成的主要工作是什么?答:〔1根據(jù)被終止進(jìn)程標(biāo)識(shí)符,從PCB集中檢索出進(jìn)程PCB,讀出該進(jìn)程狀態(tài).〔2若被終止進(jìn)程處于執(zhí)行狀態(tài),立即終止該進(jìn)程的執(zhí)行,臵調(diào)度標(biāo)志真,指示該進(jìn)程被終止后重新調(diào)度.〔3若該進(jìn)程還有子進(jìn)程,應(yīng)將所有子孫進(jìn)程終止,以防它們成為不可控進(jìn)程.〔4將被終止進(jìn)程擁有的全部資源,歸還給父進(jìn)程,或歸還給系統(tǒng).〔5將被終止進(jìn)程PCB從所在隊(duì)列或列表中移出,等待其它程序搜集信息.15.試說明引起迚程阻塞戒被喚醒的主要事件是什么?答:a.請(qǐng)求系統(tǒng)服務(wù);b.啟動(dòng)某種操作;c.新數(shù)據(jù)尚未到達(dá);d.無新工作可做.16.迚程在運(yùn)行時(shí)存在哪兩種形式的制約?并丼例說明之.答:〔1間接相互制約關(guān)系.舉例:有兩進(jìn)程A和B,如果A提出打印請(qǐng)求,系統(tǒng)已把唯一的一臺(tái)打印機(jī)分配給了進(jìn)程B,則進(jìn)程A只能阻塞;一旦B釋放打印機(jī),A才由阻塞改為就緒.〔2直接相互制約關(guān)系.舉例:有輸入進(jìn)程A通過單緩沖向進(jìn)程B提供數(shù)據(jù).當(dāng)緩沖空時(shí),計(jì)算進(jìn)程因不能獲得所需數(shù)據(jù)而阻塞,當(dāng)進(jìn)程A把數(shù)據(jù)輸入緩沖區(qū)后,便喚醒進(jìn)程B;反之,當(dāng)緩沖區(qū)已滿時(shí),進(jìn)程A因沒有緩沖區(qū)放數(shù)據(jù)而阻塞,進(jìn)程B將緩沖區(qū)數(shù)據(jù)取走后便喚醒A.17.為什么迚程在迚入臨界區(qū)之前應(yīng)先執(zhí)行"迚入?yún)^(qū)"代碼?而在退出前又要執(zhí)行"退出區(qū)"代碼?答:為了實(shí)現(xiàn)多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問,必須在臨界區(qū)前面增加一段用于檢查欲訪問的臨界資源是否正被訪問的代碼,如果未被訪問,該進(jìn)程便可進(jìn)入臨界區(qū)對(duì)資源進(jìn)行訪問,并設(shè)臵正被訪問標(biāo)志,如果正被訪問,則本進(jìn)程不能進(jìn)入臨界區(qū),實(shí)現(xiàn)這一功能的代碼為"在退出臨界區(qū)后,必須執(zhí)行"退出區(qū)"代碼,用于恢復(fù)未被訪問標(biāo)志,使其它進(jìn)程能再訪問此臨界資源.18.同步機(jī)構(gòu)應(yīng)遵循哪些基本準(zhǔn)則?為什么?答:同步機(jī)構(gòu)應(yīng)遵循的基本準(zhǔn)則是:空閑讓進(jìn)、忙則等待、有限等待、讓權(quán)等待原因:為實(shí)現(xiàn)進(jìn)程互斥進(jìn)入自己的臨界區(qū).19.試從物理概念上說明記錄型信號(hào)量wait和signal.答:wait<S>:當(dāng)S.value>0時(shí),表示目前系統(tǒng)中這類資源還有可用的.執(zhí)行一次wait操作,意味著進(jìn)程請(qǐng)求一個(gè)單位的該類資源,使系統(tǒng)中可供分配的該類資源減少一個(gè),因此描述為S.value:=S.value-1;當(dāng)S.value<0時(shí),表示該類資源已分配完畢,進(jìn)程應(yīng)調(diào)用block原語自我阻塞,放棄處理機(jī),并插入到信號(hào)量鏈表S.L中.signal<S>:執(zhí)行一次signal操作,意味著釋放一個(gè)單位的可用資源,使系統(tǒng)中可供分配的該類資源數(shù)增加一個(gè),故執(zhí)行S.value:=S.value+1操作.若加1后S.value≤0,則表示在該信號(hào)量鏈表中,仍有等待該資源的進(jìn)程被阻塞,因此應(yīng)調(diào)用wakeup原語,將S.L鏈表中的第一個(gè)等待進(jìn)程喚醒.20.你認(rèn)為整型信號(hào)量機(jī)制是否完全遵循了同步機(jī)構(gòu)的四條準(zhǔn)則?答:整型信號(hào)量機(jī)制不完全遵循同步機(jī)制的四條準(zhǔn)則,它不滿足"讓權(quán)等待"準(zhǔn)則.21.如何利用信號(hào)量機(jī)制來實(shí)現(xiàn)多個(gè)迚程對(duì)臨界資源的互斥訪問?并丼例說明之.答:為使多個(gè)進(jìn)程互斥訪問某臨界資源,只需為該資源設(shè)臵一互斥信號(hào)量mutex,并設(shè)其初值為1,然后將各進(jìn)程訪問該資源的臨界區(qū)CS臵于wait<mutex>和signal<mutex>操作之間即可.這樣,每個(gè)欲訪問該臨界資源的進(jìn)程在進(jìn)入臨界區(qū)之前,都要先對(duì)mutex執(zhí)行wait操作,若該資源此刻未被訪問,本次wait操作必然成功,進(jìn)程便可進(jìn)入自己的臨界區(qū),這時(shí)若再有其他進(jìn)程也欲進(jìn)入自己的臨界區(qū),此時(shí)由于對(duì)mutex執(zhí)行wait操作定會(huì)失敗,因而該進(jìn)程阻塞,從而保證了該臨界資源能被互斥訪問.當(dāng)訪問臨界資源的進(jìn)程退出臨界區(qū)后,應(yīng)對(duì)mutex執(zhí)行signal操作,釋放該臨界資源.利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥的進(jìn)程描述如下:Varmutex:semaphore:=1;beginparbeginprocess1:beginrepeatwait<mutex>;criticalsectionsignal<mutex>;remainderseetionuntilfalse;endprocess2:beginrepeatwait<mutex>;criticalsectionsignal<mutex>;remaindersectionuntilfalse;endparend22.試寫出相應(yīng)的程序來描述圖2-17所示的前驅(qū)圖.答:〔aVara,b,c,d,e,f,g,h;semaphore:=0,0,0,0,0,0,0,0;beginparbeginbeginS1;signal<a>;signal<b>;end;beginwait<a>;S2;signal<c>;signal<d>;end;beginwait<b>;S3;signal<e>;end;beginwait<c>;S4;signal<f>;end;beginwait<d>;S5;signal<g>;end;beginwait<e>;S6;signal<h>;end;beginwait<f>;wait<g>;wait<h>;S7;end;parendend〔bVara,b,c,d,e,f,g,h,i,j;semaphore:=0,0,0,0,0,0,0,0,0,0;beginparbeginbeginS1;signal<a>;signal<b>;end;beginwait<a>;S2;signal<c>;signal<d>;end;beginwait<b>;S3;signal<e>;signal<f>;end;beginwait<c>;S4;signal<g>;end;beginwait<d>;S5;signal<h>;end;beginwait<e>;S6;signal<i>;end;beginwait<f>;S7;signal<j>;end;beginwait<g>;wait<h>;wait<i>;wait<j>;S8;end;parendend23.在生產(chǎn)者消費(fèi)者問題中,如果缺少了signal<full>戒signal<empty>,對(duì)執(zhí)行結(jié)果有何影響?答:如果缺少signal<full>,那么表明從第一個(gè)生產(chǎn)者進(jìn)程開始就沒有改變信號(hào)量full值,即使緩沖池產(chǎn)品已滿,但full值還是0,這樣消費(fèi)者進(jìn)程執(zhí)行wait<full>時(shí)認(rèn)為緩沖池是空而取不到產(chǎn)品,消費(fèi)者進(jìn)程一直處于等待狀態(tài).如果缺少signal<empty>,在生產(chǎn)者進(jìn)程向n個(gè)緩沖區(qū)投滿產(chǎn)品后消費(fèi)者進(jìn)程才開始從中取產(chǎn)品,這時(shí)empty=0,full=n,那么每當(dāng)消費(fèi)者進(jìn)程取走一個(gè)產(chǎn)品empty值并不改變,直到緩沖池取空了,empty值也是0,即使目前緩沖池有n個(gè)空緩沖區(qū),生產(chǎn)者進(jìn)程要想再往緩沖池中投放產(chǎn)品也會(huì)因?yàn)樯暾?qǐng)不到空緩沖區(qū)被阻塞.24.在生產(chǎn)消費(fèi)者問題中,如果將兩個(gè)wait操作卲wait<full>和wait<mutex>互換位置,戒者將signal<mutex>不signal〔full互換位置,結(jié)果如何?答:將wait<full>和wait<mutex>互換位臵后,可能引起死鎖.考慮系統(tǒng)中緩沖區(qū)全滿時(shí),若一生產(chǎn)者進(jìn)程先執(zhí)行了wait<mutex>操作并獲得成功,則當(dāng)再執(zhí)行wait<empty>操作時(shí),它將因失敗而進(jìn)入阻塞狀態(tài),它期待消費(fèi)者進(jìn)程執(zhí)行signal<empty>來喚醒自己,在此之前,它不可能執(zhí)行signal<mutex>操作,從而使試圖通過執(zhí)行wait<mutex>操作而進(jìn)入自己的臨界區(qū)的其他生產(chǎn)者和所有消費(fèi)者進(jìn)程全部進(jìn)入阻塞狀態(tài),這樣容易引起系統(tǒng)死鎖.若signal<mutex>和signal<full>互換位臵后只是影響進(jìn)程對(duì)臨界資源的釋放次序,而不會(huì)引起系統(tǒng)死鎖,因此可以互換位臵.25.我們?cè)跒槟骋慌R界資源設(shè)置一把鎖W,當(dāng)W=1時(shí)表示關(guān)鎖,當(dāng)W=0時(shí)表示鎖已打開.試寫出開鎖和關(guān)鎖的原詫,并利用他們實(shí)現(xiàn)互斥.答:整型信號(hào)量:lock<W>:whileW=1dono-opW:=1;unlock<W>:W:=0;記錄型信號(hào)量:lock<W>:W:=W+1;if<W>1>thenblock<W,L>unlock<W>:W:=W-1;if<W>0>thenwakeup<W,L>例子:VarW:semaphore:=0;beginrepeatlock<W>;criticalsectionunlock<W>;remaindersectionuntilfalse;end26.試修改下面生產(chǎn)者-消費(fèi)者問題解法中的錯(cuò)諢:答:producer:beginrepeat…produceraniteminnextp;wait<mutex>;wait<full>;/*應(yīng)為wait<empty>,而且還應(yīng)該在wait<mutex>的前面*/buffer<in>:=nextp;/*緩沖池?cái)?shù)組游標(biāo)應(yīng)前移:in:=<in+1>modn;*/signal<mutex>;/*signal<full>;*/untilfalse;endconsumer:beginrepeatwait<mutex>;wait<empty>;/*應(yīng)為wait<full>,而且還應(yīng)該在wait<mutex>的前面*/nextc:=buffer<out>;out:=out+1;/*考慮循環(huán),應(yīng)改為:out:=<out+1>modn;*/signal<mutex>;/*signal<empty>;*/consumeriteminnextc;untilfalse;end27.試?yán)糜涗浶托盘?hào)量寫出一個(gè)丌會(huì)出現(xiàn)死鎖的哲學(xué)家迚餐問題的算法.答:Varchopstick:array[0,…,4]ofsemaphore;所有信號(hào)量均被初始化為1,第i位哲學(xué)家的活動(dòng)可描述為:RepeatWait<chopstick[i]>;Wait<.chopstick[<i+1>mod5]>;…Ea.t;…Signal<chopstick[i]>;Signal<chopstick[<i+1>mod5]>Ea.t;…Think;11Untilfalse;28.在測(cè)量控制系統(tǒng)中的數(shù)據(jù)采集仸務(wù),把所采集的數(shù)據(jù)送一單緩沖區(qū);計(jì)算仸務(wù)從該單緩沖中叏出數(shù)據(jù)迚行計(jì)算.試寫出利用信號(hào)量機(jī)制實(shí)現(xiàn)兩者共享單緩沖的同步算法.答:a.Varmutex,empty,full:semaphore:=1,1,0;gather:beginrepeat……gatherdatainnextp;wait<empty>;wait<mutex>;buffer:=nextp;signal<mutex>;signal<full>;untilfalse;endcompute:beginrepeat……wait<full>;wait<mutex>;nextc:=buffer;signal<mutex>;signal<empty>;computedatainnextc;untilfalse;endb.Varempty,full:semaphore:=1,0;gather:beginrepeat……gatherdatainnextp;wait<empty>;buffer:=nextp;signal<full>;untilfalse;endcompute:beginrepeat……wait<full>;nextc:=buffer;signal<empty>;computedatainnextc;untilfalse;end法二mutex:=1;empty:=n;full:=0;P<mutex>;count:=count+1;V<mutex>;V<full>;P<full>;P<mutex>;couny:=count-1;V<mutex>;V<empty>;29.畫圖說明管程由哪幾部分組成,為什么要引入條件發(fā)量?答:管程由四部分組成:①管程的名稱;②局部于管程內(nèi)部的共享數(shù)據(jù)結(jié)構(gòu)說明;③對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過程;④對(duì)局部于管程內(nèi)部的共享數(shù)據(jù)設(shè)臵初始值的語句;當(dāng)一個(gè)進(jìn)程調(diào)用了管程,在管程中時(shí)被阻塞或掛起,直到阻塞或掛起的原因解除,而在此期間,如果該進(jìn)程不釋放管程,則其它進(jìn)程無法進(jìn)入管程,被迫長(zhǎng)時(shí)間地等待.為了解決這個(gè)問題,引入了條件變量condition.30.如何利用管程來解決生產(chǎn)者不消費(fèi)者問題?答:首先建立一個(gè)管程,命名為ProclucerConsumer,包括兩個(gè)過程:〔1Put〔item過程.生產(chǎn)者利用該過程將自己生產(chǎn)的產(chǎn)品放到緩沖池,用整型變量count表示在緩沖池中已有的產(chǎn)品數(shù)目,當(dāng)count≥n時(shí),表示緩沖池已滿,生產(chǎn)者須等待.〔2get〔item過程.消費(fèi)者利用該過程從緩沖池中取出一個(gè)產(chǎn)品,當(dāng)count≤0時(shí),表示緩沖池中已無可取的產(chǎn)品,消費(fèi)者應(yīng)等待.PC管程可描述如下:typeproducer-consumer=monitorVarin,out,count:integer;buffer:array[0,…,n-1]ofitem;notfull,notempty:condition;procedureentrydot<item>beginifcount>=nthennotfull.wait;buffer<in>:=nextp;in:=<in+1>modn;count:=count+1;ifnotempty.queuethennotempty.signal;endprocedureentryget<item>beginifcount<=0thennotfull.wait;nextc:=buffer<out>;out:=<out+1>modn;count:=count-1;ifnotfull.quenethennotfull.signal;endbeginin:=out:=0;count:=0end在利用管程解決生產(chǎn)者一消費(fèi)者問題時(shí),其中的生產(chǎn)者和消費(fèi)者可描述為:producer:beginpepeatproduceanineminnestpPC.put<item>;untilfalse;endconsumer:beginrepeatPC.get<item>;consumetheiteminenxtc;untilfalse;end31.什么是AND信號(hào)量?試?yán)肁ND信號(hào)量寫出生產(chǎn)者一消費(fèi)者問題的解法.答:為解決并行帶來的死鎖問題,在wait操作中引入AND條件,其基本思想是將進(jìn)程在整個(gè)運(yùn)行過程中所需要的所有臨界資源,一次性地全部分配給進(jìn)程,用完后一次性釋放.解決生產(chǎn)者-消費(fèi)者問題可描述如下:varmutex,empty,full:semaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbegin14producer:beginrepeat…produceaniteminnextp;…wait<empty>;wait<s1,s2,s3,...,sn>;//s1,s2,...,sn為執(zhí)行生產(chǎn)者進(jìn)程除empty外其余的條件wait<mutex>;buffer<in>:=nextp;in:=<in+1>modn;signal<mutex>;signal<full>;signal<s1,s2,s3,...,sn>;untilfalse;endconsumer:beginrepeatwait<full>;wait<k1,k2,k3,...,kn>;//k1,k2,...,kn為執(zhí)行消費(fèi)者進(jìn)程除full外其余的條件wait<mutex>;nextc:=buffer<out>;out:=<out+1>modn;signal<mutex>;signal<empty>;signal<k1,k2,k3,...,kn>;consumetheiteminnextc;untilfalse;endparendend32.什么是信號(hào)量集?試?yán)眯盘?hào)量集寫出讀者一寫者問題的解法.答:對(duì)AND信號(hào)量加以擴(kuò)充,形成的信號(hào)量集合的讀寫機(jī)制.解法:VarRNinteger;L,mx:semaphore:=RN,1;beginparbeginreader:beginrepeatSwait<L,1,1>;Swait<mx,1,1>;…performreadoperation;…Ssignal<L,1>;untilfalseendwriter:beginrepeatSwait<mx,1,1;L,RN,0>;performwriteoperation;Ssignal<mx,1>;untilfalseendparendend33.試比較迚程間的低級(jí)不高級(jí)通信工具.答:用戶用低級(jí)通信工具實(shí)現(xiàn)進(jìn)程通信很不方便,效率低,通信對(duì)用戶不透明,所有操作都必須由程序員來實(shí)現(xiàn),而高級(jí)通信工具彌補(bǔ)了這些缺陷,用戶直接利用操作系統(tǒng)提供的一組通信命令,高效地傳送大量的數(shù)據(jù).34.當(dāng)前有哪幾種高級(jí)通信機(jī)制?答:共享存儲(chǔ)器系統(tǒng)、消息傳遞系統(tǒng)以及管道通信系統(tǒng).35.消息隊(duì)列通信機(jī)制有哪幾方面的功能?答:〔1構(gòu)成消息〔2發(fā)送消息〔3接收梢息〔4互斥與同步.36.為什么要在OS中引入線程?答:在操作系統(tǒng)中引入線程,則是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使OS具有更好的并發(fā)性,提高CPU的利用率.進(jìn)程是分配資源的基本單位,而線程則是系統(tǒng)調(diào)度的基本單位.37.試說明線程具有哪些屬性?答:〔1>輕型實(shí)體〔2獨(dú)立調(diào)度和分派的基本單位〔3可并發(fā)執(zhí)行〔4共享進(jìn)程資源.38.試從調(diào)度性,并収性,擁有資源及系統(tǒng)開銷方面對(duì)迚程和線程迚行比較.答:〔1調(diào)度性.線程在OS中作為調(diào)度和分派的基本單位,進(jìn)程只作為資源擁有的基本單位.〔2并發(fā)性.進(jìn)程可以并發(fā)執(zhí)行,一個(gè)進(jìn)程的多個(gè)線程也可并發(fā)執(zhí)行.〔3擁有資源.進(jìn)程始終是擁有資源的基本單位,線程只擁有運(yùn)行時(shí)必不可少的資源,本身基本不擁有系統(tǒng)資源,但可以訪問隸屬進(jìn)程的資源.〔4系統(tǒng)開銷.操作系統(tǒng)在創(chuàng)建、撤消和切換進(jìn)程時(shí)付出的開銷顯著大于線程.39.為了在多線程OS中實(shí)現(xiàn)迚程之間的同步不通信,通常提供了哪幾種同步機(jī)制?答:同步功能可以控制程序流并訪問共享數(shù)據(jù),從而并發(fā)執(zhí)行多個(gè)線程.共有四種同步模型:互斥鎖、讀寫鎖、條件變量和信號(hào).40.用亍實(shí)現(xiàn)線程同步的私用信號(hào)量和公用信號(hào)量之間有何差別?答:〔1私用信號(hào)量.當(dāng)某線程需利用信號(hào)量實(shí)現(xiàn)同一進(jìn)程中各線程之間的同步時(shí),可調(diào)用創(chuàng)建信號(hào)量的命令來創(chuàng)建一個(gè)私用信號(hào)量,其數(shù)據(jù)結(jié)構(gòu)存放在應(yīng)用程序的地址空間中.〔2公用信號(hào)量.公用信號(hào)量是為實(shí)現(xiàn)不同進(jìn)程間或不同進(jìn)程中各線程之間的同步而設(shè)臵的.其數(shù)據(jù)結(jié)構(gòu)是存放在受保護(hù)的系統(tǒng)存儲(chǔ)區(qū)中,由OS為它分配空間并進(jìn)行管理.41.何謂用戶級(jí)線程和內(nèi)核支持線程?答:〔1用戶級(jí)線程:僅存在于用戶空間中的線程,無須內(nèi)核支持.這種線程的創(chuàng)建、撤銷、線程間的同步與通信等功能,都無需利用系統(tǒng)調(diào)用實(shí)現(xiàn).用戶級(jí)線程的切換通常發(fā)生在一個(gè)應(yīng)用進(jìn)程的諸多線程之間,同樣無需內(nèi)核支持.〔2內(nèi)核支持線程:在內(nèi)核支持下運(yùn)行的線程.無論是用戶進(jìn)程中的線程,還是系統(tǒng)線程中的線程,其創(chuàng)建、撤銷和切換等都是依靠?jī)?nèi)核,在內(nèi)核空間中實(shí)現(xiàn)的.在內(nèi)核空間里還為每個(gè)內(nèi)核支持線程設(shè)臵了線程控制塊,內(nèi)核根據(jù)該控制塊感知某線程的存在并實(shí)施控制.42.試說明用戶級(jí)線程的實(shí)現(xiàn)方法.答:用戶級(jí)線程是在用戶空間中的實(shí)現(xiàn)的,運(yùn)行在"運(yùn)行時(shí)系統(tǒng)"與"內(nèi)核控制線程"的中間系統(tǒng)上.運(yùn)行時(shí)系統(tǒng)用于管理和控制線程的函數(shù)的集合.內(nèi)核控制線程或輕型進(jìn)程LWP可通過系統(tǒng)調(diào)用獲得內(nèi)核提供服務(wù),利用LWP進(jìn)程作為中間系統(tǒng).43.試說明內(nèi)核支持線程的實(shí)現(xiàn)方法.答:系統(tǒng)在創(chuàng)建新進(jìn)程時(shí),分配一個(gè)任務(wù)數(shù)據(jù)區(qū)PTDA,其中包括若干個(gè)線程控制塊TCB空間.創(chuàng)建一個(gè)線程分配一個(gè)TCB,有關(guān)信息寫入TCB,為之分配必要的資源.當(dāng)PTDA中的TCB用完,而進(jìn)程又有新線程時(shí),只要所創(chuàng)建的線程數(shù)目未超過系統(tǒng)允許值,系統(tǒng)可在為之分配新的TCB;在撤銷一個(gè)線程時(shí),也應(yīng)回收線程的所有資源和TCB.第三章1.高級(jí)調(diào)度不低級(jí)調(diào)度的主要仸務(wù)是什么?為什么要引入中級(jí)調(diào)度?答:高級(jí)調(diào)度的主要任務(wù)是根據(jù)某種算法,把外存上處于后備隊(duì)列中的那些作業(yè)調(diào)入內(nèi)存.低級(jí)調(diào)度是保存處理機(jī)的現(xiàn)場(chǎng)信息,按某種算法先取進(jìn)程,再把處理器分配給進(jìn)程.引入中級(jí)調(diào)度的主要目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量.使那些暫時(shí)不能運(yùn)行的進(jìn)程不再占用內(nèi)存資源,將它們調(diào)至外存等待,把進(jìn)程狀態(tài)改為就緒駐外存狀態(tài)或掛起狀態(tài).2.何謂作業(yè)、作業(yè)步和作業(yè)流?答:作業(yè)包含通常的程序和數(shù)據(jù),還配有作業(yè)說明書.系統(tǒng)根據(jù)該說明書對(duì)程序的運(yùn)行進(jìn)行控制.批處理系統(tǒng)中是以作業(yè)為基本單位從外存調(diào)入內(nèi)存.作業(yè)步是指每個(gè)作業(yè)運(yùn)行期間都必須經(jīng)過若干個(gè)相對(duì)獨(dú)立相互關(guān)聯(lián)的順序加工的步驟.作業(yè)流是指若干個(gè)作業(yè)進(jìn)入系統(tǒng)后依次存放在外存上形成的輸入作業(yè)流;在操作系統(tǒng)的控制下,逐個(gè)作業(yè)進(jìn)程處理,于是形成了處理作業(yè)流.3.在什么情冴下需要使用作業(yè)控制塊JCB?其中包含了哪些內(nèi)容?答:每當(dāng)作業(yè)進(jìn)入系統(tǒng)時(shí),系統(tǒng)便為每個(gè)作業(yè)建立一個(gè)作業(yè)控制塊JCB,根據(jù)作業(yè)類型將它插入到相應(yīng)的后備隊(duì)列中.JCB包含的內(nèi)容通常有:1>作業(yè)標(biāo)識(shí)2>用戶名稱3>用戶賬戶4>作業(yè)類型〔CPU繁忙型、I/O芳名型、批量型、終端型5>作業(yè)狀態(tài)6>調(diào)度信息〔優(yōu)先級(jí)、作業(yè)已運(yùn)行7>資源要求8>進(jìn)入系統(tǒng)時(shí)間9>開始處理時(shí)間10>作業(yè)完成時(shí)間11>作業(yè)退出時(shí)間12>資源使用情況等4.在作業(yè)調(diào)度中應(yīng)如何確定接納多少個(gè)作業(yè)和接納哪些作業(yè)?答:作業(yè)調(diào)度每次接納進(jìn)入內(nèi)存的作業(yè)數(shù),取決于多道程序度.應(yīng)將哪些作業(yè)從外存調(diào)入內(nèi)存,取決于采用的調(diào)度算法.最簡(jiǎn)單的是先來服務(wù)調(diào)度算法,較常用的是短作業(yè)優(yōu)先調(diào)度算法和基于作業(yè)優(yōu)先級(jí)的調(diào)度算法.5.試說明低級(jí)調(diào)度的主要功能.答:〔1保存處理機(jī)的現(xiàn)場(chǎng)信息〔2按某種算法選取進(jìn)程〔3把處理機(jī)分配給進(jìn)程.6.在搶占調(diào)度方式中,搶占的原則是什么?答:搶占的原則有:時(shí)間片原則、優(yōu)先權(quán)原則、短作業(yè)優(yōu)先權(quán)原則等.7.在選擇調(diào)度方式和調(diào)度算法時(shí),應(yīng)遵循的準(zhǔn)則是什么?答:〔1面向用戶的準(zhǔn)則:周轉(zhuǎn)時(shí)間短、響應(yīng)時(shí)間快、截止時(shí)間的保證、優(yōu)先權(quán)準(zhǔn)則.〔2面向系統(tǒng)的準(zhǔn)則:系統(tǒng)吞吐量高、處理機(jī)利用率好、各類資源的平衡利用.8.在批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)中,各采用哪幾種迚程〔作業(yè)調(diào)度算法?答:批處理系統(tǒng)的調(diào)度算法:短作業(yè)優(yōu)先、優(yōu)先權(quán)、高響應(yīng)比優(yōu)先、多級(jí)反饋隊(duì)列調(diào)度算法.分時(shí)系統(tǒng)的調(diào)度算法:時(shí)間片輪轉(zhuǎn)法.實(shí)時(shí)系統(tǒng)的調(diào)度算法:最早截止時(shí)間優(yōu)先即EDF、最低松弛度優(yōu)先即LLF算法.9.何謂靜態(tài)和勱態(tài)優(yōu)先級(jí)?確定靜態(tài)優(yōu)先級(jí)的依據(jù)是什么?答:靜態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)確定且在進(jìn)程的整個(gè)運(yùn)行期間保持不變的優(yōu)先級(jí).動(dòng)態(tài)優(yōu)先級(jí)是指在創(chuàng)建進(jìn)程時(shí)賦予的優(yōu)先權(quán),可以隨進(jìn)程推進(jìn)或隨其等待時(shí)間增加而改變的優(yōu)先級(jí),可以獲得更好的調(diào)度性能.確定進(jìn)程優(yōu)先級(jí)的依據(jù):進(jìn)程類型、進(jìn)程對(duì)資源的需求和用戶要求.10.試比較FCFS和SPF兩種迚程調(diào)度算法.答:相同點(diǎn):兩種調(diào)度算法都可以用于作業(yè)調(diào)度和進(jìn)程調(diào)度.不同點(diǎn):FCFS調(diào)度算法每次都從后備隊(duì)列中選擇一個(gè)或多個(gè)最先進(jìn)入該隊(duì)列的作業(yè),將它們調(diào)入內(nèi)存、分配資源、創(chuàng)建進(jìn)程、插入到就緒隊(duì)列.該算法有利于長(zhǎng)作業(yè)/進(jìn)程,不利于短作業(yè)/進(jìn)程.SPF算法每次調(diào)度都從后備隊(duì)列中選擇一個(gè)或若干個(gè)估計(jì)運(yùn)行時(shí)間最短的作業(yè),調(diào)入內(nèi)存中運(yùn)行.該算法有利于短作業(yè)/進(jìn)程,不利于長(zhǎng)作業(yè)/進(jìn)程.11.在時(shí)間片輪轉(zhuǎn)法中,應(yīng)如何確定時(shí)間片的大小?答:時(shí)間片應(yīng)略大于一次典型的交互需要的時(shí)間.一般應(yīng)考慮三個(gè)因素:系統(tǒng)對(duì)相應(yīng)時(shí)間的要求、就緒隊(duì)列中進(jìn)程的數(shù)目和系統(tǒng)的處理能力.12.通過一個(gè)例子來說明通常的優(yōu)先級(jí)調(diào)度算法丌能適用亍實(shí)時(shí)系統(tǒng)?答:實(shí)時(shí)系統(tǒng)的調(diào)度算法很多,主要是基于任務(wù)的開始截止時(shí)間和任務(wù)緊急/松弛程度的任務(wù)優(yōu)先級(jí)調(diào)度算法,通常的優(yōu)先級(jí)調(diào)度算法不能滿足實(shí)時(shí)系統(tǒng)的調(diào)度實(shí)時(shí)性要求而不適用.13.為什么說多級(jí)反饋隊(duì)列調(diào)度算法能較好地滿足各方面用戶的需求?15.按調(diào)度方式可將實(shí)時(shí)調(diào)度算法分為哪幾種?按調(diào)度方式不同,可分為非搶占調(diào)度算法和搶占調(diào)度算法兩種.18.何謂死鎖?產(chǎn)生死鎖的原因和必要條件是什么?a.死鎖是指多個(gè)進(jìn)程因競(jìng)爭(zhēng)資源而造成的一種僵局,若無外力作用,這些進(jìn)程都將永遠(yuǎn)不能再向前推進(jìn);b.產(chǎn)生死鎖的原因有二,一是競(jìng)爭(zhēng)資源,二是進(jìn)程推進(jìn)順序非法;c.必要條件是:互斥條件,請(qǐng)求和保持條件,不剝奪條件和環(huán)路等待條件.19.在解決死鎖問題的幾個(gè)方法中,哪種方法最易于實(shí)現(xiàn)?哪種方法是資源利用率最高?解決/處理死鎖的方法有預(yù)防死鎖、避免死鎖、檢測(cè)和解除死鎖,其中預(yù)防死鎖方法最容易實(shí)現(xiàn),但由于所施加的限制條件過于嚴(yán)格,會(huì)導(dǎo)致系統(tǒng)資源利用率和系統(tǒng)吞吐量降低;而檢測(cè)和解除死鎖方法可是系統(tǒng)獲得較好的資源利用率和系統(tǒng)吞吐量.20.請(qǐng)?jiān)敿?xì)說明可通過哪些途徑預(yù)防死鎖?a.摒棄"請(qǐng)求和保持"條件:系統(tǒng)規(guī)定所有進(jìn)程開始運(yùn)行之前,都必須一次性地申請(qǐng)其在整個(gè)運(yùn)行過程所需的全部資源,但在分配資源時(shí),只要有一種資源不能滿足某進(jìn)程的要求,即使其它所需的各資源都空閑,也不分配給該進(jìn)程,而讓該進(jìn)程等待;b.摒棄"不剝奪"條件:系統(tǒng)規(guī)定,進(jìn)程是逐個(gè)地提出對(duì)資源的要求的.當(dāng)一個(gè)已經(jīng)保持了某些資源的進(jìn)程,再提出新的資源請(qǐng)求而不能立即得到滿足時(shí),必須釋放它已經(jīng)保持了的所有資源,待以后需要時(shí)再重新申請(qǐng);c.摒棄"環(huán)路等待"條件:系統(tǒng)將所有資源按類型進(jìn)行線性排序,并賦予不同的序號(hào),且所有進(jìn)程對(duì)資源的請(qǐng)求必須嚴(yán)格按序號(hào)遞增的次序提出,這樣,在所形成的資源分配圖中,不可能再出現(xiàn)環(huán)路,因而摒棄了"環(huán)路等待"條件.22.在銀行家算法中,若出現(xiàn)下述資源分配情:ProcessAllocationNeedAvailableP0003200121622P110001750P213542356P303320652P400140656試問:⑴該狀態(tài)是否安全?⑵若進(jìn)程P2提出請(qǐng)求Request<1,2,2,2>后,系統(tǒng)能否將資源分配給它?⑴該狀態(tài)是安全的,因?yàn)榇嬖谝粋€(gè)安全序列<P0P3P4P1P2>.下表為該時(shí)刻的安全序列表.資源情況進(jìn)程WorkNeedAllocationWork+AllocationFinishP0P3P4P1P2162216541987199112991100120652065617502356003203330014100013541654198719911299113121417truetruetruetruetrue⑵若進(jìn)程P2提出請(qǐng)求Request<1,2,2,2>后,系統(tǒng)不能將資源分配給它,若分配給進(jìn)程P2,系統(tǒng)還剩的資源情況為〔0,4,0,0,此時(shí)系統(tǒng)中的資源將無法滿足任何一個(gè)進(jìn)程的資源請(qǐng)求,從而導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài),容易引起死鎖的發(fā)生..第四章存儲(chǔ)器管理1.為什么要配置層次式存儲(chǔ)器?這是因?yàn)椋篴.設(shè)置多個(gè)存儲(chǔ)器可以使存儲(chǔ)器兩端的硬件能并行工作.b.采用多級(jí)存儲(chǔ)系統(tǒng),特別是Cache技術(shù),這是一種減輕存儲(chǔ)器帶寬對(duì)系統(tǒng)性能影響的最佳結(jié)構(gòu)方案.c.在微處理機(jī)內(nèi)部設(shè)置各種緩沖存儲(chǔ)器,以減輕對(duì)存儲(chǔ)器存取的壓力.增加CPU中寄存器的數(shù)量,也可大大緩解對(duì)存儲(chǔ)器的壓力.2.可采用哪幾種方式將程序裝入內(nèi)存?它們分別適用于何種場(chǎng)合?將程序裝入內(nèi)存可采用的方式有:絕對(duì)裝入方式、重定位裝入方式、動(dòng)態(tài)運(yùn)行時(shí)裝入方式;絕對(duì)裝入方式適用于單道程序環(huán)境中,重定位裝入方式和動(dòng)態(tài)運(yùn)行時(shí)裝入方式適用于多道程序環(huán)境中.3.何為靜態(tài)鏈接?何謂裝入時(shí)動(dòng)態(tài)鏈接和運(yùn)行時(shí)動(dòng)態(tài)鏈接?a.靜態(tài)鏈接是指在程序運(yùn)行之前,先將各自目標(biāo)模塊及它們所需的庫函數(shù),鏈接成一個(gè)完整的裝配模塊,以后不再拆開的鏈接方式.b.裝入時(shí)動(dòng)態(tài)鏈接是指將用戶源程序編譯后所得到的一組目標(biāo)模塊,在裝入內(nèi)存時(shí),采用邊裝入邊鏈接的一種鏈接方式,即在裝入一個(gè)目標(biāo)模塊時(shí),若發(fā)生一個(gè)外部模塊調(diào)用事件,將引起裝入程序去找相應(yīng)的外部目標(biāo)模塊,把它裝入內(nèi)存中,并修改目標(biāo)模塊中的相對(duì)地址.c.運(yùn)行時(shí)動(dòng)態(tài)鏈接是將對(duì)某些模塊的鏈接推遲到程序執(zhí)行時(shí)才進(jìn)行鏈接,也就是,在執(zhí)行過程中,當(dāng)發(fā)現(xiàn)一個(gè)被調(diào)用模塊尚未裝入內(nèi)存時(shí),立即由OS去找到該模塊并將之裝入內(nèi)存,把它鏈接到調(diào)用者模塊上.4.在進(jìn)行程序鏈接時(shí),應(yīng)完成哪些工作?a.對(duì)相對(duì)地址進(jìn)行修改b.變換外部調(diào)用符號(hào)6.為什么要引入動(dòng)態(tài)重定位?如何實(shí)現(xiàn)?a.程序在運(yùn)行過程中經(jīng)常要在內(nèi)存中移動(dòng)位置,為了保證這些被移動(dòng)了的程序還能正常執(zhí)行,必須對(duì)程序和數(shù)據(jù)的地址加以修改,即重定位.引入重定位的目的就是為了滿足程序的這種需要.b.要在不影響指令執(zhí)行速度的同時(shí)實(shí)現(xiàn)地址變換,必須有硬件地址變換機(jī)構(gòu)的支持,即須在系統(tǒng)中增設(shè)一個(gè)重定位寄存器,用它來存放程序在內(nèi)存中的起始地址.程序在執(zhí)行時(shí),真正訪問的內(nèi)存地址是相對(duì)地址與重定位寄存器中的地址相加而形成的.9.分區(qū)存儲(chǔ)管理中常采用哪些分配策略?比較它們的優(yōu)缺點(diǎn).分區(qū)存儲(chǔ)管理中常采用的分配策略有:首次適應(yīng)算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法、最壞適應(yīng)算法.a.首次適應(yīng)算法的優(yōu)缺點(diǎn):保留了高址部分的大空閑區(qū),有利于后到來的大型作業(yè)的分配;低址部分不斷被劃分,留下許多難以利用的、小的空閑區(qū),且每次分區(qū)分配查找時(shí)都是從低址部分開始,會(huì)增加查找時(shí)的系統(tǒng)開銷.b.循環(huán)首次適應(yīng)算法的優(yōu)缺點(diǎn):使內(nèi)存中的空閑分區(qū)分布得更為均勻,減少了查找時(shí)的系統(tǒng)開銷;缺乏大的空閑分區(qū),從而導(dǎo)致不能裝入大型作業(yè).c.最佳適應(yīng)算法的優(yōu)缺點(diǎn):每次分配給文件的都是最適合該文件大小的分區(qū);內(nèi)存中留下許多難以利用的小的空閑區(qū).d.最壞適應(yīng)算法的優(yōu)缺點(diǎn):給文件分配分區(qū)后剩下的的空閑區(qū)不至于太小,產(chǎn)生碎片的幾率最小,對(duì)中小型文件分配分區(qū)操作有利;使存儲(chǔ)器中缺乏大的空閑區(qū),對(duì)大型文件的分區(qū)分配不利.10.在系統(tǒng)中引入對(duì)換后可帶來哪些好處?能將內(nèi)存中暫時(shí)不運(yùn)行的進(jìn)程或暫時(shí)不用的程序和數(shù)據(jù),換到外存上,以騰出足夠的內(nèi)存空間,把已具備運(yùn)行條件的進(jìn)程或進(jìn)程所需的程序和數(shù)據(jù)換入內(nèi)存,從而大大地提高了內(nèi)存的利用率.12.在以進(jìn)程為單位進(jìn)行對(duì)換時(shí),每次是否將整個(gè)進(jìn)程換出?為什么?在以進(jìn)程為單位進(jìn)行對(duì)換時(shí),并非每次將整個(gè)進(jìn)程換出.這是因?yàn)椋篴.從結(jié)構(gòu)上講,進(jìn)程是由程序段、數(shù)據(jù)段和進(jìn)程控制塊組成的,其中進(jìn)程控制塊總有部分或全部常駐內(nèi)存,不被換出.b.程序段和數(shù)據(jù)段可能正被若干進(jìn)程共享,此時(shí)它們也不能被換出.13.為實(shí)現(xiàn)分頁存儲(chǔ)管理,需要哪些硬件支持?需要有頁表機(jī)制、地址變換機(jī)構(gòu)的硬件支持.16.為什么說分段系統(tǒng)較之分頁系統(tǒng)更易于實(shí)現(xiàn)信息共享和保護(hù)?a.對(duì)于分頁系統(tǒng),每個(gè)頁面是分散存儲(chǔ)的,為了實(shí)現(xiàn)信息共享和保護(hù),則頁面之間需要一一對(duì)應(yīng)起來,為此需要建立大量的頁表項(xiàng);b.而對(duì)于分段系統(tǒng),每個(gè)段都從0開始編址,并采用一段連續(xù)的地址空間,這樣在實(shí)現(xiàn)共享和保護(hù)時(shí),只需為所要共享和保護(hù)的程序設(shè)置一個(gè)段表項(xiàng),將其中的基址與內(nèi)存地址一一對(duì)應(yīng)起來即可.17.分頁和分段有何區(qū)別?a.分頁和分段都采用離散分配的方式,且都要通過地址映射機(jī)構(gòu)來實(shí)現(xiàn)地址變換,這是它們的共同點(diǎn);b.對(duì)于它們的不同點(diǎn)有三,第一,從功能上看,頁是信息的物理單位,分頁是為實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率,即滿足系統(tǒng)管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有一組其意義相對(duì)完整的信息,目的是為了能更好地滿足用戶的需要;第二頁的大小固定且由系統(tǒng)確定,而段的長(zhǎng)度卻不固定,決定于用戶所編寫的程序;第三分頁的作業(yè)地址空間是一維的,而分段的作業(yè)地址空間是二維的.18.試全面比較連續(xù)分配和離散分配方式.a.連續(xù)分配是指為一個(gè)用戶程序分配一個(gè)連續(xù)的地址空間,包括單一連續(xù)分配方式和分區(qū)式分配方式,前者將內(nèi)存分為系統(tǒng)區(qū)和用戶區(qū),系統(tǒng)區(qū)供操作系統(tǒng)使用,用戶區(qū)供用戶使用,是最簡(jiǎn)單的一種存儲(chǔ)方式,但只能用于單用戶單任務(wù)的操作系統(tǒng)中;分區(qū)式分配方式分為固定分區(qū)和動(dòng)態(tài)分區(qū),固定分區(qū)是最簡(jiǎn)單的多道程序的存儲(chǔ)管理方式,由于每個(gè)分區(qū)的大小固定,必然會(huì)造成存儲(chǔ)空間的浪費(fèi);動(dòng)態(tài)分區(qū)是根據(jù)進(jìn)程的實(shí)際需要,動(dòng)態(tài)地為之分配連續(xù)的內(nèi)存空間,常用三種分配算法:首次適應(yīng)算法,該法容易留下許多難以利用的小空閑分區(qū),加大查找開銷;循環(huán)首次適應(yīng)算法,該算法能使內(nèi)存中的空閑分區(qū)分布均勻,但會(huì)致使缺少大的空閑分區(qū);最佳適應(yīng)算法,該算法也易留下許多難以利用的小空閑區(qū);b.離散分配方式基于將一個(gè)進(jìn)程直接分散地分配到許多不相鄰的分區(qū)中的思想,分為分頁式存儲(chǔ)管理,分段存儲(chǔ)管理和段頁式存儲(chǔ)管理.分頁式存儲(chǔ)管理旨在提高內(nèi)存利用率,滿足系統(tǒng)管理的需要,分段式存儲(chǔ)管理則旨在滿足用戶<程序員>的需要,在實(shí)現(xiàn)共享和保護(hù)方面優(yōu)于分頁式存儲(chǔ)管理,而段頁式存儲(chǔ)管理則是將兩者結(jié)合起來,取長(zhǎng)補(bǔ)短,即具有分段系統(tǒng)便于實(shí)現(xiàn),可共享,易于保護(hù),可動(dòng)態(tài)鏈接等優(yōu)點(diǎn),又能像分頁系統(tǒng)那樣很好的解決外部碎片的問題,以及為各個(gè)分段可離散分配內(nèi)存等問題,顯然是一種比較有效的存儲(chǔ)管理方式;c.綜上可見,連續(xù)分配方式和離散分配方式各有各自的特點(diǎn),應(yīng)根據(jù)實(shí)際情況加以改進(jìn)和利用.19.虛擬存儲(chǔ)器有哪些特征?其中最本質(zhì)的特征是什么?特征:離散性、多次性、對(duì)換性、虛擬性;最本質(zhì)的特征:離散性;最重要的特征:虛擬性.20.實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪些硬件支持?a.對(duì)于為實(shí)現(xiàn)請(qǐng)求分頁存儲(chǔ)管理方式的系統(tǒng),除了需要一臺(tái)具有一定容量的內(nèi)存及外存的計(jì)算機(jī)外,還需要有頁表機(jī)制,缺頁中斷機(jī)構(gòu)以及地址變換機(jī)構(gòu);b.對(duì)于為實(shí)現(xiàn)請(qǐng)求分段存儲(chǔ)管理方式的系統(tǒng),除了需要一臺(tái)具有一定容量的內(nèi)存及外存的計(jì)算機(jī)外,還需要有段表機(jī)制,缺段中斷機(jī)構(gòu)以及地址變換機(jī)構(gòu);21.實(shí)現(xiàn)虛擬存儲(chǔ)器需要哪幾個(gè)關(guān)鍵技術(shù)?a.分頁和分段都采用離散分配的方式,且都要通過地址映射機(jī)構(gòu)來實(shí)現(xiàn)地址變換,這是它們的共同點(diǎn);25.在請(qǐng)求分頁系統(tǒng)中,通常采用哪種頁面分配方式——物理塊分配策略?三種分配方式:固定分配局部置換、可變分配全局置換、可變分配局部置換.26.在一個(gè)請(qǐng)求分頁系統(tǒng)中,采用FIFO頁面置換算法時(shí),假如一個(gè)作業(yè)的頁面走向?yàn)?、3、2、1、4、3、5、4、3、2、1、5,當(dāng)分配給該作業(yè)的物理塊數(shù)M分別為3和4時(shí),試計(jì)算在訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率,并比較所得結(jié)果.432143543215M=3M=4M=3M=4441115553334442222233314444555511333344445222233331111222M=3時(shí),采用FIFO頁面置換算法的缺頁次數(shù)為9次,缺頁率為75%;M=4時(shí),采用FIFO頁面置換算法的缺頁次數(shù)為10次,缺頁率為83%.由此可見,增加分配給作業(yè)的內(nèi)存塊數(shù),反而增加了缺頁次數(shù),提高了缺頁率,這種現(xiàn)象被稱為是Belady現(xiàn)象.28.試說明改進(jìn)型Clock置換算法的基本原理.基本原理:在將一個(gè)頁面換出時(shí),如果該頁已被修改過,便須將該頁重新寫回到磁盤上;但如果該頁未被修改過,則不必將它寫回磁盤上.在改進(jìn)型算法中,除需考慮頁面的使用情況外,還須再增加一個(gè)因素,即置換代價(jià),這樣,選擇頁面換出時(shí),既要是未使用過的頁面,又要是未被修改過的頁面.15什么是抖動(dòng)?產(chǎn)生抖動(dòng)的原因是什么?a.抖動(dòng)<Thrashing>就是指當(dāng)內(nèi)存中已無空閑空間而又發(fā)生缺頁中斷時(shí),需要從內(nèi)存中調(diào)出一頁程序或數(shù)據(jù)送磁盤的對(duì)換區(qū)中,如果算法不適當(dāng),剛被換出的頁很快被訪問,需重新調(diào)入,因此需再選一頁調(diào)出,而此時(shí)被換出的頁很快又要被訪問,因而又需將它調(diào)入,如此頻繁更換頁面,使得系統(tǒng)把大部分時(shí)間用在了頁面的調(diào)進(jìn)換出上,而幾乎不能完成任何有效的工作,我們稱這種現(xiàn)象為"抖動(dòng)".b.產(chǎn)生抖動(dòng)的原因是由于CPU的利用率和多道程序度的對(duì)立統(tǒng)一矛盾關(guān)系引起的,為了提高CPU利用率,可提高多道程序度,但單純提高多道程序度又會(huì)造成缺頁率的急劇上升,導(dǎo)致CPU的利用率下降,而系統(tǒng)的調(diào)度程序又會(huì)為了提高CPU利用率而繼續(xù)提高多道程序度,形成惡性循環(huán),我們稱這時(shí)的進(jìn)程是處于"抖動(dòng)"狀態(tài)..第五章設(shè)備管理3.什么是字節(jié)多路通道?什么是數(shù)組選擇通道和數(shù)組多路通道?a.字節(jié)多路通道含有許多非分配型子通道分別連接在低、中速I/O設(shè)備上,子通道按時(shí)間片輪轉(zhuǎn)方式共享主通道,按字節(jié)方式進(jìn)行數(shù)據(jù)傳送.當(dāng)?shù)谝粋€(gè)子通道控制其I/O設(shè)備完成一個(gè)字節(jié)的交換后,便立即騰出字節(jié)多路通道〔主通道,讓給第二個(gè)子通道使用;當(dāng)?shù)诙€(gè)子通道也交換完一個(gè)字節(jié)后,又依樣把主通道讓給第三個(gè)子通道使用,以此類推.轉(zhuǎn)輪一周后,重又返回由第一個(gè)子通道去使用主通道.b.數(shù)組選擇通道只含有一個(gè)分配型子通道,一段時(shí)間內(nèi)只能執(zhí)行一道通道程序、控制一臺(tái)設(shè)備按數(shù)組方式進(jìn)行數(shù)據(jù)傳送.通道被某臺(tái)設(shè)備占用后,便一直處于獨(dú)占狀態(tài),直至設(shè)備數(shù)據(jù)傳輸完畢釋放該通道,故而通道利用率較低,主要用于連接多臺(tái)高速設(shè)備.c.數(shù)組多路通道是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道分時(shí)并行操作的優(yōu)點(diǎn)相結(jié)合而形成的一種新通道.其含有多個(gè)非分配型子通道分別連接在高、中速I/O設(shè)備上,子通道按時(shí)間片輪轉(zhuǎn)方式共享主通道,按數(shù)組方式進(jìn)行數(shù)據(jù)傳送,因而既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率.4.如何解決因通道不足而產(chǎn)生的瓶頸問題?解決因通道不足而產(chǎn)生的瓶頸問題的最有效方法是增加設(shè)備到主機(jī)間的通路而不是增加通道.換言之,就是把一個(gè)設(shè)備連接到多個(gè)控制器上,而一個(gè)控制器又連接到多個(gè)通道上.這種多通路方式不僅可以解決該瓶頸問題,而且能夠提高系統(tǒng)的可靠性,也即不會(huì)因?yàn)閭€(gè)別通道或控制器的故障而使設(shè)備與存儲(chǔ)器之間無法建立通路進(jìn)行數(shù)據(jù)傳輸.6.試說明I/O控制發(fā)展的主要推動(dòng)因素是什么?促使I/O控制不斷發(fā)展的幾個(gè)主要因素如下:a.盡量減少CPU對(duì)I/O控制的干預(yù),把CPU從繁雜的I/O控制中解脫出來,以便更多地去完成數(shù)據(jù)處理任務(wù).b.緩和CPU的高速性和設(shè)備的低速性之間速度不匹配的矛盾,以提高CPU的利用率和系統(tǒng)的吞吐量.c.提高CPU和I/O設(shè)備操作的并行程度,使CPU和I/O設(shè)備都處于忙碌狀態(tài),從而提高整個(gè)系統(tǒng)的資源利用率和系統(tǒng)吞吐量.7.有哪幾種I/O控制方式?各適用于何種場(chǎng)合?I/O控制方式:程序I/O方式、中斷驅(qū)動(dòng)I/O控制方式、DMAI/O控制方式、I/O通道控制方式.程序I/O方式適用于早期的計(jì)算機(jī)系統(tǒng)中,并且是無中斷的計(jì)算機(jī)系統(tǒng);中斷驅(qū)動(dòng)I/O控制方式是普遍用于現(xiàn)代的計(jì)算機(jī)系統(tǒng)中;DMAI/O控制方式適用于I/O設(shè)備為塊設(shè)備時(shí)在和主機(jī)進(jìn)行數(shù)據(jù)交換的一種I/O控制方式;當(dāng)I/O設(shè)備和主機(jī)進(jìn)行數(shù)據(jù)交換是一組數(shù)據(jù)塊時(shí)通常采用I/O通道控制方式,但此時(shí)要求系統(tǒng)必須配置相應(yīng)的通道及通道控制器.10.在單緩沖情況下,為什么系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max<C,T>+M??在塊設(shè)備輸入時(shí),假定從磁盤把一塊數(shù)據(jù)輸入到緩沖區(qū)的時(shí)間為T;操作系統(tǒng)將緩沖區(qū)數(shù)據(jù)傳送給用戶區(qū)的時(shí)間為M;而CPU對(duì)這一塊數(shù)據(jù)進(jìn)行計(jì)算得時(shí)間為C.在單緩沖情況下,由于設(shè)備的輸入操作和CPU的處理操作可以并行,所以系統(tǒng)對(duì)每一整塊數(shù)據(jù)的處理時(shí)間為max<C,T>+M.11.為什么在雙緩沖情況下,系統(tǒng)對(duì)一塊數(shù)據(jù)的處理時(shí)間為max<C,T>?該方式又稱緩沖對(duì)換方式,在設(shè)備輸入時(shí),先將數(shù)據(jù)送入第一緩沖區(qū),裝滿后便轉(zhuǎn)向第二緩沖區(qū).此時(shí)操作系統(tǒng)可以從第一緩沖區(qū)移出數(shù)據(jù),并送入用戶進(jìn)程.接著由CPU對(duì)數(shù)據(jù)進(jìn)行計(jì)算.在雙緩沖區(qū)中,不僅設(shè)備的輸入操作和CPU的處理操作可以并行,設(shè)備的輸入操作和數(shù)據(jù)的傳送操作也可以并行,因此耗時(shí)大約為max<C+M,T>.考慮到M是內(nèi)存中數(shù)據(jù)塊的"搬家"耗時(shí),非常短暫可以省略,因此近似地認(rèn)為是:max<C,T>15.為什么要引入設(shè)備獨(dú)立性?如何實(shí)現(xiàn)設(shè)備獨(dú)立性?引入設(shè)備獨(dú)立性,可使應(yīng)用程序獨(dú)立于具體的物理設(shè)備,是設(shè)備分配具有靈活性.另外容易實(shí)現(xiàn)I/O重定向.為了實(shí)現(xiàn)設(shè)備獨(dú)立性,必須在設(shè)備驅(qū)動(dòng)程序之上設(shè)置一層設(shè)備獨(dú)立性軟件,用來執(zhí)行所有I/O設(shè)備的公用操作,并向用戶層軟件提供統(tǒng)一接口.關(guān)鍵是系統(tǒng)中必須設(shè)置一張邏輯設(shè)備表LUT用來進(jìn)行邏輯設(shè)備到物理設(shè)備的映射,其中每個(gè)表目中包含了邏輯設(shè)備名、物理設(shè)備名和設(shè)備驅(qū)動(dòng)程序入口地址三項(xiàng);當(dāng)應(yīng)用程序用邏輯設(shè)備名請(qǐng)求分配I/O設(shè)備時(shí),系統(tǒng)必須為它分配相應(yīng)的物理設(shè)備,并在LUT中建立一個(gè)表目,以后進(jìn)程利用該邏輯設(shè)備名請(qǐng)求I/O操作時(shí),便可從LUT中得到物理設(shè)備名和驅(qū)動(dòng)程序入口地址.16.在考慮到設(shè)備的獨(dú)立性時(shí),應(yīng)如何分配獨(dú)占設(shè)備?在考慮到設(shè)備的獨(dú)立性時(shí),應(yīng)按如下步驟來分配獨(dú)占設(shè)備:〔1進(jìn)程以邏輯設(shè)備名提出I/O請(qǐng)求.〔2根據(jù)邏輯設(shè)備表相應(yīng)表項(xiàng)獲得I/O請(qǐng)求的邏輯設(shè)備對(duì)應(yīng)類型的物理設(shè)備在系統(tǒng)設(shè)備表中的指針.〔3從指針?biāo)肝恢闷痦樞驒z索系統(tǒng)設(shè)備表,直到找到一個(gè)屬于對(duì)應(yīng)I/O請(qǐng)求所用類型、空閑可用且基于設(shè)備分配安全性算法驗(yàn)證為安全分配的設(shè)備的設(shè)備控制表,將對(duì)應(yīng)設(shè)備分配給請(qǐng)求進(jìn)程;如果未找到安全可用的空閑設(shè)備,則把請(qǐng)求進(jìn)程的進(jìn)程控制塊掛到相應(yīng)類型設(shè)備的等待隊(duì)列上等待喚醒和分配.〔4系統(tǒng)把設(shè)備分配給I/O請(qǐng)求進(jìn)程后,再到該設(shè)備的設(shè)備控制表中找出與其相連接的控制器的控制器控制表,根據(jù)其狀態(tài)字段判斷該控制器是否忙碌,若忙則把請(qǐng)求進(jìn)程的進(jìn)程控制塊掛到該控制器的等待隊(duì)列上;否則將該控制器分配給進(jìn)程.〔5系統(tǒng)把控制器分配給I/O請(qǐng)求進(jìn)程后,再到該控制器的控制器控制表中找出與其相連接的通道的通道控制表,根據(jù)其狀態(tài)字段判斷該通道是否忙碌,若忙則把請(qǐng)求進(jìn)程的進(jìn)程控制塊掛到該通道的等待隊(duì)列上;否則將該通道分配給進(jìn)程.〔6只有在設(shè)備、控制器和通道三者都分配成功時(shí),這次的設(shè)備分配才算成功,然后便可啟動(dòng)設(shè)備進(jìn)行數(shù)據(jù)傳送.17.什么是虛擬設(shè)備?其實(shí)現(xiàn)所依賴的關(guān)鍵技術(shù)有哪些?虛擬設(shè)備是指通過虛擬技術(shù),可將一臺(tái)獨(dú)占設(shè)備變換成若干臺(tái)邏輯設(shè)備,供若干個(gè)用戶〔進(jìn)程同時(shí)使用.由于多臺(tái)邏輯設(shè)備實(shí)際上并不存在,而只是給用戶的一種感覺,因此被稱為虛擬設(shè)備.其實(shí)現(xiàn)所依賴的關(guān)鍵技術(shù)是SPOOLing技術(shù).19.在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLING系統(tǒng)應(yīng)為請(qǐng)求I/O的進(jìn)程提供哪些服務(wù)?在實(shí)現(xiàn)后臺(tái)打印時(shí),SPOOLing系統(tǒng)應(yīng)為請(qǐng)求I/O的進(jìn)程提供以下服務(wù):〔1由輸出進(jìn)程在輸出井中為之申請(qǐng)一空閑盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;〔2輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的用戶打印表,并將用戶的打印要求填入其中,再將該表掛到請(qǐng)求打印隊(duì)列上.〔3一旦打印機(jī)空閑,輸出進(jìn)程便從請(qǐng)求打印隊(duì)列的隊(duì)首取出一張請(qǐng)求打印表,根據(jù)表中的要求將要打印的數(shù)據(jù)從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印..第六章文件管理1.何謂數(shù)據(jù)項(xiàng)、記錄和文件?a.數(shù)據(jù)項(xiàng)是最低級(jí)的數(shù)據(jù)組織形式,可分為基本數(shù)據(jù)項(xiàng)和組合數(shù)據(jù)項(xiàng).基本數(shù)據(jù)項(xiàng)是用于描述一個(gè)對(duì)象某種屬性的字符集,是數(shù)據(jù)組織中可以命名的最小邏輯數(shù)據(jù)單位,即原子數(shù)據(jù),又稱為數(shù)據(jù)元素或字段.組合數(shù)據(jù)項(xiàng)則由若干個(gè)基本數(shù)據(jù)項(xiàng)構(gòu)成.b.記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象某方面的屬性.c.文件是指有創(chuàng)建者所定義的、具有文件名的一組相關(guān)信息的集合提.4.何謂邏輯文件?何謂物理文件?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《綜合基礎(chǔ)知識(shí)》考點(diǎn)特訓(xùn)《民法》(2020年版)
- 《電子式書寫技巧》課件
- 2024年寫醫(yī)院個(gè)人年終工作總結(jié)
- 《學(xué)校智能化方案》課件
- 《幼教機(jī)構(gòu)行政管理》課件
- 一年級(jí)下冊(cè)語文部編版課件部首查字法教學(xué)課件
- 細(xì)胞生命之旅
- 透析樓市調(diào)控奧秘
- 保研面試英文自我介紹范文匯編十篇
- 2023年-2024年新員工入職前安全教育培訓(xùn)試題附參考答案(預(yù)熱題)
- 注冊(cè)安全工程師管理制度
- 2023年黑龍江民族職業(yè)學(xué)院招聘工作人員筆試真題
- 以諾書-中英對(duì)照
- 卵巢黃體破裂的護(hù)理
- 供應(yīng)鏈管理師(三級(jí))認(rèn)證備考試題及答案
- 廣東高中學(xué)業(yè)水平測(cè)試考綱考點(diǎn)必背化學(xué)
- 2023年新高考北京卷化學(xué)高考真題(含解析)
- GB/T 44273-2024水力發(fā)電工程運(yùn)行管理規(guī)范
- 2024至2030年中國(guó)消費(fèi)級(jí)無人機(jī)行業(yè)市場(chǎng)預(yù)測(cè)與投資規(guī)劃分析報(bào)告
- 小學(xué)生衛(wèi)生知識(shí)健康教育精課件
- 《安全評(píng)價(jià)技術(shù)》課件-蒸氣云爆炸事故后果傷害模型評(píng)價(jià)
評(píng)論
0/150
提交評(píng)論