




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第1章章 操作系統(tǒng)概論操作系統(tǒng)概論 1. 操作系統(tǒng)定義操作系統(tǒng)定義地位:硬件層之上,所有其他軟件層之下。作用:管理系統(tǒng)中軟件硬件資源;為用戶(應(yīng)用程序)提供良好的服務(wù)(界面)。定義:操作系統(tǒng)是位于硬件層之上,所有其它軟件層之下的一個(gè)系統(tǒng)軟件,是管理系統(tǒng)中各種軟硬件資源,方便用戶使用計(jì)算機(jī)系統(tǒng)的程序集合。2. 操作系統(tǒng)的特征操作系統(tǒng)的特征 并發(fā)性、共享性、異步性和虛擬性。3. 操作系統(tǒng)的分類操作系統(tǒng)的分類 批處理系統(tǒng)、實(shí)時(shí)系統(tǒng)、分時(shí)系統(tǒng)、通用操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)、嵌入式操作系統(tǒng)、多處理機(jī)操作系統(tǒng)(主從式和對稱多處理機(jī)模式)4. 操作系統(tǒng)的硬件環(huán)境操作系統(tǒng)的硬件環(huán)境 CPU狀態(tài)
2、:目態(tài)和管態(tài) 特權(quán)指令與非特權(quán)指令、系統(tǒng)棧、存儲(chǔ)保護(hù)設(shè)施、中斷裝置、通道與DMA控制器5.操作系統(tǒng)面向用戶提供接口操作系統(tǒng)面向用戶提供接口 程序級(jí)接口,系統(tǒng)調(diào)用命令 作業(yè)級(jí)接口,分為聯(lián)機(jī)作業(yè)接口(終端命令)和脫機(jī)作業(yè)接口(作業(yè)控制語言)第第2章章 進(jìn)程、線程和作業(yè)進(jìn)程、線程和作業(yè) 1.多道程序設(shè)計(jì)多道程序設(shè)計(jì)設(shè)計(jì)目標(biāo):提高系統(tǒng)效率。多道程序設(shè)計(jì)的問題:處理機(jī)資源管理、存儲(chǔ)資源管理、設(shè)備資源管理。2.進(jìn)程進(jìn)程引入進(jìn)程的目的:為了多個(gè)程序并發(fā)執(zhí)行,改善資源利用率和提高系統(tǒng)的吞吐量。進(jìn)程的定義:進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于一個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。進(jìn)程控制塊PCB:是為描述進(jìn)程的運(yùn)動(dòng)變化過程而
3、采用的一個(gè)與進(jìn)程相聯(lián)系的數(shù)據(jù)結(jié)構(gòu)。它用來記錄系統(tǒng)管理進(jìn)程所需的信息,描述進(jìn)程的瞬間特征。它是進(jìn)程的唯一實(shí)體,操作系統(tǒng)通過PCB而感知進(jìn)程的存在。通常PCB包括進(jìn)程的標(biāo)識(shí)符、進(jìn)程的現(xiàn)行狀態(tài)、CPU保護(hù)區(qū)、進(jìn)程起始地址、資源清單和進(jìn)程優(yōu)先級(jí)等相關(guān)內(nèi)容。進(jìn)程的組成:PCB、程序和數(shù)據(jù)進(jìn)程上下文:進(jìn)程實(shí)體+進(jìn)程運(yùn)行的物理環(huán)境進(jìn)程的特征:動(dòng)態(tài)性、并發(fā)性、交往性、結(jié)構(gòu)性、獨(dú)立性、異步性進(jìn)程的分類:系統(tǒng)進(jìn)程和用戶進(jìn)程進(jìn)程的關(guān)系:相關(guān)進(jìn)程和無關(guān)進(jìn)程 進(jìn)程的管理與控制原語:創(chuàng)建原語、撤銷原語、阻塞原語、喚醒原語、掛起原語和解除掛起原語。進(jìn)程的狀態(tài):三狀態(tài)、五狀態(tài)和七狀態(tài)轉(zhuǎn)換圖及轉(zhuǎn)換原因程序和進(jìn)程的聯(lián)系與區(qū)別。可
4、再入程序:在執(zhí)行過程中自身不發(fā)生任何改變。 3.線程線程線程的定義:進(jìn)程內(nèi)部具有獨(dú)立功能的執(zhí)行流。引入:切換速度快、系統(tǒng)開銷小、通訊容易線程控制塊TCB:標(biāo)志線程存在的數(shù)據(jù)結(jié)構(gòu),包含線程控制的全部信息線程的狀態(tài):就緒、運(yùn)行、等待線程的分類:用戶級(jí)線程(庫函數(shù)創(chuàng)建)和核心級(jí)別的線程(系統(tǒng)調(diào)用創(chuàng)建)進(jìn)程與線程:進(jìn)程是資源分配的最小單位,線程是處理器分配的最小單位。4.作業(yè)作業(yè)(1)基本概念作業(yè):就是用戶在一次計(jì)算過程中或一個(gè)事務(wù)處理中要求計(jì)算機(jī)系統(tǒng)所做工作的集合。作業(yè)步:要求計(jì)算機(jī)系統(tǒng)做的一項(xiàng)相對獨(dú)立的工作叫做一個(gè)作業(yè)步。在邏輯上,我們可以說一個(gè)作業(yè)是由一系列有序的作業(yè)步所組成。一個(gè)作業(yè)內(nèi)的作業(yè)步
5、總是相互關(guān)聯(lián)的。作業(yè)流:在批處理系統(tǒng)中,通常把一批作業(yè)或者按用戶提交的先后次序,或者按某種優(yōu)先原則,依次安置在相應(yīng)的輸入裝置上,并在系統(tǒng)控制下,依次將它們輸入到輔助存儲(chǔ)器中,這樣就形成了一個(gè)作業(yè)流。小的計(jì)算機(jī)系統(tǒng)只有一個(gè)作業(yè)流,大的系統(tǒng)可能有幾個(gè)作業(yè)流。(2)作業(yè)的分類 根據(jù)計(jì)算機(jī)系統(tǒng)對作業(yè)處理方式的不同可分為批量型作業(yè)和終端型作業(yè)。 根據(jù)對批量型作業(yè)運(yùn)行過程控制方式不同可分為脫機(jī)作業(yè)和聯(lián)機(jī)作業(yè)。(3)用戶與操作系統(tǒng)之間的接口 通常操作系統(tǒng)提供兩類用戶接口:一類是用于程序一級(jí)的接口,一類是用于作業(yè)控制一級(jí)的接口。用于作業(yè)控制一級(jí)的接口又分為脫機(jī)用戶和聯(lián)機(jī)用戶的接口。 程序一級(jí)的接口:它是由一組
6、系統(tǒng)調(diào)用命令組成。這是為程序員與操作系統(tǒng)打交道而提供的。所謂系統(tǒng)調(diào)用,就是用戶在程序中調(diào)用操作系統(tǒng)所提供的一些子功能。聯(lián)機(jī)用戶或交互式用戶的接口:它是由一組鍵盤操作命令組成。用戶們通過控制臺(tái)鍵入操作命令,向系統(tǒng)提出請求。該操作命令由命令解釋系統(tǒng)進(jìn)行解釋執(zhí)行,完成指定的操作。脫機(jī)或批處理用戶的接口:它是由一組作業(yè)控制命令(或稱作業(yè)控制語言)組成。脫機(jī)用戶將事先用相應(yīng)的作業(yè)控制命令寫成的作業(yè)操作說明書,連同其作業(yè)一起提交給系統(tǒng),由系統(tǒng)中命令解釋程序?qū)ζ洳僮髡f明書上的命令逐條解釋執(zhí)行。(4)作業(yè)控制所完成的功能 作業(yè)的輸入; 程序的匯編(編譯)及裝入; 作業(yè)在運(yùn)行過程中出現(xiàn)故障后的處理; 作業(yè)運(yùn)行結(jié)
7、束后的處理。(5)作業(yè)控制方式 脫機(jī)作業(yè)控制,也稱為作業(yè)的自動(dòng)控制方式,它是為脫機(jī)用戶提供的; 聯(lián)機(jī)作業(yè)控制,也稱為作業(yè)的直接控制方式,它是為聯(lián)機(jī)或終端用戶提供的。(6)作業(yè)的狀態(tài) 后備狀態(tài):操作員將用戶提交的作業(yè)通過脫機(jī)輸入或調(diào)用SPOOLing系統(tǒng)輸入進(jìn)程,將作業(yè)輸入到輸入井,并把它加入到后備作業(yè)隊(duì)列中,等待作業(yè)調(diào)度程序調(diào)度。 執(zhí)行狀態(tài):一個(gè)作業(yè)被作業(yè)調(diào)度程序選中并分配了必要的資源,建立了一組相應(yīng)的進(jìn)程后,該作業(yè)就進(jìn)入了執(zhí)行狀態(tài)。 完成狀態(tài):當(dāng)作業(yè)正常運(yùn)行結(jié)束或因發(fā)生錯(cuò)誤而終止時(shí),作業(yè)進(jìn)入完成階段。此時(shí),由系統(tǒng)的“終止作業(yè)”程序?qū)⑵渥鳂I(yè)控制塊從現(xiàn)行作業(yè)隊(duì)列中除去,并負(fù)責(zé)回收資源,然后將作業(yè)
8、的運(yùn)行結(jié)果信息編入輸出文件,再用有關(guān)設(shè)備通過聯(lián)機(jī)輸出設(shè)備輸出。 作業(yè)的調(diào)度又稱為高級(jí)調(diào)度或宏觀調(diào)度。它根據(jù)系統(tǒng)的情況和作業(yè)調(diào)度策略將一些作業(yè)置于“執(zhí)行狀態(tài)”。由于作業(yè)調(diào)度程序選擇到的作業(yè)只是有資格獲得處理機(jī),但不一定立刻就能占有它并在其上運(yùn)行,一個(gè)已被作業(yè)調(diào)度程序調(diào)度到的作業(yè)(或它的相應(yīng)進(jìn)程)何時(shí)能夠真正在物理處理機(jī)上運(yùn)行,則取決于“進(jìn)程調(diào)度”所遵循的調(diào)度策略。 第第3章章 處理機(jī)調(diào)度處理機(jī)調(diào)度 1.多級(jí)調(diào)度多級(jí)調(diào)度低級(jí)調(diào)度:進(jìn)程調(diào)度中級(jí)調(diào)度:交換高級(jí)調(diào)度:作業(yè)調(diào)度2.處理機(jī)調(diào)度須解決的問題處理機(jī)調(diào)度須解決的問題依照什么原則分配處理機(jī), 即需要確定處理機(jī)調(diào)度算法;什么時(shí)候分配處理機(jī), 即需要確
9、定處理機(jī)調(diào)度時(shí)機(jī);如何分配處理機(jī), 即需要給出處理機(jī)調(diào)度過程。3.處理機(jī)調(diào)度算法選擇的標(biāo)準(zhǔn)處理機(jī)調(diào)度算法選擇的標(biāo)準(zhǔn) 調(diào)度算法的選擇應(yīng)當(dāng)與系統(tǒng)的設(shè)計(jì)目標(biāo)相一致,同時(shí)考慮公平性與用戶滿意程度。具體考慮如下指標(biāo):CPU利用率:使CPU盡量處于忙碌狀態(tài);吞吐量:單位時(shí)間內(nèi)所處理計(jì)算任務(wù)的數(shù)量;周轉(zhuǎn)時(shí)間;從計(jì)算任務(wù)就緒到處理完畢;響應(yīng)時(shí)間:從任務(wù)就緒到開始處理;系統(tǒng)開銷:系統(tǒng)調(diào)度進(jìn)程過程中所付出的時(shí)空代價(jià)。4.進(jìn)程調(diào)度進(jìn)程調(diào)度 處理機(jī)的調(diào)度算法:處理機(jī)調(diào)度通常采用FCFS、短進(jìn)程優(yōu)先(SJF)、優(yōu)先數(shù)法(HPF)、循環(huán)輪轉(zhuǎn)法(RR)、分類排隊(duì)法、最短剩余時(shí)間法、反饋排隊(duì)法(FB)等。5.處理機(jī)調(diào)度過程處
10、理機(jī)調(diào)度過程處理機(jī)調(diào)度過程:保存下降進(jìn)程現(xiàn)場;選擇將要運(yùn)行進(jìn)程;恢復(fù)上升進(jìn)程現(xiàn)場。6.作業(yè)調(diào)度作業(yè)調(diào)度作業(yè)調(diào)度程序通常作為一個(gè)進(jìn)程在系統(tǒng)中執(zhí)行。它在系統(tǒng)初始化時(shí)被創(chuàng)建。它的主要功能是審查系統(tǒng)是否能滿足用戶作業(yè)的資源要求以及按照一定的算法選取作業(yè)。作業(yè)調(diào)度可以采用不同的算法。對于非多道程序系統(tǒng)一般有:先來先服務(wù)(FCFS)調(diào)度算法 、最短作業(yè)優(yōu)先(SJF)調(diào)度算法 、響應(yīng)比高者優(yōu)先(HRN)的調(diào)度算法 對于多道程序系統(tǒng),常用的作業(yè)調(diào)度算法有:先來先服務(wù)的調(diào)度算法 、優(yōu)先級(jí)的作業(yè)調(diào)度 、分時(shí)和優(yōu)先級(jí)相結(jié)合的作業(yè)調(diào)度。 7.實(shí)時(shí)調(diào)度實(shí)時(shí)調(diào)度(real-time scheduling)(1)實(shí)時(shí)調(diào)度相
11、關(guān)的幾個(gè)概念:實(shí)時(shí)任務(wù)產(chǎn)生并可以開始處理的時(shí)間稱為就緒時(shí)間(ready time);實(shí)時(shí)任務(wù)最遲開始處理時(shí)間稱為開始截止期(starting deadline);實(shí)時(shí)任務(wù)處理所需要的處理機(jī)時(shí)間稱為處理時(shí)間(processing time);實(shí)時(shí)任務(wù)最遲完成時(shí)間稱為完成截止期(completion deadline);周期性實(shí)時(shí)任務(wù)的發(fā)生間隔時(shí)間稱為發(fā)生周期(occurring period);實(shí)時(shí)任務(wù)的相對緊迫程度通常用優(yōu)先級(jí)表示。(2)實(shí)時(shí)調(diào)度算法:1)最早截止期優(yōu)先調(diào)度優(yōu)先選擇完成截止期最早的實(shí)時(shí)任務(wù),新到達(dá)的實(shí)時(shí)任務(wù),如果其完成截止期先于正在運(yùn)行任務(wù)的完成截止期,則重新分派處理機(jī),即剝奪
12、可以證明,對于EDF算法來說,公式:是實(shí)時(shí)任務(wù)可調(diào)度的充分條件2)速率單調(diào)調(diào)度RMS將任務(wù)的周期作為調(diào)度參數(shù),其發(fā)生頻度越高則調(diào)度級(jí)別越高。已經(jīng)證明,RMS算法可調(diào)度的條件如下:11niiiTC) 12(11niniinTC第第4章章 互斥、同步與通信互斥、同步與通信 1.并發(fā)進(jìn)程并發(fā)進(jìn)程程序并發(fā)的基本特征:程序運(yùn)行失去封閉性、運(yùn)行結(jié)果不可再現(xiàn)性、異步性。進(jìn)程并發(fā)執(zhí)行的條件:Bernstein條件。假設(shè)程序P(i)所訪問的共享變量的讀集和寫集分別為R(i)和W(i),則任意兩個(gè)程序P(j)和P(i)可以并發(fā)執(zhí)行的條件有三條:R(i)W(j)=; W(i)R(j)= ; W(i)W(j)= 。2
13、.臨界資源與臨界區(qū)臨界資源與臨界區(qū)臨界資源:一次僅允許一個(gè)進(jìn)程使用的資源。臨界區(qū):在進(jìn)程中對于臨界資源訪問的程序段。臨界區(qū)的訪問原則: 當(dāng)無進(jìn)程處于臨界區(qū)內(nèi)時(shí),允許一進(jìn)程立即進(jìn)入臨界區(qū)。 當(dāng)某一進(jìn)程已進(jìn)入臨界區(qū)時(shí),其他試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待。 當(dāng)某一進(jìn)程離開臨界區(qū)時(shí),若有等待進(jìn)程,則允許其中一個(gè)進(jìn)入臨界區(qū)。3.信號(hào)燈與信號(hào)燈與PV操作操作在操作系統(tǒng)中信號(hào)量是表示資源的物理實(shí)體,是一個(gè)與隊(duì)列有關(guān)的整型變量,其值僅能由P操作和V操作來改變。系統(tǒng)利用它的狀態(tài)對進(jìn)程和資源進(jìn)行管理。用于信號(hào)量的P、V操作是同步原語,在執(zhí)行期間不可分割。利用信號(hào)量能方便地解決臨界區(qū)問題,設(shè)mutex為互斥的公用信號(hào)
14、量,初始化為1,表示該臨界資源未被占用。只需把進(jìn)入臨界區(qū)的操作置于P(mutex)和V(mutex)之間,即可實(shí)現(xiàn)進(jìn)程互斥。利用信號(hào)量還可以實(shí)現(xiàn)進(jìn)程同步,它是利用私用信號(hào)量在進(jìn)程間實(shí)現(xiàn)同步操作。(1)信號(hào)燈類型定義如下:typedef semaphore struct int value;pointer_to_PCB queue;(3)P操作原語定義如下:void P(semaphore *s)s-value-;if(s-value queue);(2)信號(hào)燈變量說明如下:semaphore s;(4)V操作原語定義如下:void V(semaphore *s)s-value+;if(s-va
15、lue queue);其中調(diào)用了asleep和wakeup兩個(gè)標(biāo)準(zhǔn)過程, 它們的定義如下:1)asleep(s-queue):執(zhí)行此操作進(jìn)程的PCB進(jìn)入隊(duì)列s-queue的尾部,其狀態(tài)由運(yùn)行轉(zhuǎn)為等待, 系統(tǒng)轉(zhuǎn)到處理機(jī)調(diào)度程序。2)wakeup(s-queue): 將隊(duì)列s-queue頭部的進(jìn)程的PCB由該隊(duì)列中取出并將其排入就緒隊(duì)列, 其狀態(tài)由等待轉(zhuǎn)為就緒。關(guān)于信號(hào)燈變量的使用有如下兩個(gè)基本要求:1)必需置一次初值, 只能置一次初值, 而且初值必需為非負(fù)整數(shù);2)只能執(zhí)行P操作和V操作, 所有其它操作均是非法的?;谏鲜鲆?guī)定, 我們可以得到如下幾個(gè)有用的結(jié)論:(1) 當(dāng)s-value0時(shí), s
16、-queue為空; (2) 當(dāng)s-valuevalue為s-queue中等待進(jìn)程的個(gè)數(shù);(3) 當(dāng)s-value的初值為1時(shí), 可以用來實(shí)現(xiàn)進(jìn)程互斥, 這只需在進(jìn)入臨界區(qū)時(shí)執(zhí)行一次P操作, 在離開臨界區(qū)時(shí)執(zhí)行一次V操作。(4) 當(dāng)s-value的初值為正整數(shù)時(shí),可以用來管理同種組合資源(具有多個(gè)實(shí)例的同種類資源,如5臺(tái)打印機(jī)),申請時(shí)執(zhí)行一次P操作,歸還時(shí)執(zhí)行一次V 操作。 三種問題模型:時(shí)間關(guān)系模型、生產(chǎn)者-消費(fèi)者模型、讀者-寫者模型4.進(jìn)程通信進(jìn)程通信(1)進(jìn)程通信的定義 進(jìn)程之間的互斥、同步及信息交換統(tǒng)稱進(jìn)程通訊(Inter-Process Communication,IPC)。(2)進(jìn)
17、程通信的模式 1)共享內(nèi)存模式:相互通訊的進(jìn)程之間需要有公共內(nèi)存, 一組進(jìn)程向該公共內(nèi)存中寫, 另一組進(jìn)程由該公共內(nèi)存中讀, 如此便實(shí)現(xiàn)了進(jìn)程之間的信息傳遞. 這種進(jìn)程通訊模式需要解決如下兩個(gè)問題: 為相互通訊的進(jìn)程之間提供公共內(nèi)存. 為訪問公共內(nèi)存提供必要的同步機(jī)制。2)信息傳遞模式:相互通訊的進(jìn)程之間并不存在公共的內(nèi)存. 操作系統(tǒng)為用戶進(jìn)程之間的通訊提供了兩個(gè)基本的系統(tǒng)調(diào)用命令(亦稱原語), 即發(fā)送命令(send)和接收命令(receive). 前者用于發(fā)送, 后者用于接收. 當(dāng)需要進(jìn)行消息傳遞時(shí), 發(fā)送者僅需執(zhí)行發(fā)送命令, 接收者僅需執(zhí)行接收命令, 消息便由發(fā)送者傳送給接收者, 至于消息
18、是如何由發(fā)送者傳送給接收者的則完全是由操作系統(tǒng)完成的。 信息傳遞模式在實(shí)現(xiàn)時(shí)又分為兩種方式, 分別稱作直接方式(有緩沖途徑、無緩沖途徑)和間接方式(信箱)。第第5章章 死鎖死鎖 1.死鎖的概念死鎖的概念 死鎖是指在多個(gè)進(jìn)程并行執(zhí)行的過程中,當(dāng)某進(jìn)程提出資源申請后,使得若干進(jìn)程在無外力作用下,永遠(yuǎn)不能再繼續(xù)前進(jìn)的情況。在用信號(hào)量作為同步工具時(shí),P、V操作順序不當(dāng)也可能產(chǎn)生死鎖。2.產(chǎn)生死鎖的原因產(chǎn)生死鎖的原因 系統(tǒng)資源不足:產(chǎn)生死鎖的根本原因在于,為多道程序所共享的系統(tǒng)資源不足,而且,僅當(dāng)進(jìn)程提出資源請求時(shí),才會(huì)發(fā)生死鎖。 進(jìn)程推進(jìn)順序非法:在多道程序運(yùn)行時(shí),按照一定的順序聯(lián)合推進(jìn),可使系統(tǒng)中所
19、有的進(jìn)程都能運(yùn)行完畢,我們稱這樣的推進(jìn)順序是合法的。若按某種順序聯(lián)合推進(jìn),進(jìn)入某個(gè)區(qū)域時(shí)將導(dǎo)致死鎖的發(fā)生,則該順序是非法的。3.產(chǎn)生死鎖的必要條件產(chǎn)生死鎖的必要條件互斥條件:進(jìn)程對它所需要的資源進(jìn)行排它性控制,既在一段時(shí)間內(nèi)某資源為一進(jìn)程所獨(dú)占。請求和保持條件:進(jìn)程因請求資源而被阻塞時(shí),對已分配給它的資源保持不放。不剝奪條件:進(jìn)程所獲得的資源在未使用完畢之前,不能被其它進(jìn)程奪走,即只能由獲得該資源的進(jìn)程自己來釋放。環(huán)路條件:在發(fā)生死鎖時(shí),有向圖必構(gòu)成一環(huán)路,即前一進(jìn)程保持著后一進(jìn)程所需之資源。4.死鎖的檢測死鎖的檢測 死鎖定理:S為死鎖狀態(tài)的充分條件是,當(dāng)且僅當(dāng)S狀態(tài)的資源分配圖是不可完全約簡
20、的。5.死鎖的解除死鎖的解除資源剝奪:從其它進(jìn)程剝奪足夠數(shù)量的資源給死鎖進(jìn)程,以解除死鎖狀態(tài),凡被剝奪資源的進(jìn)程,補(bǔ)以相應(yīng)的請求邊。 撤消進(jìn)程:最簡單的撤消進(jìn)程的方法是把全部死鎖進(jìn)程都夭折掉。稍微溫和一點(diǎn)的方法是按照某種順序逐個(gè)地撤消進(jìn)程,直到有足夠的資源可用,死鎖狀態(tài)消除為止。6.死鎖的預(yù)防死鎖的預(yù)防為了預(yù)防系統(tǒng)進(jìn)入死鎖狀態(tài),應(yīng)當(dāng)保證在任何時(shí)刻產(chǎn)生死鎖的4個(gè)必要條件中,至少有一個(gè)得不到滿足,由此可得到如下幾種預(yù)防死鎖的方法:(1)預(yù)先分配法:預(yù)分配所有共享資源,即每個(gè)作業(yè)必須一次請求并獲得全部所需之資源。調(diào)度程序在該作業(yè)所需之資源未滿足之前,不將它投入運(yùn)行。在這種方法中,當(dāng)一個(gè)進(jìn)程進(jìn)入運(yùn)行狀
21、態(tài)后,將不需再提出其他任何資源要求。這意味著死鎖的第二個(gè)必要條件不再成立,因而不會(huì)產(chǎn)生死鎖。(2)有序分配方式:在這種方式中,系統(tǒng)將資源按類型進(jìn)行線形排隊(duì),并賦予不同的序號(hào)。所有進(jìn)程對資源的請求必須嚴(yán)格按照序號(hào)遞增的資序進(jìn)行。不難看出,在這種形式的資源分配方式下,所形成的進(jìn)程資源圖不可能再產(chǎn)生環(huán)路,因此,死鎖的第4個(gè)必要條件不再成立,系統(tǒng)不會(huì)產(chǎn)生死鎖。(7)死鎖的避免)死鎖的避免銀行家算法的基本思想是,當(dāng)一個(gè)新進(jìn)程進(jìn)入系統(tǒng)時(shí), 它必須申明其最大資源需求量, 即每個(gè)資源類各需多少資源實(shí)例。 當(dāng)進(jìn)程發(fā)出資源申請命令而且系統(tǒng)能夠滿足該請求時(shí), 系統(tǒng)將判斷: 如果分配資源, 系統(tǒng)的狀態(tài)是否為安全的。
22、如是則分配資源, 并讓申請者繼續(xù); 否則不分配資源, 并讓申請者等待。第第6章章 存儲(chǔ)管理存儲(chǔ)管理 1 基本概念基本概念(1)存儲(chǔ)管理的目的和功能 主存儲(chǔ)器是中央處理機(jī)能直接存取指令和數(shù)據(jù)的存儲(chǔ)器。在計(jì)算機(jī)系統(tǒng)中,它是一個(gè)關(guān)鍵性的資源,能否合理而有效地使用它,在很大程度上反映了操作系統(tǒng)的性能,并直接影響到整個(gè)計(jì)算機(jī)系統(tǒng)的性能。所以,存儲(chǔ)管理是目前人們研究操作系統(tǒng)的中心問題之一。 存儲(chǔ)管理主要功能:存儲(chǔ)分配、存儲(chǔ)共享、存儲(chǔ)保護(hù)、存儲(chǔ)擴(kuò)充、地址映射。(2)內(nèi)存分區(qū)靜態(tài)等長、動(dòng)態(tài)異長(3)內(nèi)存分配靜態(tài)等長分區(qū)的分配:空閑頁面表、空閑頁面鏈、字位映像圖動(dòng)態(tài)異長分區(qū)的分配:最先適應(yīng)、最佳適應(yīng)、最差適應(yīng)分
23、配算法2頁式存儲(chǔ)管理頁式存儲(chǔ)管理(1)實(shí)現(xiàn)原理 在分頁存儲(chǔ)管理系統(tǒng)中,把每個(gè)作業(yè)的地址空間分成一些大小相等的片,并稱之為頁。同樣地,把主存的存儲(chǔ)空間也分成大小與頁相同的片,這些片稱之為存儲(chǔ)塊,或簡稱為塊。在分配存儲(chǔ)空間時(shí),總是以塊為單位來分配。一個(gè)作業(yè)的地址空間可以分配到不相連續(xù)的存儲(chǔ)塊中。分頁是由系統(tǒng)通過頁表自動(dòng)完成的。(2)頁表的組織 頁表是用來完成虛地址與物理地址變換的一個(gè)重要的數(shù)據(jù)結(jié)構(gòu)。從地址變換的過程來看,若頁表全部放在主存中,則要取一個(gè)數(shù)據(jù)(或一條指令)至少要訪問兩次主存,一次是訪問頁表,確定所取數(shù)據(jù)(或指令)的物理地址,第二次才根據(jù)該地址取數(shù)據(jù)(或指令)。要寫入一個(gè)數(shù)據(jù)時(shí)情況也是
24、這樣。為了提高查表的速度,在地址變換機(jī)構(gòu)中加入了一個(gè)高速、小容量的聯(lián)想存儲(chǔ)器,構(gòu)成一張快表。如果快表命中,只要訪問一次主存就可以取出指令或數(shù)據(jù)。(3)頁內(nèi)零頭 采用頁式管理方式,其主要的優(yōu)點(diǎn)在于無需移動(dòng)信息而能夠較好地解決分區(qū)與管理中產(chǎn)生的存儲(chǔ)器“外零頭”問題,但引入了“內(nèi)零頭”的問題。 內(nèi)零頭是指由于分配給作業(yè)的頁面是整數(shù)塊,而一個(gè)作業(yè)的地址空間不一定是頁的整數(shù)倍,因而最后一頁往往是不滿的。在這種情況下,最后一頁中空閑的空間不能分配給別的作業(yè),因而造成了浪費(fèi)。這種浪費(fèi)稱之為“內(nèi)零頭”。內(nèi)零頭的多少與頁面大小有關(guān),平均來說,內(nèi)零頭為半頁大小。(4)請求頁式管理(虛擬頁式存儲(chǔ)管理) 請求頁式管理
25、是在分頁存儲(chǔ)管理的基礎(chǔ)上發(fā)展起來的。對于一般的頁式管理,仍要求一個(gè)作業(yè)全部裝入主存后,才能開始運(yùn)行。對于請求頁式管理,在作業(yè)運(yùn)行之前,不限定把作業(yè)的整個(gè)空間全部裝入主存,而只要求把當(dāng)前需要的一部分裝入主存。這樣,從理論上來說系統(tǒng)沒有對作業(yè)地址空間大小的限制。因此,請求頁式存儲(chǔ)管理可以實(shí)現(xiàn)“擴(kuò)充”主存的功能。我們稱具有這種功能的存儲(chǔ)系統(tǒng)為虛擬存儲(chǔ)系統(tǒng)。(5)頁面置換算法 在請求頁式系統(tǒng)中,當(dāng)主存空間業(yè)已裝滿而又需要調(diào)入新頁時(shí),必須把已在主存中的一些頁面淘汰出去。所謂置換算法,就是用來確定應(yīng)該淘汰哪些頁面的一種策略。因?yàn)橹脫Q算法的優(yōu)劣,直接影響到系統(tǒng)的效率,因此,在請求頁式系統(tǒng)中,一個(gè)核心問題是選
26、擇合適的頁面置換算法。 常用的頁面置換算法有:先進(jìn)先出算法、LRU算法、最近不用先淘汰、二次機(jī)會(huì)算法、時(shí)鐘算法等。 抖動(dòng)(顛簸)3段式存儲(chǔ)管理段式存儲(chǔ)管理(1)實(shí)現(xiàn)原理:作業(yè)分為若干段,且按分段來進(jìn)行存儲(chǔ)分配。實(shí)現(xiàn)分段管理的關(guān)鍵在于,如何保證分段(二維)地址空間中一個(gè)作業(yè),在線性(一維)的存儲(chǔ)空間中正確運(yùn)行,采用段表來完成二維地址到一維地址的轉(zhuǎn)換。分段管理和分頁管理的地址轉(zhuǎn)換過程比較類似,但是它們在概念上完全不同。分頁管理的作業(yè)地址空間是一個(gè)單一的線形地址空間,而分段管理的作業(yè)的地址空間是二維的。分頁管理中“頁”是信息的“物理”單位,大小固定,其分頁的活動(dòng)對于用戶是透明的,分段管理中,“段”是
27、信息的“邏輯”單位,既它是有意義的一組信息,其長度不定。分段是用戶可見的。(2)分段管理的優(yōu)點(diǎn) 便于程序模塊化處理。 便于處理變化的數(shù)據(jù)結(jié)構(gòu)。 便于動(dòng)態(tài)鏈接。 便于共享分段。(3)分段管理的缺點(diǎn) 處理機(jī)要為地址變換花費(fèi)時(shí)間,要為表格提供附加的存儲(chǔ)空間,使操作系統(tǒng)復(fù)雜。 會(huì)產(chǎn)生碎片。 分段的最大尺寸受到主存可用空間的限制。4段頁式存儲(chǔ)管理段頁式存儲(chǔ)管理(1)實(shí)現(xiàn)原理 為了獲得分段在邏輯上的優(yōu)點(diǎn)和分頁在管理存儲(chǔ)空間方面的優(yōu)點(diǎn),兼用分段和分頁兩種方法,來實(shí)現(xiàn)存儲(chǔ)管理。這種技術(shù)的基本思想是用分段方法來劃分進(jìn)程,每段劃分為若干邏輯頁,而用分頁方法來分配和管理主存(物理存儲(chǔ)器)。這樣,一方面可以保持分段地
28、址空間所帶來的優(yōu)點(diǎn),如允許分段動(dòng)態(tài)擴(kuò)展、可實(shí)現(xiàn)分段的動(dòng)態(tài)鏈接、分段的共享、實(shí)施段保護(hù)措施等。另一方面,主存分區(qū)的拼接問題,輔助存儲(chǔ)器的管理以及對分段大小的限制等問題,都可以得到有效的解決。(2)段頁式存儲(chǔ)管理的優(yōu)缺點(diǎn) 因?yàn)槎雾撌酱鎯?chǔ)管理是分段式存儲(chǔ)管理和頁式存儲(chǔ)管理相結(jié)合的方案,因而它具有這兩者的全部優(yōu)點(diǎn)。 段頁式存儲(chǔ)管理的主要缺點(diǎn)是,增加了軟件復(fù)雜性和管理開銷,需要的硬件支持也增加了。此外,還有各種表格要占用存儲(chǔ)空間,和在請求頁式或在分段系統(tǒng)中一樣,存在著發(fā)生系統(tǒng)抖動(dòng)的危險(xiǎn),而零頭問題和分頁管理系統(tǒng)中一樣存在,且更為嚴(yán)重。第第7章章 文件管理文件管理 1基本概念基本概念(1)文件 文件是一個(gè)
29、具有符號(hào)名的在邏輯上具有完整意義的信息項(xiàng)的序列。信息項(xiàng)是構(gòu)成文件內(nèi)容的基本單位,是可編址的最小信息項(xiàng)目。(2)文件系統(tǒng) 文件系統(tǒng)是指操作系統(tǒng)中與文件管理有關(guān)的那部分軟件和被管理的文件,以及管理所需要的一些數(shù)據(jù)結(jié)構(gòu)(如各級(jí)目錄、索引文件等)的總體。從系統(tǒng)的角度來看,文件系統(tǒng)是對文件存儲(chǔ)器的存儲(chǔ)空間進(jìn)行組織、分配,負(fù)責(zé)文件的存儲(chǔ)并對存入的文件進(jìn)行保護(hù)和檢索的系統(tǒng)。從用戶的角度來看,文件系統(tǒng)主要是實(shí)現(xiàn)了“按名存取”。2文件的訪問方式文件的訪問方式 順序存取方式。其中的記錄是按序排列的,記錄的存取也是按順序進(jìn)行的。 直接存取方式。用戶對記錄的存取是不按順序的,即用戶可以直接指定某一記錄進(jìn)行存取。 按健
30、存取方式。用戶對文件內(nèi)容的訪問不是根據(jù)記錄的編號(hào)或地址,而是根據(jù)記錄的某項(xiàng)內(nèi)容(鍵)來進(jìn)行的。3文件的邏輯組織文件的邏輯組織 文件的邏輯組織是指從用戶角度看到的文件,也就是文件的記錄結(jié)構(gòu)。流式文件、記錄式文件。4文件的物理組織文件的物理組織 文件的物理組織是指從系統(tǒng)角度看到的文件,也就是文件在文件存儲(chǔ)器上的安排。文件的物理組織一般有4種形式: 連續(xù)區(qū)分配(連續(xù)文件),即把一個(gè)在邏輯上連續(xù)的記錄構(gòu)成的文件分配到連續(xù)的物理塊中。 鏈接塊方式(串聯(lián)文件),即文件所分配的物理塊可以是不連續(xù)的,而且也不必順序排列。文件的物理塊之間用鏈表連接在一起。 索引式(索引文件),即為每個(gè)文件建立一個(gè)索引表,其中每
31、一個(gè)表項(xiàng)指出文件記錄所在的物理塊號(hào)。 Hash文件,即對文件的每個(gè)記錄的物理地址采用Hash的方法計(jì)算出來,從而可以根據(jù)文件記錄的編號(hào)或地址直接找到對應(yīng)的物理塊。5文件目錄文件目錄 文件目錄用來檢索文件,登記文件信息。 文件的符號(hào)名與物理地址之間的轉(zhuǎn)換是通過文件目錄進(jìn)行的。為了解決“重名”問題,必須建立二級(jí)目錄或多級(jí)目錄。 目錄項(xiàng):文件控制塊 為了實(shí)現(xiàn)多個(gè)用戶能共享一個(gè)文件副本,而且能以不同的符號(hào)名來訪問它,一種辦法是采用鏈接技術(shù),另一種辦法是將文件目錄分解為符號(hào)文件目錄和基本文件目錄,并通過系統(tǒng)賦予每個(gè)文件的唯一標(biāo)識(shí)符聯(lián)系起來。6文件的存取控制文件的存取控制 一個(gè)文件系統(tǒng)要得到用戶的信任,就應(yīng)該使用戶文件的保密性得到充分的保證。所謂文件的保密性,就是一個(gè)用戶對其文件所作的“誰能使用”和“如何使用”的規(guī)定,所以,需要對文件進(jìn)行存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南購房合同范例
- 會(huì)議場地租用合同范例
- 人用工合同范例
- 中間店鋪?zhàn)赓U合同范例
- 2024-2025學(xué)年河南省漯河市高三上學(xué)期期末質(zhì)量監(jiān)測英語試題(解析版)
- 員工干股分紅協(xié)議書范本
- 聯(lián)營合同公證書
- 充電樁采購安裝合同范本
- 二零二五年度房產(chǎn)證領(lǐng)證后購房合同返還及后續(xù)服務(wù)協(xié)議
- 二零二五年度鉆探工人技能競賽及獎(jiǎng)勵(lì)合同
- JT-T 1495-2024 公路水運(yùn)危險(xiǎn)性較大工程專項(xiàng)施工方案編制審查規(guī)程
- 03 寫景狀物文章-2023-2024學(xué)年五年級(jí)語文閱讀專項(xiàng)試題(統(tǒng)編版) 教師版2
- 普通外科臨床路徑(2019年版)
- 孕產(chǎn)婦健康知識(shí)講座活動(dòng)總結(jié)
- 天貓店鋪規(guī)劃方案
- 中國古代文學(xué)的人文關(guān)懷與社會(huì)責(zé)任
- 飾面人造板產(chǎn)品質(zhì)量
- 北京市校外教育機(jī)構(gòu)工作規(guī)程實(shí)施細(xì)則
- 說課的技巧和方法專題講座
- 教師專業(yè)發(fā)展與教育教學(xué)質(zhì)量提升的關(guān)系研究
- 《周南桃夭》教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論