第四章 操作系統(tǒng)基礎(chǔ)_第1頁
已閱讀1頁,還剩96頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第四章 操作系統(tǒng)基礎(chǔ),4.1 操作系統(tǒng)概述 直接使用裸機不僅不方便,并且效率低下。操作系統(tǒng)是為裸機配置的系統(tǒng)軟件,為了建立用戶和計算機之間的接口。,一 操作系統(tǒng)定義,操作系統(tǒng)的功能(1)有效控制和管理計算機系統(tǒng)中的各種硬件和軟件資源,使之得到更有效地利用。(2)合理組織計算機系統(tǒng)的工作流程,以改善系統(tǒng)性能。(3)提供用戶與計算機之間的接口,使計算機更易于使用。,二 操作系統(tǒng)的形成,1人工操作方式由操作員將紙帶裝入輸入機

2、,把數(shù)據(jù)和程序輸入計算機,當程序運行完畢,用戶取走紙帶和計算結(jié)果,下一個用戶才能上機。用戶獨占計算機資源,利用率低、CPU等待人工操作。慢速手工和快速CPU矛盾—人機矛盾,CPU和I/O設(shè)備速度不匹配。,2 操作系統(tǒng),(1)單道批處理操作員將若干個待處理的作業(yè)合成一批輸入到外存,批處理系統(tǒng)將其中的一個作業(yè)調(diào)入內(nèi)存并運行。當作業(yè)運行完畢或因錯誤無法運行時,輸出信息,并調(diào)入下一個作業(yè)運行,直到這一批作業(yè)全部處理完畢。特點:只有一個作業(yè)

3、在內(nèi)存中運行。大大減少了人工操作時間,提高了機器利用率。缺點:當一個作業(yè)發(fā)出輸入輸出請求時,CPU必須等待I/O完成。利用率低。,2 操作系統(tǒng),(2)多道批處理多道程序技術(shù):同時將多個作業(yè)放入內(nèi)存,允許交替執(zhí)行,共享系統(tǒng)中的各種資源,當一道程序因某種原因(如I/O請求)而暫停執(zhí)行時,CPU立即轉(zhuǎn)去執(zhí)行另一個程序。多道批處理系統(tǒng)是引進了多道程序技術(shù)的批處理系統(tǒng)。主存中可以同時有多道作業(yè)在運行,作業(yè)可以隨時被調(diào)入系統(tǒng),存放在外存中形成

4、隊列。操作系統(tǒng)按一定的原則從作業(yè)隊列中調(diào)入一個或多個作業(yè)進入內(nèi)存運行。,2 操作系統(tǒng),(3)分時操作系統(tǒng)批處理系統(tǒng)中,用戶以脫機方式使用計算機,提交了作業(yè)后,即使出現(xiàn)問題,也不能進行干預,直到作業(yè)處理結(jié)束。如果有錯,還得重復該過程,不方便。用戶希望以聯(lián)機方式使用計算機。分時系統(tǒng)將處理機的運行時間分成很短的時間片,按時間片輪流把處理機分配給各聯(lián)機作業(yè)使用。若作業(yè)在一個時間片內(nèi)不能完成其計算,只能暫時中斷,把處理機讓給另一個作業(yè),等待下

5、一輪時間再繼續(xù)其運行。由于機器速度很高,輪轉(zhuǎn)地也很快,用戶好像獨占了計算機。,2 操作系統(tǒng),(4)實時操作系統(tǒng)對外來信息能夠以足夠快的速度進行處理,并快速作出響應。,三 操作系統(tǒng)分類,批處理系統(tǒng)、分時操作系統(tǒng)和實時操作系統(tǒng)是操作系統(tǒng)的三種基本類型。,四 操作系統(tǒng)的功能,處理機管理、存儲器管理、設(shè)備管理、文件管理、用戶接口,4.2 處理機管理,一、單道批處理特點:封閉性:一次只運行一個程序,獨占資源;可再現(xiàn)性:同一程序在同樣的數(shù)

6、據(jù)上運行,運行結(jié)果是可再現(xiàn)的;順序性 操作按程序規(guī)定的順序執(zhí)行。,程序順序執(zhí)行舉例一,設(shè)有一個程序有三個程序段,分別執(zhí)行 I(輸入)、C(計算)和P(輸出)操作。執(zhí)行順序為: I C P 只有‘輸入’了數(shù)據(jù) ,才能‘計算’這些數(shù)據(jù),也只有‘計算’產(chǎn)生了結(jié)果,才能‘輸出’它們。這些邏輯關(guān)系(順序)是不能隨

7、意改變的。,,,,結(jié)果,數(shù)據(jù),程序順序執(zhí)行舉例二,假設(shè)有n個作業(yè),每個作業(yè)都由三個程序段:輸入段Ii、計算段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(計算)、Pi(輸出)。 當?shù)?個程序的輸入操作I1執(zhí)行完、執(zhí)行C1時,輸入機空閑,這時候可以執(zhí)行第2個程序的輸入操作I2;在時間上,操

9、作C1和I2時重疊的。當C1執(zhí)行完、執(zhí)行P1時,處理機空閑,若這時I2已完成,就可以執(zhí)行C2,與此同時,輸入機又空閑,可以執(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)特點,在多道批處理系統(tǒng)或分時系統(tǒng)中,多道程序在同時運行,同樣的程序和數(shù)據(jù),其運行結(jié)果是不可再現(xiàn)的。失去封閉性,共享資源,資源的狀態(tài)由多個程序改變。程序并發(fā)執(zhí)行,共享資源、相互合作,形成了相互制約的關(guān)系。為了描述程序的運行過程,引入進

11、程的概念。對處理機的管理主要是對進程的管理。,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、運行結(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都是以各自獨立的速度運行,則因速度不同而結(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分別共享同一個輸入機、處理機和打印機,因此,一旦C2占用處理機,在它未完成之前,C3就無法啟動。由此可見,程序并發(fā)執(zhí)行時是相互制約的,將導致并發(fā)程序具有“執(zhí)行——暫停——執(zhí)行”這樣的活動規(guī)律。,t2,四、進程,1、進程定義:進程是程序在一個數(shù)據(jù)集合上的運行過程。是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位。,2、進程特點,1 動態(tài)

16、性:是程序的一次運行,因創(chuàng)建而產(chǎn)生,因調(diào)度而執(zhí)行,因得不到資源而暫停,最后因撤消而消亡。2 并發(fā)性:系統(tǒng)內(nèi)多個進程可以隨機、并發(fā)產(chǎn)生和消亡,并可并行活動。3 獨立性:進程在邏輯上是獨立的,是進行資源分配和調(diào)度的獨立單位。4 異步性:在獲得所需的資源后,就可以按照各自的、不可預知的速度向前推進。5 制約性:由于共享資源和某些協(xié)同動作。,3、進程狀態(tài),進程執(zhí)行是間斷的,有三種狀態(tài):就緒狀態(tài):獲得了除處理機外的所有資源,分配到處理機

17、就可以立即執(zhí)行。執(zhí)行狀態(tài):也稱運行狀態(tài)。獲得必要的資源,并占有處理機,就運行。阻塞狀態(tài):也稱等待狀態(tài)。執(zhí)行態(tài)的進程,由于某事件無法執(zhí)行下去(如等待輸入/輸出完成),而所處的狀態(tài)。進程的的狀態(tài)隨自身的推進和外界條件的變化而發(fā)生變化。,4、進程狀態(tài)變化,處于就緒狀態(tài)的進程由于進程調(diào)度程序為其分配了處理機,就進入執(zhí)行狀態(tài)。執(zhí)行態(tài)的進程由于某事件的發(fā)生,由執(zhí)行態(tài)變?yōu)樽枞麘B(tài)。阻塞態(tài)的進程,等待的事件已經(jīng)發(fā)生,由阻塞態(tài)變?yōu)榫途w態(tài)。執(zhí)行態(tài)的進程

18、,由于時間片完,由執(zhí)行態(tài)變?yōu)榫途w態(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)換。,,五、 進程控制塊,為了描述和控制進程,引入了一個數(shù)據(jù)結(jié)構(gòu),稱為進程控制塊PCB。創(chuàng)建進程就是為某程序及其數(shù)據(jù)設(shè)置一個PCB,用于

19、對該進程進行控制和管理。進程執(zhí)行完畢,系統(tǒng)收回PCB,就消亡。PCB是進程存在的唯一標志。,1、進程控制塊內(nèi)容,進程標識符:每個進程有唯一的進程標識符。進程當前狀態(tài):如運行、就緒等,作為進程調(diào)度程序分配處理機的依據(jù)。CPU現(xiàn)場保護區(qū):當進程釋放CPU時,CPU現(xiàn)場信息被保存在該區(qū)域,當該進程重新獲得CPU時能繼續(xù)執(zhí)行。,1、進程控制塊內(nèi)容,占有資源表:列出進程已經(jīng)分配的資源和所需資源。進程優(yōu)先級:進程要求CPU的緊急程度、重要性

20、,優(yōu)先級高的進程可以優(yōu)先獲得處理機。進程家族信息:有的系統(tǒng)允許進程創(chuàng)建子進程,形成繼承家族樹。在PCB中要指明進程和家族的關(guān)系,如子進程與父進程的標識。通信信息:記錄在執(zhí)行過程中與別的進程所發(fā)生的信息交換情況。,2、 進程組成,進程是程序在一個數(shù)據(jù)集合上的運行過程,它由三部分組成: 程序 它主要用于描述進程所要完成的功能。 數(shù)據(jù)集合 它包括程序執(zhí)行時所需要的數(shù)據(jù)和工作區(qū)。 進程控制塊 (PCB——Proc

21、ess Control Block) 它記錄進程控制信息,是進程動態(tài)特性的反映。,六 進程的調(diào)度和控制,1進程調(diào)度在多道程序環(huán)境下,進程的數(shù)目往往多于處理機的數(shù)目,他們競爭處理機。要按照某種算法將處理機分配給就緒隊列中的一個進程,使之執(zhí)行。這由調(diào)度處理程序來完成。進程的調(diào)度算法有多種,如先來先服務、最高優(yōu)先權(quán)優(yōu)先、時間片輪轉(zhuǎn)算法等。,2 進程控制,進程控制是對系統(tǒng)中的全部資源實施有效管理,包括進程的創(chuàng)建、撤消、阻塞、喚醒等。這些

22、功能由各種原語來實現(xiàn)。原語是由若干條指令組成,完成一特定的功能,不可分割的。,3、靜態(tài)與動態(tài)優(yōu)先數(shù)法,靜態(tài)優(yōu)先數(shù)法 進程優(yōu)先數(shù)是在系統(tǒng)創(chuàng)建進程時確定的,一經(jīng)確定,在進程運行期間就不再改變。動態(tài)優(yōu)先數(shù)法 進程優(yōu)先數(shù)在進程運行中,隨進程特性的變化不斷修改進程的優(yōu)先數(shù),實現(xiàn)更精確的調(diào)度。,4、進程調(diào)度方式,剝奪方式 當“重要”或“系統(tǒng)”的進程出現(xiàn)時,便暫停正在執(zhí)行的進程,立即將CPU分配給“重要”或”系統(tǒng)“的進程。非剝奪方式

23、 讓正在執(zhí)行的進程繼續(xù)執(zhí)行,直到該進程完成或發(fā)生其它事件,而改變?yōu)槠渌鼱顟B(tài)后,才移交CPU控制權(quán)。,5、進程控制塊PCB的組織形式,為了便于對進程調(diào)度管理,必須對進程進行合理的組織。進程控制塊PCB是定長記錄,采用兩種組織方式。 順序表結(jié)構(gòu) PCB組織形式

24、 鏈表結(jié)構(gòu),,PCB順序表結(jié)構(gòu),,,,PCB1,,,,,,,,PCB2,PCB3,PCB4,???,PCBi,PCBi+1,PCBi+2,,,,就緒表,,,,等待表,,,,?,,???,,,???,?,,,,,,,,,,?,?,,,,,就緒表起始地址,,等待表起始地址,,PCB線性表的特點,1、簡單、易實現(xiàn) 2、插入、刪除操作費時 3、隨機查找,,,

25、,,,,,,,????,,PCB1,PCB2,PCB3,,,,,???,,,,PCBi,PCBi+1,,刪除,,,,,,,后面的元素統(tǒng)統(tǒng) 前移一個位置,PCB鏈表結(jié)構(gòu),,,,,,運行隊列,就緒隊列,等待隊列,,PCBr,隊頭指針,,,,,,PCBs,,,PCBs+1,PCBs+2,,,,,,,,,,,,,,,,,PCBt,PCBt+1,PCBt+2,,,,,,,,,,PCB鏈表的特點,1、插入、刪除操作簡單

26、 2、需要增加額外的存儲空間,實現(xiàn)較復雜 (存放地址指針) 3、順序查找,,,插入操作,PCB5,,PCB4,,PCB1,PCB2,,,,PCBi,,,,,,,,,,,,,,,,,,,,,,,,,,PCB6,,,,,,,,,,刪除操作,刪除,DOS的進程管理,DOS是單用戶、單任務OS,因此進程管理任務非常簡單;進程獨享系統(tǒng)資源,不需要復雜的調(diào)度管理和調(diào)度算法。

27、,UNIX的進程管理,UNIX是多用戶、多任務的OS。為了更好的實現(xiàn)管理,它將進程的狀態(tài)細分為六種。,運行狀態(tài)1,暫停狀態(tài),運行狀態(tài)2,,,,終止狀態(tài),睡眠狀態(tài),高優(yōu)先 低優(yōu)先,,,,,,,,,,,,,,等待狀態(tài),喚醒,就緒狀態(tài),選中,落選,撤消,掛起,置運行,跟蹤,,,WINDOWS’98的進程管理,Win98 OS中使用了進程和線程相結(jié)合的設(shè)計技術(shù)。每個進程至少包括一個線程,在執(zhí)行時給每個線程分配時間片。Win98是多

28、任務OS,采用搶占式的多任務調(diào)度算法來實現(xiàn)多任務操作。任務調(diào)度程序?qū)⑻幚頇C分配給等待隊列中優(yōu)先級最高的線程。 在Win98有兩種調(diào)度程序:主調(diào)度程序和時間片調(diào)度程序;前者選擇最高優(yōu)先級的線程運行(優(yōu)先級為0~31);后者依據(jù)線程的處理順序及虛擬機的當前狀態(tài),分配一個時間片給被選線程,并執(zhí)行。,4.3 內(nèi)存管理,內(nèi)存是計算機中寶貴而緊俏的資源,內(nèi)存管理是操作系統(tǒng)的一項重要功能。一 存儲管理的功能1 內(nèi)存空間的分配與回收為進程的程

29、序和數(shù)據(jù)分配內(nèi)存空間,并在不需要時回收。系統(tǒng)會建立一張內(nèi)存空間表,記錄空間的使用情況。,一 存儲管理的功能(續(xù)),2 實現(xiàn)地址轉(zhuǎn)換 將用戶使用的邏輯地址轉(zhuǎn)換成處理器能訪問的絕對地址。3 空間的共享與保護 共享指若干進程共同訪問公共區(qū)。保護指各道作業(yè)都在自己的空間內(nèi)運行,互不干擾。4 空間擴充 采取某種措施解決內(nèi)存不足的問題。,二 重定位,邏輯地址與物理地址一般是不同的,必須將邏輯地址轉(zhuǎn)換為物理地址,程序才能正

30、確執(zhí)行,這種轉(zhuǎn)換稱為重定位。1 靜態(tài)重定位 在程序裝入時由裝入程序完成的。將邏輯地址加上程序在內(nèi)存中的起始地址。2 動態(tài)重定位 裝入主存的程序仍然保留邏輯地址,是在程序執(zhí)行過程中,將要執(zhí)行的程序或訪問的數(shù)據(jù)的邏輯地址轉(zhuǎn)換為物理地址。 通常要借助一個基址寄存器。可以實現(xiàn)程序浮動。,三 存儲管理方法,1 單一連續(xù)分配 適用于單用戶、單任務。除操作系統(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ū)域(可同也可不同)。當一個分區(qū)空閑時,從就緒隊列中選擇一個作業(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ū)表項的狀態(tài)。當程序執(zhí)行完畢,將該分區(qū)的狀態(tài)改為未分配。 特點:管理調(diào)度簡單、分區(qū)策略適合于工作負荷比較確定的系統(tǒng)。每個已分配的

34、分區(qū)有一部分被浪費,利用率低。,(2)動態(tài)分區(qū)分配,也稱可變分區(qū)分配。也使用分區(qū)表來記錄各分區(qū)的使用情況。還將內(nèi)存中的空閑分區(qū)單獨構(gòu)成一個空閑分區(qū)表或鏈。分配時,首先從空閑分區(qū)分區(qū)表中選出一個滿足作業(yè)需求的分區(qū),分配給作業(yè)。如果分區(qū)比需求的量大,將一分為二,一部分給作業(yè),剩下的流在空閑分區(qū)表中,并進行信息的修改。解決碎片的方法是拼接(緊縮、緊湊),將已分配的分區(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)生碎片、空間管理復雜。其原因是將作業(yè)要放置在一片連續(xù)的區(qū)域中。頁式存儲將作業(yè)劃分為若干個相等的部分,稱為頁,內(nèi)存空間也劃分為若干個與頁長度相等的區(qū)域,叫做塊。給作業(yè)分配存儲空間時,是以頁(塊)為單位。如果沒有足夠的塊,作業(yè)等待。建立頁表,記錄每個頁面對應的物理塊。將邏輯地址分為頁號和頁內(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、一個程序常由若干個獨立的功能模塊組成,稱為段。每段存放在連續(xù)的內(nèi)存空間。各段長度不等,同一程序的各段之間不要求連續(xù)。建立一個段表,實現(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,主存空間,分配算法簡介,首次適應算法 從第1個空白區(qū)開始查尋,直到找到第1個適應要求的空白區(qū)為止。最佳適應算法 空白區(qū)按大小遞增順序鏈接,指針總是指向最小的一個;因此總是從最小的一個開始。這樣,第1次找到的滿足要求的空白區(qū)必然是最合適的。,存儲空間的分區(qū)保護,在多道程序系統(tǒng)的主存中,為了保護系統(tǒng)程序的安全,系統(tǒng)程序和用戶程序?qū)嶋H使用的區(qū)域是隔開的。這種

42、分割是靠硬件實現(xiàn)的。用戶程序只能使用用戶區(qū)域的存儲空間。,,,,,,系統(tǒng)區(qū)域,用戶區(qū)域,主存空間的分區(qū) 保護示意圖,主存空間的擴充,在計算機中,主存總是常數(shù),要想處理大、多的作業(yè),就要想辦法擴充主存的空間。主導思想是:如何在有限的主存空間中,處理大于主存的作業(yè)。 “自動覆蓋”技術(shù)和“虛擬存儲”技術(shù)是擴充主存常用的、有效的方法。,自動覆蓋技術(shù),這種方法的主要作法是將大的程序劃分為相對獨立的程序段,將目前需要的

43、程序段裝入主存中,其他暫時放入外存,需要時再裝入內(nèi)存,而將其他部分覆蓋。,虛擬存儲器(Virtual Storage),它的基本思想是把作業(yè)的地址空間和物理地址空間視為兩個不同的概念,采用內(nèi)、外存結(jié)合的辦法,把部分外存作為主存使用,以此為用戶提供了足夠大的地址空間——虛存空間。用戶可以在這個地址空間內(nèi)編程,而完全不考慮主存的大小。 虛擬存儲器技術(shù)是在硬件和軟件的共同支持下實現(xiàn)的。硬件負責虛實地址的轉(zhuǎn)換;軟件負責實存(主存)和虛存(外

44、存)之間的信息調(diào)度管理。,DOS的主存管理,采用單一連續(xù)分區(qū)的方法,但卻綜合運用了多連續(xù)分區(qū)的管理技術(shù)(覆蓋) 。,UNIX的主存管理,采用分段管理方法,存儲分配采用優(yōu)先適應算法。UNIX不支持虛擬存儲器。為運行大程序,采用主存與外存調(diào)入調(diào)出的對換技術(shù)。,Windows‘98存儲器管理,Windows98 OS不僅支持常規(guī)內(nèi)存、擴展內(nèi)存和擴充內(nèi)存管理,還支持虛擬內(nèi)存管理(VM)。?當一個進程所需要的存儲空間超過了可用的空間時,虛擬內(nèi)

45、存管理器使用換頁技術(shù)在物理內(nèi)存和硬盤之間交換數(shù)據(jù)。? 它能夠?qū)ぶ?GB空間,包括硬盤空間。,4.4 設(shè)備管理,對硬件資源中,除CPU、存儲器之外的所有設(shè)備進行管理。一、設(shè)備分類 從工作特性分為:存儲設(shè)備和輸入/輸出設(shè)備。 從從屬關(guān)系分為:系統(tǒng)設(shè)備和用戶設(shè)備。系統(tǒng)設(shè)備:配置的標準設(shè)備,操作系統(tǒng)生成時已經(jīng)登記在系統(tǒng)中的標準設(shè)備,如鍵盤、顯示器、打印機等。用戶設(shè)備是操作系統(tǒng)生成時未登記在系統(tǒng)中的非標準設(shè)備,如鼠標、繪圖儀、

46、掃描儀等。,一、設(shè)備分類(續(xù)),從共享屬性分為獨占設(shè)備、共享設(shè)備、虛擬設(shè)備。虛擬設(shè)備是通過虛擬技術(shù)將一臺獨占設(shè)備變換為若干臺邏輯設(shè)備,供若干個用戶進程同時使用。按交換信息單位分為:塊設(shè)備和字符設(shè)備。,二、設(shè)備管理的功能,制定設(shè)備分配和使用的策略,為I/O操作的進程分配一條傳輸信息的通路,合理控制I/O操作,最大限度地實現(xiàn)并行操作。達到的目標:(1)方便性:用戶無須了解物理設(shè)備的細節(jié)。(2)并行性:CPU與I/O設(shè)備工作時間高度重

47、疊,設(shè)備之間并行操作,提高設(shè)備利用率。(3)均衡性:使CPU和I/O設(shè)備的忙閑程度保持相對平衡。,三、設(shè)備控制方式,也稱I/O控制方式,從低級發(fā)展到高級經(jīng)歷了由簡到繁、由低級到高級的發(fā)展過程,分為四種。,1 程序直接控制方式:循環(huán)檢測方式,不需要附加的硬件,當進程需要輸入數(shù)據(jù)時,處理機向設(shè)備控制器發(fā)出一條I/O指令,啟動設(shè)備進行輸入,然后,處理機循環(huán)檢測設(shè)備狀態(tài)寄存器的忙閑標志位,當值顯示設(shè)備輸入完成,便將數(shù)據(jù)寄器中的值取出,送入內(nèi)存

48、指定單元,然后再啟動設(shè)備去讀下一個數(shù)據(jù)。當用戶進程需要輸出數(shù)據(jù)時,也同樣。特點:無論設(shè)備工作與否,CPU一直是忙碌的,忙等待,與設(shè)備只能是串行工作。,2 中斷方式,CPU啟動設(shè)備后,就可以去進行其他工作。當設(shè)備工作結(jié)束后,就向CPU發(fā)送中斷信號,打斷正在處理的任務,通知CPU設(shè)備已經(jīng)處于閑狀態(tài),CPU就可以向設(shè)備安排新任務,輸出下一個數(shù)據(jù)。CPU就返回剛被中斷的任務。特點:在一定程度上,實現(xiàn)了CPU與外設(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并行工作的硬件部件。當需要傳送數(shù)據(jù)時,CPU只需執(zhí)行一條命令啟動通道,而真正的數(shù)據(jù)傳送則由通道控制。當數(shù)據(jù)傳送結(jié)束時,再向CPU發(fā)出中斷。,通道控制示意圖,四級連接、三級控制,主存CPU,通道,通道,通道,控制器,控制器,控制器,控制器,設(shè)備,設(shè)備,設(shè)備,設(shè)備,設(shè)備,設(shè)備,設(shè)備,CPU控制“通道”、“通道”控制“控制器”、“控制器”控制“設(shè)備

51、”,四 緩沖技術(shù),在CPU和設(shè)備之間交換數(shù)據(jù)時,數(shù)據(jù)的到達率和離去率不匹配,設(shè)置一緩沖區(qū),以暫時存放數(shù)據(jù),騰出CPU,然后讓外設(shè)慢慢地把數(shù)據(jù)讀入或取出緩沖區(qū)。緩解了CPU和外設(shè)之間的速度不匹配的矛盾,提高了CPU與設(shè)備、設(shè)備與設(shè)備之間并行工作的程度,提高了系統(tǒng)效率。Spooling技術(shù):聯(lián)機情況下實現(xiàn)的同時外圍操作,也稱為假脫機操作。實現(xiàn)虛擬設(shè)備。,五 設(shè)備的分配,按照一定的策略為請求設(shè)備的進程分配合適的設(shè)備。要考慮設(shè)備的屬性。1

52、獨占設(shè)備:獨占分配。將一個設(shè)備分配給某進程后,一直由它獨占,直至該進程完成或釋放該設(shè)備。如打印機。2 共享設(shè)備:可同時分配給多個進程使用,如磁盤。提高了設(shè)備的利用率,但要合理調(diào)度。,五 設(shè)備的分配(續(xù)),3 虛擬設(shè)備 當進程申請獨占設(shè)備時,系統(tǒng)只分配給其一部分存儲空間。將交換的信息放在存儲空間中,在適當?shù)臅r候,將信息從設(shè)備傳送到存儲空間或?qū)⒋鎯臻g中的信息傳送到設(shè)備。分配算法:先請求先服務 優(yōu)先級高者優(yōu)先。,4.6 文件管理,

53、文件系統(tǒng):操作系統(tǒng)與用戶關(guān)系最密切的一部分,對用戶來說,它是操作系統(tǒng)中最直觀的部分。一 文件文件是具有符號名的一組信息,比如源程序、數(shù)據(jù)、目標程序等。文件是操作系統(tǒng)進行信息管理的基本單位,信息管理也就是文件管理。,二 文件類型,為便于管理和控制文件,將文件分成若干類型:1 按用途劃分系統(tǒng)文件:構(gòu)成系統(tǒng)軟件的文件。大多數(shù)系統(tǒng)文件只允許用戶調(diào)用,而不允許讀或修改。庫文件:由系統(tǒng)提供給用戶使用的各種標準過程、函數(shù)和應用程序。只允許用

54、戶調(diào)用、不允許修改。用戶文件:用戶委托文件系統(tǒng)保管的文件。如源程序、目標程序、數(shù)據(jù)等。,2 按文件的保護級別劃分,只讀文件:讀寫文件:執(zhí)行文件不保護文件:,3 按信息流向劃分,輸入文件:如鍵盤上或讀卡機上的文件。輸出文件:如打印機上的文件,只能寫出。輸入/輸出文件:磁盤、磁帶上的文件,能讀和寫。,4 按文件中的數(shù)據(jù)形式劃分,源程序、目標程序(源程序經(jīng)過編譯程序編譯形成的目標代碼組成的文件,未經(jīng)過鏈接的)、可執(zhí)行文件(目標文件

55、經(jīng)過鏈接形成的 )。,DOS文件系統(tǒng)的存儲結(jié)構(gòu),在DOS下,文件主要存放在磁盤上,而磁盤在使用之前要先進行格式化處理。DOS的格式化處理包括 “物理格式化”和 “邏輯格式化”。物理格式化是建立計算機能夠識別的標準格式;劃分為磁道和扇區(qū)。邏輯格式化也稱高級格式化,是在物理格式化的基礎(chǔ)上,建立文件系統(tǒng)可以識別的邏輯格式。,邏輯格式化建立的存儲結(jié)構(gòu),引導區(qū) 存放啟動計算機的引導記錄和有關(guān)磁盤存儲介質(zhì)的描述信息。計算機啟動時自動跳轉(zhuǎn)到

56、此處執(zhí)行引導程序。 FAT 文件分配表,DOS文件系統(tǒng)組織結(jié)構(gòu)中重要的組成部分。用于存放文件鏈表的地址信息(簇號)。一個文件若有N個鏈塊(簇),則占N個表項。 FDT 文件目錄表,用于存放文件的目錄項信息。一個文件占一個表項。,引導區(qū),,,,,,FAT1 FAT2 FDT 第1簇 第2簇 …... DATA區(qū),,UNIX文件系統(tǒng)的存儲結(jié)構(gòu),UNIX文件系統(tǒng)的存儲結(jié)構(gòu)與DOS的很類似,應該說DOS的系統(tǒng)設(shè)計借

57、鑒了UNIX系統(tǒng)的設(shè)計思想。UNIX文件系統(tǒng)的功能比DOS系統(tǒng)要強得多,系統(tǒng)構(gòu)成也復雜得多。UNIX系統(tǒng)的特點之一是文件和設(shè)備的一致性。在UNIX下,文件、目錄和I/O設(shè)備都作為文件對待,從而簡化了系統(tǒng)設(shè)計,也方便了用戶的使用。,四、文件系統(tǒng)的保護與使用,文件保護有兩重含義: ? 防止文件被非法讀取 ? 防止文件被有意或無意的破壞如刪除。 在文件系統(tǒng)中,通常采用“訪問權(quán)限”保護機制來實現(xiàn)對文件的保護。,1、DOS的

58、文件保護機制,DOS通過外部命令UNDELETE設(shè)置了三級文件保護機制;分別為“警衛(wèi)、追蹤和一般保護”?!耙话惚Wo”措施可以有條件的恢復被刪除的文件;即刪除文件后,還沒有做過改變磁盤存儲分配的操作這樣一種情況下,被刪除的文件可以恢復。否則,就不能恢復。 “警衛(wèi)保護”和“追蹤保護”是在內(nèi)存和磁盤中開辟出專用空間,存留被刪除的文件,兩者不同之處在于開辟的空間大小不同而已。它們都是以系統(tǒng)資源為代價,換取保護文件的。系統(tǒng)、隱藏、只讀。,2

59、、UNIX的文件保護機制,UNIX用文件的存取權(quán)限限定對文件操作,為此,設(shè)定了“兩種用戶”、“三個等級”、“三種存取權(quán)限”。,1)兩種用戶,特權(quán)用戶 可以隨意存取任何用戶的文件、包括 修改和刪除; 普通用戶 只能對自己的文件進行操作;而對其 它目錄下的文件只能進行授權(quán)的操作。,2)三個等級,文件所有者 文件的

60、創(chuàng)建者(主人),對自己的文件有處理全權(quán); 同組人 與文件所有者是同組關(guān)系(例如,同課題組、同教研室),對同組文件可進行文件主人授權(quán)的操作。 其他人 與文件所有者無關(guān)的人。只能進行文件主人授權(quán)的操作;若沒有被授權(quá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是類型標志位: - 表示是普通文件 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í)行或管理計算機系統(tǒng)。 二 程序接口是程序員級的,也稱系統(tǒng)調(diào)用。由一組系統(tǒng)調(diào)用命令組成,用戶在程序中使用系統(tǒng)調(diào)用請求操作系統(tǒng)服務。,UNIX用戶

64、接口,UNIX傳統(tǒng)用戶界面是基于文本的命令行界面,即shell。Shell即可方便編程操作,又可以聯(lián)機作為交互命令使用。UNIX 還為用戶提供圖形界面,主要是X Windows系統(tǒng),它被開發(fā)成為UNIX平臺的標準GUI。,DOS用戶接口,DOS操作系統(tǒng)基本上都是字符界面接口。,Windows用戶接口,現(xiàn)行的Windows界面是基于GUI的用戶接口,已經(jīng)成為一種開放化系統(tǒng)的用戶接口。,程序員接口,程序員與計算機進行交互的接口稱為程序員

65、接口API(Application Program Interface)。API實質(zhì)是一套函數(shù)調(diào)用,是程序員可用的編程接口,用于創(chuàng)建其他程序。API為程序員或計算機用戶提供了使用計算機時低層次、高效率的服務接口。,作業(yè),1、思考第4章的1~3,12~14。2、作業(yè)第4章的6~8、16。,思考題,OS存儲管理的對象與任務是什么?什么是實存儲管理和虛存儲管理?常用的主存管理方法有哪幾種?各自的特點是什么?OS設(shè)備管理包括哪些基本任

溫馨提示

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

評論

0/150

提交評論