




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、操作系統(tǒng)一章 操作 統(tǒng)概述和作用1.1 操作系的目1.1.1 操作系統(tǒng)目標(biāo)目標(biāo):.方便性 不需人人都是程序員效性 工作協(xié)調(diào)高效擴充性。各發(fā)展開放。移和互操作1.1.2 操作系統(tǒng)的作用1. OS 作為用戶與計算機硬件系統(tǒng)之間的接口 OS 處戶與計算機硬件系統(tǒng)之間,用戶通過 OS 來用計算系統(tǒng)。(從用戶角度來看,來(1) 命令 入。形式分為以下幾:算機。)命令行(Command Line Input ):由 OS 提供的一組聯(lián)機命令(語言),用戶可通過鍵盤輸入有命計和令,來直接計算。圖形用戶界面(GUI ):用戶通過顯示設(shè)備上的窗口和圖標(biāo)來操算運(2)和運行的程序。自然輸入方式(NU
2、I ):用戶 過語音 別輸入來計算的程。系統(tǒng)調(diào)用方式(System Call )。OS 提供了一組系統(tǒng)調(diào)用,用在的應(yīng)通過相應(yīng)的使用編程調(diào)API1.1.3 推動操系統(tǒng)展的主要力.不斷提高計算機資利用.方便用戶器件的不斷更新?lián)Q代計算機體 結(jié)構(gòu)不斷展用戶的需求是推動 OS 發(fā)展的根本動力OS 作為計算的管理者在一個計算中通常都含有各種各樣的硬件和軟件。需要空間和時間來使用這些資,O 合理調(diào)配和使用。(這是從管理者的角度來看)3. OS 用作擴展機、虛擬機隱藏了計算機具體細節(jié),為用戶展現(xiàn)的是一臺虛擬機,功能上擴展了幾個功能部件的。(這 從發(fā)展的角度來看) overn ent1.2 操作統(tǒng)
3、的展過程1. .1 無操作系統(tǒng)的計算機統(tǒng)1. 人工作方式從第一臺計算機 ENIAC 誕生(1945 年 2 月)到 50 年代中期的計算機,屬于一代。這種人工操作方有以下方面的缺點:( )戶獨占全機。(2) CPU 等待 工操作。2. 脫機輸入/輸出(Off-Line I/O) 方式這種脫機 I/O 方式的主 優(yōu)點如下:(1 減少了 CPU 的空閑時間。(2) 提高 I/O 速度。1 -1.2.2道批處理系1. 單道批處理系 (Simple Batch Pr cessing Sy tem) 的處理過程2.道批處理系統(tǒng)的征該系統(tǒng)的主特征如下 (1) 自 性。(2) 順 性。 3) 單道性。1.2
4、 3 多道批處理系統(tǒng)1. 多道程序設(shè)計的基本概多道批處系統(tǒng)(Multipr grammed Batch Processing System) 。在該系統(tǒng)中,用戶所提交的作業(yè)都先存放在外存上并排成一個隊列,稱為后備隊列;然后,由作業(yè)調(diào)度一定的算法從后備隊列中選擇若干個作業(yè)調(diào)入內(nèi)存,使它們共享 PU 和系統(tǒng)的各種資。這調(diào)度稱之為作業(yè)調(diào)度1.2.41.Time Sharing System) 的產(chǎn)生如果說,推動多道批處理系統(tǒng)形成和發(fā)展的主要動力,是提高利用率和系統(tǒng)吞吐量,那么,推動分形成和發(fā)展主要動力,則用戶的求。用戶的求具體現(xiàn)在以下(1)(2)(32.分(1)(2)(3)個方面人機 互。共享主機。
5、便戶上機。實現(xiàn)中關(guān)鍵問能好壞主要指標(biāo)是應(yīng)時間收。分及時及時處理。符合使用習(xí)。在 OS 中引入多道程序設(shè)技術(shù)可帶來以下好處:( )提高 CPU利用率。(2)可提高 存和 /O 設(shè)備利用率。3)增加系統(tǒng)吞吐量。2. 多道批處 系統(tǒng)的特( )多道性。(2) 無序 。(3) 調(diào)度性。. 多批處理系統(tǒng)的優(yōu)點( )(2)( )(4)4.(1(2(3 ( )(5)利用率高。系統(tǒng)吞吐量大平均周轉(zhuǎn)時間長。無交互能力。多批處理統(tǒng)需要解決的問處理機 理問題。內(nèi)存 理問題。I/ 設(shè)備管理問題文件管理問。 作業(yè)管理題。3. 分系統(tǒng)的特征( )多路性 (2) 獨性。(3 及時性。(4)交互性。.2.5實該實時 統(tǒng)(Rea
6、l-Time System) 是指系統(tǒng)(或即時)響應(yīng)外部的請求,在規(guī)定的間內(nèi)完成的處理,并所有實時任務(wù)協(xié)調(diào)一致地運行。2 -1.3 操作系統(tǒng)的基性1.3.1 并發(fā)(Concurrence)并行性和并發(fā)性是既相似又有區(qū)別的兩個概念,并行性是指兩個或多個在同一時刻發(fā)生;而并發(fā)性是指個或多個事在同一時間間隔內(nèi)發(fā)生。1.3.2 共享(Sharing)本的特征!在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的源可供內(nèi)存多個并發(fā)執(zhí)行的進程(線1.3.3 虛擬(Virtual)操作系統(tǒng)中的所謂虛擬,是指通某種技術(shù)把個物理實體變?yōu)槿舾蓚€邏輯上的對應(yīng)物1.3.4 異步性(Asynchronism)共同使用。在多道程序多個
7、進程是以停走走的式運行。失去封性二章進程管理2.12. .12.1.2程的基本概程序的順序執(zhí)行及其特征趨圖前趨圖(Precedence Graph) 是一個有向無循圖,記為 DA (Directed Acyclic Graph ,用于描述進程之間執(zhí)的前后關(guān)系2.1.3 程 的并及其特征2 1.4 進 的特征狀態(tài)One program which ha an i de endent unct on orks on cer ain data set dynamical y and alloc te r so r es dynamally What is a pro ess?一個具有一定功能的程序某
8、個數(shù)據(jù)集合上的一次動態(tài)執(zhí)行過程分配過Co e,Data,Pro ess Tab e The D ffe ence Be ween Pr ce s and Pr gra Pr cess is dy amic,nd thero ram is sta icrocesssemporary,e p ogram is pe manenceTh elemen s and p ogramf process and rogr m i di ferent Code D ta PT The rel re cpl x Createystem call基本狀態(tài)tionshi s o proces2.的三)就緒(Re d
9、y) 狀2) 執(zhí)行態(tài) 3)阻塞狀2.1.5 進程塊1. 進程塊的作用進程進程2 進塊的作用是一個運行的進程的基本信息。或者說,O 是根PCB 來對并發(fā)執(zhí)行行和管理的。塊中塊的組織式2)程控方程12.2引方式2.2.1進程的建(1)(2)(3)(4)戶登錄 業(yè)調(diào)度。提供服務(wù)。應(yīng)用請求。- 3 -( ) (2(3)(4)申空白 PCB。為新 程分配。初始化進程塊。將新進程就緒隊列如果進程緒隊能夠接進程便將新程就緒隊列。2. 進程的終止過程(1) 根據(jù)被終止進程的標(biāo)識符,從 PCB合中檢 出該進程的 PCB,從中讀出該進程的狀態(tài)。(2) 若被終止進程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進程的執(zhí)行,并置調(diào)標(biāo)志
10、為,用于指示該進程被終止后應(yīng)重新進行調(diào)度。(3)(4)(5)2.1)2)若該進程還有子孫進程,還將被終止進程所擁的全部進程予以終止,以防他們成為不可控的進程。源,或者歸還給其父進程,或歸還給系統(tǒng)。將被終止進程(它的 PCB)從在隊列(或表)中移出等待他搜集信息。.2 進 的終止正常結(jié)束異常結(jié)束自愿的)普通誤致錯誤(自愿的)(自愿的)(非自愿的)3)界干2.2.3 進程的阻塞與喚醒1. 引起進程阻塞喚醒1)請求統(tǒng)服2)34)啟動種操作 新數(shù)據(jù)尚未到達新工作可2.2. 進程的掛起與激活2. 進程同步2.3 1. 兩( )間(2) 直進程同步的基本概念形式的制約關(guān)系相互制約關(guān)系。相互制約關(guān)系。2 臨
11、界源(Critical R source). 臨界區(qū)(critical section)一個T : read(x if x=1 x:-1write(xT : read(x if x=1 x:=x-1;訂票,兩個終端,運行、T 進程hethen- 4 -write(;Crit cal Reons Coming datbl cks Synch onizatio4 同步機制 遵循的則(1)(2)(3)(4)閑讓進 則等待。有限 待。讓權(quán)等待(Petersons Algorit m):先修、后檢查、后修改者等待正確的算法urn=j; 在進入 檢查對 否則再檢程等待,描述可進入的進程(同時修改標(biāo)志)修改
12、flag,turn檢查,并檢查并發(fā)修改的先后:如果不 臨區(qū)則進入空閑則入: 保存的是較晚的一次賦值,則較晚進早的進程進入先先入,后等待usion wi h B sy Wait nM tual ExEnteri g andeavinaiti al region ung thTinstrtionSleep and akeuprodu er-co sumeproblem2.3.2 信 量機制1. 整型信號量th fa al ra eondit on最初由 Dijkstra 把整型信號量定義為一個整型量 僅能通過初始化和兩個準的原子操作( tomicOper tion) wait(S) 和 signa
13、l(S) 來。個作被分別稱為 P、 操作(pr mit ve 。wa S sig 2.(S): whe S0 do nop-1;al(S): S=S+1;型信號量在整型信號量機制中的 wait 操作,只要是信號量 S0,就會不斷地測試。因此,該機制并未遵循讓權(quán)等待的準則,而是使進程處于忙等的狀態(tài)。型信號量機制,則是一種不存在忙等現(xiàn)象的進程同步機制。但在采取了讓權(quán)等待的策略后,又會出現(xiàn)多個進程等待同一臨界的情況。為此,在信號量機制中 除了需要一個用于代表數(shù)目的整型變量 value 外,還應(yīng)增加一個進程鏈表 L,用于上述的所有等待進程。記型號量是由于它采用了記型的數(shù)據(jù)結(jié)構(gòu)而得的。P語 wait(s
14、);own(s); P(s-s.count /表示請一個; if ( .count 0)/ 表示沒有空; 調(diào)用進等待隊列 s.queue; 阻塞調(diào)用進程 V語 signal(s)up(s); V(s+s.count/ 表示放一個;if (s.c u t = 0) /表示有進程處于阻塞狀態(tài) 從等待隊列 s.que 中取出一個進程 P; 進程 P 進入就緒隊列;- 5 -emaphore The pr ducer consumeroblem us sema ho e Monits xample of2.4 經(jīng)典ga mon tor程的同步問題2.4.1 生產(chǎn)者消費問題1.用型信號量解決生產(chǎn)者者問題
15、Dining P ilosopherPhilo opher E tinnee sPico e fork How tprevenat/thk orkst a time deadlock2.4.2 哲學(xué)家進餐問題讓奇數(shù)號的哲學(xué)家先右手邊的筷子,s n ( ) b ginf iod 2 = 0 then el e數(shù)號的哲學(xué)取左邊筷子。ci);(c +1m d P(c5);i)ci+mod);ea V V;ceat;+1 mod i; V);V (i ;i+1od 5)en2 4.3 讀者寫題讀he and Pro-寫者問題描述Reads Writerslem1. 利用型信號量解決讀者寫者問題- 6
16、-Th The arSle ping Barr Probm eepingrProblemSotion to sleepi gbarber proemShared mery(共享內(nèi)存) Message(消息) Pipe(管道)Signal(信號) ocket(套接字)Ierp ocess Com unicati n2.5 進程通信 2.5.1程通信的類型1. 共享統(tǒng)(Shared MemoryS ste )(1)基于共享數(shù)據(jù)結(jié)的通方式。(2) 基于共享. 消息傳遞系的通信方式。Message passingsy tem)在消息傳遞系統(tǒng)中,進程的是以格式化的消息(message為單的;在計算機網(wǎng)絡(luò)
17、中,又把 message 稱為報文。程序員接利系統(tǒng)提供的一組通命令(原語)進行通信。3. 管道( ipe) 通信管道是指用于連接一個進一個寫進程以實現(xiàn)他們之間通信的一個共件,又名 pipe 文件。這種方式首創(chuàng)系統(tǒng),由于它能有效地送大量數(shù)據(jù)而又被引入到許多其操作統(tǒng)中。2. .2 消息傳遞通信實現(xiàn)方法1. 直接通信方式通信命令(原語):UNIX因Send(Receive , message);一消息給接收進程;eceive(S nder,essage); 接收 Se der 發(fā)來的消息;例如,原語 Send P2, m1)表示將消息 m1則表示接收由 P1 發(fā)來的消息 m1給進程 P2;而原語 R
18、eceive P1,m1)不指定利用送者的接收原語可表:Receive (id, messag );通語,解決生產(chǎn)者題。r peotcean item inextp;send(consumer, nextp);7until false; epeatcve(prod cernex c)csumehe itein next untilalseMessage Passing Thepr ucer nsumer ob emwi h N messages2.(1(2間接通信方式信箱的創(chuàng)建和撤消。消息的和接收Send(mailboxmessage); 將一個消息送到指定信箱;R ceivboxm ssag
19、e) 從指定信箱中接收一個消息;3. 進程同 方式(1)(2)3)2.6進程阻塞、接收程阻塞進程不阻塞、接進程阻。接收進程均阻塞。線程2.6.1 線程的基本概念為12)3)程序并發(fā)執(zhí)行系統(tǒng)創(chuàng)建進程消進程 進程切換 線程引入Thread M del必須進行下的系列操作Th(a)( )Forhre One p xampproce cese Thees with hreachwith onthr adt ree thread d M delEachhr ad ha2 線程屬性its own stack(1)輕型實體(容易建和撤)。(2)( ) (4(5)The調(diào) 和分派的基本單??刹l(fā)執(zhí)行共享進程資
20、。應(yīng)硬件的發(fā)Tre d M dels ared byll th eads in aroce s private to each threadIt ms Ite- 8 -3. 線程狀態(tài)(1) 狀態(tài)參數(shù)。(2) 線程運行狀態(tài)。5. 多線程 OS 中的進程在多線程 OS 中,進程是作為擁有系統(tǒng)的基本,通常的進程都包含多個線程并為它們提供,但此時的進程就不再作為一執(zhí)行的實體。多線程 OS 中進程有下屬性:(1) 源分配的。(2) 可括多線程。(3)程不是一個可執(zhí)行的實體。4. 線程的創(chuàng)建和終止在多線程 OS 環(huán)境下,應(yīng)用程序在啟動時,通常僅有一個線執(zhí)行,該線程被人們稱為初始化線程。它可根據(jù)需要再去創(chuàng)建
21、若干個線程。終止線程的方式有兩種:一種是程完成了的工作后自愿;另一種是線行中出現(xiàn)錯 或由于某種而被它線強行終止。2.6. 線程間的同步和通信1. 互斥鎖(mutex)互斥鎖是一比較單的、用實現(xiàn)線間對源斥. 條件變量Usof a barri r的機制。process a proachinga b rri blocked a l arerat barri r let th ou hallro esses b ast pro ess arr2.6 3 內(nèi)核支持線1. 內(nèi)核支持線程one es,用戶級線程這里所謂的內(nèi)核支持線程,也都同樣是在內(nèi)核的支持下運行的,即無論是用戶進程中的線程,還是系統(tǒng)進程中的
22、線程,他們的創(chuàng)建、撤消和切換等,也是依靠內(nèi)核實現(xiàn)的。此外,在內(nèi)核空間還為每一個內(nèi)核支持線程設(shè)置了一個線程塊,內(nèi)核是據(jù)該塊而感知某線程的在的,并對其加Im lementg Threads in theernelt rea s packeanageby the kernel2. 用戶級線用戶級線程僅存在戶空間中。對于這種線程的創(chuàng)建、撤消、線程之間的同步與通信等功能,都無須利用統(tǒng)調(diào)用來實現(xiàn)。對戶級線程的切換,通常是發(fā)生在個應(yīng)用進程的諸多線程之間,這時,也同樣無須內(nèi)核的持。由于切換的規(guī)則遠比進程調(diào)度和切換的規(guī)則簡單, 而使線程 切換速度特別快??梢?,這 線程是與內(nèi)核關(guān)的Imp ement g Thre
23、ads in User Sp ceA u r-leve Hybrid Impl Multip exinthreads packag mentationsuser-l vel t reads oo k rnel-level th eadsTheltithreading Revolution9 -三章處理機調(diào)與死3. 處理機調(diào)Bur ts oCPU us a CPU-b und pro an I/O bound pro的基本概念ge alt rnat ssessw th periodofI/Oaihedul ng Algorit m Goa s3. .1The CFS SJH SRF FCFS S
24、PF RRP1.高宏高級、中級和低度lelheding調(diào)度(High Scheduling)度每次執(zhí)行作業(yè)調(diào)度都須出以下兩個決定接納多少個作業(yè)納哪些作業(yè)?級調(diào)度( ow Level Scheduling) 微觀度占方式(Non-preemp ive M d )12)2.1)優(yōu)點:實現(xiàn)簡單、系統(tǒng)銷。調(diào)度時機:2)正在執(zhí)行的程行完畢發(fā)生某而被阻塞(部原)執(zhí)行中的進程提出阻塞請(自我搶占方式(Preetive M de)優(yōu)點:處理及時,現(xiàn)復(fù)雜搶占的時機:具有搶權(quán)的進程創(chuàng)建就緒具有搶先權(quán)的程被醒進入就緒具有搶先權(quán)的進程從掛起進入就緒. 中級調(diào)度(Inteedia e-Level Scheduling)
25、中程調(diào)度引入中調(diào)度的主要目的,是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。中級調(diào)度的算法主由內(nèi)存管理實現(xiàn),與高級度和級調(diào)度的算法不同。3.1 2度隊列模型1.2.3.僅有進程調(diào)度的度隊模型具有高級和低級調(diào)度調(diào)度隊列模同時具有三級調(diào)度的調(diào)度隊模型3.1.3 選擇調(diào)度方式和調(diào)度算法的若干準則10 -1. 面向用 的準則(1) 周轉(zhuǎn)時間批處理) 平均周轉(zhuǎn)間帶周轉(zhuǎn)時間 W T/TS平均帶周轉(zhuǎn)時間(2)(3)4)2.響應(yīng)時間(交互系統(tǒng))截止時 的保(實)優(yōu)先權(quán)準則(的準則處理)(1) 系統(tǒng)吐量高批處理)(2) 處理機利用好(所有的)(3)類的平衡利用(所有的符合慣思維(互式)具前瞻(實)3.2 調(diào)度算法3.1.2
26、.1 先來先服務(wù)和作業(yè) 進程)優(yōu)先調(diào)度算法來先服務(wù)調(diào)度算短作業(yè)(進程)優(yōu)先調(diào)度算法FCFS 的特點比較有利于長作業(yè),而利短作業(yè)。有于 CPU 繁忙忙的作業(yè)。SJF 的特點優(yōu)點:作業(yè),不利于 I/O 繁比 FCFS缺點:平均周轉(zhuǎn)時間和平均權(quán)周轉(zhuǎn)間,縮短作業(yè)的等待時間;提高系統(tǒng)的吞吐量;對長作業(yè)非常不利,可能長時間得不到執(zhí)行;未能依據(jù)作業(yè)的緊迫程度來劃分執(zhí)行的優(yōu)先級;難準確估計作業(yè)進程)的執(zhí)行時間,從而影響調(diào)度性能。SJF 的.“最短剩余時間先”SRThortest Remainingime)比當(dāng)前進程剩余時間更短的進程.“最高響應(yīng) 優(yōu)先”HR N(Higst e ponseatio Ne t占響
27、應(yīng)比 R求執(zhí)行時間(等待時間+ 要執(zhí)行時) / 要是 FCF 和 S F 的折衷3.2. 高優(yōu)先權(quán)優(yōu)先調(diào)度算法1. 優(yōu)先權(quán)調(diào)度算法的類1 非搶占式優(yōu)先算法2)搶占式 先權(quán)調(diào)度算法2. 優(yōu)先權(quán)的類型1) 靜態(tài)優(yōu)先級創(chuàng)建進時就確,直到進程終止前都不改變。通常是一個整數(shù)。依據(jù):- 1 -進程類型(系統(tǒng)進程優(yōu)先級較高)對資的需求(對 CPU 和內(nèi)存需求較少進程優(yōu)先級較高用戶要求(緊迫程度和2) 動態(tài)先權(quán)多少)在創(chuàng)建進程時賦予的優(yōu)先級,在進行過程中可以自動改變,以便獲得更好的調(diào)度能.在就緒隊列中,等待時間延長則優(yōu)先級提高從而使優(yōu)先級較低的級提高到可被度執(zhí)行等待足夠的時間后,其優(yōu)先進程每執(zhí)行一個時間片,就
28、降低其優(yōu)先級而個進程持續(xù)執(zhí)行時,其先級降低到讓 CPU高響應(yīng) 優(yōu)先度算法3.3.1.Ro.3 基于時間片 nd Robin間片的輪轉(zhuǎn)度算法法Sc edulingst oist o. 多級r nnable p ocessesunna le pro esses aer B uses up ts饋隊列調(diào)度算法quatumRound Robwith Multiple Fee back)多級反饋隊列算是時間片輪轉(zhuǎn)算法和優(yōu)先級算法的綜合和發(fā)。優(yōu)點為提高系統(tǒng)吞吐量縮短平均周轉(zhuǎn)時間而照顧短程為獲得好的 I O 設(shè)備利用率和縮短響應(yīng)時間而顧 /O 型進程不必估進程的執(zhí)行時間,動調(diào)節(jié)A sche uling al
29、 orithm PSthoupriority clases3. 多級反 隊列調(diào)度算法的性能(1)( )(3) 3.2a端型作業(yè)用戶。短批 理作業(yè)用。長批處理作用戶。時調(diào)度Scdulablr al-time Givenystemperio ev nt i econ s Then th We willic eve o curstswit ineriod Pandequ resildan o lybe h nd edf multimedia OSdiuss in the- 12 -3.3生死鎖.3. 產(chǎn)生死鎖的和必要條件1)( ).互斥分配不當(dāng)進程間推進順序不當(dāng)爭引起進程死1 可和非2) 競爭非性3
30、) 競Resou Exam臨時ces es ofcomteresourcprinrs taperivetab es Processe orde Supposned accessresocesine sonablepr cess holresourcanreq estsresour e at sameBi e a other blockeandprcs ho dsand re ues sAb th Reso Resoureremasoces Resourc s cesTwo pro2. 進程ntroduss resourcetra ectories進順序不當(dāng)引起死鎖tion to De d c
31、sor al defini io:A setfroce ses is ea loc ede ch procssssn inhe seis wait et ca Us al yng forn event th t c useoya oth rprotetheevent is r easeofcurr nty hldresou ceNe ofhe unproc sses canrele be a.3.(1)e res ake edurces產(chǎn)生死鎖的四必要條斥條件(2)3)4)請求 保持條件不條件路等待條3. .3 處理死鎖基本方(1)(2)(3)忽略死鎖檢測和解除死鎖避免死鎖13 -4) 預(yù)死鎖
32、3.4 解決死鎖的方法.4.1 忽略死鎖1.鴕鳥算死鎖發(fā)生的概率解決死鎖的代太大3. .23.4.21.死鎖的檢測與解除1 死鎖的檢測分配圖(source Al ocaton raph) EacD te tion ith TypeN te he resou A cyc e can e T2. 死鎖理e Re our eofe owner hipan threqu g apsts, de ot ng deadlocfoundithin3. 死鎖檢測中的數(shù)據(jù)Detect on withulti Type構(gòu)eesource ofachAexampleor the de lock de ectio3.
33、4.2. 死鎖解除al orithm(1)(33.4奪( ) 回溯到原點撤消進程(4) 重起系統(tǒng)3 死鎖的避免.安全狀態(tài)之例:不安全狀態(tài)假定統(tǒng)中有三個進程 P1、P2 和P3,共有 12 臺磁帶機。進程 P1 總 要求 10 臺磁帶機,P2 和P3 分別要求 4 臺和 9 臺。假設(shè)在 T0 時刻 進程 P1、P2 和P3 已分別獲得 5 臺、臺和 2 臺磁帶機,尚有 臺空分配下表:最求配2P3 104952233.4.3.一個銀利用家算法避免死鎖家把他的固定資金(ca ital)貸給若干顧客。只要不出現(xiàn)一個顧客借走所有資金后還不夠,家的- 1 -資金應(yīng)是安全的。一個算 保證借出在
34、有限時間 可收3.4.4 預(yù) 死鎖需 的資。1.摒棄互斥條件棄“ 求和保持” 條件摒棄“不” 條件摒棄“環(huán) 等待”Attaing the Mual Con it onxclusioSome on y thus Notdev ce(such the p inter daprion u inter be spter can es print e imi at ledbe spoole r r source ddeadlk f l devisr p canCB,HD.P inciple:avo d a signingre ource whenoab olutely n ce saryas few p
35、roc ssess p ssible aually cla m t e di ions urces b forere oureA tacking tHold a Re uire proc sses t sta ti ga pro essev r has.Probl msd Wait Co requestowaitfowhait needmay n t now al o ties up Var at on:r qu red resou ceesou othecesttart processesof r nuldbesingprocess th n requ A tackingst t tg ve
36、 up all imm No realr sourcesdia mptel oneeded Condi ionTCo has is not sider a fway thra viableptionrocessiven th ughts j bpr ntenowrcibl! ?A tacking t r ally ordtake awaypri terCircula red roWait C ndition cesAes urce graph 9Summary of approacsto deadlo k preven預(yù)防死鎖的各種分類對策本章重要習(xí)題分析- 15 -第四章器理4 14 24.
37、.74.8和重簡連續(xù)分配方式基本頁本段式段頁式管理方式理方式管虛擬器請求式分頁的頁面置換算法elocat Ca not me ory addre s abs luton eandrotec ionure wh re rogramill beoaded inloations ovarialecode roines cann t beust k ep a prog am out ofher proc ssepart tionsse base and limitvalue dded to ar er thddre s add ess 4.1loc ti ns l catio s 和
38、重ba e valueo map t physicalddressli it val e is nerr r4.1. 程序的裝入. 絕對裝式(Absolute Loading Mode)所使用的絕對址,既在編譯匯編時給出例如:可由程序員直接。O1000Hfb309a dfb309a 00f39761b3c44 1b3c4462. 可P1 P2 P3 P4 P500 397600f39 6裝入方Recaonoangod )3.態(tài)運行時裝入方式 ynamic Run-time Loading)動態(tài)運行時的裝入程序,在把裝入模塊裝入內(nèi)存后,并不立即把裝入模塊中的相對地址轉(zhuǎn)換為絕對地址,而是把這種地址
39、轉(zhuǎn)換推相對地址。4. .2 程序的程序真正要執(zhí)行才進行。因,裝入內(nèi)存的所地址都仍是. 靜態(tài)方式(Static Linking)在將這幾目標(biāo)模裝配成一個裝入模塊時須解決下兩個問題:(1 對對地址進行修改。(2) 變換外部用符號。2. 裝入時動態(tài)(ad time Dynamic Linking)- 16 -裝(1)(2)時動態(tài)接方式有以下優(yōu)點: 于修 和更新。便于實現(xiàn)對目標(biāo)塊的共享。3 運行時動態(tài)un-time Dynamic Linking)在執(zhí)行過程中,當(dāng)發(fā)現(xiàn)一個被調(diào)用模塊尚未裝入內(nèi)存時,立即由 OS 去找到該模塊并將之裝入內(nèi)存,把它到調(diào)用者模塊上。這樣僅可加程序的裝入過程,且可節(jié)省大的內(nèi)存空
40、間。4.2 簡單連續(xù)分配方式4.2.1 單一連續(xù)分配這是最簡單的一種式時,可把內(nèi)存分分;用 區(qū)是指除管理方式,但只能用于單用戶、單任務(wù)的操作系統(tǒng)中。采用這種管理方用戶區(qū)兩部分,系統(tǒng)統(tǒng)區(qū)以外的全部內(nèi)存空間提供給 OS 使用,通常是放在內(nèi)存的低址部供給用戶使。Mono prog am Three simple an oper ting 無 區(qū)ing ay syof organ zing m emith o e usermorypr cess4.2.2 固定分區(qū)分配1. 劃分分區(qū)的方(1 分區(qū)大小相等,使所的內(nèi)存分2) 分區(qū)大 不等。2. 內(nèi)存分配等額固定區(qū)差額定分區(qū)大小相等。M ltiprogra
41、mng wi h FixePartition Fixed m moryartiti nssepa sing動態(tài)ate inputueues or ea h par e inpuqueue區(qū)tion4.2.3 動態(tài) 區(qū)分配碎片 Hol1 分區(qū)分配中數(shù)據(jù)結(jié)構(gòu)( )空閑分區(qū)表。(2 空閑分 鏈。moryM ps Part o ick m shadedanag met with Bitemory ks sho regio sithproc sses3holesalloca ion unitae f e apas a li t with Li kedC rresponding bi me inf rma
42、tion Memy ManemenListsour nei hbor combinationsothe2. 分區(qū)分配算法(1)首次適應(yīng)算法 FF。ter inti gproces XFragment碎片- 17 -(2)( )(4)( )Poin Com ew 16K循環(huán)首次適應(yīng)算。最佳適應(yīng)算。最應(yīng)算法。速適應(yīng)法。er g aocessisWo st fit.2 4 可重分區(qū)配的引入.3.動態(tài)重動態(tài)重 位的實現(xiàn)動態(tài)重定區(qū)分配算法4 2.5 對換(Sw pp ng) 1.對的引入2. 對換空間 管理3. 進程的換出與換入(1) 進程的換。每當(dāng)一進程由于創(chuàng)建子進程而需要但又 足夠的 存空間等情況
43、生出。(2) 進程的 入。的內(nèi)存空間,某進程換系統(tǒng)應(yīng)定時地查看所有進程的狀態(tài),從中找出就緒態(tài)但已換出的進程,將其中換出時間(換出到磁盤上)最久的進程作為換入進程,將 換入, 至已無可換入的進程 無可換出的 程為止。.3 基本頁存管理方式4 3. 頁面與表1.1)2)頁面頁面和物理塊頁面大小在分頁系統(tǒng)中的頁面其大小應(yīng)適中。頁面若太小,一方面雖然可使內(nèi)存碎片減小,從而減少了內(nèi)存碎片的總空間,有利于提高內(nèi)存利用率,但另一方面也會使每個進程占用較多的頁面,從而導(dǎo)致進程的頁表過長,占用大量內(nèi)存;此外,還會降低頁面換進換出的效率。然而,如果選擇的頁面較大, 雖然可以減少頁表的長度,提高頁面換進換出的速度,
44、但卻又會使頁內(nèi)碎片增大。因此,頁面的小得適中且頁面大應(yīng)是 2 的通常為 51B8 KB。ge SizeSll p ge size Advantagesls inte nal fra mentati nb tter fit fovar sec io slesunused progra Di adva tages progra s ne d manyus dataruct res, c dein memorages, larger page tables- 1 -0Page sizlae, t e fr gmenta ion bigPageizemall, the pagtale b gFragm
45、e tation內(nèi)碎片piesMost A.A.A.A.B.B.B.2C.0C.1C.2C.age verprog ame ls tn4ize eaddue tionpage table ainterlragment.s p ehere=ave pa egegroce s si en byt sizin bytesentryOptimized whe int rnal fragmta ionpage table sp ce2. 地構(gòu)頁地中的址頁號 P 位移量 W 31 12 11 0如下:對某特定,其地址結(jié)構(gòu)是一定的。若給定一個邏輯地址空間中的地址為 A 頁面大小L,則頁號 和頁內(nèi)地址 d 按
46、下求得:3.4.12.頁表.2 地址變換機構(gòu)基本的地 變換機構(gòu)具有快表的地址變換機構(gòu)4.3.3 兩級和多級頁表現(xiàn)代的大多數(shù)計算,都支持非常大的邏輯地址空間(232264)。在這樣的環(huán)境下,頁表就變得非常大,要占用相大的內(nèi)存空間??梢圆捎眠@樣兩個方法來解決這一問題:采用離散分配方式來解決難以找到一塊連續(xù)的大內(nèi)存空間的問題:只將當(dāng)前需要的部分頁表項入內(nèi),其余的頁表項仍駐留在磁盤上需要頁表(Two-Level Page Table)入。1.邏輯地址結(jié)構(gòu)可描述如下:- 9 -Windows 的多級頁表結(jié)構(gòu)2. 多級頁表對于 32 位的,采用兩級頁表結(jié)是合適的;但于 64 位的,如果頁面大小仍采用 4
47、KB即 212 B,那么還剩下 52 位,假定仍按物理塊的大小(212 位)來劃分頁表,則將余下42 位用于外層頁號。此時在外頁表中可能有 4096 G 個頁表項,要占用 16384 GB 的連續(xù)內(nèi)存空間。必用多級頁表,將外層頁表再進行分頁,也是將各分頁離散地裝入到不相鄰接的物塊中,再利用第2的外層頁 來它們之關(guān)系。Invert da e TablesC mpar son oa t ad tional pageableth n inverted age t ble4.4 基本4.4.1 分段引入分段段管理方式管理方式的引入管方式主要是為滿足戶和程序的下一系列需:)3)4)方便信息程享息保護動態(tài)
48、長態(tài)4.4.2 分段系統(tǒng)的1. 分段分段址中地有如結(jié)構(gòu)段312.4.段內(nèi)地址16 15分頁和分段的主要區(qū)別(1) 頁是信息的物理,分頁是為實現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率?;蛘哒f,分頁僅僅是由于系統(tǒng)管理的需要而不是用戶的需要。是信息的邏輯,它含有一組其意義相對整的信。分段的目的是為了能更好地滿足用戶的需要。(2) 頁的大小固定且決定,把邏輯地址劃分為頁號和頁內(nèi)地址兩部分,是由硬件實現(xiàn)的,因而在系統(tǒng)中只能有一種大小的頁面;而段的長度卻不固定,決定通常由譯程序?qū)υ闯绦蜻M行編譯時,根據(jù)信息的性質(zhì)來劃分。戶所編寫的程序,(3) 分頁的作業(yè)地址空間是一維的,即單一的線性地址空間,程
49、序員只需利用一個記憶符,即可表示一個地址;而分段的作業(yè)地址空間則是二維的,程序 在標(biāo)識 個地址時,既需給出 名,又需給 段內(nèi)地址4.54 5.14 5.2頁式基管理式地 變換過程4.6 虛擬4.6. 虛擬的基本概念器的入1 常規(guī)存 器管方式的特征(1) 一性。(2) 駐留性。2.部性原1968 年,Denning.P 指出(1 程序執(zhí)行時,大多數(shù)情況下仍是順序執(zhí)行的。(2) 過程調(diào)用將會程序轉(zhuǎn)移,過程調(diào)用的深度在大多數(shù)情況下都不超過 5。- 20 -(3(4)存在許多循環(huán)結(jié)構(gòu),它們將多次執(zhí)行。還包括許多對數(shù)據(jù)結(jié)構(gòu)的處理,如對數(shù)組進行操作,它們往往于很小的范圍內(nèi)。局限性又表現(xiàn)在下述兩個方面:(1) 時間局限性。如果的某條指令一旦執(zhí)行,則以后該指令可能再次執(zhí)行;如果某數(shù)據(jù)被過,則以后該數(shù)據(jù)可能再次被。產(chǎn)生時間局性的典,是由于在存在著大量的循環(huán)操作。了某個單元,在(2) 空間局限性。一旦程序之后,其附近的單元也將被,即程序在一段時間內(nèi)所的地址,可能中在定的范圍之內(nèi),典型情況便是程序的順序執(zhí)行。3.
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店設(shè)施改造與管理輸出合同
- 網(wǎng)絡(luò)安全評估及防護服務(wù)合同
- 掛靠房地產(chǎn)公司協(xié)議書
- 簡易離婚協(xié)議書
- 技師勞動合同
- 愛眼日學(xué)?;顒臃桨福?篇)
- 美容院會員卡轉(zhuǎn)讓合同
- 網(wǎng)絡(luò)直播活動策劃方案
- 網(wǎng)絡(luò)安全產(chǎn)品供應(yīng)及服務(wù)合同
- 旅游行程中意外情況處理及責(zé)任免除協(xié)議
- 2024-2025學(xué)年新教材高中政治 第1單元 民事權(quán)利與義務(wù) 第1課 第1框 認真對待民事權(quán)利與義務(wù)教案 新人教版選擇性必修2
- 常見化療藥物及運用
- 企業(yè)落實食品安全主體責(zé)任監(jiān)督管理制度
- 咨詢與評估管理制度
- 中醫(yī)辨證-八綱辨證(中醫(yī)學(xué)課件)
- CJT 313-2009 生活垃圾采樣和分析方法
- 有余數(shù)的除法應(yīng)用題(試題) 二年級下冊數(shù)學(xué)人教版
- 小茴香炮制歷史沿革、化學(xué)成分及藥理作用研究進展
- 2024年長沙市中考數(shù)學(xué)真題試卷及答案
- 江蘇省揚州市梅嶺教育集團2023-2024學(xué)年八年級下學(xué)期6月期末數(shù)學(xué)試題(解析版)
- 承德市承德縣2022-2023學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題
評論
0/150
提交評論