版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)一章 操作 統(tǒng)概述和作用1.1 操作系的目1.1.1 操作系統(tǒng)目標(biāo)目標(biāo):.方便性 不需人人都是程序員效性 工作協(xié)調(diào)高效擴(kuò)充性。各發(fā)展開(kāi)放。移和互操作1.1.2 操作系統(tǒng)的作用1. OS 作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口 OS 處戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過(guò) OS 來(lái)用計(jì)算系統(tǒng)。(從用戶角度來(lái)看,來(lái)(1) 命令 入。形式分為以下幾:算機(jī)。)命令行(Command Line Input ):由 OS 提供的一組聯(lián)機(jī)命令(語(yǔ)言),用戶可通過(guò)鍵盤(pán)輸入有命計(jì)和令,來(lái)直接計(jì)算。圖形用戶界面(GUI ):用戶通過(guò)顯示設(shè)備上的窗口和圖標(biāo)來(lái)操算運(yùn)(2)和運(yùn)行的程序。自然輸入方式(NU
2、I ):用戶 過(guò)語(yǔ)音 別輸入來(lái)計(jì)算的程。系統(tǒng)調(diào)用方式(System Call )。OS 提供了一組系統(tǒng)調(diào)用,用在的應(yīng)通過(guò)相應(yīng)的使用編程調(diào)API1.1.3 推動(dòng)操系統(tǒng)展的主要力.不斷提高計(jì)算機(jī)資利用.方便用戶器件的不斷更新?lián)Q代計(jì)算機(jī)體 結(jié)構(gòu)不斷展用戶的需求是推動(dòng) OS 發(fā)展的根本動(dòng)力OS 作為計(jì)算的管理者在一個(gè)計(jì)算中通常都含有各種各樣的硬件和軟件。需要空間和時(shí)間來(lái)使用這些資,O 合理調(diào)配和使用。(這是從管理者的角度來(lái)看)3. OS 用作擴(kuò)展機(jī)、虛擬機(jī)隱藏了計(jì)算機(jī)具體細(xì)節(jié),為用戶展現(xiàn)的是一臺(tái)虛擬機(jī),功能上擴(kuò)展了幾個(gè)功能部件的。(這 從發(fā)展的角度來(lái)看) overn ent1.2 操作統(tǒng)
3、的展過(guò)程1. .1 無(wú)操作系統(tǒng)的計(jì)算機(jī)統(tǒng)1. 人工作方式從第一臺(tái)計(jì)算機(jī) ENIAC 誕生(1945 年 2 月)到 50 年代中期的計(jì)算機(jī),屬于一代。這種人工操作方有以下方面的缺點(diǎn):( )戶獨(dú)占全機(jī)。(2) CPU 等待 工操作。2. 脫機(jī)輸入/輸出(Off-Line I/O) 方式這種脫機(jī) I/O 方式的主 優(yōu)點(diǎn)如下:(1 減少了 CPU 的空閑時(shí)間。(2) 提高 I/O 速度。1 -1.2.2道批處理系1. 單道批處理系 (Simple Batch Pr cessing Sy tem) 的處理過(guò)程2.道批處理系統(tǒng)的征該系統(tǒng)的主特征如下 (1) 自 性。(2) 順 性。 3) 單道性。1.2
4、 3 多道批處理系統(tǒng)1. 多道程序設(shè)計(jì)的基本概多道批處系統(tǒng)(Multipr grammed Batch Processing System) 。在該系統(tǒng)中,用戶所提交的作業(yè)都先存放在外存上并排成一個(gè)隊(duì)列,稱為后備隊(duì)列;然后,由作業(yè)調(diào)度一定的算法從后備隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,使它們共享 PU 和系統(tǒng)的各種資。這調(diào)度稱之為作業(yè)調(diào)度1.2.41.Time Sharing System) 的產(chǎn)生如果說(shuō),推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿?,是提高利用率和系統(tǒng)吞吐量,那么,推動(dòng)分形成和發(fā)展主要?jiǎng)恿?,則用戶的求。用戶的求具體現(xiàn)在以下(1)(2)(32.分(1)(2)(3)個(gè)方面人機(jī) 互。共享主機(jī)。
5、便戶上機(jī)。實(shí)現(xiàn)中關(guān)鍵問(wèn)能好壞主要指標(biāo)是應(yīng)時(shí)間收。分及時(shí)及時(shí)處理。符合使用習(xí)。在 OS 中引入多道程序設(shè)技術(shù)可帶來(lái)以下好處:( )提高 CPU利用率。(2)可提高 存和 /O 設(shè)備利用率。3)增加系統(tǒng)吞吐量。2. 多道批處 系統(tǒng)的特( )多道性。(2) 無(wú)序 。(3) 調(diào)度性。. 多批處理系統(tǒng)的優(yōu)點(diǎn)( )(2)( )(4)4.(1(2(3 ( )(5)利用率高。系統(tǒng)吞吐量大平均周轉(zhuǎn)時(shí)間長(zhǎng)。無(wú)交互能力。多批處理統(tǒng)需要解決的問(wèn)處理機(jī) 理問(wèn)題。內(nèi)存 理問(wèn)題。I/ 設(shè)備管理問(wèn)題文件管理問(wèn)。 作業(yè)管理題。3. 分系統(tǒng)的特征( )多路性 (2) 獨(dú)性。(3 及時(shí)性。(4)交互性。.2.5實(shí)該實(shí)時(shí) 統(tǒng)(Rea
6、l-Time System) 是指系統(tǒng)(或即時(shí))響應(yīng)外部的請(qǐng)求,在規(guī)定的間內(nèi)完成的處理,并所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。2 -1.3 操作系統(tǒng)的基性1.3.1 并發(fā)(Concurrence)并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)概念,并行性是指兩個(gè)或多個(gè)在同一時(shí)刻發(fā)生;而并發(fā)性是指?jìng)€(gè)或多個(gè)事在同一時(shí)間間隔內(nèi)發(fā)生。1.3.2 共享(Sharing)本的特征!在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的源可供內(nèi)存多個(gè)并發(fā)執(zhí)行的進(jìn)程(線1.3.3 虛擬(Virtual)操作系統(tǒng)中的所謂虛擬,是指通某種技術(shù)把個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物1.3.4 異步性(Asynchronism)共同使用。在多道程序多個(gè)
7、進(jìn)程是以停走走的式運(yùn)行。失去封性二章進(jìn)程管理2.12. .12.1.2程的基本概程序的順序執(zhí)行及其特征趨圖前趨圖(Precedence Graph) 是一個(gè)有向無(wú)循圖,記為 DA (Directed Acyclic Graph ,用于描述進(jìn)程之間執(zhí)的前后關(guān)系2.1.3 程 的并及其特征2 1.4 進(jìn) 的特征狀態(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?一個(gè)具有一定功能的程序某
8、個(gè)數(shù)據(jù)集合上的一次動(dòng)態(tài)執(zhí)行過(guò)程分配過(guò)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 進(jìn)程塊1. 進(jìn)程塊的作用進(jìn)程進(jìn)程2 進(jìn)塊的作用是一個(gè)運(yùn)行的進(jìn)程的基本信息?;蛘哒f(shuō),O 是根PCB 來(lái)對(duì)并發(fā)執(zhí)行行和管理的。塊中塊的組織式2)程控方程12.2引方式2.2.1進(jìn)程的建(1)(2)(3)(4)戶登錄 業(yè)調(diào)度。提供服務(wù)。應(yīng)用請(qǐng)求。- 3 -( ) (2(3)(4)申空白 PCB。為新 程分配。初始化進(jìn)程塊。將新進(jìn)程就緒隊(duì)列如果進(jìn)程緒隊(duì)能夠接進(jìn)程便將新程就緒隊(duì)列。2. 進(jìn)程的終止過(guò)程(1) 根據(jù)被終止進(jìn)程的標(biāo)識(shí)符,從 PCB合中檢 出該進(jìn)程的 PCB,從中讀出該進(jìn)程的狀態(tài)。(2) 若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進(jìn)程的執(zhí)行,并置調(diào)標(biāo)志
10、為,用于指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)度。(3)(4)(5)2.1)2)若該進(jìn)程還有子孫進(jìn)程,還將被終止進(jìn)程所擁的全部進(jìn)程予以終止,以防他們成為不可控的進(jìn)程。源,或者歸還給其父進(jìn)程,或歸還給系統(tǒng)。將被終止進(jìn)程(它的 PCB)從在隊(duì)列(或表)中移出等待他搜集信息。.2 進(jìn) 的終止正常結(jié)束異常結(jié)束自愿的)普通誤致錯(cuò)誤(自愿的)(自愿的)(非自愿的)3)界干2.2.3 進(jìn)程的阻塞與喚醒1. 引起進(jìn)程阻塞喚醒1)請(qǐng)求統(tǒng)服2)34)啟動(dòng)種操作 新數(shù)據(jù)尚未到達(dá)新工作可2.2. 進(jìn)程的掛起與激活2. 進(jìn)程同步2.3 1. 兩( )間(2) 直進(jìn)程同步的基本概念形式的制約關(guān)系相互制約關(guān)系。相互制約關(guān)系。2 臨
11、界源(Critical R source). 臨界區(qū)(critical section)一個(gè)T : read(x if x=1 x:-1write(xT : read(x if x=1 x:=x-1;訂票,兩個(gè)終端,運(yùn)行、T 進(jìn)程hethen- 4 -write(;Crit cal Reons Coming datbl cks Synch onizatio4 同步機(jī)制 遵循的則(1)(2)(3)(4)閑讓進(jìn) 則等待。有限 待。讓權(quán)等待(Petersons Algorit m):先修、后檢查、后修改者等待正確的算法urn=j; 在進(jìn)入 檢查對(duì) 否則再檢程等待,描述可進(jìn)入的進(jìn)程(同時(shí)修改標(biāo)志)修改
12、flag,turn檢查,并檢查并發(fā)修改的先后:如果不 臨區(qū)則進(jìn)入空閑則入: 保存的是較晚的一次賦值,則較晚進(jìn)早的進(jìn)程進(jìn)入先先入,后等待usion wi h B sy Wait nM tual ExEnteri g andeavinaiti al region ung thTinstrtionSleep and akeuprodu er-co sumeproblem2.3.2 信 量機(jī)制1. 整型信號(hào)量th fa al ra eondit on最初由 Dijkstra 把整型信號(hào)量定義為一個(gè)整型量 僅能通過(guò)初始化和兩個(gè)準(zhǔn)的原子操作( tomicOper tion) wait(S) 和 signa
13、l(S) 來(lái)。個(gè)作被分別稱為 P、 操作(pr mit ve 。wa S sig 2.(S): whe S0 do nop-1;al(S): S=S+1;型信號(hào)量在整型信號(hào)量機(jī)制中的 wait 操作,只要是信號(hào)量 S0,就會(huì)不斷地測(cè)試。因此,該機(jī)制并未遵循讓權(quán)等待的準(zhǔn)則,而是使進(jìn)程處于忙等的狀態(tài)。型信號(hào)量機(jī)制,則是一種不存在忙等現(xiàn)象的進(jìn)程同步機(jī)制。但在采取了讓權(quán)等待的策略后,又會(huì)出現(xiàn)多個(gè)進(jìn)程等待同一臨界的情況。為此,在信號(hào)量機(jī)制中 除了需要一個(gè)用于代表數(shù)目的整型變量 value 外,還應(yīng)增加一個(gè)進(jìn)程鏈表 L,用于上述的所有等待進(jìn)程。記型號(hào)量是由于它采用了記型的數(shù)據(jù)結(jié)構(gòu)而得的。P語(yǔ) wait(s
14、);own(s); P(s-s.count /表示請(qǐng)一個(gè); if ( .count 0)/ 表示沒(méi)有空; 調(diào)用進(jìn)等待隊(duì)列 s.queue; 阻塞調(diào)用進(jìn)程 V語(yǔ) signal(s)up(s); V(s+s.count/ 表示放一個(gè);if (s.c u t = 0) /表示有進(jìn)程處于阻塞狀態(tài) 從等待隊(duì)列 s.que 中取出一個(gè)進(jìn)程 P; 進(jìn)程 P 進(jìn)入就緒隊(duì)列;- 5 -emaphore The pr ducer consumeroblem us sema ho e Monits xample of2.4 經(jīng)典ga mon tor程的同步問(wèn)題2.4.1 生產(chǎn)者消費(fèi)問(wèn)題1.用型信號(hào)量解決生產(chǎn)者者問(wèn)題
15、Dining P ilosopherPhilo opher E tinnee sPico e fork How tprevenat/thk orkst a time deadlock2.4.2 哲學(xué)家進(jìn)餐問(wèn)題讓奇數(shù)號(hào)的哲學(xué)家先右手邊的筷子,s n ( ) b ginf iod 2 = 0 then el e數(shù)號(hào)的哲學(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 讀者寫(xiě)題讀he and Pro-寫(xiě)者問(wèn)題描述Reads Writerslem1. 利用型信號(hào)量解決讀者寫(xiě)者問(wèn)題- 6
16、-Th The arSle ping Barr Probm eepingrProblemSotion to sleepi gbarber proemShared mery(共享內(nèi)存) Message(消息) Pipe(管道)Signal(信號(hào)) ocket(套接字)Ierp ocess Com unicati n2.5 進(jìn)程通信 2.5.1程通信的類型1. 共享統(tǒng)(Shared MemoryS ste )(1)基于共享數(shù)據(jù)結(jié)的通方式。(2) 基于共享. 消息傳遞系的通信方式。Message passingsy tem)在消息傳遞系統(tǒng)中,進(jìn)程的是以格式化的消息(message為單的;在計(jì)算機(jī)網(wǎng)絡(luò)
17、中,又把 message 稱為報(bào)文。程序員接利系統(tǒng)提供的一組通命令(原語(yǔ))進(jìn)行通信。3. 管道( ipe) 通信管道是指用于連接一個(gè)進(jìn)一個(gè)寫(xiě)進(jìn)程以實(shí)現(xiàn)他們之間通信的一個(gè)共件,又名 pipe 文件。這種方式首創(chuàng)系統(tǒng),由于它能有效地送大量數(shù)據(jù)而又被引入到許多其操作統(tǒng)中。2. .2 消息傳遞通信實(shí)現(xiàn)方法1. 直接通信方式通信命令(原語(yǔ)):UNIX因Send(Receive , message);一消息給接收進(jìn)程;eceive(S nder,essage); 接收 Se der 發(fā)來(lái)的消息;例如,原語(yǔ) Send P2, m1)表示將消息 m1則表示接收由 P1 發(fā)來(lái)的消息 m1給進(jìn)程 P2;而原語(yǔ) R
18、eceive P1,m1)不指定利用送者的接收原語(yǔ)可表:Receive (id, messag );通語(yǔ),解決生產(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); 將一個(gè)消息送到指定信箱;R ceivboxm ssag
19、e) 從指定信箱中接收一個(gè)消息;3. 進(jìn)程同 方式(1)(2)3)2.6進(jìn)程阻塞、接收程阻塞進(jìn)程不阻塞、接進(jìn)程阻。接收進(jìn)程均阻塞。線程2.6.1 線程的基本概念為12)3)程序并發(fā)執(zhí)行系統(tǒng)創(chuàng)建進(jìn)程消進(jìn)程 進(jìn)程切換 線程引入Thread M del必須進(jìn)行下的系列操作Th(a)( )Forhre One p xampproce cese Thees with hreachwith onthr adt ree thread d M delEachhr ad ha2 線程屬性its own stack(1)輕型實(shí)體(容易建和撤)。(2)( ) (4(5)The調(diào) 和分派的基本單??刹l(fā)執(zhí)行共享進(jìn)程資
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) 線程運(yùn)行狀態(tài)。5. 多線程 OS 中的進(jìn)程在多線程 OS 中,進(jìn)程是作為擁有系統(tǒng)的基本,通常的進(jìn)程都包含多個(gè)線程并為它們提供,但此時(shí)的進(jìn)程就不再作為一執(zhí)行的實(shí)體。多線程 OS 中進(jìn)程有下屬性:(1) 源分配的。(2) 可括多線程。(3)程不是一個(gè)可執(zhí)行的實(shí)體。4. 線程的創(chuàng)建和終止在多線程 OS 環(huán)境下,應(yīng)用程序在啟動(dòng)時(shí),通常僅有一個(gè)線執(zhí)行,該線程被人們稱為初始化線程。它可根據(jù)需要再去創(chuàng)建
21、若干個(gè)線程。終止線程的方式有兩種:一種是程完成了的工作后自愿;另一種是線行中出現(xiàn)錯(cuò) 或由于某種而被它線強(qiáng)行終止。2.6. 線程間的同步和通信1. 互斥鎖(mutex)互斥鎖是一比較單的、用實(shí)現(xiàn)線間對(duì)源斥. 條件變量Usof a barri r的機(jī)制。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,用戶級(jí)線程這里所謂的內(nèi)核支持線程,也都同樣是在內(nèi)核的支持下運(yùn)行的,即無(wú)論是用戶進(jìn)程中的線程,還是系統(tǒng)進(jìn)程中的
22、線程,他們的創(chuàng)建、撤消和切換等,也是依靠?jī)?nèi)核實(shí)現(xiàn)的。此外,在內(nèi)核空間還為每一個(gè)內(nèi)核支持線程設(shè)置了一個(gè)線程塊,內(nèi)核是據(jù)該塊而感知某線程的在的,并對(duì)其加Im lementg Threads in theernelt rea s packeanageby the kernel2. 用戶級(jí)線用戶級(jí)線程僅存在戶空間中。對(duì)于這種線程的創(chuàng)建、撤消、線程之間的同步與通信等功能,都無(wú)須利用統(tǒng)調(diào)用來(lái)實(shí)現(xiàn)。對(duì)戶級(jí)線程的切換,通常是發(fā)生在個(gè)應(yīng)用進(jìn)程的諸多線程之間,這時(shí),也同樣無(wú)須內(nèi)核的持。由于切換的規(guī)則遠(yuǎn)比進(jìn)程調(diào)度和切換的規(guī)則簡(jiǎn)單, 而使線程 切換速度特別快??梢?jiàn),這 線程是與內(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 -三章處理機(jī)調(diào)與死3. 處理機(jī)調(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.高宏高級(jí)、中級(jí)和低度lelheding調(diào)度(High Scheduling)度每次執(zhí)行作業(yè)調(diào)度都須出以下兩個(gè)決定接納多少個(gè)作業(yè)納哪些作業(yè)?級(jí)調(diào)度( ow Level Scheduling) 微觀度占方式(Non-preemp ive M d )12)2.1)優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單、系統(tǒng)銷。調(diào)度時(shí)機(jī):2)正在執(zhí)行的程行完畢發(fā)生某而被阻塞(部原)執(zhí)行中的進(jìn)程提出阻塞請(qǐng)(自我搶占方式(Preetive M de)優(yōu)點(diǎn):處理及時(shí),現(xiàn)復(fù)雜搶占的時(shí)機(jī):具有搶權(quán)的進(jìn)程創(chuàng)建就緒具有搶先權(quán)的程被醒進(jìn)入就緒具有搶先權(quán)的進(jìn)程從掛起進(jìn)入就緒. 中級(jí)調(diào)度(Inteedia e-Level Scheduling)
25、中程調(diào)度引入中調(diào)度的主要目的,是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。中級(jí)調(diào)度的算法主由內(nèi)存管理實(shí)現(xiàn),與高級(jí)度和級(jí)調(diào)度的算法不同。3.1 2度隊(duì)列模型1.2.3.僅有進(jìn)程調(diào)度的度隊(duì)模型具有高級(jí)和低級(jí)調(diào)度調(diào)度隊(duì)列模同時(shí)具有三級(jí)調(diào)度的調(diào)度隊(duì)模型3.1.3 選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則10 -1. 面向用 的準(zhǔn)則(1) 周轉(zhuǎn)時(shí)間批處理) 平均周轉(zhuǎn)間帶周轉(zhuǎn)時(shí)間 W T/TS平均帶周轉(zhuǎn)時(shí)間(2)(3)4)2.響應(yīng)時(shí)間(交互系統(tǒng))截止時(shí) 的保(實(shí))優(yōu)先權(quán)準(zhǔn)則(的準(zhǔn)則處理)(1) 系統(tǒng)吐量高批處理)(2) 處理機(jī)利用好(所有的)(3)類的平衡利用(所有的符合慣思維(互式)具前瞻(實(shí))3.2 調(diào)度算法3.1.2
26、.1 先來(lái)先服務(wù)和作業(yè) 進(jìn)程)優(yōu)先調(diào)度算法來(lái)先服務(wù)調(diào)度算短作業(yè)(進(jìn)程)優(yōu)先調(diào)度算法FCFS 的特點(diǎn)比較有利于長(zhǎng)作業(yè),而利短作業(yè)。有于 CPU 繁忙忙的作業(yè)。SJF 的特點(diǎn)優(yōu)點(diǎn):作業(yè),不利于 I/O 繁比 FCFS缺點(diǎn):平均周轉(zhuǎn)時(shí)間和平均權(quán)周轉(zhuǎn)間,縮短作業(yè)的等待時(shí)間;提高系統(tǒng)的吞吐量;對(duì)長(zhǎng)作業(yè)非常不利,可能長(zhǎng)時(shí)間得不到執(zhí)行;未能依據(jù)作業(yè)的緊迫程度來(lái)劃分執(zhí)行的優(yōu)先級(jí);難準(zhǔn)確估計(jì)作業(yè)進(jìn)程)的執(zhí)行時(shí)間,從而影響調(diào)度性能。SJF 的.“最短剩余時(shí)間先”SRThortest Remainingime)比當(dāng)前進(jìn)程剩余時(shí)間更短的進(jìn)程.“最高響應(yīng) 優(yōu)先”HR N(Higst e ponseatio Ne t占響
27、應(yīng)比 R求執(zhí)行時(shí)間(等待時(shí)間+ 要執(zhí)行時(shí)) / 要是 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)先級(jí)創(chuàng)建進(jìn)時(shí)就確,直到進(jìn)程終止前都不改變。通常是一個(gè)整數(shù)。依據(jù):- 1 -進(jìn)程類型(系統(tǒng)進(jìn)程優(yōu)先級(jí)較高)對(duì)資的需求(對(duì) CPU 和內(nèi)存需求較少進(jìn)程優(yōu)先級(jí)較高用戶要求(緊迫程度和2) 動(dòng)態(tài)先權(quán)多少)在創(chuàng)建進(jìn)程時(shí)賦予的優(yōu)先級(jí),在進(jìn)行過(guò)程中可以自動(dòng)改變,以便獲得更好的調(diào)度能.在就緒隊(duì)列中,等待時(shí)間延長(zhǎng)則優(yōu)先級(jí)提高從而使優(yōu)先級(jí)較低的級(jí)提高到可被度執(zhí)行等待足夠的時(shí)間后,其優(yōu)先進(jìn)程每執(zhí)行一個(gè)時(shí)間片,就
28、降低其優(yōu)先級(jí)而個(gè)進(jìn)程持續(xù)執(zhí)行時(shí),其先級(jí)降低到讓 CPU高響應(yīng) 優(yōu)先度算法3.3.1.Ro.3 基于時(shí)間片 nd Robin間片的輪轉(zhuǎn)度算法法Sc edulingst oist o. 多級(jí)r nnable p ocessesunna le pro esses aer B uses up ts饋隊(duì)列調(diào)度算法quatumRound Robwith Multiple Fee back)多級(jí)反饋隊(duì)列算是時(shí)間片輪轉(zhuǎn)算法和優(yōu)先級(jí)算法的綜合和發(fā)。優(yōu)點(diǎn)為提高系統(tǒng)吞吐量縮短平均周轉(zhuǎn)時(shí)間而照顧短程為獲得好的 I O 設(shè)備利用率和縮短響應(yīng)時(shí)間而顧 /O 型進(jìn)程不必估進(jìn)程的執(zhí)行時(shí)間,動(dòng)調(diào)節(jié)A sche uling al
29、 orithm PSthoupriority clases3. 多級(jí)反 隊(duì)列調(diào)度算法的性能(1)( )(3) 3.2a端型作業(yè)用戶。短批 理作業(yè)用。長(zhǎng)批處理作用戶。時(shí)調(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)進(jìn)程間推進(jìn)順序不當(dāng)爭(zhēng)引起進(jìn)程死1 可和非2) 競(jìng)爭(zhēng)非性3
30、) 競(jìng)Resou Exam臨時(shí)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. 進(jìn)程ntroduss resourcetra ectories進(jìn)順序不當(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)請(qǐng)求 保持條件不條件路等待條3. .3 處理死鎖基本方(1)(2)(3)忽略死鎖檢測(cè)和解除死鎖避免死鎖13 -4) 預(yù)死鎖
32、3.4 解決死鎖的方法.4.1 忽略死鎖1.鴕鳥(niǎo)算死鎖發(fā)生的概率解決死鎖的代太大3. .23.4.21.死鎖的檢測(cè)與解除1 死鎖的檢測(cè)分配圖(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. 死鎖檢測(cè)中的數(shù)據(jù)Detect on withulti Type構(gòu)eesource ofachAexampleor the de lock de ectio3.
33、4.2. 死鎖解除al orithm(1)(33.4奪( ) 回溯到原點(diǎn)撤消進(jìn)程(4) 重起系統(tǒng)3 死鎖的避免.安全狀態(tài)之例:不安全狀態(tài)假定統(tǒng)中有三個(gè)進(jìn)程 P1、P2 和P3,共有 12 臺(tái)磁帶機(jī)。進(jìn)程 P1 總 要求 10 臺(tái)磁帶機(jī),P2 和P3 分別要求 4 臺(tái)和 9 臺(tái)。假設(shè)在 T0 時(shí)刻 進(jìn)程 P1、P2 和P3 已分別獲得 5 臺(tái)、臺(tái)和 2 臺(tái)磁帶機(jī),尚有 臺(tái)空分配下表:最求配2P3 104952233.4.3.一個(gè)銀利用家算法避免死鎖家把他的固定資金(ca ital)貸給若干顧客。只要不出現(xiàn)一個(gè)顧客借走所有資金后還不夠,家的- 1 -資金應(yīng)是安全的。一個(gè)算 保證借出在
34、有限時(shí)間 可收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ù)防死鎖的各種分類對(duì)策本章重要習(xí)題分析- 15 -第四章器理4 14 24.
37、.74.8和重簡(jiǎn)連續(xù)分配方式基本頁(yè)本段式段頁(yè)式管理方式理方式管虛擬器請(qǐng)求式分頁(yè)的頁(yè)面置換算法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. 程序的裝入. 絕對(duì)裝式(Absolute Loading Mode)所使用的絕對(duì)址,既在編譯匯編時(shí)給出例如:可由程序員直接。O1000Hfb309a dfb309a 00f39761b3c44 1b3c4462. 可P1 P2 P3 P4 P500 397600f39 6裝入方Recaonoangod )3.態(tài)運(yùn)行時(shí)裝入方式 ynamic Run-time Loading)動(dòng)態(tài)運(yùn)行時(shí)的裝入程序,在把裝入模塊裝入內(nèi)存后,并不立即把裝入模塊中的相對(duì)地址轉(zhuǎn)換為絕對(duì)地址,而是把這種地址
39、轉(zhuǎn)換推相對(duì)地址。4. .2 程序的程序真正要執(zhí)行才進(jìn)行。因,裝入內(nèi)存的所地址都仍是. 靜態(tài)方式(Static Linking)在將這幾目標(biāo)模裝配成一個(gè)裝入模塊時(shí)須解決下兩個(gè)問(wèn)題:(1 對(duì)對(duì)地址進(jìn)行修改。(2) 變換外部用符號(hào)。2. 裝入時(shí)動(dòng)態(tài)(ad time Dynamic Linking)- 16 -裝(1)(2)時(shí)動(dòng)態(tài)接方式有以下優(yōu)點(diǎn): 于修 和更新。便于實(shí)現(xiàn)對(duì)目標(biāo)塊的共享。3 運(yùn)行時(shí)動(dòng)態(tài)un-time Dynamic Linking)在執(zhí)行過(guò)程中,當(dāng)發(fā)現(xiàn)一個(gè)被調(diào)用模塊尚未裝入內(nèi)存時(shí),立即由 OS 去找到該模塊并將之裝入內(nèi)存,把它到調(diào)用者模塊上。這樣僅可加程序的裝入過(guò)程,且可節(jié)省大的內(nèi)存空
40、間。4.2 簡(jiǎn)單連續(xù)分配方式4.2.1 單一連續(xù)分配這是最簡(jiǎn)單的一種式時(shí),可把內(nèi)存分分;用 區(qū)是指除管理方式,但只能用于單用戶、單任務(wù)的操作系統(tǒng)中。采用這種管理方用戶區(qū)兩部分,系統(tǒng)統(tǒng)區(qū)以外的全部?jī)?nèi)存空間提供給 OS 使用,通常是放在內(nèi)存的低址部供給用戶使。Mono prog am Three simple an oper ting 無(wú) 區(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動(dòng)態(tài)ate inputueues or ea h par e inpuqueue區(qū)tion4.2.3 動(dòng)態(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.動(dòng)態(tài)重動(dòng)態(tài)重 位的實(shí)現(xiàn)動(dòng)態(tài)重定區(qū)分配算法4 2.5 對(duì)換(Sw pp ng) 1.對(duì)的引入2. 對(duì)換空間 管理3. 進(jìn)程的換出與換入(1) 進(jìn)程的換。每當(dāng)一進(jìn)程由于創(chuàng)建子進(jìn)程而需要但又 足夠的 存空間等情況
43、生出。(2) 進(jìn)程的 入。的內(nèi)存空間,某進(jìn)程換系統(tǒng)應(yīng)定時(shí)地查看所有進(jìn)程的狀態(tài),從中找出就緒態(tài)但已換出的進(jìn)程,將其中換出時(shí)間(換出到磁盤(pán)上)最久的進(jìn)程作為換入進(jìn)程,將 換入, 至已無(wú)可換入的進(jìn)程 無(wú)可換出的 程為止。.3 基本頁(yè)存管理方式4 3. 頁(yè)面與表1.1)2)頁(yè)面頁(yè)面和物理塊頁(yè)面大小在分頁(yè)系統(tǒng)中的頁(yè)面其大小應(yīng)適中。頁(yè)面若太小,一方面雖然可使內(nèi)存碎片減小,從而減少了內(nèi)存碎片的總空間,有利于提高內(nèi)存利用率,但另一方面也會(huì)使每個(gè)進(jìn)程占用較多的頁(yè)面,從而導(dǎo)致進(jìn)程的頁(yè)表過(guò)長(zhǎng),占用大量?jī)?nèi)存;此外,還會(huì)降低頁(yè)面換進(jìn)換出的效率。然而,如果選擇的頁(yè)面較大, 雖然可以減少頁(yè)表的長(zhǎng)度,提高頁(yè)面換進(jìn)換出的速度,
44、但卻又會(huì)使頁(yè)內(nèi)碎片增大。因此,頁(yè)面的小得適中且頁(yè)面大應(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)頁(yè)地中的址頁(yè)號(hào) P 位移量 W 31 12 11 0如下:對(duì)某特定,其地址結(jié)構(gòu)是一定的。若給定一個(gè)邏輯地址空間中的地址為 A 頁(yè)面大小L,則頁(yè)號(hào) 和頁(yè)內(nèi)地址 d 按
46、下求得:3.4.12.頁(yè)表.2 地址變換機(jī)構(gòu)基本的地 變換機(jī)構(gòu)具有快表的地址變換機(jī)構(gòu)4.3.3 兩級(jí)和多級(jí)頁(yè)表現(xiàn)代的大多數(shù)計(jì)算,都支持非常大的邏輯地址空間(232264)。在這樣的環(huán)境下,頁(yè)表就變得非常大,要占用相大的內(nèi)存空間??梢圆捎眠@樣兩個(gè)方法來(lái)解決這一問(wèn)題:采用離散分配方式來(lái)解決難以找到一塊連續(xù)的大內(nèi)存空間的問(wèn)題:只將當(dāng)前需要的部分頁(yè)表項(xiàng)入內(nèi),其余的頁(yè)表項(xiàng)仍駐留在磁盤(pán)上需要頁(yè)表(Two-Level Page Table)入。1.邏輯地址結(jié)構(gòu)可描述如下:- 9 -Windows 的多級(jí)頁(yè)表結(jié)構(gòu)2. 多級(jí)頁(yè)表對(duì)于 32 位的,采用兩級(jí)頁(yè)表結(jié)是合適的;但于 64 位的,如果頁(yè)面大小仍采用 4
47、KB即 212 B,那么還剩下 52 位,假定仍按物理塊的大小(212 位)來(lái)劃分頁(yè)表,則將余下42 位用于外層頁(yè)號(hào)。此時(shí)在外頁(yè)表中可能有 4096 G 個(gè)頁(yè)表項(xiàng),要占用 16384 GB 的連續(xù)內(nèi)存空間。必用多級(jí)頁(yè)表,將外層頁(yè)表再進(jìn)行分頁(yè),也是將各分頁(yè)離散地裝入到不相鄰接的物塊中,再利用第2的外層頁(yè) 來(lái)它們之關(guān)系。Invert da e TablesC mpar son oa t ad tional pageableth n inverted age t ble4.4 基本4.4.1 分段引入分段段管理方式管理方式的引入管方式主要是為滿足戶和程序的下一系列需:)3)4)方便信息程享息保護(hù)動(dòng)態(tài)
48、長(zhǎng)態(tài)4.4.2 分段系統(tǒng)的1. 分段分段址中地有如結(jié)構(gòu)段312.4.段內(nèi)地址16 15分頁(yè)和分段的主要區(qū)別(1) 頁(yè)是信息的物理,分頁(yè)是為實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率?;蛘哒f(shuō),分頁(yè)僅僅是由于系統(tǒng)管理的需要而不是用戶的需要。是信息的邏輯,它含有一組其意義相對(duì)整的信。分段的目的是為了能更好地滿足用戶的需要。(2) 頁(yè)的大小固定且決定,把邏輯地址劃分為頁(yè)號(hào)和頁(yè)內(nèi)地址兩部分,是由硬件實(shí)現(xiàn)的,因而在系統(tǒng)中只能有一種大小的頁(yè)面;而段的長(zhǎng)度卻不固定,決定通常由譯程序?qū)υ闯绦蜻M(jìn)行編譯時(shí),根據(jù)信息的性質(zhì)來(lái)劃分。戶所編寫(xiě)的程序,(3) 分頁(yè)的作業(yè)地址空間是一維的,即單一的線性地址空間,程
49、序員只需利用一個(gè)記憶符,即可表示一個(gè)地址;而分段的作業(yè)地址空間則是二維的,程序 在標(biāo)識(shí) 個(gè)地址時(shí),既需給出 名,又需給 段內(nèi)地址4.54 5.14 5.2頁(yè)式基管理式地 變換過(guò)程4.6 虛擬4.6. 虛擬的基本概念器的入1 常規(guī)存 器管方式的特征(1) 一性。(2) 駐留性。2.部性原1968 年,Denning.P 指出(1 程序執(zhí)行時(shí),大多數(shù)情況下仍是順序執(zhí)行的。(2) 過(guò)程調(diào)用將會(huì)程序轉(zhuǎn)移,過(guò)程調(diào)用的深度在大多數(shù)情況下都不超過(guò) 5。- 20 -(3(4)存在許多循環(huán)結(jié)構(gòu),它們將多次執(zhí)行。還包括許多對(duì)數(shù)據(jù)結(jié)構(gòu)的處理,如對(duì)數(shù)組進(jìn)行操作,它們往往于很小的范圍內(nèi)。局限性又表現(xiàn)在下述兩個(gè)方面:(1) 時(shí)間局限性。如果的某條指令一旦執(zhí)行,則以后該指令可能再次執(zhí)行;如果某數(shù)據(jù)被過(guò),則以后該數(shù)據(jù)可能再次被。產(chǎn)生時(shí)間局性的典,是由于在存在著大量的循環(huán)操作。了某個(gè)單元,在(2) 空間局限性。一旦程序之后,其附近的單元也將被,即程序在一段時(shí)間內(nèi)所的地址,可能中在定的范圍之內(nèi),典型情況便是程序的順序執(zhí)行。3.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度產(chǎn)業(yè)園區(qū)生活垃圾處理設(shè)施施工協(xié)議2篇
- 二零二五年加盟店產(chǎn)品研發(fā)與創(chuàng)新合作協(xié)議3篇
- 二零二五年度二手房買(mǎi)賣(mài)三方資金監(jiān)管協(xié)議3篇
- 二零二五年度叉車(chē)銷售與智能化倉(cāng)儲(chǔ)管理服務(wù)合同3篇
- 2024版單位私人借款債務(wù)調(diào)解服務(wù)協(xié)議3篇
- 二零二五年度個(gè)人股權(quán)無(wú)償轉(zhuǎn)讓與公司業(yè)績(jī)提升合同3篇
- 2024年隧道泥水作業(yè)承包合同
- 2024年裝修施工包工包料協(xié)議樣本版B版
- 2024權(quán)威房屋租賃居間合同書(shū)樣本版B版
- 2024年甲乙雙方以房產(chǎn)抵消債務(wù)的詳細(xì)協(xié)議書(shū)范本
- 用戶界面測(cè)試
- 人工氣道濕化的護(hù)理培訓(xùn)課件
- 電網(wǎng)適用的法律法規(guī)標(biāo)準(zhǔn)規(guī)范清單
- 讀書(shū)分享-給教師的一百條建議
- GB/T 4269.3-2000農(nóng)林拖拉機(jī)和機(jī)械、草坪和園藝動(dòng)力機(jī)械操作者操縱機(jī)構(gòu)和其他顯示裝置用符號(hào)第3部分:草坪和園藝動(dòng)力機(jī)械用符號(hào)
- GB/T 11618.1-2008銅管接頭第1部分:釬焊式管件
- 開(kāi)工復(fù)工第一課
- 安徽省淮南市鳳臺(tái)縣基層診所醫(yī)療機(jī)構(gòu)衛(wèi)生院社區(qū)衛(wèi)生服務(wù)中心村衛(wèi)生室地址信息
- 旅游服務(wù)禮儀說(shuō)課市公開(kāi)課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件
- 【線性代數(shù)自考練習(xí)題】滇西應(yīng)用技術(shù)大學(xué)專升本真題匯總(附答案解析)
- 英語(yǔ)北京版四年級(jí)(上冊(cè))單詞匯總
評(píng)論
0/150
提交評(píng)論