計算機,軟件基礎,機械自動化.ppt_第1頁
計算機,軟件基礎,機械自動化.ppt_第2頁
計算機,軟件基礎,機械自動化.ppt_第3頁
計算機,軟件基礎,機械自動化.ppt_第4頁
計算機,軟件基礎,機械自動化.ppt_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1,第三章 操作系統(tǒng),3.1 基本概念 3.2處理機管理 3.3存儲管理 3.4設備管理 3.5文件管理,2,3.1 基本概念,復習: 計算機系統(tǒng)硬件系統(tǒng)軟件系統(tǒng) 軟 件 系 統(tǒng) 系統(tǒng)軟件應用軟件,討論3個問題: 操作系統(tǒng)是什么? 它能干些什么? 它是怎樣干的?,3,1. 操作系統(tǒng)是什么?,定義是計算機的一種系統(tǒng)軟件,由它統(tǒng)一管理計算機系統(tǒng)的軟硬件資源和控制程序的執(zhí)行。 地位最基本的系統(tǒng)軟件,直接運行于裸機之上。 從用戶的觀點看,裸機OS虛擬計算機,答:,4,主要管理4類資源: CPU、存儲器、I/O設備和文件,它能統(tǒng)一管理計算機系統(tǒng)的全部資源(包括硬件資源和軟件資源),又稱為資源管理程序。,

2、2. 操作系統(tǒng)它能干些什么?,沒有OS行不行?,答:,對普通用戶來說,不行。因為不清楚內(nèi)存情況以及設備如何控制等細節(jié)。,引入OS的目的: 讓用戶能方便地使用計算機系統(tǒng); 使計算機系統(tǒng)能高效地工作。,5,3. 操作系統(tǒng)它是怎樣工作的?,即4大資源如何管理?要用到數(shù)據(jù)結(jié)構(gòu)的基礎知識。 這是本章的重點內(nèi)容。,有幾類操作系統(tǒng)?,6,單道 一次只有一個作業(yè)裝入計算機的內(nèi)存運行,在執(zhí)行時不能使I/O設備與CPU同時工作,無法充分利用CPU。 (如DOS系統(tǒng)) 多道計算機內(nèi)存中同時存放幾道相互獨立的程序,使他們在操作系統(tǒng)控制之下,相互穿插地運行。當某道程序因某種原因不能繼續(xù)運行時(例如等待外設傳輸數(shù)據(jù)),操

3、作系統(tǒng)便將另一道程序投入運行,以便讓CPU及各個外設盡量處于忙碌狀態(tài),從而大大提高計算機使用效率。這種技術稱為多道程序設計。 (如Windows系統(tǒng)),多道特點:宏觀上并行、微觀上串行,何謂單道?何謂多道?,7,3.2 處理機(CPU)管理,一、管理目標 二、管理內(nèi)容 三、作業(yè)管理 四、進程管理 五、典型操作系統(tǒng)分析,8,一、管理目標,首先要明確,單處理機的CPU,在任何瞬間只能執(zhí)行一條指令,所以OS應當最大限度地提高CPU利用率; 其次要方便普通用戶,盡可能操作方便。,處理機(CPU)管理的目標是什么?,9,二、管理內(nèi)容,CPU管理又可分為作業(yè)管理和進程管理,作業(yè)管理和進程管理二者關系? 前

4、者是宏觀概念,后者是微觀概念。,什么叫作業(yè)? 是計算機完成用戶任務所需進行的各項工作的集合,它是對算題任務進行處理的一個動態(tài)過程。,什么叫進程? 是程序在數(shù)據(jù)集上的一次執(zhí)行,即是在指定內(nèi)存區(qū)域中一組指令序列的執(zhí)行過程。,10,進程狀態(tài)轉(zhuǎn)換,每個作業(yè)從進入系統(tǒng)到執(zhí)行完畢要經(jīng)歷四個階段,所以作業(yè)具有四個狀態(tài):,作業(yè)調(diào)度的功能?,11,即一種資源管理程序,管理CPU資源的最高級(宏觀)調(diào)度。,明確:作業(yè)管理是用戶與計算機之間的接口; 這種接口可細分為兩類:,批處理方式-即用作業(yè)調(diào)度方式進行管理 (特點:全自動),作業(yè)在外存怎樣存放? 靠建立JCB(Job Control Block),三、作業(yè)管理,

5、JCB是作業(yè)在系統(tǒng)中存在的唯一標志,它在作業(yè)整個運行過程中始終存在,內(nèi)容也不斷變化,直到作業(yè)完成才被清除。,交互方式-即人機對話方式 (特點:不自動或手工),12,作業(yè)調(diào)度算法有幾種? 主要有5種。目的是提高作業(yè)吞吐量、提高系統(tǒng)資源利用率、對各種作業(yè)盡量公平。 l先來先服務算法 l最短作業(yè)優(yōu)先算法,從作業(yè)隊列中應該先選取哪些作業(yè)進入內(nèi)存?,下面重點介紹批處理作業(yè)的調(diào)度算法,l最高響應比作業(yè)優(yōu)先算法(已等待時間/作業(yè)運行時間) 響應比R作業(yè)響應時間/作業(yè)運行時間1作業(yè)等待時間/作業(yè)運行時間 l最高優(yōu)先數(shù)算法 l均衡調(diào)度算法 / 資源搭配算法(使進入運行態(tài)的各作業(yè)合理搭配),13,設有三個批處理作

6、業(yè),所需執(zhí)行時間分別為2小時、1小時和25分鐘,相繼到達時間分別為:6:00、6:10和6:25。 若對這三個批處理作業(yè)采用調(diào)度算法S1,其執(zhí)行情況如下:,問:調(diào)度算法S1采用的是什么樣的算法? 答:先來先服務算法。,14, 若對這三個批處理作業(yè)采用調(diào)度算法S2,其執(zhí)行情況如下:,問:調(diào)度算法S2采用的是什么樣的算法? 答:最短作業(yè)優(yōu)先法。,15, 系統(tǒng)有四個批處理作業(yè)采用調(diào)度算法S3,其執(zhí)行情況如下:,問:調(diào)度算法S3采用的是什么樣的算法? 答:最高響應比作業(yè)優(yōu)先算法。,【分析】計算當J1完J2150分鐘/20分鐘3.5; 成后各作業(yè)J3= 140分鐘/10分鐘5; 【響應比最高】 的響應比

7、 J4= 120分鐘/15分鐘2.3; 同理:當J3執(zhí)行完后,可以計算J2、J4的響應比以確定先后次序。,16,四、進程管理,1. 進程的定義 是在指定內(nèi)存區(qū)域中的一組指令序列的執(zhí)行過程,它是一個程序在一個數(shù)據(jù)集上的一次執(zhí)行 或進程是程序的一次執(zhí)行過程 而程序的定義是:具有獨立功能的一組指令的集合,它給出了CPU執(zhí)行操作的步驟。,問:進程和程序的區(qū)別和聯(lián)系? 聯(lián)系:進程是程序的執(zhí)行過程。同一個程序如果運行在不同的數(shù)據(jù)集上,就構(gòu)成了不同的進程;而同一個進程中又可以包含多個程序。 區(qū)別: 程序是靜態(tài)的,進程是動態(tài)的; 程序是永久的,進程是暫時的; 進程有狀態(tài)(三態(tài)),而程序卻沒有重要區(qū)別。,菜譜炒

8、菜,17,2. 進程的屬性,等待態(tài)又稱阻塞、掛起、封鎖。,動態(tài)性指從誕生、運行,直至消滅 并發(fā)性指并發(fā)執(zhí)行的進程輪流占用處理器CPU 3個基本態(tài)指就緒態(tài)、運行態(tài)、等待態(tài),可互相轉(zhuǎn)換,18,練習1 : 處于就緒狀態(tài)的進程可以有 ? 個; 處于等待狀態(tài)的進程也可以有 ?個; 但處于運行狀態(tài)的進程只會有 ?個。,練習2:程序的執(zhí)行何時從運行態(tài)中退出? 有3種可能性: 正常結(jié)束; 時間片用完; 運行時某條件不滿足,則主動退出等待條件滿足。,多,多,1,練習3:占有除CPU之外的一切資源的進程處于 ? 態(tài)。,就緒,練習4:通過 ?完成進程三基本狀態(tài)間的轉(zhuǎn)換。,進程調(diào)度程序,19,討論: 處理機空閑時,會

9、選中哪個進程來運行?運行多長時間?,常用的進程調(diào)度算法有4種: l先來先服務調(diào)度算法 l優(yōu)先數(shù)調(diào)度算法 l時間片輪轉(zhuǎn)調(diào)度算法 l分級調(diào)度算法,這叫進程調(diào)度,常規(guī)算法,分配給先進入就緒隊列的進程,且把該進程執(zhí)行到底,直到結(jié)束或等待。,對每個進程給出一個優(yōu)先數(shù)(分等級),優(yōu)先級高的允許先“搶占” CPU;若同級,則按“先來先服務”原則。,比較折衷的設計,每個進程都執(zhí)行相同的時間段(片),分時輪流,交替執(zhí)行(注意時間片的選擇要合理,太短了雖每個進程的響應加快,但調(diào)度太頻繁;太長了對其它進程響應不及時)。,由系統(tǒng)設置多個就緒隊列(前、后臺隊列),每個就緒隊列中的進程按時間片輪轉(zhuǎn)法占用處理器。,20,進

10、程調(diào)度中的先來先服務算法是把處理機分配給: (A)優(yōu)先數(shù)領先的進程 (B)先進入內(nèi)存的作業(yè)的進程 (C)先進入等待隊列的進程 (D)先進入就緒隊列的進程,練習:,問:隊列的操作只能是先進先出,進程已進入就緒隊列之后,優(yōu)先數(shù)領先的進程如何優(yōu)先? 答:仍然依次出隊,但級別低者送入等待隊列!,21,3. 進程的組成,討論: 一個進程如何被識別和管理? 用一張?zhí)厥獾谋韥碛涗浧溆嘘P信息和狀態(tài)。 在進程剛創(chuàng)建時建表,當進程消亡時撤表(free), 這張表叫做PCB(Process Control Block,進程控制塊)。 有多少進程就有多少張PCB表,它是進程存在的唯一標志。,由程序、數(shù)據(jù)集和進程控制塊

11、(PCB)3部分組成,22,一種基本的進程控制塊PCB格式如下(含4類信息):,23,將相同狀態(tài)(就緒、運行或等待)的PCB鏈接成隊列,則可編制控制軟件了。,24,小結(jié)進程概念,進程的組成由程序、數(shù)據(jù)集和進程控制塊3部分組成。 進程的屬性動態(tài)性、并發(fā)性、3基態(tài)、 多個不同進程可包含同一程序 每個瞬間位于運行態(tài)的進程只可能有一個; 任何時刻、任何進程都處于且僅處于某一個狀態(tài); PCB是進程存在的唯一標志; PCB包含信息有4類:標識、說明、管理、現(xiàn)場信息 進程調(diào)度算法:4種(對就緒隊列而言) 先來先服務、優(yōu)先數(shù)調(diào)度、時間片輪轉(zhuǎn)、分級調(diào)度,25,4、進程之間的通信,1)進程之間有必要通信么? 答:

12、有,多道程序并發(fā)交叉運行時必須協(xié)調(diào)! 請注意:進程之間有同步和互斥的情況,都是因為涉及到臨界區(qū)和臨界資源。,臨界資源一次只允許一個進程使用的資源。 臨界區(qū)在進程中訪問臨界資源的那段程序代碼。 (它是一個在并發(fā)進程中與共享變量有關的程序段),26,解釋幾個術語:,當若干進程都要使用某一共享資源時,任何時刻最多只允許一個進程去使用,其他要使用該資源的進程必須等待,直到占用資源者釋放了該資源。(資源排它性使用:如打印機) 指并發(fā)進程之間存在一種制約關系,一個進程的執(zhí)行依賴另一個進程的消息,當一個進程沒有得到另一個進程的消息時應當?shù)却?,直到消息到達時才被喚醒。(時序) 若進程A專門向緩沖區(qū)輸入數(shù)據(jù),而

13、進程B專門從緩沖區(qū)取出數(shù)據(jù)。則A一個也不放入時,B將無數(shù)據(jù)可取;B若遲遲不取走,讓緩沖區(qū)滿,則A無法再放入。 進程的互斥是進程間競爭共享資源的使用權,這種競爭沒有固定的必然關系;而進程同步時,涉及到共享資源的并發(fā)進程之間有一種必然的依賴關系。,進程互斥: 進程同步: 進程的同 步性關系: 互斥和同步的區(qū)別:,27,2)怎樣實現(xiàn)進程間的通信? 解決進程同步與互斥的工具,答:用一種特殊的方法PV操作 定義兩種操作(函數(shù)):P(S)和V(S) 其中S表示公用信號量。,請注意這種操作的特點是“不可中斷的過程”,所以又稱“原語”,即P操作原語和V操作原語。,構(gòu)思巧妙,簡潔明快, 簡稱P、V操作,28,P

14、(S)的過程如下:,S值減1; 若S0,將當前進程置于等待態(tài),并將該進程排入等待S的隊列; 若S0,則當前進程繼續(xù)執(zhí)行。,V(S)的過程如下:,S值加1; 若S0,從等待S的隊列中移出一個進程并加入到就緒隊列,當前進程繼續(xù)執(zhí)行; 若S0,則當前進程繼續(xù)執(zhí)行。,問:在進程狀態(tài)轉(zhuǎn)換過程中,可能會引起進程阻塞的原因是執(zhí)行()。 (1)P操作 (2)V操作,29,3) 怎樣用P、V操作實現(xiàn)進程互斥?,在任一進程進入臨界區(qū)前先調(diào)用一次P操作,在執(zhí)行完臨界區(qū)的操作退出時再調(diào)用一次V操作,而且都用同一個公用信號變量S(S的初值為1)。這樣就可以實現(xiàn)進程的互斥。,解決互斥問題的“竅門”: P、V操作用同一個信

15、號燈S,并令S初值1(資源的數(shù)目),30,例1:請寫出兩個進程使用一個打印機的信號燈P、V操作。,P1的臨界區(qū)操作 P(S);/申請一資源 打印1 V(S);/釋放一資源,P2的臨界區(qū)操作 P(S); 打印2 V(S);,解:令初值S1(表示臨界資源為1個),2個進程依次進入就緒隊列,S=S-1; / P操作(申請一資源) if S0wait/置該進程為阻塞狀態(tài)(因無可用資源) else go on / S0,S=S+1; / V操作(釋放一資源) if S0waitready; go on /從阻塞狀態(tài)喚醒一個進程,插入就緒隊列 elsego on / S0,31,例2:兩個進程共用一個臨界

16、資源,用互斥信號燈實現(xiàn)這兩個進程互斥時,該互斥信號燈可能的取值有哪幾個?并說明每個取值的意義。,答:互斥情況下信號燈S的取值只有1 ,0和1三種情況。 S=1表示沒有進程進入臨界區(qū);(僅有一個公共資源) S=0表示有一個進程進入臨界區(qū); S=1表示一個進程進入臨界區(qū),另一個進程在等待。 即:S0表示某資源的可用數(shù),S0其絕對值表示阻塞隊列中等待該資源的進程數(shù),32,4)怎樣用P、V操作實現(xiàn)進程同步?,在任一進程進入臨界區(qū)前先調(diào)用一次P操作,在執(zhí)行完臨界區(qū)的操作退出時再調(diào)用一次V操作。 但要使用兩個不同的公用信號變量SP和SG(SP的初值不能為0,而SG的初值為0)。這樣就可以實現(xiàn)進程的同步。,

17、解決同步問題的“竅門”: P、V操作使用2個信號燈SP和SG,令緩沖區(qū)空閑初值SP0, 緩沖區(qū)產(chǎn)品數(shù)SG0,33,例1:P1為生產(chǎn)者,P2為消費者,依次進入就緒隊列,希望實現(xiàn)一進一出(同步)。,P1的生產(chǎn)操作 P1:生產(chǎn)產(chǎn)品; P(SP); 將產(chǎn)品放入緩沖區(qū); V(SG); goto P1;,P2的臨界區(qū)操作 P2: P(SG); 從緩沖區(qū)取走產(chǎn)品; V(SP); 消費產(chǎn)品; goto P2;,實際效果預測: P1若不放入1個產(chǎn)品,P2就只能等待,無法取產(chǎn)品; 反之,若緩沖區(qū)已放滿,則P2若不取走一個產(chǎn)品,P1就只能等待,無法放產(chǎn)品。,34,S=S-1; / P操作 if S0wait els

18、e go on / S0,S=S+1; / V操作 if S0waitready; go on elsego on / S0,緩沖區(qū)長度初值應SP0,依題意取SP=1; 緩沖區(qū)產(chǎn)品數(shù)SG0,P1的生產(chǎn)操作 P1:生產(chǎn)產(chǎn)品; P(SP);/申請一空閑區(qū) 將產(chǎn)品放入緩沖區(qū); V(SG);/釋放一資源,表有貨可取 goto P1;,P2的臨界區(qū)操作 P2: P(SG); 從緩沖區(qū)取走產(chǎn)品; V(SP); 消費產(chǎn)品; goto P2;,35,問:進程的互斥與同步有什么區(qū)別?他們之間又有什么共同之處?,答: 區(qū)別:進程的互斥是排它性,而同步是依賴性,是制約關系 共同之處:目的都是為了合理地共享資源。,進

19、程的互斥是進程間競爭共享資源的使用權,這種競爭沒有固定的必然關系; 而進程同步時,涉及到共享資源的并發(fā)進程之間有一種必然的依賴關系。,36,P、V操作要點:, 一定是成對出現(xiàn)(占用資源和釋放資源); P(S)和V(S)的調(diào)用一定緊挨著臨界區(qū)的前后; 互斥只要設置一個信號燈(且S初值為1);而同步要設置2個信號燈(及以上);可以接收的信號燈SP初值大于0,表示有空位;而SG初值0,表示無貨可取。,P、V操作是否完美無缺?,37,5) 死鎖,死鎖的定義:在操作系統(tǒng)中,如果若干個進程彼此等待對方所擁有且不會釋放的資源,從而會處于互相等待的狀態(tài),這種情況稱為 死鎖 。 產(chǎn)生的原因: 一是系統(tǒng)資源不足;

20、 二是進程推進的順序不當。,對付死鎖的策略有2類: 死鎖的檢測與修復有死鎖時或終止進程,或搶奪資源 死鎖的預防與避免保證系統(tǒng)不會發(fā)生死鎖,哪種方法所付出的代價更大?,38,五、典型操作系統(tǒng)處理機管理的特點,1. DOS操作系統(tǒng)的CPU管理特點,特點:DOS是單用戶單任務系統(tǒng),所以沒有作業(yè)調(diào)度,永遠只有一個作業(yè)在內(nèi)存運行,只有作業(yè)控制能力,沒有多進程并發(fā)的概念。,2. Windows操作系統(tǒng)的CPU管理特點,特點:單用戶多道技術和圖形用戶界面,可用鼠標來控制。 注:DOS界面是字符型,只能用命令方式來控制。,39,從作業(yè)管理的角度講,Windows運用了以下人機交互的技術: 多窗口技術能同時看到多任務的執(zhí)行,但只有一個活

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論