




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)概論?計(jì)算機(jī)系統(tǒng)是由硬件系統(tǒng)和軟件系統(tǒng)組成的操作系統(tǒng)的任務(wù):組織和管理計(jì)算機(jī)系統(tǒng)中的硬件和軟件資源、有效、合理、方便操作系統(tǒng)為用戶提供兩類使用接口:分別是編程接口、用戶接口。操作系統(tǒng)的特征:并發(fā)性、共享性、隨機(jī)性研究操作系統(tǒng)的觀點(diǎn):軟件觀點(diǎn):外在特性--接口、內(nèi)在特性--與硬件交互資源管理的觀點(diǎn)進(jìn)程的觀點(diǎn):把操作系統(tǒng)看作由多個(gè)可以同時(shí)獨(dú)立運(yùn)行的程序和一個(gè)對這些程序進(jìn)行協(xié)調(diào)的核心所組成。虛機(jī)器觀點(diǎn):操作系統(tǒng)把原來的計(jì)算機(jī)(裸機(jī))擴(kuò)充成功能強(qiáng)大、使用方便的計(jì)算機(jī)系統(tǒng),這種計(jì)算機(jī)系統(tǒng)被稱為虛擬計(jì)算機(jī)。服務(wù)提供者觀點(diǎn):提供了比裸機(jī)功能更強(qiáng)、服務(wù)質(zhì)量更好、更方便靈活的虛擬機(jī)操作系統(tǒng)的功能:進(jìn)程管理、存儲管理、文件管理、作業(yè)管理、設(shè)備管理windows操作系統(tǒng)的體系結(jié)構(gòu)采用了分層的模塊結(jié)構(gòu),主要層次有:硬件抽象層HAL、內(nèi)核、執(zhí)行體、大量子系統(tǒng)集合unix操作系統(tǒng)的體系結(jié)構(gòu),從內(nèi)向外各層分別是硬件層、操作系統(tǒng)內(nèi)核層、系統(tǒng)調(diào)用層、應(yīng)用層Linux操作系統(tǒng)體系結(jié)構(gòu):Linux內(nèi)核、LinuxShell、Linux文件系統(tǒng)、Linux應(yīng)用程序Android操作系統(tǒng)體系結(jié)構(gòu),從高到低:應(yīng)用程序?qū)印?yīng)用框架層、系統(tǒng)運(yùn)行庫層、Linux內(nèi)核層批處理操作系統(tǒng):基本工作方式:用戶將作業(yè)交給系統(tǒng)操作員,操作員收到一定數(shù)量的用戶作業(yè)后組成一批作業(yè),再輸入到計(jì)算機(jī)中,這批作業(yè)在系統(tǒng)中形成一個(gè)連續(xù)的、自動(dòng)轉(zhuǎn)接的作業(yè)流。操作員然后啟動(dòng)操作系統(tǒng),系統(tǒng)自動(dòng)、依次執(zhí)行每個(gè)作業(yè),最后由操作員將執(zhí)行完畢的作業(yè)結(jié)果交給用戶。特點(diǎn):成批處理,用戶自己不能干預(yù)自己作業(yè)的運(yùn)行。發(fā)現(xiàn)作業(yè)無法及時(shí)改正。優(yōu)點(diǎn):作業(yè)流程自動(dòng)化較高、資源利用率較高、作業(yè)吞吐量大,從而提高了整個(gè)系統(tǒng)效率。缺點(diǎn):用戶不能直接與計(jì)算機(jī)交互,不適合調(diào)試程序。分時(shí)系統(tǒng):用戶通過中斷交互式向系統(tǒng)提出命令,系統(tǒng)采用時(shí)間片輪轉(zhuǎn)方式處理服務(wù)請求。特點(diǎn):多路性、交互性、獨(dú)占性、及時(shí)性實(shí)時(shí)操作系統(tǒng):需具備實(shí)時(shí)時(shí)鐘管理、過載防護(hù)、高可靠性嵌入式操作系統(tǒng):微型化、實(shí)時(shí)性操作系統(tǒng)結(jié)構(gòu)研究的目標(biāo):系統(tǒng)模塊化、模塊標(biāo)準(zhǔn)化、通信規(guī)范化常見的操作系統(tǒng)結(jié)構(gòu)有:整體式結(jié)構(gòu)、層次式結(jié)構(gòu)、微內(nèi)核(客戶/服務(wù)器)結(jié)構(gòu)操作系統(tǒng)運(yùn)行環(huán)境??處理器一般由運(yùn)算器、控制器、一系列的寄存器、高速緩存構(gòu)成。處理器內(nèi)通常有兩類寄存器:用戶可見寄存器:數(shù)據(jù)寄存器、地址寄存器、條件嗎寄存器控制和狀態(tài)寄存器:程序計(jì)數(shù)器PC、指令寄存器IR、程序狀態(tài)字PSW指令分為:訪問存儲器指令、算數(shù)邏輯指令、I/O指令、控制轉(zhuǎn)移指令、處理器控制指令特權(quán)指令:只能由操作系統(tǒng)使用的指令,用戶不允許使用。非特權(quán)指令:用戶使用處理器的工作狀態(tài)分為:管態(tài)(內(nèi)核態(tài)/系統(tǒng)態(tài)/特權(quán)態(tài))、目態(tài)(用戶態(tài)/普通態(tài))當(dāng)處理器處于管態(tài)時(shí),可執(zhí)行全部命令,可使用所有資源,并具有改變處理器狀態(tài)的能力當(dāng)處理器處于目態(tài)時(shí),就只有非特權(quán)指令才能執(zhí)行。目態(tài)到管態(tài)的轉(zhuǎn)換唯一途徑是通過中斷。管態(tài)到目態(tài)的轉(zhuǎn)換可通過設(shè)置PSW指令(修改程序狀態(tài)字)程序狀態(tài)字PSW:指示處理器狀態(tài)包括以下狀態(tài)代碼:CPU的工作狀態(tài)代碼、條件碼、中斷屏蔽碼存儲器的類型:讀寫型存儲器RAM(存儲隨機(jī)存取的程序的數(shù)據(jù))、只讀存儲器ROM存儲的最小單位“二進(jìn)制”,存儲器的最小編址單位是字節(jié),內(nèi)存空間的最小分配單位是塊存儲分區(qū)的保護(hù)方法:界地址寄存器、保護(hù)鍵例(1710)當(dāng)每個(gè)程序在主存中占一個(gè)連續(xù)的存儲空間時(shí),系統(tǒng)使用那兩個(gè)寄存器來實(shí)現(xiàn)存儲保護(hù)?當(dāng)處理器在目態(tài)下執(zhí)行程序時(shí),對每一個(gè)訪問主存空間的地址都要進(jìn)行核查,請寫出訪問地址與著兩個(gè)寄存器值之間的關(guān)系。答:基址寄存器、限長寄存器。基址寄存器的值<=訪問地址<=限長寄存器的值中斷是由外部事件引發(fā)的,而異常是由正在執(zhí)行的指令引發(fā)的。典型的中斷:時(shí)鐘中斷、輸入輸出(I/O)中斷、控制臺中斷、硬件故障中斷典型的異常:程序性中斷、訪管指令異常例(1904)中斷和異常的區(qū)別是什么?請指出“時(shí)間片到時(shí)”、“算術(shù)溢出”、“掉電”和“虛擬存儲中的缺頁”分別屬于中斷和異常的哪一種?答:中斷是由外部事件引發(fā)的,異常是由正在執(zhí)行的指令引起的。中斷:時(shí)間片到時(shí)、掉電。異常:算術(shù)溢出、虛擬存儲中的缺頁例(1910)中斷系統(tǒng)由哪兩部分組成?請介紹計(jì)算機(jī)系統(tǒng)中典型的中斷有哪些?答:硬件中斷裝置和軟件中斷處理程序。I/O中斷、時(shí)鐘中斷、硬件故障中斷、程序性中斷、系統(tǒng)服務(wù)請求(自愿中斷)典型的中斷處理:I/O中斷、時(shí)鐘中斷、硬件故障中斷、程序性中斷、系統(tǒng)服務(wù)請求(自愿中斷)I/O中斷:一般由I/O設(shè)備的控制器或通道發(fā)出,可分為:I/O操作正常結(jié)束、I/O異常。時(shí)鐘中斷:維護(hù)時(shí)鐘軟件、處理器調(diào)度、控制系統(tǒng)定時(shí)任務(wù)、實(shí)時(shí)處理自愿性中斷:用戶通過訪管指令調(diào)用系統(tǒng)調(diào)用例(1804)什么是程序性中斷?程序性中斷都必須由操作系統(tǒng)來完成嗎?舉例說明。答:程序性中斷是指程序指令出錯(cuò),指令越權(quán)或指令尋址越界而引發(fā)的系統(tǒng)保護(hù)。不一定,也可以由自己完成,如系統(tǒng)調(diào)試中斷和算術(shù)錯(cuò)誤等。例(1810)什么是中斷?如果同一中斷級中的多個(gè)設(shè)備接口中同時(shí)都有中斷請求時(shí),如何處理?答:中斷是指處理器對系統(tǒng)中或系統(tǒng)外發(fā)生的異步事件的響應(yīng),如果同一中斷級中的多個(gè)設(shè)備接口中同時(shí)都有中斷請求時(shí),可以采用固定優(yōu)先數(shù)或輪轉(zhuǎn)法應(yīng)系統(tǒng)調(diào)用的目的:請求系統(tǒng)服務(wù)進(jìn)程與線程???程序的順序執(zhí)行:一各具有獨(dú)立功能的程序獨(dú)占處理器直到得到最終結(jié)果。特點(diǎn):順序性、封閉性、程序執(zhí)行結(jié)果的確定性、程序執(zhí)行結(jié)果的可再現(xiàn)性程序的并發(fā)執(zhí)行:兩個(gè)或以上程序同時(shí)處于已開始且尚未結(jié)束的狀態(tài)。特點(diǎn):在執(zhí)行期間并發(fā)程序相互制約、程序與計(jì)算不再一一對應(yīng)、執(zhí)行結(jié)果不可再現(xiàn)、程序的并行執(zhí)行(宏觀上同時(shí))和程序的并發(fā)執(zhí)行(微觀上同時(shí))多道程序設(shè)計(jì):特點(diǎn):獨(dú)立性、隨機(jī)性、資源共享性缺陷:可能延長程序的執(zhí)行時(shí)間、系統(tǒng)效率的提高有一定限度進(jìn)程:具有一定獨(dú)立功能的程序在某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。進(jìn)程由程序、數(shù)據(jù)、進(jìn)程控制塊3部分組成程序是動(dòng)態(tài)的,進(jìn)程是動(dòng)態(tài)的,二者是多對多的關(guān)系。進(jìn)程的特性:并發(fā)性、動(dòng)態(tài)性、獨(dú)立性、交往性、異步性、結(jié)構(gòu)性三狀態(tài)模型:運(yùn)行狀態(tài)、就緒狀態(tài)、等待狀態(tài)五狀態(tài)模型:運(yùn)行狀態(tài)、就緒狀態(tài)、阻塞狀態(tài)、創(chuàng)建狀態(tài)、結(jié)束狀態(tài)七狀態(tài)模型:例(1804)在七狀態(tài)進(jìn)程模型中,什么是阻塞狀態(tài)?什么是阻塞掛起狀態(tài)?兩個(gè)狀態(tài)之間有何轉(zhuǎn)換?答:進(jìn)程阻塞:進(jìn)程在內(nèi)存并等待某事件出現(xiàn)。阻塞掛起:進(jìn)程在外存并等待某事件出現(xiàn)。當(dāng)沒有進(jìn)程處于就緒狀態(tài)或就緒進(jìn)程要求更多內(nèi)存資源時(shí),會把進(jìn)程從阻塞狀態(tài)轉(zhuǎn)為阻塞掛起。進(jìn)程控制塊PCB是描述進(jìn)程狀態(tài)和特性的數(shù)據(jù)結(jié)構(gòu),PCB是進(jìn)程存在的唯一標(biāo)識,一個(gè)進(jìn)程只能有唯一的進(jìn)程控制塊。操作系統(tǒng)中每創(chuàng)建一個(gè)進(jìn)程就要為該進(jìn)程建立一個(gè)進(jìn)程控制塊,一個(gè)剛被創(chuàng)建的進(jìn)程,它的初始狀態(tài)為就緒態(tài)PCB的內(nèi)容:調(diào)度信息(描述進(jìn)程當(dāng)前狀況)、現(xiàn)場信息(刻畫進(jìn)程的運(yùn)行情況)PCB組織方式:線性方式、索引方式、鏈接方式進(jìn)程控制:對進(jìn)程在整個(gè)生命周期中各種狀態(tài)之間的轉(zhuǎn)換進(jìn)行有效的控制。通過原語實(shí)現(xiàn)。原語:原語是操作系統(tǒng)核心的一個(gè)組成部分,由若干條指令組成,用來實(shí)現(xiàn)某個(gè)特定的操作功能,執(zhí)行時(shí)具有不可間斷性。進(jìn)程控制原語:創(chuàng)建原語、撤銷原語、阻塞原語、喚醒原語阻塞原語過程:首先中斷處理器的執(zhí)行,把處理器的當(dāng)前狀態(tài)保存在PCB的現(xiàn)場信息中,然后把進(jìn)程的當(dāng)前狀態(tài)置為等待狀態(tài),并把它插入到該事件的等待隊(duì)列中。喚醒原語過程:在等待隊(duì)列中找到該進(jìn)程,將進(jìn)程的當(dāng)前狀態(tài)置為就緒狀態(tài),然后將它從等待隊(duì)列中撤出并插入到就緒隊(duì)列中排隊(duì),等待調(diào)度執(zhí)行。例(1810)進(jìn)程控制通過進(jìn)程控制原語開實(shí)現(xiàn),請分別描述創(chuàng)建原語和撤銷原語的操作過程。答:(1)創(chuàng)建原語:先申請一個(gè)空閑PCB區(qū)域,將有關(guān)信息填入PCB,置該進(jìn)程為就續(xù)狀態(tài),最后把它插入就緒隊(duì)列中。撤銷原語:找到要被撤銷進(jìn)程的PCB,將它匆匆所在隊(duì)列中消去,撤銷屬于該進(jìn)程的一切“子孫進(jìn)程”,釋放被撤銷進(jìn)程所占用的全部資源,并消去被撤銷進(jìn)程的PCB線程:在引入線程的操作系統(tǒng)中,線程是進(jìn)程中的一個(gè)實(shí)體,是調(diào)度和分派的基本單位,進(jìn)程是資源擁有的基本單位。線程自己基本上不擁有系統(tǒng)資源,只擁有少量在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其他線程共享進(jìn)程所擁有的全部資源。一個(gè)線程可以創(chuàng)建和撤銷另一個(gè)線程,同一個(gè)進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行。線程的屬性:每個(gè)線程有一個(gè)唯一的標(biāo)識符和一張線程描述表不同的線程可以執(zhí)行相同的程序同一進(jìn)程中各個(gè)線程共享該進(jìn)程的內(nèi)存地址空間線程是處理器的獨(dú)立調(diào)度單位,多個(gè)線程可以并發(fā)執(zhí)行一個(gè)線程被創(chuàng)建后便開始它的生命周期,在生命周期內(nèi)會經(jīng)歷等待狀態(tài)、就緒態(tài)、運(yùn)行態(tài)等各種狀態(tài)變化。引入線程的好處:創(chuàng)建/結(jié)束一個(gè)新線程花費(fèi)時(shí)間少、線程之間的切換花費(fèi)時(shí)間少在線程的兩種實(shí)現(xiàn)方式中:用戶級線程只存在于用戶態(tài)中,與內(nèi)核無關(guān)。內(nèi)核級線程所有線程的創(chuàng)建、撤銷、切換都由內(nèi)核實(shí)現(xiàn)。例(1710)請分別從資源分配、創(chuàng)建速度、通信、并行執(zhí)行效率的角度簡述多線程技術(shù)優(yōu)勢答:(1)創(chuàng)建線程無需另外分配資源,而創(chuàng)建進(jìn)程需分配資源(2)因?yàn)閯?chuàng)建線程無需分配資源,因此速度比創(chuàng)建進(jìn)程快(3)線程間通信在同一地址空間中進(jìn)行,不需額外的通信機(jī)制,所以通信簡單,信息傳遞速度更快。(4)線程能獨(dú)立執(zhí)行,充分利用,發(fā)揮處理器與外圍設(shè)備并行工作的能力。進(jìn)程調(diào)度:從就緒進(jìn)程中選取一個(gè)進(jìn)程,讓它占用處理器例(1910)什么是進(jìn)程調(diào)度?在設(shè)計(jì)調(diào)度算法時(shí)通常使用吞吐量、周轉(zhuǎn)時(shí)間和處理器利用率作為衡量指標(biāo),請解釋吞吐量和周轉(zhuǎn)時(shí)間的含義。答:進(jìn)程調(diào)度:即處理器調(diào)度,是指根據(jù)一定的調(diào)度算法,系統(tǒng)從就緒隊(duì)列中選擇一個(gè)進(jìn)程,把處理器分配給它。吞吐量:系統(tǒng)每小時(shí)完成的進(jìn)程數(shù)量。周轉(zhuǎn)時(shí)間:指從一個(gè)批處理進(jìn)程提交時(shí)刻開始直到該進(jìn)程完成時(shí)刻為止的統(tǒng)計(jì)平均時(shí)間處理器的調(diào)度方式分為搶占式、非搶占式調(diào)度算法的設(shè)計(jì)目標(biāo):資源利用率高、公平、平衡、強(qiáng)制執(zhí)行策略進(jìn)程調(diào)度算法:先來先服務(wù)算法FCFS:進(jìn)程按照它們請求處理器的順序使用處理器。公平、簡單最短進(jìn)程優(yōu)先算法SJF最短剩余時(shí)間優(yōu)先算法SRTN最高相應(yīng)比優(yōu)先算法HRRF:響應(yīng)比Rp=(等待時(shí)間+預(yù)計(jì)運(yùn)行時(shí)間)/預(yù)計(jì)運(yùn)行時(shí)間=周轉(zhuǎn)時(shí)間/預(yù)計(jì)運(yùn)行時(shí)間輪轉(zhuǎn)算法RR最高優(yōu)先級算法HPF多級反饋隊(duì)列算法:綜合先進(jìn)先出、時(shí)間片輪轉(zhuǎn)、可搶占式最高優(yōu)先級算法例(1904)什么是輪轉(zhuǎn)調(diào)度算法?請分析時(shí)間片長短對算法性能的影響。答:(1)輪轉(zhuǎn)調(diào)度算法是指將處理器的處理時(shí)間劃分成一個(gè)個(gè)時(shí)間片,就緒隊(duì)列中的諸進(jìn)程輪流運(yùn)行一個(gè)時(shí)間片。當(dāng)時(shí)間片結(jié)束時(shí),就強(qiáng)迫運(yùn)行進(jìn)程讓出處理器,該進(jìn)程進(jìn)入就緒隊(duì)列,等待下一次調(diào)度。(2)時(shí)間片太短,進(jìn)程切換頻繁,加重系統(tǒng)開銷。時(shí)間片太長,引起對短的交互請求的響應(yīng)時(shí)間變長。系統(tǒng)內(nèi)核:中斷處理程序、進(jìn)程同步與互斥、進(jìn)程調(diào)度、控制與通信、存儲管理、時(shí)鐘管理對內(nèi)核的各種功能調(diào)用通過執(zhí)行原語操作實(shí)現(xiàn)。進(jìn)程的同步與互斥????在邏輯上具有某種聯(lián)系的進(jìn)程稱為相關(guān)進(jìn)程,在邏輯上沒有任何聯(lián)系的進(jìn)程稱為無關(guān)進(jìn)程對于相關(guān)進(jìn)程來說,可能有若干并發(fā)進(jìn)程同時(shí)使用共享資源,形成交替使用共享資源,結(jié)果就會形成與時(shí)間相關(guān)的錯(cuò)誤。進(jìn)程的同步:進(jìn)程之間一種直接的協(xié)同工作關(guān)系,一些進(jìn)程相互合作,共同完成一項(xiàng)任務(wù)。進(jìn)程的互斥:各進(jìn)程間互斥的使用資源,是進(jìn)程間的一種間接制約關(guān)系。臨界資源:一次只允許一個(gè)進(jìn)程使用的資源。臨界區(qū):在進(jìn)程中訪問臨界資源的程序。如果有若干進(jìn)程共享某一臨界資源,則該臨界區(qū)稱為相關(guān)臨界區(qū)。相關(guān)臨界區(qū)的調(diào)度使用原則:有空讓進(jìn)、無空等待、多中擇一、有限等待、讓權(quán)等待信號量:一個(gè)用于標(biāo)識資源數(shù)目的整型量S。信號量是個(gè)被保護(hù)的量,只有P、V操作和信號量初始化操作才能訪問和改變它的值。PV操作是供進(jìn)程調(diào)用,執(zhí)行時(shí)不可中斷的過程,操作系統(tǒng)通常稱這種過程為原語P、V操作:P(S){S=S-1;若S<0,將該進(jìn)程狀態(tài)置為等待狀態(tài),然后將該進(jìn)程的PCB插入響應(yīng)的S信號量等待隊(duì)列末尾,直到有其他進(jìn)程在S上執(zhí)行V操作為止;}V(S){S=S+1;若S<=0,釋放在S信號量隊(duì)列中等待的一個(gè)進(jìn)程,將其狀態(tài)改變?yōu)榫途w態(tài),并將其插入就緒隊(duì)列;然后,執(zhí)行本操作的進(jìn)程繼續(xù)執(zhí)行;}信號量S表示某類可用的臨界資源。當(dāng)S>0時(shí),S值的大小表示某類可用資源的數(shù)量。當(dāng)S<0時(shí),S的絕對值表示排在S信號量的等待隊(duì)列中進(jìn)程的數(shù)目。每執(zhí)行一次P操作,意味著請求的進(jìn)程分配到一個(gè)資源每執(zhí)行一次V操作,意味著進(jìn)程釋放了一個(gè)資源。V操作在使用時(shí)必須成對出現(xiàn);互斥操作時(shí),它們同處于同一進(jìn)程;同步操作時(shí);不在同一進(jìn)程;既有同步又有互斥時(shí),同步P操作在互斥P操作前,V操作順序無關(guān)緊要。例有m個(gè)進(jìn)程共享一臨界資源,若使用信號量機(jī)制來實(shí)現(xiàn)臨界資源的互斥訪問,則該信號量的最小取值是1-m例用PV操作正確管理進(jìn)程互斥使用某共享資源情況下,假定現(xiàn)在有n-1個(gè)進(jìn)程(n>=3)在等待使用資源,那么調(diào)用過p操作的進(jìn)程數(shù)至少是n一個(gè)管程由管程名稱、共享數(shù)據(jù)說明、對數(shù)據(jù)進(jìn)行操作的一組過程和對共享數(shù)據(jù)賦初值的語句四個(gè)部分組成。管程能保障共享資源的互斥執(zhí)行,即一次只能由一個(gè)進(jìn)程可以在管程內(nèi)活動(dòng)。管程定義了一個(gè)共享變量的數(shù)據(jù)結(jié)構(gòu),以及在該數(shù)據(jù)結(jié)構(gòu)上所執(zhí)行的一組操作。管程的三個(gè)特性:模塊化、抽象數(shù)據(jù)類型、信息隱蔽管程中的共享變量在管程外部是不可見的,外部只能通過調(diào)用管程中所說明的外部過程(函數(shù))來間接的對其進(jìn)行訪問。進(jìn)程通信是一種高級通信方式,可以實(shí)現(xiàn)進(jìn)程間交換大量信息目前常用的通信方式有共享內(nèi)存、消息機(jī)制、管道通信。這三種方式可以稱為高級通信原語,它們不僅要保證相互制約的進(jìn)程間的正確關(guān)系,還要同時(shí)實(shí)現(xiàn)進(jìn)程之間的信息交換。消息機(jī)制:消息緩沖通信、信箱通信、管道通信死鎖????死鎖:是指一組進(jìn)程中的每一個(gè)進(jìn)程均無限期的等待被該組進(jìn)程中的另一個(gè)進(jìn)程所占有且永遠(yuǎn)不會釋放的資源的現(xiàn)象。死鎖產(chǎn)生的兩個(gè)原因:(1)競爭資源,系統(tǒng)資源分配不當(dāng),進(jìn)程內(nèi)對資源的相互爭奪而造成僵局。(2)多道程序運(yùn)行時(shí),進(jìn)程推進(jìn)順序不合理。死鎖產(chǎn)生的四個(gè)必要條件:互斥條件、不可剝奪條件、請求和保持條件、循環(huán)等待條件只要發(fā)生死鎖,則產(chǎn)生死鎖的四個(gè)必要條件一定成立。解決死鎖的方法:預(yù)防死鎖、避免死鎖、檢測與解除死鎖、忽略死鎖預(yù)防死鎖:破壞產(chǎn)生死鎖的四個(gè)必要條件之一。資源的靜態(tài)分配策略:若一個(gè)進(jìn)程已占用了某些資源,在申請新的資源時(shí),不能立即得到滿足,在變?yōu)榈却隣顟B(tài)之前,該進(jìn)程必須釋放已有的資源。若一個(gè)進(jìn)程申請某些資源,首先檢查這些資源是否可用,如果可用,就分配給該進(jìn)程。否則檢查這些資源是否分配給某個(gè)等待進(jìn)程,若是,則系統(tǒng)剝奪所需資源,分配給這個(gè)進(jìn)程。此方法破壞了不可剝奪條件。每個(gè)進(jìn)程在執(zhí)行前就申請它所需的全部資源,僅當(dāng)系統(tǒng)能滿足要求且一次性分配資源后,該進(jìn)程才能執(zhí)行。此方法破壞了請求和保持條件。資源的有序分配法:對系統(tǒng)中所有資源順序編號,規(guī)定任何一個(gè)進(jìn)程申請兩個(gè)以上資源時(shí),按資源編號順序申請,只有得到編號小的資源之后,才能申請編號大的資源。破壞了循環(huán)等待條件。避免死鎖:系統(tǒng)對進(jìn)程發(fā)出的每一個(gè)系統(tǒng)能夠滿足的資源申請進(jìn)行動(dòng)態(tài)檢查,并根據(jù)檢查結(jié)果決定是否分配資源;如果分配后系統(tǒng)可能發(fā)生死鎖,則不予分配,否則予以分配操作系統(tǒng)能保證所有的進(jìn)程在有限時(shí)間內(nèi)得到需要的全部資源,則稱系統(tǒng)處于安全狀態(tài)如果不存在任何一個(gè)安全序列,則系統(tǒng)處于不安全狀態(tài)。不安全狀態(tài)不一定導(dǎo)致死鎖但死鎖狀態(tài)一定是不安全狀態(tài)。銀行家算法:確保系統(tǒng)處于安全狀態(tài)時(shí)才把資源分配給申請的進(jìn)程,避免發(fā)生死鎖。例(1904)簡述死鎖預(yù)防與死鎖避免這兩種死鎖解決方法的含義答:死鎖預(yù)防是系統(tǒng)預(yù)先確定資源分配策略,這些策略至少能破壞死鎖四個(gè)必要條件中的一個(gè),進(jìn)程按規(guī)定申請資源,系統(tǒng)按預(yù)先規(guī)定的策略進(jìn)行分配,從而防止死鎖的發(fā)生。死鎖避免是當(dāng)進(jìn)程提出資源申請時(shí),系統(tǒng)先測試資源分配后系統(tǒng)的安全狀態(tài),僅當(dāng)能確保系統(tǒng)安全時(shí)才把資源分配給進(jìn)程,使系統(tǒng)一直處于安全狀態(tài)之中,從而避免死鎖。檢測與解除死鎖:死鎖檢測的實(shí)質(zhì)是通過檢測是否存在循環(huán)等待條件以此來確定死鎖的存在與否,并識別出與死鎖有關(guān)的進(jìn)程和資源。死鎖檢測的時(shí)機(jī):(1)一次資源分配后、(2)每次調(diào)度后、(3)定時(shí)器定時(shí)運(yùn)行檢測、(4)當(dāng)系統(tǒng)中某個(gè)進(jìn)程長期位于阻塞狀態(tài)或阻塞進(jìn)程過多時(shí)。死鎖的解除:剝奪資源、撤銷進(jìn)程資源分配圖:判定死鎖的法則,又稱為死鎖定理。有向圖SRAG=<V,E>(?表示進(jìn)程,方框表示每類資源,框中的圓點(diǎn)表示資源實(shí)例,申請邊是從進(jìn)程到資源的有向邊,分配便是從資源到進(jìn)程的有向邊)如果資源分配途中沒有環(huán)路,則系統(tǒng)沒有死鎖。如果資源分配圖中出現(xiàn)了環(huán)路,則系統(tǒng)中可能存在死鎖如果處于環(huán)路中的每個(gè)資源類中均中只包含一個(gè)資源實(shí)例,則環(huán)路的存在即意味著死鎖的存在,此時(shí),環(huán)路是死鎖的充分必要條件。如果處于環(huán)路中的每個(gè)資源類中資源實(shí)例的個(gè)數(shù)不全為一,則環(huán)路是死鎖的必要條件資源分配圖化簡:在資源分配圖中,找出一個(gè)既非等待又非孤立的進(jìn)程結(jié)點(diǎn)P,運(yùn)行后釋放它所占的全部資源,使之稱為孤立結(jié)點(diǎn)。將P所釋放的資源分配給申請它們的進(jìn)程重復(fù)(1)(2),直到找不到符合條件的進(jìn)程結(jié)點(diǎn)。經(jīng)過化簡后,若能消去資源分配圖中的所有邊,則該圖是可完全化簡的。系統(tǒng)的資源分配圖是不可完全簡化的,是死鎖的充分條件。例(1710)防止死鎖發(fā)生時(shí)可采用什么策略來使循環(huán)等待資源的條件不成立?這個(gè)策略如何應(yīng)用到5個(gè)哲學(xué)家就餐問題中?答:對資源采用按序分配的策略,修改第5個(gè)哲學(xué)家的程序,即規(guī)定每個(gè)哲學(xué)家想吃面條時(shí),總是從自己左右兩旁的筷子中先取編號小的筷子,再取編號大的筷子,對于第5個(gè)哲學(xué)家,她必須先拿右邊的筷子,再拿左邊的。例(1910)某系統(tǒng)中有10臺打印機(jī),有3個(gè)進(jìn)程P1、P2、P3分別需要8臺,7臺和4臺。若P1,P2,P3已申請到4臺、2臺、2臺。試問:(1)系統(tǒng)目前還有幾臺可申請的打印機(jī)?各進(jìn)程還需要幾個(gè)打印機(jī)?(2)目前系統(tǒng)是否處于安全狀態(tài)?為什么?答:(1)目前系統(tǒng)還有2臺可申請的打印機(jī)。進(jìn)程P1,P2,P3分別需要4臺、5臺、2臺。(2)系統(tǒng)處于安全狀態(tài)。根據(jù)目前的各進(jìn)程資源分配情況,可以先分配2臺打印機(jī)給進(jìn)程P3達(dá)到它最大需要,然后P3釋放其原來占有的打印機(jī),系統(tǒng)就會有4臺打印機(jī),然后分配給進(jìn)程P1達(dá)到它最大需求,這時(shí)系統(tǒng)有8臺打印機(jī),可滿足進(jìn)程P2最大需要,所以系統(tǒng)目前處于安全狀態(tài)。第六章存儲管理存儲管理的主要任務(wù):內(nèi)存的分配與回收、內(nèi)存擴(kuò)充、存儲共享、存儲保護(hù)絕對地址對應(yīng)的存儲空間稱為物理地址空間,邏輯地址對應(yīng)的存儲空間稱為邏輯地址空間把邏輯地址轉(zhuǎn)換成物理地址的過程稱為地址重定位/地址轉(zhuǎn)換/地址映射重定位的方式:動(dòng)態(tài)重定位、靜態(tài)重定位動(dòng)態(tài)重定位:在程序裝入時(shí)不進(jìn)行地址轉(zhuǎn)換,而是直接將程序裝入到分配的內(nèi)存區(qū)域中,程序運(yùn)行過程中,再將指令中的邏輯地址轉(zhuǎn)換為絕對地址地址動(dòng)態(tài)重定位方式適用于可變分區(qū)存儲管理、頁式存儲管理、頁式虛擬存儲管理靜態(tài)重定位:地址轉(zhuǎn)換工作是在程序開始執(zhí)行前集中完成的固定分區(qū):把內(nèi)存劃分成若干個(gè)大小固定的分區(qū),每個(gè)分區(qū)只裝入一道作業(yè)可變分區(qū):系統(tǒng)不預(yù)先劃分固定分區(qū),而是在程序裝入時(shí)劃分內(nèi)存分區(qū),使為程序分配的分區(qū)的大小正好等于該程序的需求量,且分區(qū)的個(gè)數(shù)可變??勺兎謪^(qū)有較大的靈活性,較之固定分區(qū)能獲得較好的內(nèi)存利用率。緊縮技術(shù):通過移動(dòng)內(nèi)存中的程序,把所有空閑碎片合并成一個(gè)連續(xù)的大空閑區(qū)且放在內(nèi)存的一端,把所有程序占用區(qū)放在內(nèi)存的另一端。查找和分配空閑的分配算法:最先適應(yīng)算法、最優(yōu)適應(yīng)算法、最壞適應(yīng)算法分區(qū)回收:若有相鄰空閑區(qū),則合并為一個(gè)。例在可變分區(qū)存儲管理中,某一作業(yè)完成后,系統(tǒng)收回其主存空間,并與相鄰空閑區(qū)合并,為此需修改空閑區(qū)表,造成空閑區(qū)數(shù)-2的情況是,有上鄰空閑區(qū),也有下鄰空閑區(qū)分區(qū)的保護(hù):保護(hù)鍵方法、設(shè)置界限寄存器覆蓋技術(shù):把程序劃分為若干個(gè)功能上相對獨(dú)立的程序段,按照其自身的邏輯結(jié)構(gòu)使哪些不會同時(shí)執(zhí)行的程序段共享同一塊內(nèi)存區(qū)域。交換技術(shù):將系統(tǒng)中不再運(yùn)行中的進(jìn)程或其一部分從內(nèi)存中調(diào)出,讓出內(nèi)存空間以調(diào)入其他需要內(nèi)存空間的進(jìn)程采用覆蓋技術(shù)與交換技術(shù)的目的是節(jié)省內(nèi)存空間以擴(kuò)充內(nèi)存。虛擬存儲技術(shù):利用大容量的外存來擴(kuò)充內(nèi)存,產(chǎn)生一個(gè)比有限的實(shí)際內(nèi)存空間大得多的、邏輯的虛擬內(nèi)存空間,簡稱虛存。采用頁式存儲管理的目的是提高內(nèi)存的利用率,采用虛擬存儲技術(shù)的目的擴(kuò)充內(nèi)存容量實(shí)現(xiàn)虛擬存儲器需要以下的硬件支持:系統(tǒng)有容量足夠大的外存。系統(tǒng)有一定容量的內(nèi)存。最主要的是,硬件提供實(shí)現(xiàn)虛-實(shí)地址映射的機(jī)制。虛擬技術(shù)同交換技術(shù)在原理上是類似的,其區(qū)別在于,交換技術(shù)是以進(jìn)程為單位進(jìn)行的,而虛擬存儲一般以頁為單位。例(1810)虛擬存儲器的工作原理是什么?答:當(dāng)進(jìn)程開始運(yùn)行時(shí),先將程序的一部分裝入內(nèi)存,另一部分暫時(shí)留在外存,當(dāng)要執(zhí)行的指令不在內(nèi)存時(shí),系統(tǒng)自動(dòng)完成將它們從外存調(diào)入內(nèi)存的工作,當(dāng)沒有足夠的內(nèi)存空間時(shí),系統(tǒng)自動(dòng)選擇部分內(nèi)存空間,將其原有的內(nèi)容交換到磁盤,并釋放這些內(nèi)存空間,供該進(jìn)程或其它進(jìn)程使用。頁式存儲器提供編程使用的虛擬地址由兩部分組成:虛擬頁號、頁內(nèi)地址例(1804)簡述虛擬頁式存儲的優(yōu)缺點(diǎn)。答:優(yōu)點(diǎn):由于其不要求進(jìn)程的程序段和數(shù)據(jù)在內(nèi)存中連續(xù)存放,從而有效解決碎片問題。既提高內(nèi)存利用率,又有利于組織多道程序執(zhí)行。缺點(diǎn):存在頁面空間的浪費(fèi)問題。位示圖:用于磁盤空間管理物理頁面號(塊號)=字號*字長+位號字號=塊號/字長,位號=塊號mod字長例使用8個(gè)字(字長32位)組成的位示圖來管理頁式主存空間的分配與回收,0表示空閑,1表示占用。假定將位示圖中字號為4,位號為5的空閑塊分配儲區(qū),則該塊的塊號是133頁表:程序虛擬地址中的頁號到物理頁面號之間的對應(yīng)關(guān)系。物理地址(頁幀/頁框號)=物理頁面號*塊長+頁內(nèi)地址轉(zhuǎn)換檢測緩沖區(qū)(TLB/快表)TLB只存儲當(dāng)前進(jìn)程中最活躍的少數(shù)活動(dòng)頁面的頁號,隨著進(jìn)程的推進(jìn),TLB的內(nèi)容動(dòng)態(tài)更新如果剛被調(diào)出的頁面又立即要用,因而把它裝入,裝入不久又被選中調(diào)出,調(diào)出不久又被裝入,如此反復(fù),使調(diào)度非常頻繁,這種現(xiàn)象稱為“抖動(dòng)”或“顛簸”頁面置換算法:理想頁面置換算法OPT、先進(jìn)先出頁面置換算法FIFO、最近最少使用頁面置換算法LRU缺頁率:缺頁數(shù)/訪問頁面總次數(shù)影響缺頁率的因素:分配給程序的物理頁面數(shù)、頁面的大小、程序編制方法、頁面調(diào)度算法第七章文件系統(tǒng)文件系統(tǒng)的主要目的:是為用戶提供按名存取的功能文件:一組帶標(biāo)識的、在邏輯上有完整意義的信息項(xiàng)的序列。文件系統(tǒng):操作系統(tǒng)中統(tǒng)一管理信息資源的軟件。外存儲設(shè)備:磁帶:存儲容量大,讀取速度慢,只能進(jìn)行順序存取。例(1804)假定某系統(tǒng)中,磁帶的記錄密度為每英寸800個(gè)字符,每個(gè)邏輯記錄長為160個(gè)字符,塊與塊之間的間隙為0.5英寸?,F(xiàn)有600個(gè)邏輯繼續(xù)需要存儲到磁帶上,請問:(1)如果不采用成組操作,磁帶空間的利用率是多少?(2)在采用6個(gè)邏輯記錄為一組的成組操作時(shí),磁帶空間的利用率是多少?答:(1)每個(gè)邏輯記錄需占用160/800=0.2英寸,利用率:0.2/(0.2+0.5)=28.57%(2)(6*160)/800=1.2英寸,利用率:1.2/(1.2+0.5)=70.59%磁盤:存儲容量大,成本低,隨機(jī)存取光盤:非磁記錄介質(zhì),容量大,速度快,價(jià)格便宜,一般不可寫閃存:電可擦除,可隨機(jī)存取,可靠性高文件的存取方式:由文件的性質(zhì)和用戶使用文件的情況而確定。常用的文件存取方式:順序存取和隨機(jī)存取兩種。文件的分類:按文件的用途分類:系統(tǒng)文件、用戶文件、庫函數(shù)文件按文件的組織形式分類:普通文件、目錄文件、特殊文件按保護(hù)方式分類:只讀文件、讀寫文件、可執(zhí)行文件、無保護(hù)文件按信息的流向分類:輸入文件、輸出文件、輸入輸出文件按案件的存放時(shí)限:臨時(shí)文件、永久文件、檔案文件按文件的組織結(jié)構(gòu)分類:順序文件、鏈接文件、索引文件UNIX系統(tǒng)中文件分類:普通文件、目錄文件、特殊文件(UNIX把I/O設(shè)備看成是特殊文件)文件的邏輯結(jié)構(gòu):用戶看到的文件的組織結(jié)構(gòu)。按邏輯結(jié)構(gòu)把文件劃分成三類:無結(jié)構(gòu)的字符流式文件、定長記錄文件、不定長記錄文件文件的物理結(jié)構(gòu):文件在實(shí)際的存儲空間存儲時(shí)的結(jié)構(gòu)。常用的文件物理結(jié)構(gòu)有:順序結(jié)構(gòu)、鏈接結(jié)構(gòu)、索引結(jié)構(gòu)順序結(jié)構(gòu):把邏輯上連續(xù)的文件信息依次存放在連續(xù)編號的物理塊中,支持順序存取和隨機(jī)存取。優(yōu)點(diǎn)對于順序存取存取速度快,缺點(diǎn)文件不能動(dòng)態(tài)增長。鏈接結(jié)構(gòu):將邏輯上連續(xù)的文件分散存儲在若干不連續(xù)的物理塊中。在每個(gè)物理塊中都設(shè)有一個(gè)指針,指向其后續(xù)需的物理塊。優(yōu)點(diǎn)解決碎片問題,有利于文件動(dòng)態(tài)擴(kuò)充,提高了磁盤空間利用率。缺點(diǎn)存取速度慢,不適于隨機(jī)存取文件,可靠性差。索引結(jié)構(gòu):把每個(gè)物理盤塊的指針字集中存儲在稱為索引表的數(shù)據(jù)結(jié)構(gòu)中的內(nèi)存索引表中。優(yōu)點(diǎn)適用順序存取和隨機(jī)存取,滿足文件動(dòng)態(tài)增長,滿足文件插入、刪除的要求。缺點(diǎn)會引起較多的尋道次數(shù)和尋道時(shí)間,索引表本身增加了存儲空間的開銷。每個(gè)索引文件都有一個(gè)索引表,索引表的條目包含文件的邏輯塊號及所對應(yīng)的物理塊號文件控制塊FCB:為了實(shí)現(xiàn)按名存取,操作系統(tǒng)給每個(gè)文件都設(shè)置了一個(gè)描述性數(shù)據(jù)結(jié)構(gòu),即文件控制塊,它是文件存在的標(biāo)志。把所有文件的描述性數(shù)據(jù)結(jié)構(gòu)組織起來,就構(gòu)成了文件目錄。一個(gè)FCB就是一個(gè)目錄項(xiàng)一級目錄結(jié)構(gòu):簡單,容易實(shí)現(xiàn)。不能重名,搜索效率較低二級目錄結(jié)構(gòu):第一級為主文件目錄,給出用戶名和用戶子目錄所在物理位置。第二級為用戶文件目錄,給出該用戶所有文件的FCB。解決文件重名問題、實(shí)現(xiàn)用戶間的文件共享多級目錄結(jié)構(gòu)/樹型目錄:搜索速度快、同一子目錄下文件名不能重復(fù)、有利于文件保護(hù)例(1704)簡述設(shè)置文件目錄的主要目的以及目錄項(xiàng)中包括的主要內(nèi)容答:目的:實(shí)現(xiàn)按名存取。包含:有關(guān)文件存取控制的信息;有關(guān)文件結(jié)構(gòu)的信息和有關(guān)文件管理的信息。磁盤空間的分配回收算法:位示圖、空閑塊表、空閑塊鏈表、空閑塊成組鏈接法系統(tǒng)打開文件表:專門用于保存已打開文件的文件控制塊,通常放在內(nèi)存。典型的文件操作:1.建立文件2.打開文件3.讀文件4.寫文件5.關(guān)閉文件6.刪除文件打開文件:是使用文件的第一步,把文件控制塊PCB送到內(nèi)存記錄的成組:把若干個(gè)邏輯記錄合成一組存儲一物理塊。每塊中的邏輯記錄個(gè)數(shù)稱為塊因子記錄的分解:從一組邏輯記錄中把一個(gè)邏輯記錄分離出來。記錄的成組和分解技術(shù)是磁盤高速緩存的一種應(yīng)用,具有提高存儲空間利用率和減少啟動(dòng)設(shè)備次數(shù)的優(yōu)點(diǎn)。文件共享:一個(gè)文件可以允許多個(gè)用戶共同使用引起文件破壞丟失的可能原因:災(zāi)禍、硬件或軟件故障、人為出錯(cuò)保護(hù)文件的方法:建立副本、定時(shí)轉(zhuǎn)儲常用的保護(hù)文件內(nèi)容方法:對用戶的存取權(quán)限實(shí)施控制。當(dāng)用戶數(shù)目和文件數(shù)目不多時(shí),可以用存取控制矩陣方式,但是當(dāng)文件和用戶較多時(shí),為了減少空間和時(shí)間開銷,則采用二級存取控制方式。文件保密的目的:防止不經(jīng)文件擁有者授權(quán)而竊取文件。常用文件保密措施:隱蔽文件目錄、設(shè)置口令、使用密碼、病毒防范第八章I/O設(shè)備管理I/O設(shè)備分類:按設(shè)備使用特性分類:輸入設(shè)備、輸出設(shè)備、交互式設(shè)備、存儲設(shè)備按設(shè)備信息組織方式分類:字符設(shè)備、塊設(shè)備按設(shè)備可共享性分類:獨(dú)占設(shè)備、共享設(shè)備、虛擬設(shè)備虛擬設(shè)備:在一類設(shè)備上模擬另一設(shè)備,被模擬的設(shè)備為虛擬設(shè)備。目的:提高設(shè)備利用率。I/O硬件組成:物理設(shè)備、電子部件I/O軟件組成:中斷處理程序、設(shè)備驅(qū)動(dòng)程序、設(shè)備獨(dú)立的操作系統(tǒng)軟件、用戶級軟件設(shè)備獨(dú)立性:設(shè)計(jì)I/O軟件的一個(gè)最關(guān)鍵的目標(biāo)例(1910)什么是設(shè)備獨(dú)立性?實(shí)現(xiàn)設(shè)備獨(dú)立性的好處是什么?答:設(shè)備獨(dú)立性就是應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。好處:提高設(shè)備管理軟件的設(shè)計(jì)效率,當(dāng)I/O設(shè)備更新時(shí),不需要重新編寫全部軟件。I/O設(shè)備控制方式:程序控制方式、中斷控制方式、DMA控制方式、通道控制方式。程序控制方式PIO:由用戶進(jìn)程直接控制處理器與外圍設(shè)備之間信息傳送的方式,也稱為忙-等方式、輪詢方式、循環(huán)測試方式。這種方式的控制著是用戶進(jìn)程。優(yōu)點(diǎn):處理器和外設(shè)的操作能通過狀態(tài)信息得到同步,硬件結(jié)構(gòu)簡單。缺點(diǎn):處理器效率低,無實(shí)時(shí)響應(yīng)能力中斷控制方式:發(fā)生異常事件時(shí)調(diào)用相應(yīng)處理程序進(jìn)行服務(wù)的過程。優(yōu)點(diǎn):提高計(jì)算機(jī)效率、可靠性,具有實(shí)時(shí)響應(yīng)能力。DMA(直接訪問內(nèi)存)控制方式:完全由硬件執(zhí)行I/O數(shù)據(jù)交換,直接在內(nèi)存和I/O設(shè)備之間進(jìn)行。優(yōu)點(diǎn):傳輸速度快,減少處理器開銷,效率高。通道控制方式:目的:進(jìn)一步減少數(shù)據(jù)輸入輸出對整個(gè)系統(tǒng)運(yùn)行效率的影響。一個(gè)系統(tǒng)中可設(shè)立三種類型的通道:選擇通道、數(shù)組多路通道、字節(jié)多路通道。例(1704)解釋通道命令、通道程序、通道地址字和通道狀態(tài)字。答:通道命令:規(guī)定的設(shè)備一種操作的命令。通道程序:若干條通道命令組成的程序,由通道執(zhí)行,完成一次I/O操作。通道地址字:用來存放通道程序首地址的主存固定單元。通道狀態(tài)字:用來記錄通道程序執(zhí)行結(jié)果的主存固定單元。例(1904)請回答通道有哪三種類型?簡述三類通道的優(yōu)缺點(diǎn)。答:通道的三種類型是:選擇通道、數(shù)組多路通道、字節(jié)多路通道。選擇通道優(yōu)點(diǎn)是以數(shù)據(jù)塊為單位傳輸,傳輸效率高,缺點(diǎn)是通道利用率低。數(shù)組多路通道優(yōu)點(diǎn)是以數(shù)據(jù)塊為單位進(jìn)行傳輸,傳輸率高,具有多路并行操作的能力,通道利用率高,缺點(diǎn)是控制復(fù)雜。字節(jié)多路通道優(yōu)點(diǎn)是具有多路并行操作能力,缺點(diǎn)是以字節(jié)為單位傳輸,傳輸效率低。設(shè)備分配算法數(shù)據(jù)結(jié)構(gòu)包含四張表:系統(tǒng)設(shè)備表、設(shè)備控制表、控制器控制表、通道控制表設(shè)備的絕對號:系統(tǒng)為每一臺設(shè)備確定一個(gè)編號設(shè)備的相對號:由用戶在程序中定義的設(shè)備的編號指定設(shè)備的方式:1.絕對號2.設(shè)備類、相對號為了提高設(shè)備分配的靈活性,用戶用“設(shè)備類、相對號”來提出使用設(shè)備的要求;用戶程序中所指定的設(shè)備可與實(shí)際能占用的設(shè)備無關(guān)。磁盤調(diào)度:執(zhí)行依次輸入輸出所花的時(shí)間:尋找時(shí)間、延遲時(shí)間、傳送時(shí)間塊號b=扇區(qū)k+扇區(qū)數(shù)s*(磁頭j+柱面i*磁道數(shù)t)柱面號=第p塊/(扇區(qū)數(shù)*磁道數(shù))磁頭號=(第p塊mod(扇區(qū)數(shù)*磁道數(shù)))/扇區(qū)數(shù)扇區(qū)號=(第p塊mod(扇區(qū)數(shù)*磁道數(shù)))mod扇區(qū)數(shù)移臂調(diào)度:根據(jù)訪問者指定的柱面位置來決定執(zhí)行次序的調(diào)度移臂調(diào)度的目的:盡可能減少操作中的尋找時(shí)間常用的移臂調(diào)度算法:先來先服務(wù)調(diào)度算法、最短尋找時(shí)間調(diào)度算法、電梯調(diào)度算法、單向掃描算法。旋轉(zhuǎn)調(diào)度:根據(jù)延遲時(shí)間來就決定執(zhí)行次序的調(diào)度。緩沖的引入:為了緩解I/O設(shè)備與CPU速度的不匹配問題緩沖技術(shù)分為:單緩沖、雙緩沖、多緩沖、緩沖池SPOOLing技術(shù):同時(shí)的外部設(shè)備聯(lián)機(jī)操作,也稱為假脫機(jī)技術(shù)。SPOOLing系統(tǒng)包括:輸入程序模塊、輸出程序模塊、作業(yè)調(diào)度程序三部分。SPOOLing:把獨(dú)占設(shè)備改造成了共享設(shè)備,從而提高了設(shè)備的利用率和系統(tǒng)效率。綜合題:P、V操作:例(1804)在多個(gè)生產(chǎn)者-消費(fèi)者問題中,設(shè)置信號量mutex,初值為1,用于實(shí)現(xiàn)臨界區(qū)(喚醒緩沖池)的互斥;信號量empty,初值為k,用于標(biāo)識緩沖池中空緩沖區(qū)的數(shù)目;信號量full,初值為0,用于標(biāo)識緩沖區(qū)中產(chǎn)品的數(shù)目。另設(shè)整形變量i和j,初值均為0,i表示空緩沖區(qū)的頭指針,j表示有產(chǎn)品緩沖區(qū)的頭指針。生產(chǎn)者進(jìn)程P1,P2,....,Pa;i=0;While(true){生產(chǎn)一個(gè)產(chǎn)品;P(empty);P(mutex);往Buffer[i]中放一個(gè)此產(chǎn)品;i=(i+1)modk;V(mutex);V(full);}消費(fèi)者進(jìn)程Q1,Q2,....,Qm;j=0;While(true){P(full);P(mutex);從Buffer[j]中取一個(gè)產(chǎn)品;j=(j+1)modk;V(mutex);V(empty);消費(fèi)一個(gè)產(chǎn)品;}例(1704)若有一個(gè)文件F,供多進(jìn)程讀?,F(xiàn)把進(jìn)程分成A,B兩組,規(guī)定同組的進(jìn)程可以同時(shí)讀文件F,但不同組的進(jìn)程不能同時(shí)讀文件F?,F(xiàn)定義兩個(gè)計(jì)數(shù)器C1和C2分別記錄A組和B組中正在讀文件F的進(jìn)程數(shù)。當(dāng)用PV操作進(jìn)行管理時(shí)設(shè)置三個(gè)信號量S1、S2、SAB才能保證正確并發(fā)執(zhí)行,程序結(jié)構(gòu)如下:BeginS1,S2,SAB:semaphore;C1,C2:integer;S1:=1;S2:=1;SAB:=1;C1:=0;C2:=0;CobeginProcessAi(i=1,2,...)//A組讀進(jìn)程BeginP(S1);C1:=C1+1;IfC1=1thenP(SAB);V(S1);ReadfileF;P(S1);C1:=C1-1;IfC1=0thenV(SAB);V(S1);End;ProcessBj(j=1,2...)//B組讀進(jìn)程BeginP(S2);C2:C2+1;IfC2=1thenP(SAB);V(S2);ReadfileF;P(S2);C2:=C2-1;IfC2=0thenV(SAB);V(S2);End;Coend;End;說明信號量S1,S2,SAB的作用。答:S1是對計(jì)數(shù)器C1的互斥信號量,S2是對C2互斥信號量,SAB是AB兩組的互斥信號量例(1904)桌上有一空盤,只允許存放一個(gè)水果,爸爸可向盤中放蘋果或橘子,兒子專吃盤中的橘子,女兒轉(zhuǎn)持盤中的蘋果。規(guī)定當(dāng)盤空時(shí)一次只能放一個(gè)水果供吃者取用。程序如下Semaphores1=1;semaphores2=0;semaphores3=0;爸爸進(jìn)程:While(true){P(s1);If(放入的是蘋果)V(s2);ElseV(s3);}女兒進(jìn)程:While(true){P(s2);從盤中取蘋果;V(s1);}兒子進(jìn)程:While(true){P(s3);從盤中取橘子;V(s1);}進(jìn)程算法:例(1904)某單CPU系統(tǒng)有如下一批處于就緒狀態(tài)的進(jìn)程給出在先來先服務(wù)FCFS算法和最短進(jìn)程優(yōu)先SJF算法下各進(jìn)程的各時(shí)間填表計(jì)算在各算法下的平均周轉(zhuǎn)時(shí)間。進(jìn)程進(jìn)入就緒隊(duì)列的先后順序運(yùn)行時(shí)間FCFSSJF開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間110010109191921101111011321113132444113141412255141919499FCFS:(10+11+13+14+19)/5=13.4SJF:(19+1+4+2+9)/5=7缺頁:例(1904)某程序在內(nèi)存分配三個(gè)頁面,初始為空,所需頁面的走向?yàn)?、1、2、3、0、1、4、0、1、2、3、4,請給出分別采用先進(jìn)先出頁面置換算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外籍人員用餐管理辦法
- 維修質(zhì)量風(fēng)險(xiǎn)管理辦法
- 電廠燃料采購管理辦法
- 后勤職工培訓(xùn)課件
- 肝膿腫護(hù)理課件下載
- 肝臟生理功能課件中醫(yī)
- 福州八上期中數(shù)學(xué)試卷
- 肝病用藥護(hù)理課件
- 肝病心理護(hù)理課件下載
- 高中學(xué)考往年數(shù)學(xué)試卷
- 太極拳理論考試復(fù)習(xí)題
- 《水利水電工程白蟻實(shí)時(shí)自動(dòng)化監(jiān)測預(yù)警系統(tǒng)技術(shù)規(guī)范》
- 2024年湖北省中考英語試卷
- GB/T 15316-2024節(jié)能監(jiān)測技術(shù)通則
- 科創(chuàng)板股票開戶知識測評題庫及答案
- 幼兒園食堂舉一反三自查報(bào)告
- 光伏分布式項(xiàng)目日報(bào)模板
- 蘇科版九年級物理上冊一課一測-11.1杠桿
- 中試平臺管理制度
- 診斷學(xué)題庫(附答案)
- 重要概念一胎產(chǎn)式胎兒身體縱軸與母體縱軸之間的關(guān)系
評論
0/150
提交評論