版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
DOSWindows9XWindowsNTLinuxUNIXWindowsCE第4章資源管理技術(shù)所謂操作系統(tǒng)就是能有效地管理計算機系統(tǒng)中的各種軟、硬件資源,合理地組織計算機的工作流程,為用戶創(chuàng)造良好工作環(huán)境的系統(tǒng)軟件。4.1操作系統(tǒng)的概念一、操作系統(tǒng)的功能與任務(wù)
OS是最基本的、核心的系統(tǒng)軟件,是加在系統(tǒng)硬件上的第一層軟件,是硬件的首次擴充。其作用有如下幾個方面:(1)管理系統(tǒng)資源(2)為用戶提供資源共享的條件和環(huán)境,并對資源的使用進行合理調(diào)度(3)提供輸入輸出的方便環(huán)境,提供良好的用戶界面(4)規(guī)定用戶的接口,進行各種錯誤處理操作系統(tǒng)的五大功能
操作系統(tǒng)功能文件管理進程管理(處理機管理)存儲器管理作業(yè)管理設(shè)備管理二、OS的發(fā)展過程1、第一階段(手工操作階段)輸入紙帶(卡片)、電傳打字機輸出結(jié)果、在控制臺上用搬鍵輸入命令等;沒有OS,只能用機器指令控制、操作計算機;用戶獨占整個系統(tǒng)資源,利用率低;CPU等待人工操作;用戶既是操作員又是程序員;既用戶必須是計算機專家;主要用于科學(xué)計算。面臨的問題:人機矛盾日益突出、系統(tǒng)資源利用率低。2、第二階段(成批處理系統(tǒng))
為解決人機矛盾,提高資源利用率,人們很自然想到:讓計算機保持不間斷工作、減少人工干預(yù)程度。于是產(chǎn)生了把“零散的單一程序處理”變?yōu)椤凹械某膳绦蛱幚怼钡奶幚矸绞健!芭幚怼辈僮飨到y(tǒng)由此而產(chǎn)生;被稱為“第1代操作系統(tǒng)”。系統(tǒng)特點:把一批性質(zhì)相同的程序(例如,求解不同邊界條件的微分方程)按序存放在存儲介質(zhì)中;
一次性提交給計算機進行處理;減少了手工操作的時間,使系統(tǒng)有相對較長的連續(xù)運行時間,從而提高了CPU利用率。操作特點:
程序員和操作員有了明確的分工;程序員負責(zé)把實際問題抽象為計算機能夠求解的模型,再用算法語言把它編為可在計算機上運行的程序;而上機操作則由操作員來完成;開始擺脫手工操作方式,由批處理監(jiān)管程序來完成成批程序的處理。
面臨的問題:
高速CPU和低速I/O的矛盾加劇。由于計算機技術(shù)的發(fā)展,CPU處理速度提高很快,但I/O的速度卻很慢,系統(tǒng)整體效率沒有得到應(yīng)有的提高。3、第3階段(執(zhí)行程序系統(tǒng)和多道的引入)
為解決高速CPU和低速I/O不匹配的矛盾,在硬、軟件資源方面做了巨大的改進,由此誕生了許多新技術(shù):
高質(zhì)量、高效率的高級語言編譯器:
FORTRAN、COBOL、PASCAL等;分時系統(tǒng)將CPU劃分為很小的時間片,采用循環(huán)輪作方式處理多道程序;
CPU和I/O的并行處理技術(shù);包括:通道技術(shù)、緩沖技術(shù)、多道處理技術(shù)、中斷技術(shù)等。
由此產(chǎn)生了第三代操作系統(tǒng)。系統(tǒng)特點:多道處理一個CPU同時處理多個程序;同時將多個程序裝入內(nèi)存、并同時運行的機制;大大提高了CPU的利用率;通道技術(shù)將I/O處理從CPU的控制下獨立出來的一套處理機制,也稱為“I/O處理機”;CPU不再直接控制I/O設(shè)備,而是通過通道去控制,從而實現(xiàn)了CPU和I/O設(shè)備之間的并行工作,緩解了CPU和I/O速度不匹配的矛盾;(例如顯卡的發(fā)展)中斷技術(shù)在程序運行中,出現(xiàn)了某種緊急事件,必須暫時中止現(xiàn)行程序,轉(zhuǎn)去處理此事件,然后再恢復(fù)中斷程序的運行技術(shù)。操作特點:操作更加簡單;例如,MS-DOS、UNIX、WINDOWS;功能更加強大;五大功能由此實現(xiàn);應(yīng)用程序豐富多彩;計算機應(yīng)用已廣泛涉及到各行各業(yè)、各個領(lǐng)域。面臨的問題:CPU利用率低的矛盾更加激化。(與內(nèi)存的矛盾最突出)(頻率越高越好?)
現(xiàn)有處理技術(shù)和手段已不適應(yīng)應(yīng)用的實時處理需求。4、第4階段
隨著計算機技術(shù)和硬件技術(shù)的發(fā)展,特別是大容量存儲器的問世,促進了軟件技術(shù)的發(fā)展,從而產(chǎn)生了功能更強大、更完善的第四代操作系統(tǒng)。
系統(tǒng)特點:微機操作系統(tǒng)的誕生,MS-DOS;多用戶操作系統(tǒng);例如,UNIX;基于圖形界面操作環(huán)境的操作系統(tǒng);例如,Windows;網(wǎng)絡(luò)操作系統(tǒng);例如,WindowsNT;“客戶機/服務(wù)器”模式。瀏覽器操作系統(tǒng)(NC)多媒體技術(shù)面臨的問題:由于數(shù)據(jù)信息的含義拓寬為包括“聲音、圖像、影視等多媒體信息,因此,信息傳輸?shù)摹捌繌健眴栴}顯得格外突出。網(wǎng)上大流量的傳輸需求與線路帶寬的矛盾上升為主要矛盾。三、操作系統(tǒng)的分類(訪問方式)
1、批處理操作系統(tǒng)(BatchProcessing)2、分時系統(tǒng)(TimeSharing)(遠程登錄技術(shù))3、實時系統(tǒng)(RealTime)(實時監(jiān)控)4、通用操作系統(tǒng)(Windows,Linux)批處理操作系統(tǒng):解決:用戶操作速度太慢與計算機處理速度極快之間的矛盾,提高了計算機系統(tǒng)的吞吐量,提高了系統(tǒng)資源的利用率。特點:不需人工干預(yù),進行批量處理。批處理系統(tǒng)又分為單道批處理系統(tǒng)和多道批處理系統(tǒng)。
缺點:處理過程中,用戶不能干預(yù)。分時系統(tǒng):分時系統(tǒng)是多道程序的變種,每個用戶都通過一個聯(lián)機終端使用計算機系統(tǒng)。
分時系統(tǒng)與批處理系統(tǒng)的區(qū)別:在批處理系統(tǒng)中,一個作業(yè)可以長時間地占用CPU直至該作業(yè)執(zhí)行完成;而在分時系統(tǒng)中,一個作業(yè)只能在屬于它的那個時間片內(nèi)使用CPU,時間一到,系統(tǒng)將剝奪作業(yè)的CPU使用權(quán),把CPU分配給其他的作業(yè)使用。特點:同時性、獨立性、及時性、交互性必須考慮:系統(tǒng)的響應(yīng)時間。系統(tǒng)核心:時間片輪流調(diào)度技術(shù)。影響系統(tǒng)響應(yīng)時間的因素:用戶數(shù)目,時間片的長短以及作業(yè)調(diào)度所必須的系統(tǒng)開銷等。例:有人說:“分時系統(tǒng)中分時時間片的長短問題無所謂,并不影響終端用戶得到的及時響應(yīng)。”結(jié)論:分時時間片的長短問題是一個重要問題,它將直接影響用戶得到的及時響應(yīng)?!睂崟r系統(tǒng):(特殊的分時系統(tǒng))分類:實時過程系統(tǒng)、實時信息處理系統(tǒng)。
特點:對時間有嚴(yán)格的限制,要求計算機能對外部隨機事件做出及時響應(yīng),并處理。
采用:時間片分時技術(shù)。
特點:及時性、同時性、獨立性、交互性。
實時系統(tǒng)與分時系統(tǒng)的區(qū)別:實時系統(tǒng)專用性很強,交互能力較差,用戶數(shù)量有限;分時系統(tǒng)通用性很強,交互能力很強,允許用戶運行或修改應(yīng)用程序。
最大區(qū)別:系統(tǒng)的響應(yīng)時間。分時系統(tǒng)的響應(yīng)時間可以長一點,以用戶可以忍受的范圍為限,一般2--3秒;實時系統(tǒng)的響應(yīng)時間短得多,一般毫秒級,甚至微秒級。通用操作系統(tǒng):
兼有批處理、分時處理和實時處理三者或其中的兩者的功能。(Windows,linux)多窗口OS:P165-1664.2多道程序設(shè)計基本概念程序單道程序、多道程序、順序程序、并發(fā)程序順序程序與并發(fā)程序的特征進程進程的特征、性質(zhì)、狀態(tài)及轉(zhuǎn)換、線程1、程序的有關(guān)概念程序(Program)
是為解決某個問題用計算機語言或命令設(shè)計、編寫的一系列指令的有序集合。程序的順序執(zhí)行
一個程序通常分為若干個具有一定獨立性的程序段,這些程序段是按邏輯步驟編排的,只有當(dāng)當(dāng)前程序段執(zhí)行完成后,才將控制權(quán)轉(zhuǎn)交到下一個程序段并執(zhí)行下一個程序段。程序順序執(zhí)行舉例一設(shè)有一個程序有三個程序段,分別執(zhí)行
I(輸入)、C(計算)和P(輸出)操作。執(zhí)行順序為:
ICP
只有‘輸入’了數(shù)據(jù),才能‘計算’這些數(shù)據(jù),也只有‘計算’產(chǎn)生了結(jié)果,才能‘輸出’它們。這些邏輯關(guān)系(順序)是不能隨意改變的。
結(jié)果
數(shù)據(jù)
程序順序執(zhí)行舉例二
假設(shè)有n個作業(yè),每個作業(yè)都由三個程序段:輸入段Ii、計算段Ci、輸出段Pi。在早期單道程序系統(tǒng)中,作業(yè)執(zhí)行流為:作業(yè)1I1C1P1
作業(yè)2I2C2P2
作業(yè)nInCn
Pn作業(yè)執(zhí)行順序單道程序處理及特性一次只處理一個程序。該程序獨享系統(tǒng)資源。單個程序的特性:
1、順序性操作按程序規(guī)定的順序執(zhí)行。2、封閉性程序在執(zhí)行過程中獨享系統(tǒng)資源,不受外界因素的干擾和影響。3、可再現(xiàn)性只要初始條件相同,無論以何種方式、速度、重復(fù)執(zhí)行多少次,結(jié)果是相同的。多道程序處理及特性同時將多個程序裝入內(nèi)存,并同時處理它們,整個系統(tǒng)資源為多個程序共享。由于多道程序具有并發(fā)的特點,在任一時刻,系統(tǒng)內(nèi)部(內(nèi)存)同時運行著多個程序;受系統(tǒng)資源的制約,每個程序處理過程的行為是不確定的(系統(tǒng)內(nèi)部狀態(tài)因此而不同)。例如,第Ii個程序的Ci
這次是在時刻Ti開始的,那么,下一次運行同樣的程序組時,第Ii個程序的Ci
就不一定是在Ti時刻開始。
程序并發(fā)執(zhí)行舉例設(shè)有三個程序,它們的執(zhí)行步驟和順序相同,都是Ii(輸入)、Ci(計算)、Pi(輸出)。當(dāng)?shù)?個程序的輸入操作I1執(zhí)行完、執(zhí)行C1時,輸入機空閑,這時候可以執(zhí)行第2個程序的輸入操作I2;在時間上,操作C1和I2時重疊的。當(dāng)C1執(zhí)行完、執(zhí)行P1時,處理機空閑,若這時I2已完成,就可以執(zhí)行C2,與此同時,輸入機又空閑,可以執(zhí)行第3個程序的I3。這樣一來,在時間上,P1、C2和I3是重疊操作的。
程序并發(fā)執(zhí)行舉例示意圖程序1:I1C1P1程序2:I2C2P2程序3:I3C3P3
從示意圖中可以看出,C1和I2、P1、C2和I3、P2和C3在時間上都是重疊操作的。Tt1t3t2單道和多道程序處理的區(qū)別在單道程序處理環(huán)境下,各邏輯步驟之間的關(guān)系是確定的、不受外界影響而改變的。在多道程序處理環(huán)境下,并發(fā)處理機制中必然存在著直接或間接的相互依賴和相互制約的關(guān)系,從而使被處理的多道程序失去了程序固有的特性:封閉性、可再現(xiàn)性。
程序并發(fā)處理特征
1、失去了程序的封閉性,請分析下列程序
begin用cobegin和coend表示程N:integer序能并發(fā)執(zhí)行。N:=0
cobeginbeginbeginL1:programAL2:programBN:=N+1printN
gotoL1N:=0endgotoL2
coendendend并發(fā)程序段A并發(fā)程序段B程序與計算結(jié)果不再一一對應(yīng)程序在順序執(zhí)行時,程序與“計算”間有著一一對應(yīng)的關(guān)系。在并發(fā)執(zhí)行時,一個共享程序可為多個用戶作業(yè)調(diào)度,而使程序處于多個執(zhí)行中,從而形成了多個“計算”。因此,程序和計算間一一對應(yīng)的關(guān)系不復(fù)存在。程序并發(fā)執(zhí)行時的相互制約程序1:
I1C1P1程序2:I2C2P2程序3:I3C3P3
從圖中可以看出,P1、C2和I3是并發(fā)執(zhí)行的程序段。如果C1未完成,P1和C2就無法執(zhí)行。還可以看出,Ii,Ci和Pi分別共享同一個輸入機、處理機和打印機,因此,一旦C2占用處理機,在它未完成之前,C3就無法啟動。由此可見,程序并發(fā)執(zhí)行時是相互制約的,將導(dǎo)致并發(fā)程序具有“執(zhí)行——暫?!獔?zhí)行”這樣的活動規(guī)律。Tt1t3t2失去了程序的封閉性(續(xù))分析:若先執(zhí)行程序A,N值大于0;再執(zhí)行程序B時,先輸出一個大于0的N值,然后,N值變?yōu)?。若先執(zhí)行程序B,N值等于0,先輸出一個0的N值;再執(zhí)行程序A時,N值變?yōu)?。由于程序A和程序B都是以各自獨立的速度運行,則因速度不同而結(jié)果不同。所以并發(fā)執(zhí)行程序失去了順序程序的封閉性。如何表示并發(fā)程序的特性?
2、進程及有關(guān)概念進程(Process)就是程序的一次執(zhí)行過程,是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位?!斑M程”這個概念是1966年美國麻省理工學(xué)院的J.H.Sallexer提出的。進程管理也被稱為處理機管理。處理機是計算機系統(tǒng)中的重要資源,所以它管理的好壞在很大程度上直接影響系統(tǒng)的效率。處理機管理又分兩個部分:作業(yè)管理和進程管理。進程管理是由程序管理進化而來,是和程序管理密不可分的。進程的概念
由于并發(fā)活動的復(fù)雜性,不同學(xué)者研究和討論的側(cè)重點不同,對進程的定義也不盡相同。幾種不同的定義為:
進程是可以和別的計算并發(fā)執(zhí)行的計算;進程是程序的一次執(zhí)行,亦即進程是在給定內(nèi)存區(qū)域中的一組指令序列的執(zhí)行過程;所謂進程,就是一個程序在給定活動空間和初始環(huán)境下,在一個處理機上的執(zhí)行過程;進程是程序在一個數(shù)據(jù)集合上運行的過程,是系統(tǒng)資源分配和調(diào)度的一個獨立單位。進程的特征進程具有兩個重要特征:(1)動態(tài)性:表現(xiàn)在它由“創(chuàng)建”而產(chǎn)生,由“調(diào)度”而執(zhí)行,因得不到資源而“暫停”執(zhí)行,最后由“撤消”而消亡。進程有自己的生命周期。(2)并發(fā)性:在系統(tǒng)中可以同時存在幾個進程。在單CPU系統(tǒng)中,任何時刻只有一個進程占用CPU,其它進程處于等待狀態(tài)。進程有著走走停停的活動規(guī)律。引入進程的目的是為了程序的并發(fā)執(zhí)行,以提高資源的利用率。進程的性質(zhì)1)動態(tài)性描述程序在執(zhí)行過程中的全部活動;2)并發(fā)性
OS同時接受和處理多個進程;3)異步性不同進程在邏輯上相互獨立,有各的運行“軌跡”;4)制約性由于計算機資源是有限的,不同進程共享CPU和I/O通道及設(shè)備,因此相互制約。
進程的狀態(tài)進程在其存在的過程中,它們的狀態(tài)是不斷發(fā)生變化的。一般來說,進程有三種基本狀態(tài):就緒狀態(tài)、運行狀態(tài)、等待狀態(tài)。就緒狀態(tài)
已經(jīng)獲得投入運行所必需的一切資源,一旦分配到CPU,就可以立即執(zhí)行。這是一種邏輯上可運行狀態(tài)(“萬事具備,只欠東風(fēng)”)。運行狀態(tài)進程獲得了CPU及其它一切所需資源,正在CPU上運行著。等待狀態(tài)
由于資源得不到滿足,進程運行受阻,處于暫停狀態(tài),等待資源分配后,再投入運行。進程狀態(tài)轉(zhuǎn)換示意圖
運行狀態(tài)等待狀態(tài)
就緒狀態(tài)
進程調(diào)度
等待資源時間用完獲得資源
進程調(diào)度程序
來自作業(yè)調(diào)度
交作業(yè)管理進程在整個生存周期中,由進程調(diào)動程序控制,在這三種狀態(tài)之間進行轉(zhuǎn)換。四、死鎖
1、什么是死鎖現(xiàn)象:每個進程所要求的資源都已被另一個進程占用,出現(xiàn)沒有一個進程能繼續(xù)運行,這種情況稱“死鎖”。2、死鎖產(chǎn)生的原因
(A)資源不能共享(資源獨占性)。(B)資源的不可剝奪性。(C)資源采用動態(tài)分配原則:允許一個進程不釋放已占有的資源,就又去申請別的資源。(D)允許進程間非法交叉推進順序的存在:導(dǎo)致循環(huán)等待資源,無法前進。例如:進程A和B以下面的推進速度前進,導(dǎo)致死鎖。
1.A:申請打印機2.B:申請讀卡機
3.A:申請讀卡機4.B:申請打印機打印機進程A進程B讀卡機進程A申請到打印機進程A需要讀卡機進程B申請到讀卡機進程B需要打印機
3、死鎖產(chǎn)生必須同時具有的四個必要條件:
(A)資源獨占性。(B)資源的不可剝奪性。(C)資源采用動態(tài)的部分分配原則(D)出現(xiàn)相關(guān)進程由于資源分配不當(dāng)而出現(xiàn)循環(huán)等待。4、解決死鎖的辦法
(A)死鎖的預(yù)防
破壞產(chǎn)生死鎖的4個必要條件中的任何一個?!りP(guān)于資源獨占性:采用假脫機技術(shù)可以使非共享設(shè)備變?yōu)楣蚕碓O(shè)備?!て茐摹百Y源的不可剝奪性”(申請不到資源時,釋放原先已占有的,進入等待,以后再一起申請)?!て茐膶Y源采用動態(tài)的部分分配原則(每個進程必須提出它所需要的全部資源,只有完全滿足時,才能啟動)?!て茐难h(huán)等待。
(B)死鎖的避免
躲避死鎖的發(fā)生。
(C)死鎖的檢測與恢復(fù)
允許死鎖產(chǎn)生,當(dāng)死鎖發(fā)生時能檢測出來,并且有能力處理,進行恢復(fù)。采用虛擬技術(shù),使非共享設(shè)備變成共享設(shè)備,以避免死鎖用戶1用戶2用戶3??????輸出輸出輸出打印打印機主機系統(tǒng)資源進行統(tǒng)一編號。進程申請使用資源時,必須嚴(yán)格按照編號的升序進行
進程資源ABC1、卡片輸入機(3臺)√√√
2、行式打印機(2臺)√√*3、卡片輸入機(1臺)√*
4、磁帶機(1臺)為了避免死鎖的發(fā)生,系統(tǒng)對進程提出的每一個資源請求,先不是真正去分配,而是根據(jù)當(dāng)時資源的使用情況,按一定的算法去進行模擬分配后的結(jié)果。只有當(dāng)探測結(jié)果不會導(dǎo)致死鎖,才真正接收進程提出的這一請求。目前常用的算法是“銀行家算法”(1968年提出)。銀行家算法的思想:(假定在同類資源的分配上實行這一算法)系統(tǒng)接到一個進程的資源請求后,就先假定承認這一申請,把資源分配給它。然后系統(tǒng)用剩余的資源和每一個進程還需要的資源數(shù)相比,看能否找到這樣的進程,系統(tǒng)把資源分配給它后,就能滿足它對資源的最大需求,從而保證其運行完畢。如果能就分配給它,系統(tǒng)在其運行完后回收其占用的全部資源,就會有更多的剩余資源數(shù)。再重復(fù)這一過程,直到找不出這樣的進程為止。請看下面示例:進程已分配數(shù)還需要數(shù)A13B42C53系統(tǒng)剩余2進程已分配數(shù)還需要數(shù)A22B42C53系統(tǒng)剩余1例:假定某系統(tǒng)有12臺磁帶機,A最大需要量4B最大需要量6C最大需要量8銀行家算法實例(a)(b)經(jīng)過若干次申請、分配系統(tǒng)的狀態(tài)進程A提出申請1臺磁帶機后,采用銀行家算法系統(tǒng)假定分配后的狀態(tài)資源號占有本次資源進程號a1b3c2d2e1進程號等待資源1c資源分配表進程等待表進程號等待資源1c2b3e(1)(2)(3)e132bc進程間對資源的循環(huán)等待出現(xiàn)進程循環(huán)鏈的現(xiàn)象進程1資源a資源e進程3資源c進程2資源b資源d三、進程通信
1、同步與互斥的概念
臨界資源:一次僅允許一個進程使用的資源。如打印機、讀卡機、緩沖區(qū)、變量等。臨界區(qū):進程中使用臨界資源的那段程序。各進程之間存在著相互制約、相互依賴的關(guān)系,
同步:請看兩個例子
互斥:請看兩個例子
例1:進程同步的例子電子郵件信箱發(fā)送進程A接收進程B當(dāng)信箱滿時,發(fā)送進程只有等待接收進程取走信件,當(dāng)信箱空時,接收進程必須等待發(fā)送進程發(fā)送信件。12n……例2:X=fun1(y)*fun2(Z)計算fun1(y)進程p2算完fun2(Z)?取用P2計算結(jié)果計算fun2(Z)設(shè)置計算完成標(biāo)志終止YN進程P1進程P2????兩個協(xié)同工作進程的同步例2:X=COUNTX=X+1COUNT=XY=COUNTY=Y+1COUNT=Y臨界區(qū)臨界區(qū)進程A進程B????????????????進程A與B對公共變量COUNT進行互斥操作,最終實現(xiàn)COUNT增加2。若A與B按下面順序推進,結(jié)果COUNT只實現(xiàn)增加1。A:X=COUNT;A:X=X+1;COUNT=X;B:Y=COUNT;B:Y=Y+1;COUNT=Y;1、進程的同步與互斥的實現(xiàn)方法用P-V原語對進程中信號量進行操作的方法(簡稱P-V操作)。原語:由若干條機器指令構(gòu)成,完成某一特定功能的一段程序。信號量的概念和P、V原語是荷蘭科學(xué)家提出的。把交通管理的信號燈方法搬到了操作系統(tǒng)中。所謂信號量是一個與隊列有關(guān)的整型變量,表示系統(tǒng)中某類資源的數(shù)量。當(dāng)其值大于0時,表示系統(tǒng)中尚有可用資源;當(dāng)其值為負時,其絕對值表示等待該資源的進程的數(shù)目。信號量的值僅能由P操作和V操作來改變,操作系統(tǒng)利用它的狀態(tài)對進程和資源進行管理。根據(jù)信號量的用途不同,信號量分為公用信號量和私用信號量兩類:(1)公用信號是指每個進程均可對它施加P操作和V操作的量,它聯(lián)系著一組并行進程,起初值為1,通常是為實現(xiàn)進程互斥而設(shè)置的;(2)私有信號量是指僅允許擁有它的進程對它進行P操作和V操作的量,它也聯(lián)系著一組并行進程,其初值為0或某個正整數(shù)n。
按信號量的取值不同可分為:(1)二元信號量:它僅能取0和1兩個數(shù)值。(2)一般信號量:它允許取任意整數(shù)。P原語操作過程:
P操作記為P(S),其中S為一信號量,其執(zhí)行順序完成以下兩個動作:(1)
S:=S
1,表示申請使用一個資源;(2)若S
0,表示系統(tǒng)中有資源可用,現(xiàn)進程可繼續(xù)執(zhí)行。(3)若S
0,表示系統(tǒng)中沒有可用資源,則置該進程阻塞狀態(tài),到S信號量的隊列中去等待,直到其他進程在S上執(zhí)行V操作釋放它為止。P操作意味著:請求系統(tǒng)分配一個單位資源,根據(jù)分配后的情況判斷,是繼續(xù)執(zhí)行現(xiàn)進程,還是阻塞現(xiàn)進程,調(diào)度新進程。V原語操作過程:
V操作記為V(S),其中S為一信號量,其執(zhí)行順序完成以下兩個動作:(1)
S:=S+1,表示釋放一個資源;(2)
若S
0,表示系統(tǒng)中沒有等待該資源的進程,現(xiàn)進程可繼續(xù)執(zhí)行。
(3)
若S
0,表示系統(tǒng)中有等待該資源的進程,則喚醒S信號量隊列中的第一個進程,使其插入到就緒隊列,繼續(xù)執(zhí)行現(xiàn)進程。V操作意味著:釋放一個單位資源,根據(jù)釋放的情況進行判斷,要不要喚醒一個新進程,但無論如何,現(xiàn)進程總是繼續(xù)執(zhí)行。3、P-V操作的應(yīng)用(1)實現(xiàn)進程同步(2)實現(xiàn)進程互斥(3)實現(xiàn)進程同步與互斥——生產(chǎn)者與消費者問題
信號量S:初值為1,表示沒有進程進入臨界區(qū)。信號量S0:初值為0,表示產(chǎn)品數(shù)目。信號量Sn:初值為n,表示緩沖區(qū)中空位置個數(shù)。S=0把P-V操作用于進程同步???進程AC:P(S)同步點同步條件???進程BV(S)假定進程A前進到C點時,必須等到進程B執(zhí)行完同步條件才能繼續(xù)前進。為了實現(xiàn)進程A與進程B在C點同步,設(shè)置信號量S初始值為0。在進程A的C點處設(shè)置P操作,在進程B設(shè)置V操作。假定A先于B到達C點,它要在S上執(zhí)行P操作,使S=-1<0,進程A被迫在S的隊列等待,一直等到進程B執(zhí)行了V操作之后,才能將其喚醒變?yōu)榫途w。反之,假定在進程A到達同步點之前B先對S做了V操作,使S=1,因此當(dāng)進程A到達C點做P操作時,由于S減1為0,就不會受到阻礙而順利地通過同步點。初值:S1=0,S2=0;查詢進程SP(S2)把查詢結(jié)果寫到緩沖區(qū)V(S1)??????打印進程PP(S1)把緩沖區(qū)內(nèi)容打印輸出V(S2)??????S=1進程A的臨界區(qū)P(S)進程AV(S)進程B的臨界區(qū)P(S)進程BV(S)為使這段操作能互斥進行,設(shè)置一個信號量S初值為1,在每個地段的入口處,安排對S的P操作,出口處做V操作。誰先對S做P操作,就會使S的值由1變?yōu)?,且自己獲準(zhǔn)進入臨界區(qū)。另一進程再對S進行P操作,試圖進入自己的臨界地段,就會因為S的值由0變?yōu)?1而受到阻擋。只有等到在臨界地段內(nèi)的進程退出臨界地段時對S做V操作,使S的值由-1變?yōu)?,才會解除這一阻擋而放行,從而實現(xiàn)進程的互斥。Y=COUNTY=Y+1COUNT=Y臨界區(qū)V(S)P(S)進程BX=COUNTX=X+1COUNT=X臨界區(qū)V(S)P(S)進程AS=1123……………NP1P2P3PmC1C2C3Cn有界緩沖區(qū)……生產(chǎn)者進程P(Sn)P(S)緩沖區(qū)產(chǎn)品V(S0)V(S)消費者進程P(S0)P(S)取產(chǎn)品V(Sn)V(S)S=1;So=0;Sn=n;P操作出現(xiàn)的次序不能隨意顛倒;V操作次序無所謂。四、多道程序的組織處理機調(diào)度分為作業(yè)調(diào)度和進程調(diào)度,前者是宏調(diào)度、后者是微調(diào)度,二者的調(diào)度算法類似。常用的作業(yè)調(diào)度算法:1、先來先服務(wù)2、短作業(yè)優(yōu)先3、最高響應(yīng)比優(yōu)先:
響應(yīng)比=等待時間+實際運行時間)/實際運行時間4、基于優(yōu)先級的調(diào)度算法5、均衡調(diào)度算法4.3存儲空間的組織一、內(nèi)存儲器的管理技術(shù)存儲器是計算機系統(tǒng)的重要資源之一。因為任何程序和數(shù)據(jù)以及各種控制用的數(shù)據(jù)結(jié)構(gòu)都必須占用一定的存儲空間,因此,存儲管理直接影響系統(tǒng)的性能。存儲器由內(nèi)存和外存組成。內(nèi)存由順序編址的塊組成,每塊包含相應(yīng)的物理單元。邏輯(相對)地址與物理(絕對)地址邏輯地址(logicaladdress、relativeaddress)程序中按邏輯順序編排的代碼及數(shù)據(jù)的地址稱為邏輯地址。物理地址(physicaladdress、absoluteaddress)程序中按代碼及數(shù)據(jù)在內(nèi)存中實際存儲位置的地址成為物理地址。重定位(relocation)將邏輯地址轉(zhuǎn)化為物理地址的過程稱為重定位。一般由操作系統(tǒng)的鏈接過程完成。分為靜態(tài)和動態(tài)兩種。靜態(tài)鏈接是在鏈接裝入時一次集中完成,動態(tài)是在指令執(zhí)行中先訪問內(nèi)存后再重定位,一般由硬件完成地址轉(zhuǎn)換。重定位原理圖見圖4-1。存儲管理的功能(1)地址變換:相對地址到絕對地址(2)內(nèi)存分配:(3)存儲共享與保護(4)存儲器的擴充1、界地址存儲管理又稱分區(qū)分配存儲管理
分為固定分區(qū)分配和可變式動態(tài)分區(qū)分配固定分區(qū)分配固定分區(qū)分配(fixed-sizepartition)是在處理作業(yè)前,內(nèi)存事先劃分為若干個大小不等或相等的區(qū)域,一旦劃分好則固定不變,每個作業(yè)占一個分區(qū),作業(yè)是連續(xù)存放的。分區(qū)的劃分可以由操作系統(tǒng)或系統(tǒng)管理員決定。系統(tǒng)對內(nèi)存的管理和控制通過數(shù)據(jù)結(jié)構(gòu)—分區(qū)說明表進行,分區(qū)說明表說明各分區(qū)號、分區(qū)大小、起始地址和是否是空閑區(qū)(分區(qū)狀態(tài))。內(nèi)存的分配釋放、存儲保護以及地址變換都通過分區(qū)說明表進行。分區(qū)說明表的結(jié)構(gòu)如圖4-2分區(qū)說明表分區(qū)號大小始址狀態(tài)19KB20KB已分配225KB29KB可用340KB54KB可用4162KB94KB可用固定分區(qū)方法的優(yōu)缺點固定分配的優(yōu)點是分配回收方便,適用于用戶不多的小型系統(tǒng);缺點是內(nèi)存使用不充分,每一分區(qū)剩余部分無法利用。可變式動態(tài)分區(qū)分配
動態(tài)分區(qū)的原理動態(tài)分區(qū)法在作業(yè)執(zhí)行前并不建立分區(qū),而是在處理作業(yè)的過程中按需要建立分區(qū),而且其大小可隨作業(yè)或進程對內(nèi)存的要求而改變。這就改變了固定分區(qū)中小作業(yè)占據(jù)大分區(qū)的浪費現(xiàn)象,從而提高了系統(tǒng)的利用率。動態(tài)分區(qū)的數(shù)據(jù)結(jié)構(gòu)動態(tài)分區(qū)采用三張表對內(nèi)存管理,分別為已分配區(qū)域說明表、未分配區(qū)域說明表(可用表)和資源請求表。動態(tài)分區(qū)的分配與回收
分配動態(tài)分區(qū)法在分配前,除操作系統(tǒng)本身占用外,只有一個空白區(qū)。分配時,按一定的算法從空白表區(qū)中找,看是否有滿足作業(yè)的可用分區(qū),如果空白區(qū)存在則分配,分配后修改兩張表的內(nèi)容,如果找不到滿足要求的空閑區(qū)則系統(tǒng)報錯。首次適應(yīng)法(first-fit)要求把內(nèi)存中的可用分區(qū)單獨組成可用分區(qū)表或可用分區(qū)自由鏈,按起始地址遞增的次序排列。查找的方法是每次按遞增的次序向后找,一旦找到大于或等于所要求內(nèi)存長度的分區(qū),則結(jié)束查找,從找到的分區(qū)中劃分所要求的內(nèi)存長度分配給用戶,把剩余的部分進行合并(如果有相鄰的空白區(qū)存在的話),并修改可用區(qū)中的相應(yīng)表項。循環(huán)適應(yīng)法(circulation-fit)系統(tǒng)記住上一次分配區(qū)地址,每重新分配一次時,都在當(dāng)前之后尋找,其目的是回收空白區(qū)。即內(nèi)存所有的線性空間可能輪流使用到。分配的時間會快一些,“碎片”也可能會小一些。最佳適應(yīng)法(best-fit)最佳適應(yīng)法要求按空白區(qū)的大小,從小到大次序組成空白區(qū)表或自由鏈。尋找的方法是找到第一個滿足要求的空白區(qū)時停止查找,如果該空白區(qū)大于請求表中的請求長度,則將剩余空白區(qū)留在可用表中(如果相鄰有空白區(qū),則與之合并),然后修改相關(guān)表的表項。最壞適應(yīng)法(worset-fit)最壞適應(yīng)法要求按空白區(qū)大小,從大到小遞減順序組成空白區(qū)可用表或自由鏈.尋找的方法是當(dāng)用戶作業(yè)或進程申請一個空白區(qū)時,選擇能滿足要求的最大空白區(qū)分配,先檢查空白區(qū)可用表或自由鏈的第一個空閑區(qū)的大小是否大于或等于所要求的內(nèi)存長度,若滿足,則分配相應(yīng)的存儲空間給用戶,然后修改和調(diào)整空閑區(qū)可用表或自由鏈,否則分配失敗。2、頁式存儲管理
實現(xiàn)原理:(1)劃分實頁:將物理內(nèi)存劃分成位置固定、大小相同的“塊”(實頁面)。
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品衛(wèi)生及質(zhì)量管理制度
- 衛(wèi)生院內(nèi)部管理工作制度
- 衛(wèi)生院醫(yī)養(yǎng)結(jié)合制度
- 國土所衛(wèi)生管理制度
- 衛(wèi)生院采管理購制度
- 壞環(huán)境衛(wèi)生管理制度
- 徐寨村環(huán)境衛(wèi)生管理制度
- 火鍋店倉庫衛(wèi)生管理制度
- 烘焙房衛(wèi)生管理制度
- 衛(wèi)生所內(nèi)部管理制度
- 2025 冰雪經(jīng)濟全景圖之旅游專題:冰雪旅游活力持續(xù)帶動區(qū)域發(fā)展
- 精簡脫硝工藝
- DB12T 625-2016 生產(chǎn)經(jīng)營單位安全生產(chǎn)應(yīng)急管理檔案要求
- 《二氧化碳陸地封存工程地質(zhì)條件適宜性評價及選址指南》
- 《降低輸液外滲率》課件
- 住院醫(yī)師規(guī)范化培訓(xùn)內(nèi)容與標(biāo)準(zhǔn)(2022年版)-骨科培訓(xùn)細則
- GB/T 16288-2024塑料制品的標(biāo)志
- 2024-2025學(xué)年人教版小升初英語試卷及解答參考
- 質(zhì)量信得過班組匯報材料
- 醫(yī)學(xué)倫理學(xué)案例分析
- 金融科技對商業(yè)銀行業(yè)務(wù)的影響研究
評論
0/150
提交評論