版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章資源管理技術(shù)所謂操作系統(tǒng)就是能有效地管理計(jì)算機(jī)系統(tǒng)中的各種軟、硬件資源,合理地組織計(jì)算機(jī)的工作流程,為用戶創(chuàng)造良好工作環(huán)境的系統(tǒng)軟件。4.1操作系統(tǒng)的概念一、操作系統(tǒng)的功能與任務(wù)
OS是最基本的、核心的系統(tǒng)軟件,是加在系統(tǒng)硬件上的第一層軟件,是硬件的首次擴(kuò)充。其作用有如下幾個(gè)方面:(1)管理系統(tǒng)資源(2)為用戶提供資源共享的條件和環(huán)境,并對(duì)資源的使用進(jìn)行合理調(diào)度(3)提供輸入輸出的方便環(huán)境,提供良好的用戶界面(4)規(guī)定用戶的接口,進(jìn)行各種錯(cuò)誤處理操作系統(tǒng)的五大功能
操作系統(tǒng)功能:文件管理進(jìn)程管理存儲(chǔ)器管理作業(yè)管理設(shè)備管理二、OS的發(fā)展過程1、第一階段(手工操作階段)輸入紙帶(卡片)、電傳打字機(jī)輸出結(jié)果、在控制臺(tái)上用搬鍵輸入命令等;沒有OS,只能用機(jī)器指令控制、操作計(jì)算機(jī);用戶獨(dú)占整個(gè)系統(tǒng)資源,利用率低;CPU等待人工操作;用戶既是操作員又是程序員;既用戶必須是計(jì)算機(jī)專家;主要用于科學(xué)計(jì)算。面臨的問題:人機(jī)矛盾日益突出、系統(tǒng)資源利用率低。2、第二階段(成批處理系統(tǒng))
為解決人機(jī)矛盾,提高資源利用率,人們很自然想到:讓計(jì)算機(jī)保持不間斷工作、減少人工干預(yù)程度。于是產(chǎn)生了把“零散的單一程序處理”變?yōu)椤凹械某膳绦蛱幚怼钡奶幚矸绞??!芭幚怼辈僮飨到y(tǒng)由此而產(chǎn)生;被稱為“第1代操作系統(tǒng)”。面臨的問題:
高速CPU和低速I/O的矛盾加劇。由于計(jì)算機(jī)技術(shù)的發(fā)展,CPU處理速度提高很快,但I(xiàn)/O的速度卻很慢,系統(tǒng)整體效率沒有得到應(yīng)有的提高。3、第3階段(執(zhí)行程序系統(tǒng)和多道的引入)
為解決高速CPU和低速I/O不匹配的矛盾,在硬、軟件資源方面做了巨大的改進(jìn),由此誕生了許多新技術(shù):
高質(zhì)量、高效率的高級(jí)語言編譯器:
FORTRAN、COBOL、PASCAL等;分時(shí)系統(tǒng)將CPU劃分為很小的時(shí)間片,采用循環(huán)輪作方式處理多道程序;CPU和I/O的并行處理技術(shù);包括:通道技術(shù)、緩沖技術(shù)、多道處理技術(shù)、中斷技術(shù)等。
由此產(chǎn)生了第三代操作系統(tǒng)。系統(tǒng)特點(diǎn):多道處理一個(gè)CPU同時(shí)處理多個(gè)程序;同時(shí)將多個(gè)程序裝入內(nèi)存、并同時(shí)運(yùn)行的機(jī)制;大大提高了CPU的利用率;通道技術(shù)將I/O處理從CPU的控制下獨(dú)立出來的一套處理機(jī)制,也稱為“I/O處理機(jī)”;CPU不再直接控制I/O設(shè)備,而是通過通道去控制,從而實(shí)現(xiàn)了CPU和I/O設(shè)備之間的并行工作,緩解了CPU和I/O速度不匹配的矛盾;中斷技術(shù)在程序運(yùn)行中,出現(xiàn)了某種緊急事件,必須暫時(shí)中止現(xiàn)行程序,轉(zhuǎn)去處理此事件,然后再恢復(fù)中斷程序的運(yùn)行技術(shù)。操作特點(diǎn):操作更加簡(jiǎn)單;例如,MS-DOS、UNIX、WINDOWS;功能更加強(qiáng)大;五大功能由此實(shí)現(xiàn);應(yīng)用程序豐富多彩;計(jì)算機(jī)應(yīng)用已廣泛涉及到各行各業(yè)、各個(gè)領(lǐng)域。面臨的問題:CPU利用率低的矛盾更加激化?,F(xiàn)有處理技術(shù)和手段已不適應(yīng)應(yīng)用的實(shí)時(shí)處理需求。三、操作系統(tǒng)的分類(訪問方式)
1、多道批處理操作系統(tǒng)(BatchProcessing)2、分時(shí)操作系統(tǒng)(TimeSharing)3、實(shí)時(shí)系統(tǒng)(RealTime)4、通用操作系統(tǒng)5、多窗口系統(tǒng)批處理操作系統(tǒng):解決:用戶操作速度太慢與計(jì)算機(jī)處理速度極快之間的矛盾,提高了計(jì)算機(jī)系統(tǒng)的吞吐量,提高了系統(tǒng)資源的利用率。特點(diǎn):不需人工干預(yù),進(jìn)行批量處理。批處理系統(tǒng)又分為單道批處理系統(tǒng)和多道批處理系統(tǒng)。
缺點(diǎn):處理過程中,用戶不能干預(yù)。分時(shí)系統(tǒng):分時(shí)系統(tǒng)是多道程序的變種,每個(gè)用戶都通過一個(gè)聯(lián)機(jī)終端使用計(jì)算機(jī)系統(tǒng)。
分時(shí)系統(tǒng)與批處理系統(tǒng)的區(qū)別:在批處理系統(tǒng)中,一個(gè)作業(yè)可以長(zhǎng)時(shí)間地占用CPU直至該作業(yè)執(zhí)行完成;而在分時(shí)系統(tǒng)中,一個(gè)作業(yè)只能在屬于它的那個(gè)時(shí)間片內(nèi)使用CPU,時(shí)間一到,系統(tǒng)將剝奪作業(yè)的CPU使用權(quán),把CPU分配給其他的作業(yè)使用。特點(diǎn):同時(shí)性、獨(dú)立性、及時(shí)性、交互性必須考慮:系統(tǒng)的響應(yīng)時(shí)間。系統(tǒng)核心:時(shí)間片輪流調(diào)度技術(shù)。影響系統(tǒng)響應(yīng)時(shí)間的因素:用戶數(shù)目,時(shí)間片的長(zhǎng)短以及作業(yè)調(diào)度所必須的系統(tǒng)開銷等。例:有人說:“分時(shí)系統(tǒng)中分時(shí)時(shí)間片的長(zhǎng)短問題無所謂,并不影響終端用戶得到的及時(shí)響應(yīng)。”結(jié)論:分時(shí)時(shí)間片的長(zhǎng)短問題是一個(gè)重要問題,它將直接影響用戶得到的及時(shí)響應(yīng)。”實(shí)時(shí)系統(tǒng):(特殊的分時(shí)系統(tǒng))分類:實(shí)時(shí)過程系統(tǒng)、實(shí)時(shí)信息處理系統(tǒng)。
特點(diǎn):對(duì)時(shí)間有嚴(yán)格的限制,要求計(jì)算機(jī)能對(duì)外部隨機(jī)事件做出及時(shí)響應(yīng),并處理。
采用:時(shí)間片分時(shí)技術(shù)。
特點(diǎn):及時(shí)性、同時(shí)性、獨(dú)立性、交互性。
實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)的區(qū)別:實(shí)時(shí)系統(tǒng)專用性很強(qiáng),交互能力較差,用戶數(shù)量有限;分時(shí)系統(tǒng)通用性很強(qiáng),交互能力很強(qiáng),允許用戶運(yùn)行或修改應(yīng)用程序。
最大區(qū)別:系統(tǒng)的響應(yīng)時(shí)間。分時(shí)系統(tǒng)的響應(yīng)時(shí)間可以長(zhǎng)一點(diǎn),以用戶可以忍受的范圍為限,一般2--3秒;實(shí)時(shí)系統(tǒng)的響應(yīng)時(shí)間短得多,一般毫秒級(jí),甚至微秒級(jí)。通用操作系統(tǒng):
兼有批處理、分時(shí)處理和實(shí)時(shí)處理三者或其中的兩者的功能。5。多窗口操作系統(tǒng)集成開發(fā)環(huán)境信息共享界面友好4.2多道程序設(shè)計(jì)程序單道程序、多道程序、順序程序、并發(fā)程序順序程序與并發(fā)程序的特征進(jìn)程進(jìn)程的特征、性質(zhì)、狀態(tài)及轉(zhuǎn)換、線程1、程序的有關(guān)概念程序(Program)
是為解決某個(gè)問題用計(jì)算機(jī)語言或命令設(shè)計(jì)、編寫的一系列指令的有序集合。程序的順序執(zhí)行
一個(gè)程序通常分為若干個(gè)具有一定獨(dú)立性的程序段,這些程序段是按邏輯步驟編排的,只有當(dāng)當(dāng)前程序段執(zhí)行完成后,才將控制權(quán)轉(zhuǎn)交到下一個(gè)程序段并執(zhí)行下一個(gè)程序段。程序順序執(zhí)行舉例一設(shè)有一個(gè)程序有三個(gè)程序段,分別執(zhí)行
I(輸入)、C(計(jì)算)和P(輸出)操作。執(zhí)行順序?yàn)椋?/p>
ICP
只有‘輸入’了數(shù)據(jù),才能‘計(jì)算’這些數(shù)據(jù),也只有‘計(jì)算’產(chǎn)生了結(jié)果,才能‘輸出’它們。這些邏輯關(guān)系(順序)是不能隨意改變的。
結(jié)果
數(shù)據(jù)
程序順序執(zhí)行舉例二
假設(shè)有n個(gè)作業(yè),每個(gè)作業(yè)都由三個(gè)程序段:輸入段Ii、計(jì)算段Ci、輸出段Pi。在早期單道程序系統(tǒng)中,作業(yè)執(zhí)行流為:作業(yè)1I1C1P1
作業(yè)2I2C2P2
作業(yè)nInCn
Pn作業(yè)執(zhí)行順序單道程序處理及特性一次只處理一個(gè)程序。該程序獨(dú)享系統(tǒng)資源。單個(gè)程序的特性:
1、順序性操作按程序規(guī)定的順序執(zhí)行。2、封閉性程序在執(zhí)行過程中獨(dú)享系統(tǒng)資源,不受外界因素的干擾和影響。3、可再現(xiàn)性只要初始條件相同,無論以何種方式、速度、重復(fù)執(zhí)行多少次,結(jié)果是相同的。多道程序處理及特性同時(shí)將多個(gè)程序裝入內(nèi)存,并同時(shí)處理它們,整個(gè)系統(tǒng)資源為多個(gè)程序共享。由于多道程序具有并發(fā)的特點(diǎn),在任一時(shí)刻,系統(tǒng)內(nèi)部(內(nèi)存)同時(shí)運(yùn)行著多個(gè)程序;受系統(tǒng)資源的制約,每個(gè)程序處理過程的行為是不確定的(系統(tǒng)內(nèi)部狀態(tài)因此而不同)。例如,第Ii個(gè)程序的Ci
這次是在時(shí)刻Ti開始的,那么,下一次運(yùn)行同樣的程序組時(shí),第Ii個(gè)程序的Ci
就不一定是在Ti時(shí)刻開始。
程序并發(fā)執(zhí)行舉例設(shè)有三個(gè)程序,它們的執(zhí)行步驟和順序相同,都是Ii(輸入)、Ci(計(jì)算)、Pi(輸出)。當(dāng)?shù)?個(gè)程序的輸入操作I1執(zhí)行完、執(zhí)行C1時(shí),輸入機(jī)空閑,這時(shí)候可以執(zhí)行第2個(gè)程序的輸入操作I2;在時(shí)間上,操作C1和I2時(shí)重疊的。當(dāng)C1執(zhí)行完、執(zhí)行P1時(shí),處理機(jī)空閑,若這時(shí)I2已完成,就可以執(zhí)行C2,與此同時(shí),輸入機(jī)又空閑,可以執(zhí)行第3個(gè)程序的I3。這樣一來,在時(shí)間上,P1、C2和I3是重疊操作的。
程序并發(fā)執(zhí)行舉例示意圖程序1:I1C1P1程序2:I2C2P2程序3:I3C3P3
從示意圖中可以看出,C1和I2、P1、C2和I3、P2和C3在時(shí)間上都是重疊操作的。Tt1t3t2單道和多道程序處理的區(qū)別在單道程序處理環(huán)境下,各邏輯步驟之間的關(guān)系是確定的、不受外界影響而改變的。在多道程序處理環(huán)境下,并發(fā)處理機(jī)制中必然存在著直接或間接的相互依賴和相互制約的關(guān)系,從而使被處理的多道程序失去了程序固有的特性:封閉性、可再現(xiàn)性。
程序與計(jì)算結(jié)果不再一一對(duì)應(yīng)程序在順序執(zhí)行時(shí),程序與“計(jì)算”間有著一一對(duì)應(yīng)的關(guān)系。在并發(fā)執(zhí)行時(shí),一個(gè)共享程序可為多個(gè)用戶作業(yè)調(diào)度,而使程序處于多個(gè)執(zhí)行中,從而形成了多個(gè)“計(jì)算”。因此,程序和計(jì)算間一一對(duì)應(yīng)的關(guān)系不復(fù)存在。2、進(jìn)程及有關(guān)概念進(jìn)程(Process)就是程序的一次執(zhí)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。“進(jìn)程”這個(gè)概念是1966年美國麻省理工學(xué)院的J.H.Sallexer提出的。進(jìn)程管理也被稱為處理機(jī)管理。處理機(jī)是計(jì)算機(jī)系統(tǒng)中的重要資源,所以它管理的好壞在很大程度上直接影響系統(tǒng)的效率。處理機(jī)管理又分兩個(gè)部分:作業(yè)管理和進(jìn)程管理。進(jìn)程管理是由程序管理進(jìn)化而來,是和程序管理密不可分的。進(jìn)程的概念
由于并發(fā)活動(dòng)的復(fù)雜性,不同學(xué)者研究和討論的側(cè)重點(diǎn)不同,對(duì)進(jìn)程的定義也不盡相同。幾種不同的定義為:
進(jìn)程是可以和別的計(jì)算并發(fā)執(zhí)行的計(jì)算;進(jìn)程是程序的一次執(zhí)行,亦即進(jìn)程是在給定內(nèi)存區(qū)域中的一組指令序列的執(zhí)行過程;所謂進(jìn)程,就是一個(gè)程序在給定活動(dòng)空間和初始環(huán)境下,在一個(gè)處理機(jī)上的執(zhí)行過程;進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過程,是系統(tǒng)資源分配和調(diào)度的一個(gè)獨(dú)立單位。進(jìn)程的特征進(jìn)程具有兩個(gè)重要特征:(1)動(dòng)態(tài)性:表現(xiàn)在它由“創(chuàng)建”而產(chǎn)生,由“調(diào)度”而執(zhí)行,因得不到資源而“暫停”執(zhí)行,最后由“撤消”而消亡。進(jìn)程有自己的生命周期。(2)并發(fā)性:在系統(tǒng)中可以同時(shí)存在幾個(gè)進(jìn)程。在單CPU系統(tǒng)中,任何時(shí)刻只有一個(gè)進(jìn)程占用CPU,其它進(jìn)程處于等待狀態(tài)。進(jìn)程有著走走停停的活動(dòng)規(guī)律。引入進(jìn)程的目的是為了程序的并發(fā)執(zhí)行,以提高資源的利用率。進(jìn)程的性質(zhì)1)動(dòng)態(tài)性描述程序在執(zhí)行過程中的全部活動(dòng);2)并發(fā)性
OS同時(shí)接受和處理多個(gè)進(jìn)程;3)異步性不同進(jìn)程在邏輯上相互獨(dú)立,有各的運(yùn)行“軌跡”;4)制約性由于計(jì)算機(jī)資源是有限的,不同進(jìn)程共享CPU和I/O通道及設(shè)備,因此相互制約。
進(jìn)程的狀態(tài)進(jìn)程在其存在的過程中,它們的狀態(tài)是不斷發(fā)生變化的。一般來說,進(jìn)程有三種基本狀態(tài):就緒狀態(tài)、運(yùn)行狀態(tài)、等待狀態(tài)。就緒狀態(tài)
已經(jīng)獲得投入運(yùn)行所必需的一切資源,一旦分配到CPU,就可以立即執(zhí)行。這是一種邏輯上可運(yùn)行狀態(tài)。運(yùn)行狀態(tài)進(jìn)程獲得了CPU及其它一切所需資源,正在CPU上運(yùn)行著。等待狀態(tài)
由于資源得不到滿足,進(jìn)程運(yùn)行受阻,處于暫停狀態(tài),等待資源分配后,再投入運(yùn)行。進(jìn)程狀態(tài)轉(zhuǎn)換示意圖
運(yùn)行狀態(tài)等待狀態(tài)
就緒狀態(tài)
進(jìn)程調(diào)度
等待資源時(shí)間用完獲得資源
進(jìn)程調(diào)度程序
來自作業(yè)調(diào)度
交作業(yè)管理進(jìn)程在整個(gè)生存周期中,由進(jìn)程調(diào)動(dòng)程序控制,在這三種狀態(tài)之間進(jìn)行轉(zhuǎn)換。四、死鎖
1、什么是死鎖現(xiàn)象:每個(gè)進(jìn)程所要求的資源都已被另一個(gè)進(jìn)程占用,出現(xiàn)沒有一個(gè)進(jìn)程能繼續(xù)運(yùn)行,這種情況稱“死鎖”。2、死鎖產(chǎn)生的原因
(A)資源不能共享(資源獨(dú)占性)。(B)資源的不可剝奪性。(C)資源采用動(dòng)態(tài)分配原則:允許一個(gè)進(jìn)程不釋放已占有的資源,就又去申請(qǐng)別的資源。(D)允許進(jìn)程間非法交叉推進(jìn)順序的存在:導(dǎo)致循環(huán)等待資源,無法前進(jìn)。
3、死鎖產(chǎn)生必須同時(shí)具有的四個(gè)必要條件:
(A)資源獨(dú)占性。(B)資源的不可剝奪性。(C)資源采用動(dòng)態(tài)的部分分配原則(D)出現(xiàn)相關(guān)進(jìn)程由于資源分配不當(dāng)而出現(xiàn)循環(huán)等待。4、解決死鎖的辦法
(A)死鎖的預(yù)防破壞產(chǎn)生死鎖的4個(gè)必要條件中的任何一個(gè)?!りP(guān)于資源獨(dú)占性:采用假脫機(jī)技術(shù)可以使非共享設(shè)備變?yōu)楣蚕碓O(shè)備。·破壞“資源的不可剝奪性”(申請(qǐng)不到資源時(shí),釋放原先已占有的,進(jìn)入等待,以后再一起申請(qǐng))?!て茐膶?duì)資源采用動(dòng)態(tài)的部分分配原則(每個(gè)進(jìn)程必須提出它所需要的全部資源,只有完全滿足時(shí),才能啟動(dòng))?!て茐难h(huán)等待。
(B)死鎖的避免躲避死鎖的發(fā)生。
(C)死鎖的檢測(cè)與恢復(fù)允許死鎖產(chǎn)生,當(dāng)死鎖發(fā)生時(shí)能檢測(cè)出來,并且有能力處理,進(jìn)行恢復(fù)。采用虛擬技術(shù),使非共享設(shè)備變成共享設(shè)備,以避免死鎖用戶1用戶2用戶3??????輸出輸出輸出打印打印機(jī)主機(jī)三、進(jìn)程通信
1、同步與互斥的概念
臨界資源:一次僅允許一個(gè)進(jìn)程使用的資源。如打印機(jī)、讀卡機(jī)、緩沖區(qū)、變量等。臨界區(qū):進(jìn)程中使用臨界資源的那段程序。各進(jìn)程之間存在著相互制約、相互依賴的關(guān)系,例1:進(jìn)程同步的例子電子郵件信箱發(fā)送進(jìn)程A接收進(jìn)程B當(dāng)信箱滿時(shí),發(fā)送進(jìn)程只有等待接收進(jìn)程取走信件,當(dāng)信箱空時(shí),接收進(jìn)程必須等待發(fā)送進(jìn)程發(fā)送信件。12n……四、多道程序的組織處理機(jī)調(diào)度分為作業(yè)調(diào)度和進(jìn)程調(diào)度,前者是宏調(diào)度、后者是微調(diào)度,二者的調(diào)度算法類似。常用的作業(yè)調(diào)度算法:1、先來先服務(wù)2、短作業(yè)優(yōu)先3、最高響應(yīng)比優(yōu)先:
響應(yīng)比=等待時(shí)間+實(shí)際運(yùn)行時(shí)間)/實(shí)際運(yùn)行時(shí)間4、基于優(yōu)先級(jí)的調(diào)度算法5、均衡調(diào)度算法4.3存儲(chǔ)空間的組織一、內(nèi)存儲(chǔ)器的管理技術(shù)存儲(chǔ)器是計(jì)算機(jī)系統(tǒng)的重要資源之一。因?yàn)槿魏纬绦蚝蛿?shù)據(jù)以及各種控制用的數(shù)據(jù)結(jié)構(gòu)都必須占用一定的存儲(chǔ)空間,因此,存儲(chǔ)管理直接影響系統(tǒng)的性能。存儲(chǔ)器由內(nèi)存和外存組成。內(nèi)存由順序編址的塊組成,每塊包含相應(yīng)的物理單元。邏輯(相對(duì))地址與物理(絕對(duì))地址邏輯地址(logicaladdress、relativeaddress)程序中按邏輯順序編排的代碼及數(shù)據(jù)的地址稱為邏輯地址。物理地址(physicaladdress、absoluteaddress)程序中按代碼及數(shù)據(jù)在內(nèi)存中實(shí)際存儲(chǔ)位置的地址成為物理地址。重定位(relocation)將邏輯地址轉(zhuǎn)化為物理地址的過程稱為重定位。一般由操作系統(tǒng)的鏈接過程完成。分為靜態(tài)和動(dòng)態(tài)兩種。靜態(tài)鏈接是在鏈接裝入時(shí)一次集中完成,動(dòng)態(tài)是在指令執(zhí)行中先訪問內(nèi)存后再重定位,一般由硬件完成地址轉(zhuǎn)換。重定位原理圖見圖4-1。存儲(chǔ)管理的功能(1)地址變換:相對(duì)地址到絕對(duì)地址(2)內(nèi)存分配:(3)存儲(chǔ)共享與保護(hù)(4)存儲(chǔ)器的擴(kuò)充1、界地址存儲(chǔ)管理又稱分區(qū)分配存儲(chǔ)管理
分為固定分區(qū)分配和可變式動(dòng)態(tài)分區(qū)分配固定分區(qū)分配固定分區(qū)分配(fixed-sizepartition)是在處理作業(yè)前,內(nèi)存事先劃分為若干個(gè)大小不等或相等的區(qū)域,一旦劃分好則固定不變,每個(gè)作業(yè)占一個(gè)分區(qū),作業(yè)是連續(xù)存放的。分區(qū)的劃分可以由操作系統(tǒng)或系統(tǒng)管理員決定。系統(tǒng)對(duì)內(nèi)存的管理和控制通過數(shù)據(jù)結(jié)構(gòu)—分區(qū)說明表進(jìn)行,分區(qū)說明表說明各分區(qū)號(hào)、分區(qū)大小、起始地址和是否是空閑區(qū)(分區(qū)狀態(tài))。內(nèi)存的分配釋放、存儲(chǔ)保護(hù)以及地址變換都通過分區(qū)說明表進(jìn)行。分區(qū)說明表的結(jié)構(gòu)如圖4-2分區(qū)說明表分區(qū)號(hào)大小始址狀態(tài)19KB20KB已分配225KB29KB可用340KB54KB可用4162KB94KB可用固定分區(qū)方法的優(yōu)缺點(diǎn)固定分配的優(yōu)點(diǎn)是分配回收方便,適用于用戶不多的小型系統(tǒng);缺點(diǎn)是內(nèi)存使用不充分,每一分區(qū)剩余部分無法利用。可變式動(dòng)態(tài)分區(qū)分配
動(dòng)態(tài)分區(qū)的原理動(dòng)態(tài)分區(qū)法在作業(yè)執(zhí)行前并不建立分區(qū),而是在處理作業(yè)的過程中按需要建立分區(qū),而且其大小可隨作業(yè)或進(jìn)程對(duì)內(nèi)存的要求而改變。這就改變了固定分區(qū)中小作業(yè)占據(jù)大分區(qū)的浪費(fèi)現(xiàn)象,從而提高了系統(tǒng)的利用率。動(dòng)態(tài)分區(qū)的數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)分區(qū)采用三張表對(duì)內(nèi)存管理,分別為已分配區(qū)域說明表、未分配區(qū)域說明表(可用表)和資源請(qǐng)求表。動(dòng)態(tài)分區(qū)的分配與回收
分配動(dòng)態(tài)分區(qū)法在分配前,除操作系統(tǒng)本身占用外,只有一個(gè)空白區(qū)。分配時(shí),按一定的算法從空白表區(qū)中找,看是否有滿足作業(yè)的可用分區(qū),如果空白區(qū)存在則分配,分配后修改兩張表的內(nèi)容,如果找不到滿足要求的空閑區(qū)則系統(tǒng)報(bào)錯(cuò)。首次適應(yīng)法(first-fit)要求把內(nèi)存中的可用分區(qū)單獨(dú)組成可用分區(qū)表或可用分區(qū)自由鏈,按起始地址遞增的次序排列。查找的方法是每次按遞增的次序向后找,一旦找到大于或等于所要求內(nèi)存長(zhǎng)度的分區(qū),則結(jié)束查找,從找到的分區(qū)中劃分所要求的內(nèi)存長(zhǎng)度分配給用戶,把剩余的部分進(jìn)行合并(如果有相鄰的空白區(qū)存在的話),并修改可用區(qū)中的相應(yīng)表項(xiàng)。循環(huán)適應(yīng)法(circulation-fit)系統(tǒng)記住上一次分配區(qū)地址,每重新分配一次時(shí),都在當(dāng)前之后尋找,其目的是回收空白區(qū)。即內(nèi)存所有的線性空間可能輪流使用到。分配的時(shí)間會(huì)快一些,“碎片”也可能會(huì)小一些。最佳適應(yīng)法(best-fit)最佳適應(yīng)法要求按空白區(qū)的大小,從小到大次序組成空白區(qū)表或自由鏈。尋找的方法是找到第一個(gè)滿足要求的空白區(qū)時(shí)停止查找,如果該空白區(qū)大于請(qǐng)求表中的請(qǐng)求長(zhǎng)度,則將剩余空白區(qū)留在可用表中(如果相鄰有空白區(qū),則與之合并),然后修改相關(guān)表的表項(xiàng)。最壞適應(yīng)法(worset-fit)最壞適應(yīng)法要求按空白區(qū)大小,從大到小遞減順序組成空白區(qū)可用表或自由鏈.尋找的方法是當(dāng)用戶作業(yè)或進(jìn)程申請(qǐng)一個(gè)空白區(qū)時(shí),選擇能滿足要求的最大空白區(qū)分配,先檢查空白區(qū)可用表或自由鏈的第一個(gè)空閑區(qū)的大小是否大于或等于所要求的內(nèi)存長(zhǎng)度,若滿足,則分配相應(yīng)的存儲(chǔ)空間給用戶,然后修改和調(diào)整空閑區(qū)可用表或自由鏈,否則分配失敗。2、頁式存儲(chǔ)管理
實(shí)現(xiàn)原理:(1)劃分實(shí)頁:將物理內(nèi)存劃分成位置固定、大小相同的“塊”(實(shí)頁面)。(2)劃分虛頁:將用戶邏輯地址空間也分成同樣大小的頁面,成為虛擬空間的虛頁面(3)建立頁表:建立頁表,每個(gè)作業(yè)一張,按虛頁號(hào)進(jìn)行登記(4)地址變換:將虛頁面的邏輯地址轉(zhuǎn)化為實(shí)頁面的物理地址,在程序執(zhí)行時(shí)改變?yōu)槲锢淼刂罚瑢儆谧鳂I(yè)的動(dòng)態(tài)重定位,一般由地址轉(zhuǎn)換機(jī)構(gòu)(硬件)完成2、頁式存儲(chǔ)管理
頁表的設(shè)計(jì):(1)存儲(chǔ)分塊表
:整個(gè)系統(tǒng)一張,記錄整個(gè)內(nèi)存的使用情況。主要有位示圖和空白塊鏈兩種方法。(2)作業(yè)表
:整個(gè)系統(tǒng)一張,每個(gè)作業(yè)占一個(gè)表項(xiàng)(3)頁表
:每個(gè)作業(yè)一張,其表項(xiàng)包括頁號(hào)(虛頁)、頁面號(hào)(實(shí)頁)中斷位、改變位、淘汰位等2、頁式存儲(chǔ)管理
請(qǐng)求淘汰換頁算法:(1)先進(jìn)先出算法
:先進(jìn)入內(nèi)存的頁面先淘汰。實(shí)現(xiàn)是在頁表中登記進(jìn)入的次序,并將各個(gè)已分配的頁面按分配時(shí)間順序連接起來,組成FIFO隊(duì)列。(2)循環(huán)檢測(cè)法
:讓循環(huán)多的頁面留駐內(nèi)存,計(jì)算機(jī)采用記錄頁面住留內(nèi)存期間對(duì)該頁的訪問時(shí)間,t為該頁上一次訪問時(shí)間,T為該頁第二次訪問時(shí)間,選用相對(duì)時(shí)間(t-T)最大的淘汰。優(yōu)點(diǎn)是適合循環(huán)多的大程序;缺點(diǎn)是系統(tǒng)開銷大2、頁式存儲(chǔ)管理
請(qǐng)求淘汰換頁算法:(3)最近最少使用頁面先淘汰
:選擇離當(dāng)時(shí)時(shí)間最近的一段時(shí)間內(nèi)最久沒有使用過的頁面先
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年商場(chǎng)物業(yè)管理合同:定制化管理服務(wù)協(xié)議
- 醫(yī)院大樓石材干掛施工合同
- 親子酒店租賃合同模板
- 新一代信息技術(shù)教案 第3章 探究云計(jì)算
- 橋梁建設(shè)瓦工施工合同范本
- 生態(tài)旅游開發(fā)魚塘招投標(biāo)方案
- 油氣開采木方施工合作
- 化妝品企業(yè)?;肥褂冒踩?guī)范
- 電影院裝修意向書
- 廢料再處理與利用指導(dǎo)
- 食品流通許可證食品經(jīng)營操作流程圖
- 海明斯德謙產(chǎn)品說明
- 安裝空調(diào)竣工驗(yàn)收單
- 小學(xué)生態(tài)文明教育教案學(xué)校生態(tài)文明教育方案.doc
- 用電信息采集運(yùn)維方案及服務(wù)承諾
- 花木綠化養(yǎng)護(hù)考核評(píng)分表
- (完整版)拌合站、水泥罐、攪拌站地基計(jì)算
- 錫柴6110發(fā)動(dòng)機(jī)圖冊(cè)
- 中小企業(yè)辦公無線網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文
- 可研勘察設(shè)計(jì)費(fèi)計(jì)費(fèi)標(biāo)準(zhǔn)
- 某企業(yè)員工違規(guī)處理登記表(doc 2頁)
評(píng)論
0/150
提交評(píng)論