版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第四章 操作系統(tǒng)基礎(chǔ),4.1 操作系統(tǒng)概述 直接使用裸機(jī)不僅不方便,并且效率低下。操作系統(tǒng)是為裸機(jī)配置的系統(tǒng)軟件,為了建立用戶和計(jì)算機(jī)之間的接口。,一 操作系統(tǒng)定義,操作系統(tǒng)的功能(1)有效控制和管理計(jì)算機(jī)系統(tǒng)中的各種硬件和軟件資源,使之得到更有效地利用。(2)合理組織計(jì)算機(jī)系統(tǒng)的工作流程,以改善系統(tǒng)性能。(3)提供用戶與計(jì)算機(jī)之間的接口,使計(jì)算機(jī)更易于使用。,二 操作系統(tǒng)的形成,1人工操作方式由操作員將紙帶裝入輸入機(jī)
2、,把數(shù)據(jù)和程序輸入計(jì)算機(jī),當(dāng)程序運(yùn)行完畢,用戶取走紙帶和計(jì)算結(jié)果,下一個用戶才能上機(jī)。用戶獨(dú)占計(jì)算機(jī)資源,利用率低、CPU等待人工操作。慢速手工和快速CPU矛盾—人機(jī)矛盾,CPU和I/O設(shè)備速度不匹配。,2 操作系統(tǒng),(1)單道批處理操作員將若干個待處理的作業(yè)合成一批輸入到外存,批處理系統(tǒng)將其中的一個作業(yè)調(diào)入內(nèi)存并運(yùn)行。當(dāng)作業(yè)運(yùn)行完畢或因錯誤無法運(yùn)行時,輸出信息,并調(diào)入下一個作業(yè)運(yùn)行,直到這一批作業(yè)全部處理完畢。特點(diǎn):只有一個作業(yè)
3、在內(nèi)存中運(yùn)行。大大減少了人工操作時間,提高了機(jī)器利用率。缺點(diǎn):當(dāng)一個作業(yè)發(fā)出輸入輸出請求時,CPU必須等待I/O完成。利用率低。,2 操作系統(tǒng),(2)多道批處理多道程序技術(shù):同時將多個作業(yè)放入內(nèi)存,允許交替執(zhí)行,共享系統(tǒng)中的各種資源,當(dāng)一道程序因某種原因(如I/O請求)而暫停執(zhí)行時,CPU立即轉(zhuǎn)去執(zhí)行另一個程序。多道批處理系統(tǒng)是引進(jìn)了多道程序技術(shù)的批處理系統(tǒng)。主存中可以同時有多道作業(yè)在運(yùn)行,作業(yè)可以隨時被調(diào)入系統(tǒng),存放在外存中形成
4、隊(duì)列。操作系統(tǒng)按一定的原則從作業(yè)隊(duì)列中調(diào)入一個或多個作業(yè)進(jìn)入內(nèi)存運(yùn)行。,2 操作系統(tǒng),(3)分時操作系統(tǒng)批處理系統(tǒng)中,用戶以脫機(jī)方式使用計(jì)算機(jī),提交了作業(yè)后,即使出現(xiàn)問題,也不能進(jìn)行干預(yù),直到作業(yè)處理結(jié)束。如果有錯,還得重復(fù)該過程,不方便。用戶希望以聯(lián)機(jī)方式使用計(jì)算機(jī)。分時系統(tǒng)將處理機(jī)的運(yùn)行時間分成很短的時間片,按時間片輪流把處理機(jī)分配給各聯(lián)機(jī)作業(yè)使用。若作業(yè)在一個時間片內(nèi)不能完成其計(jì)算,只能暫時中斷,把處理機(jī)讓給另一個作業(yè),等待下
5、一輪時間再繼續(xù)其運(yùn)行。由于機(jī)器速度很高,輪轉(zhuǎn)地也很快,用戶好像獨(dú)占了計(jì)算機(jī)。,2 操作系統(tǒng),(4)實(shí)時操作系統(tǒng)對外來信息能夠以足夠快的速度進(jìn)行處理,并快速作出響應(yīng)。,三 操作系統(tǒng)分類,批處理系統(tǒng)、分時操作系統(tǒng)和實(shí)時操作系統(tǒng)是操作系統(tǒng)的三種基本類型。,四 操作系統(tǒng)的功能,處理機(jī)管理、存儲器管理、設(shè)備管理、文件管理、用戶接口,4.2 處理機(jī)管理,一、單道批處理特點(diǎn):封閉性:一次只運(yùn)行一個程序,獨(dú)占資源;可再現(xiàn)性:同一程序在同樣的數(shù)
6、據(jù)上運(yùn)行,運(yùn)行結(jié)果是可再現(xiàn)的;順序性 操作按程序規(guī)定的順序執(zhí)行。,程序順序執(zhí)行舉例一,設(shè)有一個程序有三個程序段,分別執(zhí)行 I(輸入)、C(計(jì)算)和P(輸出)操作。執(zhí)行順序?yàn)椋?I C P 只有‘輸入’了數(shù)據(jù) ,才能‘計(jì)算’這些數(shù)據(jù),也只有‘計(jì)算’產(chǎn)生了結(jié)果,才能‘輸出’它們。這些邏輯關(guān)系(順序)是不能隨
7、意改變的。,,,,結(jié)果,數(shù)據(jù),程序順序執(zhí)行舉例二,假設(shè)有n個作業(yè),每個作業(yè)都由三個程序段:輸入段Ii、計(jì)算段Ci、輸出段Pi。在早期單道程序系統(tǒng)中,作業(yè)執(zhí)行流為: 作業(yè)1 I1 C1 P1 作業(yè)2 I2 C2 P2
8、 作業(yè)n In Cn Pn,作業(yè)執(zhí)行順序,,,,,,,,,,,,,,,,,,二、程序并發(fā)執(zhí)行,程序并發(fā)執(zhí)行舉例設(shè)有三個程序,它們的執(zhí)行步驟和順序相同,都是Ii(輸入)、Ci(計(jì)算)、Pi(輸出)。 當(dāng)?shù)?個程序的輸入操作I1執(zhí)行完、執(zhí)行C1時,輸入機(jī)空閑,這時候可以執(zhí)行第2個程序的輸入操作I2;在時間上,操
9、作C1和I2時重疊的。當(dāng)C1執(zhí)行完、執(zhí)行P1時,處理機(jī)空閑,若這時I2已完成,就可以執(zhí)行C2,與此同時,輸入機(jī)又空閑,可以執(zhí)行第3個程序的I3。這樣一來,在時間上,P1、C2和I3是重疊操作的。,程序并發(fā)執(zhí)行舉例示意圖,程序1: I1 C1 P1程序2: I2 C2 P2程序3: I3 C3
10、 P3 從示意圖中可以看出,C1和I2、P1、C2和I3、P2和C3在時間上都是重疊操作的。,,,,,,,,,,,,,,,,T,,,,t1,t3,t2,,三、多道批處理系統(tǒng)或分時系統(tǒng)特點(diǎn),在多道批處理系統(tǒng)或分時系統(tǒng)中,多道程序在同時運(yùn)行,同樣的程序和數(shù)據(jù),其運(yùn)行結(jié)果是不可再現(xiàn)的。失去封閉性,共享資源,資源的狀態(tài)由多個程序改變。程序并發(fā)執(zhí)行,共享資源、相互合作,形成了相互制約的關(guān)系。為了描述程序的運(yùn)行過程,引入進(jìn)
11、程的概念。對處理機(jī)的管理主要是對進(jìn)程的管理。,1、失去了程序的封閉性,begin int N; N= 0; begin begin L1:program A L2:program B
12、 N = N + 1; printf(“%d”, N); goto L1 ; N =0; end goto L2
13、; end end,,,,并發(fā)程序段A 并發(fā)程序段B,2、運(yùn)行結(jié)果是不可再現(xiàn)的,分析:若先執(zhí)行程序A,N值大于0;再執(zhí)行程序B時,先輸出一個大于0的N值,然后,N值變?yōu)?。若先執(zhí)行程序B,N值等于0,先輸出一個 0的N值;再執(zhí)行程序A時,N值變?yōu)?。由于程序A
14、和程序B都是以各自獨(dú)立的速度運(yùn)行,則因速度不同而結(jié)果不同。所以并發(fā)執(zhí)行程序失去了順序程序的封閉性。,3、程序并發(fā)執(zhí)行時的相互制約,程序1: I1 C1 P1程序2: I2 C2 P2程序3: I3 C3 P3 從圖中可以看出,
15、P1、C2和I3是并發(fā)執(zhí)行的程序段。如果C1未完成,P1和C2就無法執(zhí)行。 還可以看出,Ii,Ci和Pi分別共享同一個輸入機(jī)、處理機(jī)和打印機(jī),因此,一旦C2占用處理機(jī),在它未完成之前,C3就無法啟動。由此可見,程序并發(fā)執(zhí)行時是相互制約的,將導(dǎo)致并發(fā)程序具有“執(zhí)行——暫停——執(zhí)行”這樣的活動規(guī)律。,t2,四、進(jìn)程,1、進(jìn)程定義:進(jìn)程是程序在一個數(shù)據(jù)集合上的運(yùn)行過程。是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位。,2、進(jìn)程特點(diǎn),1 動態(tài)
16、性:是程序的一次運(yùn)行,因創(chuàng)建而產(chǎn)生,因調(diào)度而執(zhí)行,因得不到資源而暫停,最后因撤消而消亡。2 并發(fā)性:系統(tǒng)內(nèi)多個進(jìn)程可以隨機(jī)、并發(fā)產(chǎn)生和消亡,并可并行活動。3 獨(dú)立性:進(jìn)程在邏輯上是獨(dú)立的,是進(jìn)行資源分配和調(diào)度的獨(dú)立單位。4 異步性:在獲得所需的資源后,就可以按照各自的、不可預(yù)知的速度向前推進(jìn)。5 制約性:由于共享資源和某些協(xié)同動作。,3、進(jìn)程狀態(tài),進(jìn)程執(zhí)行是間斷的,有三種狀態(tài):就緒狀態(tài):獲得了除處理機(jī)外的所有資源,分配到處理機(jī)
17、就可以立即執(zhí)行。執(zhí)行狀態(tài):也稱運(yùn)行狀態(tài)。獲得必要的資源,并占有處理機(jī),就運(yùn)行。阻塞狀態(tài):也稱等待狀態(tài)。執(zhí)行態(tài)的進(jìn)程,由于某事件無法執(zhí)行下去(如等待輸入/輸出完成),而所處的狀態(tài)。進(jìn)程的的狀態(tài)隨自身的推進(jìn)和外界條件的變化而發(fā)生變化。,4、進(jìn)程狀態(tài)變化,處于就緒狀態(tài)的進(jìn)程由于進(jìn)程調(diào)度程序?yàn)槠浞峙淞颂幚頇C(jī),就進(jìn)入執(zhí)行狀態(tài)。執(zhí)行態(tài)的進(jìn)程由于某事件的發(fā)生,由執(zhí)行態(tài)變?yōu)樽枞麘B(tài)。阻塞態(tài)的進(jìn)程,等待的事件已經(jīng)發(fā)生,由阻塞態(tài)變?yōu)榫途w態(tài)。執(zhí)行態(tài)的進(jìn)程
18、,由于時間片完,由執(zhí)行態(tài)變?yōu)榫途w態(tài)。,進(jìn)程狀態(tài)轉(zhuǎn)換示意圖,,運(yùn)行狀態(tài),,等待狀態(tài),,,就緒狀態(tài),,進(jìn)程調(diào)度,,,,,,,,,等待資源,時間用完,獲得資源,,,,,,,進(jìn)程調(diào)度 程序,,來自作業(yè) 調(diào)度,交作業(yè) 管理,進(jìn)程在整個生存周期中,由進(jìn)程調(diào)動程序控制,在這三種狀態(tài)之間進(jìn)行轉(zhuǎn)換。,,五、 進(jìn)程控制塊,為了描述和控制進(jìn)程,引入了一個數(shù)據(jù)結(jié)構(gòu),稱為進(jìn)程控制塊PCB。創(chuàng)建進(jìn)程就是為某程序及其數(shù)據(jù)設(shè)置一個PCB,用于
19、對該進(jìn)程進(jìn)行控制和管理。進(jìn)程執(zhí)行完畢,系統(tǒng)收回PCB,就消亡。PCB是進(jìn)程存在的唯一標(biāo)志。,1、進(jìn)程控制塊內(nèi)容,進(jìn)程標(biāo)識符:每個進(jìn)程有唯一的進(jìn)程標(biāo)識符。進(jìn)程當(dāng)前狀態(tài):如運(yùn)行、就緒等,作為進(jìn)程調(diào)度程序分配處理機(jī)的依據(jù)。CPU現(xiàn)場保護(hù)區(qū):當(dāng)進(jìn)程釋放CPU時,CPU現(xiàn)場信息被保存在該區(qū)域,當(dāng)該進(jìn)程重新獲得CPU時能繼續(xù)執(zhí)行。,1、進(jìn)程控制塊內(nèi)容,占有資源表:列出進(jìn)程已經(jīng)分配的資源和所需資源。進(jìn)程優(yōu)先級:進(jìn)程要求CPU的緊急程度、重要性
20、,優(yōu)先級高的進(jìn)程可以優(yōu)先獲得處理機(jī)。進(jìn)程家族信息:有的系統(tǒng)允許進(jìn)程創(chuàng)建子進(jìn)程,形成繼承家族樹。在PCB中要指明進(jìn)程和家族的關(guān)系,如子進(jìn)程與父進(jìn)程的標(biāo)識。通信信息:記錄在執(zhí)行過程中與別的進(jìn)程所發(fā)生的信息交換情況。,2、 進(jìn)程組成,進(jìn)程是程序在一個數(shù)據(jù)集合上的運(yùn)行過程,它由三部分組成: 程序 它主要用于描述進(jìn)程所要完成的功能。 數(shù)據(jù)集合 它包括程序執(zhí)行時所需要的數(shù)據(jù)和工作區(qū)。 進(jìn)程控制塊 (PCB——Proc
21、ess Control Block) 它記錄進(jìn)程控制信息,是進(jìn)程動態(tài)特性的反映。,六 進(jìn)程的調(diào)度和控制,1進(jìn)程調(diào)度在多道程序環(huán)境下,進(jìn)程的數(shù)目往往多于處理機(jī)的數(shù)目,他們競爭處理機(jī)。要按照某種算法將處理機(jī)分配給就緒隊(duì)列中的一個進(jìn)程,使之執(zhí)行。這由調(diào)度處理程序來完成。進(jìn)程的調(diào)度算法有多種,如先來先服務(wù)、最高優(yōu)先權(quán)優(yōu)先、時間片輪轉(zhuǎn)算法等。,2 進(jìn)程控制,進(jìn)程控制是對系統(tǒng)中的全部資源實(shí)施有效管理,包括進(jìn)程的創(chuàng)建、撤消、阻塞、喚醒等。這些
22、功能由各種原語來實(shí)現(xiàn)。原語是由若干條指令組成,完成一特定的功能,不可分割的。,3、靜態(tài)與動態(tài)優(yōu)先數(shù)法,靜態(tài)優(yōu)先數(shù)法 進(jìn)程優(yōu)先數(shù)是在系統(tǒng)創(chuàng)建進(jìn)程時確定的,一經(jīng)確定,在進(jìn)程運(yùn)行期間就不再改變。動態(tài)優(yōu)先數(shù)法 進(jìn)程優(yōu)先數(shù)在進(jìn)程運(yùn)行中,隨進(jìn)程特性的變化不斷修改進(jìn)程的優(yōu)先數(shù),實(shí)現(xiàn)更精確的調(diào)度。,4、進(jìn)程調(diào)度方式,剝奪方式 當(dāng)“重要”或“系統(tǒng)”的進(jìn)程出現(xiàn)時,便暫停正在執(zhí)行的進(jìn)程,立即將CPU分配給“重要”或”系統(tǒng)“的進(jìn)程。非剝奪方式
23、 讓正在執(zhí)行的進(jìn)程繼續(xù)執(zhí)行,直到該進(jìn)程完成或發(fā)生其它事件,而改變?yōu)槠渌鼱顟B(tài)后,才移交CPU控制權(quán)。,5、進(jìn)程控制塊PCB的組織形式,為了便于對進(jìn)程調(diào)度管理,必須對進(jìn)程進(jìn)行合理的組織。進(jìn)程控制塊PCB是定長記錄,采用兩種組織方式。 順序表結(jié)構(gòu) PCB組織形式
24、 鏈表結(jié)構(gòu),,PCB順序表結(jié)構(gòu),,,,PCB1,,,,,,,,PCB2,PCB3,PCB4,???,PCBi,PCBi+1,PCBi+2,,,,就緒表,,,,等待表,,,,?,,???,,,???,?,,,,,,,,,,?,?,,,,,就緒表起始地址,,等待表起始地址,,PCB線性表的特點(diǎn),1、簡單、易實(shí)現(xiàn) 2、插入、刪除操作費(fèi)時 3、隨機(jī)查找,,,
25、,,,,,,,????,,PCB1,PCB2,PCB3,,,,,???,,,,PCBi,PCBi+1,,刪除,,,,,,,后面的元素統(tǒng)統(tǒng) 前移一個位置,PCB鏈表結(jié)構(gòu),,,,,,運(yùn)行隊(duì)列,就緒隊(duì)列,等待隊(duì)列,,PCBr,隊(duì)頭指針,,,,,,PCBs,,,PCBs+1,PCBs+2,,,,,,,,,,,,,,,,,PCBt,PCBt+1,PCBt+2,,,,,,,,,,PCB鏈表的特點(diǎn),1、插入、刪除操作簡單
26、 2、需要增加額外的存儲空間,實(shí)現(xiàn)較復(fù)雜 (存放地址指針) 3、順序查找,,,插入操作,PCB5,,PCB4,,PCB1,PCB2,,,,PCBi,,,,,,,,,,,,,,,,,,,,,,,,,,PCB6,,,,,,,,,,刪除操作,刪除,DOS的進(jìn)程管理,DOS是單用戶、單任務(wù)OS,因此進(jìn)程管理任務(wù)非常簡單;進(jìn)程獨(dú)享系統(tǒng)資源,不需要復(fù)雜的調(diào)度管理和調(diào)度算法。
27、,UNIX的進(jìn)程管理,UNIX是多用戶、多任務(wù)的OS。為了更好的實(shí)現(xiàn)管理,它將進(jìn)程的狀態(tài)細(xì)分為六種。,運(yùn)行狀態(tài)1,暫停狀態(tài),運(yùn)行狀態(tài)2,,,,終止?fàn)顟B(tài),睡眠狀態(tài),高優(yōu)先 低優(yōu)先,,,,,,,,,,,,,,等待狀態(tài),喚醒,就緒狀態(tài),選中,落選,撤消,掛起,置運(yùn)行,跟蹤,,,WINDOWS’98的進(jìn)程管理,Win98 OS中使用了進(jìn)程和線程相結(jié)合的設(shè)計(jì)技術(shù)。每個進(jìn)程至少包括一個線程,在執(zhí)行時給每個線程分配時間片。Win98是多
28、任務(wù)OS,采用搶占式的多任務(wù)調(diào)度算法來實(shí)現(xiàn)多任務(wù)操作。任務(wù)調(diào)度程序?qū)⑻幚頇C(jī)分配給等待隊(duì)列中優(yōu)先級最高的線程。 在Win98有兩種調(diào)度程序:主調(diào)度程序和時間片調(diào)度程序;前者選擇最高優(yōu)先級的線程運(yùn)行(優(yōu)先級為0~31);后者依據(jù)線程的處理順序及虛擬機(jī)的當(dāng)前狀態(tài),分配一個時間片給被選線程,并執(zhí)行。,4.3 內(nèi)存管理,內(nèi)存是計(jì)算機(jī)中寶貴而緊俏的資源,內(nèi)存管理是操作系統(tǒng)的一項(xiàng)重要功能。一 存儲管理的功能1 內(nèi)存空間的分配與回收為進(jìn)程的程
29、序和數(shù)據(jù)分配內(nèi)存空間,并在不需要時回收。系統(tǒng)會建立一張內(nèi)存空間表,記錄空間的使用情況。,一 存儲管理的功能(續(xù)),2 實(shí)現(xiàn)地址轉(zhuǎn)換 將用戶使用的邏輯地址轉(zhuǎn)換成處理器能訪問的絕對地址。3 空間的共享與保護(hù) 共享指若干進(jìn)程共同訪問公共區(qū)。保護(hù)指各道作業(yè)都在自己的空間內(nèi)運(yùn)行,互不干擾。4 空間擴(kuò)充 采取某種措施解決內(nèi)存不足的問題。,二 重定位,邏輯地址與物理地址一般是不同的,必須將邏輯地址轉(zhuǎn)換為物理地址,程序才能正
30、確執(zhí)行,這種轉(zhuǎn)換稱為重定位。1 靜態(tài)重定位 在程序裝入時由裝入程序完成的。將邏輯地址加上程序在內(nèi)存中的起始地址。2 動態(tài)重定位 裝入主存的程序仍然保留邏輯地址,是在程序執(zhí)行過程中,將要執(zhí)行的程序或訪問的數(shù)據(jù)的邏輯地址轉(zhuǎn)換為物理地址。 通常要借助一個基址寄存器??梢詫?shí)現(xiàn)程序浮動。,三 存儲管理方法,1 單一連續(xù)分配 適用于單用戶、單任務(wù)。除操作系統(tǒng)占用一部分外,全部存儲空間作為一個連續(xù)分區(qū),全部分配給一個作
31、業(yè)。 簡單,利用率低。,單一連續(xù)區(qū)分配法示意圖,,,,,2000,CPU,+,操作系統(tǒng),自由空間,,用戶區(qū)域,主存空間,定位寄存器,,,,,1500(邏輯地址)),,,,,,2000,,,3500(絕對地址),說明:絕對地址=基地址+邏輯地址基地址不同產(chǎn)生的絕對地址就不同。,2 多連續(xù)區(qū)分配,將內(nèi)存劃分為多個區(qū)域,操作系統(tǒng)占用一個,其余的每個分區(qū)分配給一個作業(yè)。分固定分區(qū)和可變分區(qū)兩種。(1)固定分區(qū) 劃分為
32、固定大小的區(qū)域(可同也可不同)。當(dāng)一個分區(qū)空閑時,從就緒隊(duì)列中選擇一個作業(yè)調(diào)入該分區(qū)。 要建立分區(qū)說明表,記錄可分配分區(qū)的數(shù)目、大小、起始地址及狀態(tài)。,固定分區(qū)示意圖,,,,,,,,,,區(qū)號,長度,起址,狀態(tài),1 8K 20K 已分2 14K 30K 已分,3 28K 50K 已分4 76K
33、 80K 未分,分 區(qū) 表,,操作系統(tǒng),,,,,,,,作業(yè)A,作業(yè)B,作業(yè)C,,,,,第1分區(qū),第2分區(qū),第3分區(qū),未分區(qū),20K30K50k80K,,主存“垃圾”,(1)固定分區(qū)(序),分配:首先檢索分區(qū)表,找一個能滿足要求的未分配的分區(qū)給該程序,并修改該分區(qū)表項(xiàng)的狀態(tài)。當(dāng)程序執(zhí)行完畢,將該分區(qū)的狀態(tài)改為未分配。 特點(diǎn):管理調(diào)度簡單、分區(qū)策略適合于工作負(fù)荷比較確定的系統(tǒng)。每個已分配的
34、分區(qū)有一部分被浪費(fèi),利用率低。,(2)動態(tài)分區(qū)分配,也稱可變分區(qū)分配。也使用分區(qū)表來記錄各分區(qū)的使用情況。還將內(nèi)存中的空閑分區(qū)單獨(dú)構(gòu)成一個空閑分區(qū)表或鏈。分配時,首先從空閑分區(qū)分區(qū)表中選出一個滿足作業(yè)需求的分區(qū),分配給作業(yè)。如果分區(qū)比需求的量大,將一分為二,一部分給作業(yè),剩下的流在空閑分區(qū)表中,并進(jìn)行信息的修改。解決碎片的方法是拼接(緊縮、緊湊),將已分配的分區(qū)移動到主存的一端,使本來分散的空閑分區(qū)連成一個大的空閑區(qū)。,多連續(xù)區(qū)分配
35、法示意圖,,,,,,,,,,,,,,已分配分區(qū)表P,未分配分區(qū)表 F,區(qū)號 長度 起始地址 狀態(tài),1 8K 20K 已分,2 16K 28K 已分,4 124K 108K 已分,,,,,,,,,區(qū)號 長度 起始地址 狀態(tài),1 64K
36、 44K 可用,2 24K 232K 可用,3 ——- —— 空表目,4 ???? ??,5 ???? ??,,,,,,,操作系統(tǒng),作業(yè)1,作業(yè)2,20K,28K,5 ???? ??,44K,可用分區(qū)1,,108K,,操作系統(tǒng),,可用分區(qū)1,,作業(yè)3,,可用分區(qū)2,232K,3 頁式存儲管理,分區(qū)存
37、儲產(chǎn)生碎片、空間管理復(fù)雜。其原因是將作業(yè)要放置在一片連續(xù)的區(qū)域中。頁式存儲將作業(yè)劃分為若干個相等的部分,稱為頁,內(nèi)存空間也劃分為若干個與頁長度相等的區(qū)域,叫做塊。給作業(yè)分配存儲空間時,是以頁(塊)為單位。如果沒有足夠的塊,作業(yè)等待。建立頁表,記錄每個頁面對應(yīng)的物理塊。將邏輯地址分為頁號和頁內(nèi)位移兩部分。由頁號找到塊號,塊號加頁內(nèi)位移就形成了物理地址。避免了緊縮帶來的開銷。,動態(tài)地址變換示意圖,,,,,,,,,,,,,,,,,,,,,
38、,,控制寄存器,作業(yè)地址空間,作業(yè)頁表,1 2 3 4,LOAD l,2500,頁表長度 頁表始址,有效地址,2 452,頁號 塊號,0 4,1 6,2 8,8 452,物理地址= 8644,,,,,,,頁號,,,,,,,,2500 = 2*1024+452,,,,1 100 1K 2K 2500 3K,4 段式存儲管理,
39、一個程序常由若干個獨(dú)立的功能模塊組成,稱為段。每段存放在連續(xù)的內(nèi)存空間。各段長度不等,同一程序的各段之間不要求連續(xù)。建立一個段表,實(shí)現(xiàn)從邏輯地址到物理地址的轉(zhuǎn)換。每個表目描述一個段信息,包括段號、段長和該段的內(nèi)存起始地址。地址變換:根據(jù)段號從段表中找到段在內(nèi)存中的起始地址,將該起始地址與段內(nèi)位移相加,得到物理地址。地址是二維的,段和段內(nèi)偏移量。,分段管理示意圖,,,,,6,,,0 1K,0100500,0
40、300,0200,LOAD 1,1|100,Y:12345,C:,0段,1段,2段,3段,,,,,,,,段號長度 起始地址,0 1K 6K,1 500 8K,2 300 4K,3 200 9200,分段地址空間,分段表,OS,0 2K 4K 6k 8k 8292 9200,,,2段,,LOAD1,1| 100,0段
41、,,,,1段,,3段,,,,,,,,,12345,8292=1024*8+100,主存空間,分配算法簡介,首次適應(yīng)算法 從第1個空白區(qū)開始查尋,直到找到第1個適應(yīng)要求的空白區(qū)為止。最佳適應(yīng)算法 空白區(qū)按大小遞增順序鏈接,指針總是指向最小的一個;因此總是從最小的一個開始。這樣,第1次找到的滿足要求的空白區(qū)必然是最合適的。,存儲空間的分區(qū)保護(hù),在多道程序系統(tǒng)的主存中,為了保護(hù)系統(tǒng)程序的安全,系統(tǒng)程序和用戶程序?qū)嶋H使用的區(qū)域是隔開的。這種
42、分割是靠硬件實(shí)現(xiàn)的。用戶程序只能使用用戶區(qū)域的存儲空間。,,,,,,系統(tǒng)區(qū)域,用戶區(qū)域,主存空間的分區(qū) 保護(hù)示意圖,主存空間的擴(kuò)充,在計(jì)算機(jī)中,主存總是常數(shù),要想處理大、多的作業(yè),就要想辦法擴(kuò)充主存的空間。主導(dǎo)思想是:如何在有限的主存空間中,處理大于主存的作業(yè)。 “自動覆蓋”技術(shù)和“虛擬存儲”技術(shù)是擴(kuò)充主存常用的、有效的方法。,自動覆蓋技術(shù),這種方法的主要作法是將大的程序劃分為相對獨(dú)立的程序段,將目前需要的
43、程序段裝入主存中,其他暫時放入外存,需要時再裝入內(nèi)存,而將其他部分覆蓋。,虛擬存儲器(Virtual Storage),它的基本思想是把作業(yè)的地址空間和物理地址空間視為兩個不同的概念,采用內(nèi)、外存結(jié)合的辦法,把部分外存作為主存使用,以此為用戶提供了足夠大的地址空間——虛存空間。用戶可以在這個地址空間內(nèi)編程,而完全不考慮主存的大小。 虛擬存儲器技術(shù)是在硬件和軟件的共同支持下實(shí)現(xiàn)的。硬件負(fù)責(zé)虛實(shí)地址的轉(zhuǎn)換;軟件負(fù)責(zé)實(shí)存(主存)和虛存(外
44、存)之間的信息調(diào)度管理。,DOS的主存管理,采用單一連續(xù)分區(qū)的方法,但卻綜合運(yùn)用了多連續(xù)分區(qū)的管理技術(shù)(覆蓋) 。,UNIX的主存管理,采用分段管理方法,存儲分配采用優(yōu)先適應(yīng)算法。UNIX不支持虛擬存儲器。為運(yùn)行大程序,采用主存與外存調(diào)入調(diào)出的對換技術(shù)。,Windows‘98存儲器管理,Windows98 OS不僅支持常規(guī)內(nèi)存、擴(kuò)展內(nèi)存和擴(kuò)充內(nèi)存管理,還支持虛擬內(nèi)存管理(VM)。?當(dāng)一個進(jìn)程所需要的存儲空間超過了可用的空間時,虛擬內(nèi)
45、存管理器使用換頁技術(shù)在物理內(nèi)存和硬盤之間交換數(shù)據(jù)。? 它能夠?qū)ぶ?GB空間,包括硬盤空間。,4.4 設(shè)備管理,對硬件資源中,除CPU、存儲器之外的所有設(shè)備進(jìn)行管理。一、設(shè)備分類 從工作特性分為:存儲設(shè)備和輸入/輸出設(shè)備。 從從屬關(guān)系分為:系統(tǒng)設(shè)備和用戶設(shè)備。系統(tǒng)設(shè)備:配置的標(biāo)準(zhǔn)設(shè)備,操作系統(tǒng)生成時已經(jīng)登記在系統(tǒng)中的標(biāo)準(zhǔn)設(shè)備,如鍵盤、顯示器、打印機(jī)等。用戶設(shè)備是操作系統(tǒng)生成時未登記在系統(tǒng)中的非標(biāo)準(zhǔn)設(shè)備,如鼠標(biāo)、繪圖儀、
46、掃描儀等。,一、設(shè)備分類(續(xù)),從共享屬性分為獨(dú)占設(shè)備、共享設(shè)備、虛擬設(shè)備。虛擬設(shè)備是通過虛擬技術(shù)將一臺獨(dú)占設(shè)備變換為若干臺邏輯設(shè)備,供若干個用戶進(jìn)程同時使用。按交換信息單位分為:塊設(shè)備和字符設(shè)備。,二、設(shè)備管理的功能,制定設(shè)備分配和使用的策略,為I/O操作的進(jìn)程分配一條傳輸信息的通路,合理控制I/O操作,最大限度地實(shí)現(xiàn)并行操作。達(dá)到的目標(biāo):(1)方便性:用戶無須了解物理設(shè)備的細(xì)節(jié)。(2)并行性:CPU與I/O設(shè)備工作時間高度重
47、疊,設(shè)備之間并行操作,提高設(shè)備利用率。(3)均衡性:使CPU和I/O設(shè)備的忙閑程度保持相對平衡。,三、設(shè)備控制方式,也稱I/O控制方式,從低級發(fā)展到高級經(jīng)歷了由簡到繁、由低級到高級的發(fā)展過程,分為四種。,1 程序直接控制方式:循環(huán)檢測方式,不需要附加的硬件,當(dāng)進(jìn)程需要輸入數(shù)據(jù)時,處理機(jī)向設(shè)備控制器發(fā)出一條I/O指令,啟動設(shè)備進(jìn)行輸入,然后,處理機(jī)循環(huán)檢測設(shè)備狀態(tài)寄存器的忙閑標(biāo)志位,當(dāng)值顯示設(shè)備輸入完成,便將數(shù)據(jù)寄器中的值取出,送入內(nèi)存
48、指定單元,然后再啟動設(shè)備去讀下一個數(shù)據(jù)。當(dāng)用戶進(jìn)程需要輸出數(shù)據(jù)時,也同樣。特點(diǎn):無論設(shè)備工作與否,CPU一直是忙碌的,忙等待,與設(shè)備只能是串行工作。,2 中斷方式,CPU啟動設(shè)備后,就可以去進(jìn)行其他工作。當(dāng)設(shè)備工作結(jié)束后,就向CPU發(fā)送中斷信號,打斷正在處理的任務(wù),通知CPU設(shè)備已經(jīng)處于閑狀態(tài),CPU就可以向設(shè)備安排新任務(wù),輸出下一個數(shù)據(jù)。CPU就返回剛被中斷的任務(wù)。特點(diǎn):在一定程度上,實(shí)現(xiàn)了CPU與外設(shè)的并行,還可以實(shí)現(xiàn)多臺外設(shè)間
49、的并行,3 DMA方式,直接存儲訪問(Direct Memory Access)方式。中斷方式中,CPU干涉一次,只傳送一個數(shù)據(jù)。DMA方式中,CPU干涉一次,在DMA控制器的控制下,傳送一個數(shù)據(jù)塊。,直接內(nèi)存存取方式示意圖,,,,DMA1,,,,,設(shè)備1,主存,CPU,DMA2,DMAn,設(shè)備n,設(shè)備2,,,,,,,,,…...,…...,占用總線控制權(quán),直接存取內(nèi)存,4 I/O通道方式,在DMA方式中,傳送一個數(shù)據(jù)塊CPU干涉
50、一次。為了傳送一組數(shù)據(jù)塊,CPU只干涉一次,引入通道方式。通道是能控制一臺或多臺外設(shè)與CPU并行工作的硬件部件。當(dāng)需要傳送數(shù)據(jù)時,CPU只需執(zhí)行一條命令啟動通道,而真正的數(shù)據(jù)傳送則由通道控制。當(dāng)數(shù)據(jù)傳送結(jié)束時,再向CPU發(fā)出中斷。,通道控制示意圖,四級連接、三級控制,主存CPU,通道,通道,通道,控制器,控制器,控制器,控制器,設(shè)備,設(shè)備,設(shè)備,設(shè)備,設(shè)備,設(shè)備,設(shè)備,CPU控制“通道”、“通道”控制“控制器”、“控制器”控制“設(shè)備
51、”,四 緩沖技術(shù),在CPU和設(shè)備之間交換數(shù)據(jù)時,數(shù)據(jù)的到達(dá)率和離去率不匹配,設(shè)置一緩沖區(qū),以暫時存放數(shù)據(jù),騰出CPU,然后讓外設(shè)慢慢地把數(shù)據(jù)讀入或取出緩沖區(qū)。緩解了CPU和外設(shè)之間的速度不匹配的矛盾,提高了CPU與設(shè)備、設(shè)備與設(shè)備之間并行工作的程度,提高了系統(tǒng)效率。Spooling技術(shù):聯(lián)機(jī)情況下實(shí)現(xiàn)的同時外圍操作,也稱為假脫機(jī)操作。實(shí)現(xiàn)虛擬設(shè)備。,五 設(shè)備的分配,按照一定的策略為請求設(shè)備的進(jìn)程分配合適的設(shè)備。要考慮設(shè)備的屬性。1
52、獨(dú)占設(shè)備:獨(dú)占分配。將一個設(shè)備分配給某進(jìn)程后,一直由它獨(dú)占,直至該進(jìn)程完成或釋放該設(shè)備。如打印機(jī)。2 共享設(shè)備:可同時分配給多個進(jìn)程使用,如磁盤。提高了設(shè)備的利用率,但要合理調(diào)度。,五 設(shè)備的分配(續(xù)),3 虛擬設(shè)備 當(dāng)進(jìn)程申請獨(dú)占設(shè)備時,系統(tǒng)只分配給其一部分存儲空間。將交換的信息放在存儲空間中,在適當(dāng)?shù)臅r候,將信息從設(shè)備傳送到存儲空間或?qū)⒋鎯臻g中的信息傳送到設(shè)備。分配算法:先請求先服務(wù) 優(yōu)先級高者優(yōu)先。,4.6 文件管理,
53、文件系統(tǒng):操作系統(tǒng)與用戶關(guān)系最密切的一部分,對用戶來說,它是操作系統(tǒng)中最直觀的部分。一 文件文件是具有符號名的一組信息,比如源程序、數(shù)據(jù)、目標(biāo)程序等。文件是操作系統(tǒng)進(jìn)行信息管理的基本單位,信息管理也就是文件管理。,二 文件類型,為便于管理和控制文件,將文件分成若干類型:1 按用途劃分系統(tǒng)文件:構(gòu)成系統(tǒng)軟件的文件。大多數(shù)系統(tǒng)文件只允許用戶調(diào)用,而不允許讀或修改。庫文件:由系統(tǒng)提供給用戶使用的各種標(biāo)準(zhǔn)過程、函數(shù)和應(yīng)用程序。只允許用
54、戶調(diào)用、不允許修改。用戶文件:用戶委托文件系統(tǒng)保管的文件。如源程序、目標(biāo)程序、數(shù)據(jù)等。,2 按文件的保護(hù)級別劃分,只讀文件:讀寫文件:執(zhí)行文件不保護(hù)文件:,3 按信息流向劃分,輸入文件:如鍵盤上或讀卡機(jī)上的文件。輸出文件:如打印機(jī)上的文件,只能寫出。輸入/輸出文件:磁盤、磁帶上的文件,能讀和寫。,4 按文件中的數(shù)據(jù)形式劃分,源程序、目標(biāo)程序(源程序經(jīng)過編譯程序編譯形成的目標(biāo)代碼組成的文件,未經(jīng)過鏈接的)、可執(zhí)行文件(目標(biāo)文件
55、經(jīng)過鏈接形成的 )。,DOS文件系統(tǒng)的存儲結(jié)構(gòu),在DOS下,文件主要存放在磁盤上,而磁盤在使用之前要先進(jìn)行格式化處理。DOS的格式化處理包括 “物理格式化”和 “邏輯格式化”。物理格式化是建立計(jì)算機(jī)能夠識別的標(biāo)準(zhǔn)格式;劃分為磁道和扇區(qū)。邏輯格式化也稱高級格式化,是在物理格式化的基礎(chǔ)上,建立文件系統(tǒng)可以識別的邏輯格式。,邏輯格式化建立的存儲結(jié)構(gòu),引導(dǎo)區(qū) 存放啟動計(jì)算機(jī)的引導(dǎo)記錄和有關(guān)磁盤存儲介質(zhì)的描述信息。計(jì)算機(jī)啟動時自動跳轉(zhuǎn)到
56、此處執(zhí)行引導(dǎo)程序。 FAT 文件分配表,DOS文件系統(tǒng)組織結(jié)構(gòu)中重要的組成部分。用于存放文件鏈表的地址信息(簇號)。一個文件若有N個鏈塊(簇),則占N個表項(xiàng)。 FDT 文件目錄表,用于存放文件的目錄項(xiàng)信息。一個文件占一個表項(xiàng)。,引導(dǎo)區(qū),,,,,,FAT1 FAT2 FDT 第1簇 第2簇 …... DATA區(qū),,UNIX文件系統(tǒng)的存儲結(jié)構(gòu),UNIX文件系統(tǒng)的存儲結(jié)構(gòu)與DOS的很類似,應(yīng)該說DOS的系統(tǒng)設(shè)計(jì)借
57、鑒了UNIX系統(tǒng)的設(shè)計(jì)思想。UNIX文件系統(tǒng)的功能比DOS系統(tǒng)要強(qiáng)得多,系統(tǒng)構(gòu)成也復(fù)雜得多。UNIX系統(tǒng)的特點(diǎn)之一是文件和設(shè)備的一致性。在UNIX下,文件、目錄和I/O設(shè)備都作為文件對待,從而簡化了系統(tǒng)設(shè)計(jì),也方便了用戶的使用。,四、文件系統(tǒng)的保護(hù)與使用,文件保護(hù)有兩重含義: ? 防止文件被非法讀取 ? 防止文件被有意或無意的破壞如刪除。 在文件系統(tǒng)中,通常采用“訪問權(quán)限”保護(hù)機(jī)制來實(shí)現(xiàn)對文件的保護(hù)。,1、DOS的
58、文件保護(hù)機(jī)制,DOS通過外部命令UNDELETE設(shè)置了三級文件保護(hù)機(jī)制;分別為“警衛(wèi)、追蹤和一般保護(hù)”?!耙话惚Wo(hù)”措施可以有條件的恢復(fù)被刪除的文件;即刪除文件后,還沒有做過改變磁盤存儲分配的操作這樣一種情況下,被刪除的文件可以恢復(fù)。否則,就不能恢復(fù)。 “警衛(wèi)保護(hù)”和“追蹤保護(hù)”是在內(nèi)存和磁盤中開辟出專用空間,存留被刪除的文件,兩者不同之處在于開辟的空間大小不同而已。它們都是以系統(tǒng)資源為代價,換取保護(hù)文件的。系統(tǒng)、隱藏、只讀。,2
59、、UNIX的文件保護(hù)機(jī)制,UNIX用文件的存取權(quán)限限定對文件操作,為此,設(shè)定了“兩種用戶”、“三個等級”、“三種存取權(quán)限”。,1)兩種用戶,特權(quán)用戶 可以隨意存取任何用戶的文件、包括 修改和刪除; 普通用戶 只能對自己的文件進(jìn)行操作;而對其 它目錄下的文件只能進(jìn)行授權(quán)的操作。,2)三個等級,文件所有者 文件的
60、創(chuàng)建者(主人),對自己的文件有處理全權(quán); 同組人 與文件所有者是同組關(guān)系(例如,同課題組、同教研室),對同組文件可進(jìn)行文件主人授權(quán)的操作。 其他人 與文件所有者無關(guān)的人。只能進(jìn)行文件主人授權(quán)的操作;若沒有被授權(quán),則無法對文件進(jìn)行任何操作。,3)三種存取權(quán)限,閱讀權(quán)( r ) 只能讀、顯示文件名及目錄; 寫入權(quán)( w )除具有讀權(quán)限外,還可以建 立文件和
61、目錄,修改 文件; 執(zhí)行權(quán)( x ) 最高權(quán)限;除具有讀、寫權(quán) 外還可以執(zhí)行文件、刪除文 件。,權(quán)限組合,三個等級、三種存取權(quán)限可以組成9種不同的存取權(quán)限代碼,其格式為: 1位 3位 3位 3位 類型 所有人 同組人 其他人
62、 f r w x r w x r w x 其中,f是類型標(biāo)志位: - 表示是普通文件 b 表示是塊設(shè)備文件 c 表示是字符設(shè)備文件 d 表示是子目錄,3、Windows的文件管理,FAT Windows文件系統(tǒng)仍支持MS-DOS的FATFAT32 為了支持更高容量的磁盤,wind
63、ows采用了FAT32文件系統(tǒng),但仍保持與FAT文件格式的兼容,可使磁盤容量使用率提高10%。NTFS Windows采用NTFS文件系統(tǒng),與FAT不兼容。,4.7 用戶接口,操作系統(tǒng)為用戶提供兩類接口:命令接口和程序接口。一 命令接口是操作員級的,用戶使用命令來組織和控制程序的執(zhí)行或管理計(jì)算機(jī)系統(tǒng)。 二 程序接口是程序員級的,也稱系統(tǒng)調(diào)用。由一組系統(tǒng)調(diào)用命令組成,用戶在程序中使用系統(tǒng)調(diào)用請求操作系統(tǒng)服務(wù)。,UNIX用戶
64、接口,UNIX傳統(tǒng)用戶界面是基于文本的命令行界面,即shell。Shell即可方便編程操作,又可以聯(lián)機(jī)作為交互命令使用。UNIX 還為用戶提供圖形界面,主要是X Windows系統(tǒng),它被開發(fā)成為UNIX平臺的標(biāo)準(zhǔn)GUI。,DOS用戶接口,DOS操作系統(tǒng)基本上都是字符界面接口。,Windows用戶接口,現(xiàn)行的Windows界面是基于GUI的用戶接口,已經(jīng)成為一種開放化系統(tǒng)的用戶接口。,程序員接口,程序員與計(jì)算機(jī)進(jìn)行交互的接口稱為程序員
65、接口API(Application Program Interface)。API實(shí)質(zhì)是一套函數(shù)調(diào)用,是程序員可用的編程接口,用于創(chuàng)建其他程序。API為程序員或計(jì)算機(jī)用戶提供了使用計(jì)算機(jī)時低層次、高效率的服務(wù)接口。,作業(yè),1、思考第4章的1~3,12~14。2、作業(yè)第4章的6~8、16。,思考題,OS存儲管理的對象與任務(wù)是什么?什么是實(shí)存儲管理和虛存儲管理?常用的主存管理方法有哪幾種?各自的特點(diǎn)是什么?OS設(shè)備管理包括哪些基本任
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論