第1章 操作系統(tǒng)引論_第1頁
第1章 操作系統(tǒng)引論_第2頁
第1章 操作系統(tǒng)引論_第3頁
第1章 操作系統(tǒng)引論_第4頁
第1章 操作系統(tǒng)引論_第5頁
已閱讀5頁,還剩81頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 1第一章 操作系統(tǒng)引論第一章第一章 操作系統(tǒng)引論操作系統(tǒng)引論1.1 操作系統(tǒng)的目標(biāo)和作用1.2 操作系統(tǒng)的發(fā)展過程1.3 操作系統(tǒng)的基本特性1.4 操作系統(tǒng)的主要功能1.5 OS結(jié)構(gòu)設(shè)計(jì)習(xí)題2 2第一章 操作系統(tǒng)引論1.1 操作系統(tǒng)的目標(biāo)和作用操作系統(tǒng)的目標(biāo)與應(yīng)用環(huán)境有關(guān)。例如在查詢系統(tǒng)中所用的OS,希望能提供良好的人機(jī)交互性;對(duì)于應(yīng)用于工業(yè)控制、武器控制以及多媒體環(huán)境下的OS,要求其具有實(shí)時(shí)性;而對(duì)于微機(jī)上配置的OS,則更看重的是其使用的方便性。3 3第一章 操作系統(tǒng)引論1.1.1 操作系統(tǒng)的目標(biāo)1. 方便性2. 有效性 3. 可擴(kuò)充性4. 開放性4 4第一章 操作系統(tǒng)引論1.1.2 操

2、作系統(tǒng)的作用 1. OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間接口的含義是:OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過OS來使用計(jì)算機(jī)系統(tǒng)?;蛘哒f,用戶在OS幫助下能夠方便、快捷、可靠地操縱計(jì)算機(jī)硬件和運(yùn)行自己的程序。圖1-1是OS作為接口的示意圖。 5 5第一章 操作系統(tǒng)引論圖1-1 OS作為接口的示意圖6 6第一章 操作系統(tǒng)引論2. OS作為計(jì)算機(jī)系統(tǒng)資源的管理者在一個(gè)計(jì)算機(jī)系統(tǒng)中,通常都含有多種硬件和軟件資源。歸納起來可將這些資源分為四類:處理機(jī)、存儲(chǔ)器、I/O設(shè)備以及文件(數(shù)據(jù)和程序)。相應(yīng)地,OS的主要功能也正是對(duì)這四類資源進(jìn)行有效的管理。處理機(jī)管理是用于

3、分配和控制處理機(jī);存儲(chǔ)器管理主要負(fù)責(zé)內(nèi)存的分配與回收;I/O設(shè)備管理是負(fù)責(zé)I/O設(shè)備的分配(回收)與操縱;文件管理是用于實(shí)現(xiàn)對(duì)文件的存取、共享和保護(hù)。可見,OS的確是計(jì)算機(jī)系統(tǒng)資源的管理者。7 7第一章 操作系統(tǒng)引論3. OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象對(duì)于一臺(tái)完全無軟件的計(jì)算機(jī)系統(tǒng)(即裸機(jī)),由于它向用戶提供的僅是硬件接口(物理接口),因此,用戶必須對(duì)物理接口的實(shí)現(xiàn)細(xì)節(jié)有充分的了解,這就致使該物理機(jī)器難于廣泛使用。為了方便用戶使用I/O設(shè)備,人們?cè)诼銠C(jī)上覆蓋上一層I/O設(shè)備管理軟件,如圖1-2所示,由它來實(shí)現(xiàn)對(duì)I/O設(shè)備操作的細(xì)節(jié),并向上將I/O設(shè)備抽象為一組數(shù)據(jù)結(jié)構(gòu)以及一組I/O操作命令,如r

4、ead和write命令,這樣用戶即可利用這些數(shù)據(jù)結(jié)構(gòu)及操作命令來進(jìn)行數(shù)據(jù)輸入或輸出,而無需關(guān)心I/O是如何具體實(shí)現(xiàn)的。 8 8第一章 操作系統(tǒng)引論圖1-2 I/O軟件隱藏了I/O操作實(shí)現(xiàn)的細(xì)節(jié)9 9第一章 操作系統(tǒng)引論1.1.3 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?1不斷提高計(jì)算機(jī)資源利用率2. 方便用戶3. 器件的不斷更新?lián)Q代4. 計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展5. 不斷提出新的應(yīng)用需求10 10第一章 操作系統(tǒng)引論1.2 操作系統(tǒng)的發(fā)展過程在20世紀(jì)50年代中期,出現(xiàn)了第一個(gè)簡單的批處理OS;60年代中期開發(fā)出多道程序批處理系統(tǒng);不久又推出分時(shí)系統(tǒng),與此同時(shí),用于工業(yè)和武器控制的實(shí)時(shí)OS也相繼問世。20

5、世紀(jì)70到90年代,是VLSI和計(jì)算機(jī)體系結(jié)構(gòu)大發(fā)展的年代,導(dǎo)致了微型機(jī)、多處理機(jī)和計(jì)算機(jī)網(wǎng)絡(luò)的誕生和發(fā)展,與此相應(yīng)地,也相繼開發(fā)出了微機(jī)OS、多處理機(jī)OS和網(wǎng)絡(luò)OS,并得到極為迅猛的發(fā)展。11 11第一章 操作系統(tǒng)引論1.2.1 未配置操作系統(tǒng)的計(jì)算機(jī)系統(tǒng) 1. 人工操作方式早期的操作方式是由程序員將事先已穿孔的紙帶(或卡片),裝入紙帶輸入機(jī)(或卡片輸入機(jī)),再啟動(dòng)它們將紙帶(或卡片)上的程序和數(shù)據(jù)輸入計(jì)算機(jī),然后啟動(dòng)計(jì)算機(jī)運(yùn)行。僅當(dāng)程序運(yùn)行完畢并取走計(jì)算結(jié)果后,才允許下一個(gè)用戶上機(jī)。這種人工操作方式有以下兩方面的缺點(diǎn):(1) 用戶獨(dú)占全機(jī),即一臺(tái)計(jì)算機(jī)的全部資源由上機(jī)用戶所獨(dú)占。(2) C

6、PU等待人工操作。當(dāng)用戶進(jìn)行裝帶(卡)、卸帶(卡)等人工操作時(shí),CPU及內(nèi)存等資源是空閑的。12 12第一章 操作系統(tǒng)引論2. 脫機(jī)輸入/輸出(Off-Line I/O)方式為了解決人機(jī)矛盾及CPU和I/O設(shè)備之間速度不匹配的矛盾,20世紀(jì)50年代末出現(xiàn)了脫機(jī)I/O技術(shù)。該技術(shù)是事先將裝有用戶程序和數(shù)據(jù)的紙帶裝入紙帶輸入機(jī),在一臺(tái)外圍機(jī)的控制下,把紙帶(卡片)上的數(shù)據(jù)(程序)輸入到磁帶上。當(dāng)CPU需要這些程序和數(shù)據(jù)時(shí),再從磁帶上高速地調(diào)入內(nèi)存。13 13第一章 操作系統(tǒng)引論圖1-3 脫機(jī)I/O示意圖14 14第一章 操作系統(tǒng)引論1.2.2 單道批處理系統(tǒng) 1. 單道批處理系統(tǒng)(Simple B

7、atch Processing System)的處理過程為實(shí)現(xiàn)對(duì)作業(yè)的連續(xù)處理,需要先把一批作業(yè)以脫機(jī)方式輸入到磁帶上,并在系統(tǒng)中配上監(jiān)督程序(Monitor),在它的控制下,使這批作業(yè)能一個(gè)接一個(gè)地連續(xù)處理。 15 15第一章 操作系統(tǒng)引論圖1-4 單道批處理系統(tǒng)的處理流程16 16第一章 操作系統(tǒng)引論2. 單道批處理系統(tǒng)的缺點(diǎn)單道批處理系統(tǒng)最主要的缺點(diǎn)是,系統(tǒng)中的資源得不到充分的利用。這是因?yàn)樵趦?nèi)存中僅有一道程序,每逢該程序在運(yùn)行中發(fā)出I/O請(qǐng)求后,CPU便處于等待狀態(tài),必須在其I/O完成后才繼續(xù)運(yùn)行。又因I/O設(shè)備的低速性,更使CPU的利用率顯著降低。圖1-5示出了單道程序的運(yùn)行情況,從

8、圖可以看出:在t2t3、t6t7時(shí)間間隔內(nèi)CPU空閑。17 17第一章 操作系統(tǒng)引論圖1-5 單道程序的運(yùn)行情況18 18第一章 操作系統(tǒng)引論1.2.3 多道批處理系統(tǒng)(Multiprogrammed Batch Processing System)1. 多道程序設(shè)計(jì)的基本概念為了進(jìn)一步提高資源的利用率和系統(tǒng)吞吐量,在20世紀(jì)60年代中期引入了多道程序設(shè)計(jì)技術(shù),由此形成了多道批處理系統(tǒng)。圖1-6示出了四道程序時(shí)的運(yùn)行情況。19 19第一章 操作系統(tǒng)引論圖1-6 多道程序的運(yùn)行情況2020第一章 操作系統(tǒng)引論2. 多道批處理系統(tǒng)的優(yōu)缺點(diǎn)多道批處理系統(tǒng)的優(yōu)缺點(diǎn)如下:(1) 資源利用率高。引入多道批

9、處理能使多道程序交替運(yùn)行,以保持CPU處于忙碌狀態(tài);在內(nèi)存中裝入多道程序可提高內(nèi)存的利用率;此外還可以提高I/O設(shè)備的利用率。(2) 系統(tǒng)吞吐量大。能提高系統(tǒng)吞吐量的主要原因可歸結(jié)為: CPU和其它資源保持“忙碌”狀態(tài); 僅當(dāng)作業(yè)完成時(shí)或運(yùn)行不下去時(shí)才進(jìn)行切換,系統(tǒng)開銷小。21 21第一章 操作系統(tǒng)引論(3) 平均周轉(zhuǎn)時(shí)間長。由于作業(yè)要排隊(duì)依次進(jìn)行處理,因而作業(yè)的周轉(zhuǎn)時(shí)間較長,通常需幾個(gè)小時(shí),甚至幾天。(4) 無交互能力。用戶一旦把作業(yè)提交給系統(tǒng)后,直至作業(yè)完成,用戶都不能與自己的作業(yè)進(jìn)行交互,修改和調(diào)試程序極不方便。2222第一章 操作系統(tǒng)引論3. 多道批處理系統(tǒng)需要解決的問題多道批處理系統(tǒng)

10、是一種十分有效,但又非常復(fù)雜的系統(tǒng),為使系統(tǒng)中的多道程序間能協(xié)調(diào)地運(yùn)行,系統(tǒng)必須解決下述一系列問題:(1) 處理機(jī)爭用問題。既要能滿足各道程序運(yùn)行的需要,又要能提高處理機(jī)的利用率。(2) 內(nèi)存分配和保護(hù)問題。系統(tǒng)應(yīng)能為每道程序分配必要的內(nèi)存空間,使它們“各得其所”,且不會(huì)因某道程序出現(xiàn)異常情況而破壞其它程序。(3) I/O設(shè)備分配問題。系統(tǒng)應(yīng)采取適當(dāng)?shù)牟呗詠矸峙湎到y(tǒng)中的I/O設(shè)備,以達(dá)到既能方便用戶對(duì)設(shè)備的使用,又能提高設(shè)備利用率的目的。2323第一章 操作系統(tǒng)引論(4) 文件的組織和管理問題。系統(tǒng)應(yīng)能有效地組織存放在系統(tǒng)中的大量的程序和數(shù)據(jù),使它們既便于用戶使用,又能保證數(shù)據(jù)的安全性。(5)

11、 作業(yè)管理問題。系統(tǒng)中存在著各種作業(yè)(應(yīng)用程序),系統(tǒng)應(yīng)能對(duì)系統(tǒng)中所有的作業(yè)進(jìn)行合理的組織,以滿足這些作業(yè)用戶的不同要求。(6) 用戶與系統(tǒng)的接口問題。為使用戶能方便的使用操作系統(tǒng),OS還應(yīng)提供用戶與OS之間的接口。2424第一章 操作系統(tǒng)引論1.2.4 分時(shí)系統(tǒng)(Time Sharing System) 1. 分時(shí)系統(tǒng)的引入如果說推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ翘岣哔Y源利用率和系統(tǒng)吞吐量,那么,推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿Γ瑒t是為了滿足用戶對(duì)人機(jī)交互的需求,由此形成了一種新型OS。用戶的需求具體表現(xiàn)在以下幾個(gè)方面:(1) 人機(jī)交互。(2) 共享主機(jī)。 2525第一章 操作系統(tǒng)引論

12、2. 分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問題在多道批處理系統(tǒng)中,用戶無法與自己的作業(yè)進(jìn)行交互的主要原因是:作業(yè)都先駐留在外存上,即使以后被調(diào)入內(nèi)存,也要經(jīng)過較長時(shí)間的等待后方能運(yùn)行,用戶無法與自己的作業(yè)進(jìn)行交互。 1) 及時(shí)接收2) 及時(shí)處理2626第一章 操作系統(tǒng)引論3. 分時(shí)系統(tǒng)的特征分時(shí)系統(tǒng)與多道批處理系統(tǒng)相比,具有非常明顯的不同特性,可以歸納成以下四個(gè)方面:(1) 多路性。(2) 獨(dú)立性。(3) 及時(shí)性。(4) 交互性。 2727第一章 操作系統(tǒng)引論1.2.5 實(shí)時(shí)系統(tǒng)(Real Time System) 1. 實(shí)時(shí)系統(tǒng)的類型隨著計(jì)算機(jī)應(yīng)用的普及,實(shí)時(shí)系統(tǒng)的類型也相應(yīng)增多,下面列出當(dāng)前常見的幾種:(

13、1) 工業(yè)(武器)控制系統(tǒng)。(2) 信息查詢系統(tǒng)。(3) 多媒體系統(tǒng)。(4) 嵌入式系統(tǒng)。 2828第一章 操作系統(tǒng)引論2. 實(shí)時(shí)任務(wù)的類型(1) 周期性實(shí)時(shí)任務(wù)和非周期性實(shí)時(shí)任務(wù)。(2) 硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)。 2929第一章 操作系統(tǒng)引論3. 實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比較(1) 多路性。(2) 獨(dú)立性。(3) 及時(shí)性。(4) 交互性。(5) 可靠性。 3030第一章 操作系統(tǒng)引論1.2.6 微機(jī)操作系統(tǒng)的發(fā)展 1單用戶單任務(wù)操作系統(tǒng)1) CP/M 2) MS-DOS31 31第一章 操作系統(tǒng)引論2. 單用戶多任務(wù)操作系統(tǒng)單用戶多任務(wù)操作系統(tǒng)的含義是,只允許一個(gè)用戶上機(jī),但允許用戶把程序分

14、為若干個(gè)任務(wù),使它們并發(fā)執(zhí)行,從而有效地改善了系統(tǒng)的性能。 3232第一章 操作系統(tǒng)引論3. 多用戶多任務(wù)操作系統(tǒng)多用戶多任務(wù)操作系統(tǒng)的含義是,允許多個(gè)用戶通過各自的終端,使用同一臺(tái)機(jī)器,共享主機(jī)系統(tǒng)中的各種資源,而每個(gè)用戶程序又可進(jìn)一步分為幾個(gè)任務(wù),使它們能并發(fā)執(zhí)行,從而可進(jìn)一步提高資源利用率和系統(tǒng)吞吐量。在大、中和小型機(jī)中所配置的大多是多用戶多任務(wù)操作系統(tǒng),而在32位微機(jī)上,也有不少配置的是多用戶多任務(wù)操作系統(tǒng),其中最有代表性的是UNIX OS。3333第一章 操作系統(tǒng)引論1.3 操作系統(tǒng)的基本特性 前面所介紹的多道批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)這三種基本操作系統(tǒng)都具有各自不同的特征,如批

15、處理系統(tǒng)有著高的資源利用率和系統(tǒng)吞吐量;分時(shí)系統(tǒng)能獲得及時(shí)響應(yīng);實(shí)時(shí)系統(tǒng)具有實(shí)時(shí)特征。除此之外,它們還共同具有并發(fā)、共享、虛擬和異步四個(gè)基本特征。3434第一章 操作系統(tǒng)引論1.3.1 并發(fā)(Concurrence) 正是系統(tǒng)中的程序能并發(fā)執(zhí)行這一特征,才使得OS能有效地提高系統(tǒng)中的資源利用率,增加系統(tǒng)的吞吐量。1. 并行與并發(fā)并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)概念。并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生。而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。 3535第一章 操作系統(tǒng)引論2. 引入進(jìn)程在一個(gè)未引入進(jìn)程的系統(tǒng)中,在屬于同一個(gè)應(yīng)用程序的計(jì)算程序和I/O程序之間只能是順序執(zhí)行,即只有在

16、計(jì)算程序執(zhí)行告一段落后,才允許I/O程序執(zhí)行;反之,在程序執(zhí)行I/O操作時(shí),計(jì)算程序也不能執(zhí)行。但在為計(jì)算程序和I/O程序分別建立一個(gè)進(jìn)程(Process)后,這兩個(gè)進(jìn)程便可并發(fā)執(zhí)行。若對(duì)內(nèi)存中的多個(gè)程序都分別建立一個(gè)進(jìn)程,它們就可以并發(fā)執(zhí)行,這樣便能極大地提高系統(tǒng)資源的利用率,增加系統(tǒng)的吞吐量。3636第一章 操作系統(tǒng)引論1.3.2 共享(Sharing) 一般情況下的共享與操作系統(tǒng)環(huán)境下的共享其含義并不完全相同。 1. 互斥共享方式 系統(tǒng)中的某些資源,如打印機(jī)、磁帶機(jī)等,雖然可以提供給多個(gè)進(jìn)程(線程)使用,但應(yīng)規(guī)定在一段時(shí)間內(nèi),只允許一個(gè)進(jìn)程訪問該資源。為此,在系統(tǒng)中應(yīng)建立一種機(jī)制,以保證

17、多個(gè)進(jìn)程對(duì)這類資源的互斥訪問。3737第一章 操作系統(tǒng)引論2. 同時(shí)訪問方式系統(tǒng)中還有另一類資源,允許在一段時(shí)間內(nèi)由多個(gè)進(jìn)程“同時(shí)”對(duì)它們進(jìn)行訪問。這里所謂的“同時(shí)”,在單處理機(jī)環(huán)境下是宏觀意義上的,而在微觀上,這些進(jìn)程對(duì)該資源的訪問是交替進(jìn)行的。典型的可供多個(gè)進(jìn)程“同時(shí)”訪問的資源是磁盤設(shè)備。一些用重入碼編寫的文件也可以被“同時(shí)”共享,即允許若干個(gè)用戶同時(shí)訪問該文件。3838第一章 操作系統(tǒng)引論1.3.3 虛擬(Virtual) 1. 時(shí)分復(fù)用技術(shù)(1) 虛擬處理機(jī)技術(shù)。(2) 虛擬設(shè)備技術(shù)。 3939第一章 操作系統(tǒng)引論2. 空分復(fù)用技術(shù)20世紀(jì)初,電信業(yè)中就已使用頻分復(fù)用技術(shù)來提高信道的

18、利用率。它是指將一個(gè)頻率范圍比較寬的信道劃分成多個(gè)頻率范圍較窄的信道(稱為頻帶),其中的任何一個(gè)頻帶都僅供一對(duì)用戶通話。早期的頻分復(fù)用技術(shù)只能將一條物理信道劃分為幾條到幾十條話路,后來又很快發(fā)展到成千上萬條話路,每條話路供一對(duì)用戶通話。再后來在計(jì)算機(jī)中也把空分復(fù)用技術(shù)用于對(duì)存儲(chǔ)空間的管理,用以提高存儲(chǔ)空間的利用率。 4040第一章 操作系統(tǒng)引論1.3.4 異步(Asynchronism) 在多道程序環(huán)境下,系統(tǒng)允許多個(gè)進(jìn)程并發(fā)執(zhí)行。在單處理機(jī)環(huán)境下,由于系統(tǒng)中只有一臺(tái)處理機(jī),因而每次只允許一個(gè)進(jìn)程執(zhí)行,其余進(jìn)程只能等待。當(dāng)正在執(zhí)行的進(jìn)程提出某種資源要求時(shí),如打印請(qǐng)求,而此時(shí)打印機(jī)正在為其它進(jìn)程

19、打印,由于打印機(jī)屬于臨界資源,因此正在執(zhí)行的進(jìn)程必須等待,并釋放出處理機(jī),直到打印機(jī)空閑,并再次獲得處理機(jī)時(shí),該進(jìn)程方能繼續(xù)執(zhí)行??梢姡捎谫Y源等因素的限制,使進(jìn)程的執(zhí)行通常都不可能“一氣呵成”,而是以“停停走走”的方式運(yùn)行。41 41第一章 操作系統(tǒng)引論1.4 操作系統(tǒng)的主要功能引入OS的主要目的是,為多道程序的運(yùn)行提供良好的運(yùn)行環(huán)境,以保證多道程序能有條不紊地、高效地運(yùn)行,并能最大程度地提高系統(tǒng)中各種資源的利用率,方便用戶的使用。為此,在傳統(tǒng)的OS中應(yīng)具有處理機(jī)管理、存儲(chǔ)器管理、設(shè)備管理和文件管理等基本功能。此外,為了方便用戶使用OS,還需向用戶提供方便的用戶接口。4242第一章 操作系統(tǒng)

20、引論1.4.1 處理機(jī)管理功能 1. 進(jìn)程控制2. 進(jìn)程同步 3. 進(jìn)程通信4. 調(diào)度(1) 作業(yè)調(diào)度。(2) 進(jìn)程調(diào)度。4343第一章 操作系統(tǒng)引論1.4.2 存儲(chǔ)器管理功能 1. 內(nèi)存分配內(nèi)存分配的主要任務(wù)是:(1) 為每道程序分配內(nèi)存空間,使它們“各得其所”。(2) 提高存儲(chǔ)器的利用率,盡量減少不可用的內(nèi)存空間(碎片)。(3) 允許正在運(yùn)行的程序申請(qǐng)附加的內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)動(dòng)態(tài)增長的需要。4444第一章 操作系統(tǒng)引論OS在實(shí)現(xiàn)內(nèi)存分配時(shí),可采取靜態(tài)和動(dòng)態(tài)兩種方式:(1) 靜態(tài)分配方式。每個(gè)作業(yè)的內(nèi)存空間是在作業(yè)裝入時(shí)確定的,在作業(yè)裝入后的整個(gè)運(yùn)行期間不允許該作業(yè)再申請(qǐng)新的內(nèi)存空間

21、,也不允許作業(yè)在內(nèi)存中“移動(dòng)”。(2) 動(dòng)態(tài)分配方式。每個(gè)作業(yè)所要求的基本內(nèi)存空間雖然也是在裝入時(shí)確定的,但允許作業(yè)在運(yùn)行過程中繼續(xù)申請(qǐng)新的附加內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)的動(dòng)態(tài)增長,也允許作業(yè)在內(nèi)存中“移動(dòng)”。4545第一章 操作系統(tǒng)引論2. 內(nèi)存保護(hù)內(nèi)存保護(hù)的主要任務(wù)是: 確保每道用戶程序都僅在自己的內(nèi)存空間內(nèi)運(yùn)行,彼此互不干擾。 絕不允許用戶程序訪問操作系統(tǒng)的程序和數(shù)據(jù),也不允許用戶程序轉(zhuǎn)移到非共享的其它用戶程序中去執(zhí)行。4646第一章 操作系統(tǒng)引論3. 地址映射在多道程序環(huán)境下,由于每道程序經(jīng)編譯和鏈接后所形成的可裝入程序其地址都是從0開始的,但不可能將它們從“0”地址(物理)開始裝入內(nèi)

22、存,致使(各程序段的)地址空間內(nèi)的邏輯地址與其在內(nèi)存空間中的物理地址并不相一致。為保證程序能正確運(yùn)行,存儲(chǔ)器管理必須提供地址映射功能,即能夠?qū)⒌刂房臻g中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對(duì)應(yīng)的物理地址。該功能應(yīng)在硬件的支持下完成。4747第一章 操作系統(tǒng)引論4. 內(nèi)存擴(kuò)充內(nèi)存擴(kuò)充并非是從物理上去擴(kuò)大內(nèi)存的容量,而是借助于虛擬存儲(chǔ)技術(shù),從邏輯上擴(kuò)充內(nèi)存容量,使用戶所感覺到的內(nèi)存容量比實(shí)際內(nèi)存容量大得多,以便讓更多的用戶程序能并發(fā)運(yùn)行。這樣既滿足了用戶的需要,又改善了系統(tǒng)的性能。為了能在邏輯上擴(kuò)充內(nèi)存,系統(tǒng)必須設(shè)置內(nèi)存擴(kuò)充機(jī)制(包含少量的硬件),用于實(shí)現(xiàn)下述各功能:(1) 請(qǐng)求調(diào)入功能。(2) 置換功

23、能。4848第一章 操作系統(tǒng)引論1.4.3 設(shè)備管理功能 設(shè)備管理的主要任務(wù)如下:(1) 完成用戶進(jìn)程提出的I/O請(qǐng)求,為用戶進(jìn)程分配所需的I/O設(shè)備,并完成指定的I/O操作。(2) 提高CPU和I/O設(shè)備的利用率,提高I/O速度,方便用戶使用I/O設(shè)備。為實(shí)現(xiàn)上述任務(wù),設(shè)備管理應(yīng)具有緩沖管理、設(shè)備分配和設(shè)備處理以及虛擬設(shè)備等功能。1. 緩沖管理2. 設(shè)備分配3. 設(shè)備處理4949第一章 操作系統(tǒng)引論1.4.4 文件管理功能 1. 文件存儲(chǔ)空間的管理2. 目錄管理3. 文件的讀/寫管理和保護(hù)(1) 文件的讀/寫管理。 (2) 文件保護(hù)。5050第一章 操作系統(tǒng)引論1.4.5操作系統(tǒng)與用戶之間的

24、接口 1. 用戶接口(1) 聯(lián)機(jī)用戶接口。(2) 脫機(jī)用戶接口。(3) 圖形用戶接口。 51 51第一章 操作系統(tǒng)引論2. 程序接口程序接口是為用戶程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置的,是用戶程序取得操作系統(tǒng)服務(wù)的唯一途徑。它是由一組系統(tǒng)調(diào)用組成的,每一個(gè)系統(tǒng)調(diào)用都是一個(gè)能完成特定功能的子程序。每當(dāng)應(yīng)用程序要求OS提供某種服務(wù)(功能)時(shí),便調(diào)用具有相應(yīng)功能的系統(tǒng)調(diào)用(子程序)。早期的系統(tǒng)調(diào)用都是用匯編語言提供的,只有在用匯編語言書寫的程序中才能直接使用系統(tǒng)調(diào)用。 5252第一章 操作系統(tǒng)引論1.4.6現(xiàn)代操作系統(tǒng)的新功能現(xiàn)代操作系統(tǒng)是在傳統(tǒng)操作系統(tǒng)基礎(chǔ)上發(fā)展起來的,它除了具有傳統(tǒng)操作系統(tǒng)的功能外,

25、還增加了面向安全、面向網(wǎng)絡(luò)和面向多媒體等功能。1. 系統(tǒng)安全(1) 認(rèn)證技術(shù)。(2) 密碼技術(shù)。(3) 訪問控制技術(shù)。(4) 反病毒技術(shù)。5353第一章 操作系統(tǒng)引論2. 網(wǎng)絡(luò)的功能和服務(wù)(1) 網(wǎng)絡(luò)通信。(2) 資源管理。(3) 應(yīng)用互操作。 5454第一章 操作系統(tǒng)引論3. 支持多媒體(1) 接納控制功能。(2) 實(shí)時(shí)調(diào)度。(3) 多媒體文件的存儲(chǔ)。 5555第一章 操作系統(tǒng)引論1.5 OS結(jié)構(gòu)設(shè)計(jì)早期OS的規(guī)模很小,如只有幾十KB,完全可以由一個(gè)人以手工方式,用幾個(gè)月的時(shí)間編制出來。此時(shí),編制程序基本上是一種技巧,OS是否是有結(jié)構(gòu)的并不那么重要,重要的是程序員的程序設(shè)計(jì)技巧。但隨著OS規(guī)

26、模的愈來愈大,其所具有的代碼也愈來愈多,往往需要由數(shù)十人或數(shù)百人甚至更多的人參與,分工合作,共同來完成操作系統(tǒng)的設(shè)計(jì)。這意味著,應(yīng)采用工程化的開發(fā)方法對(duì)大型軟件進(jìn)行開發(fā)。由此產(chǎn)生了“軟件工程學(xué)”。5656第一章 操作系統(tǒng)引論1.5.1 傳統(tǒng)操作系統(tǒng)結(jié)構(gòu) 1. 無結(jié)構(gòu)操作系統(tǒng)在早期開發(fā)操作系統(tǒng)時(shí),設(shè)計(jì)者只是把他的注意力放在功能的實(shí)現(xiàn)和獲得高的效率上,缺乏首尾一致的設(shè)計(jì)思想。此時(shí)的OS是為數(shù)眾多的一組過程的集合,每個(gè)過程可以任意地相互調(diào)用其它過程,致使操作系統(tǒng)內(nèi)部既復(fù)雜又混亂,因此,這種OS是無結(jié)構(gòu)的,也有人把它稱為整體系統(tǒng)結(jié)構(gòu)。5757第一章 操作系統(tǒng)引論2. 模塊化結(jié)構(gòu)OS1) 模塊化程序設(shè)計(jì)

27、技術(shù)的基本概念模塊化程序設(shè)計(jì)技術(shù)是20世紀(jì)60年代出現(xiàn)的一種結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)。該技術(shù)基于“分解”和“模塊化”的原則來控制大型軟件的復(fù)雜度。為使OS具有較清晰的結(jié)構(gòu),OS不再是由眾多的過程直接構(gòu)成的,而是按其功能精心地劃分為若干個(gè)具有一定獨(dú)立性和大小的模塊。圖1-7示出了由模塊、子模塊等組成的模塊化OS結(jié)構(gòu)。5858第一章 操作系統(tǒng)引論圖1-7 模塊化結(jié)構(gòu)的操作系統(tǒng)5959第一章 操作系統(tǒng)引論2) 模塊獨(dú)立性在模塊-接口法中,關(guān)鍵問題是模塊的劃分和規(guī)定好模塊之間的接口。如果我們?cè)趧澐帜K時(shí)將模塊劃分得太小,雖然可以降低模塊本身的復(fù)雜性,但會(huì)引起模塊之間的聯(lián)系過多,從而會(huì)造成系統(tǒng)比較混亂;如果將

28、模塊劃分得過大,又會(huì)增加模塊內(nèi)部的復(fù)雜性,使內(nèi)部的聯(lián)系增加,因此在劃分模塊時(shí),應(yīng)在兩者間進(jìn)行權(quán)衡。6060第一章 操作系統(tǒng)引論3) 模塊接口法的優(yōu)缺點(diǎn)利用模塊-接口法開發(fā)的OS,較之無結(jié)構(gòu)OS具有以下明顯的優(yōu)點(diǎn):(1) 提高OS設(shè)計(jì)的正確性、可理解性和可維護(hù)性。(2) 增強(qiáng)OS的可適應(yīng)性。(3) 加速OS的開發(fā)過程。61 61第一章 操作系統(tǒng)引論模塊化結(jié)構(gòu)設(shè)計(jì)仍存在下述問題:(1) 在OS設(shè)計(jì)時(shí),對(duì)各模塊間的接口規(guī)定很難滿足在模塊設(shè)計(jì)完成后對(duì)接口的實(shí)際需求。(2) 在OS設(shè)計(jì)階段,設(shè)計(jì)者必須做出一系列的決定(決策),每一個(gè)決定必須建立在上一個(gè)決定的基礎(chǔ)上,但模塊化結(jié)構(gòu)設(shè)計(jì)中,各模塊的設(shè)計(jì)齊頭并

29、進(jìn),無法尋找一個(gè)可靠的決定順序,造成各種決定的“無序性”,這將使程序人員很難做到“設(shè)計(jì)中的每一步?jīng)Q定”都是建立在可靠的基礎(chǔ)上,因此模塊-接口法又被稱為“無序模塊法”。 6262第一章 操作系統(tǒng)引論1) 分層式結(jié)構(gòu)的基本概念為了將模塊-接口法中“決定順序”的無序性變?yōu)橛行蛐裕肓擞行蚍謱臃?,分層法的設(shè)計(jì)任務(wù)是,在目標(biāo)系統(tǒng)An和裸機(jī)系統(tǒng)(又稱宿主系統(tǒng))A0之間,鋪設(shè)若干個(gè)層次的軟件A1、A2、A3、An-1,使An通過An-1、An-2、A2、A1層,最終能在A0上運(yùn)行。在操作系統(tǒng)中,常采用自底向上法來鋪設(shè)這些中間層。6363第一章 操作系統(tǒng)引論2) 分層結(jié)構(gòu)的優(yōu)缺點(diǎn)分層結(jié)構(gòu)的主要優(yōu)點(diǎn)有:(1)

30、 易保證系統(tǒng)的正確性。(2) 易擴(kuò)充和易維護(hù)性。分層結(jié)構(gòu)的主要缺點(diǎn)是系統(tǒng)效率降低。由于層次結(jié)構(gòu)是分層單向依賴的,必須在每層之間都建立層次間的通信機(jī)制,OS每執(zhí)行一個(gè)功能,通常要自上而下地穿越多個(gè)層次,這無疑會(huì)增加系統(tǒng)的通信開銷,從而導(dǎo)致系統(tǒng)效率的降低。6464第一章 操作系統(tǒng)引論1.5.2 客戶/服務(wù)器模式(Client/Server Model) 簡介1. 客戶/服務(wù)器模式的由來、組成和類型客戶/服務(wù)器系統(tǒng)主要由三部分組成。(1) 客戶機(jī):(2) 服務(wù)器:(3) 網(wǎng)絡(luò)系統(tǒng):6565第一章 操作系統(tǒng)引論2. 客戶/服務(wù)器之間的交互(1) 客戶發(fā)送請(qǐng)求消息。(2) 服務(wù)器接收消息。(3) 服務(wù)器

31、回送消息。(4) 客戶機(jī)接收消息。 6666第一章 操作系統(tǒng)引論3. 客戶/服務(wù)器模式的優(yōu)點(diǎn)(1) 數(shù)據(jù)的分布處理和存儲(chǔ)。(2) 便于集中管理。(3) 靈活性和可擴(kuò)充性。 (4) 易于改編應(yīng)用軟件。 6767第一章 操作系統(tǒng)引論1.5.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object-Orientated Programming)技術(shù)簡介1. 面向?qū)ο蠹夹g(shù)的基本概念面向?qū)ο蠹夹g(shù)是20世紀(jì)80年代初提出并很快流行起來的。 6868第一章 操作系統(tǒng)引論1) 對(duì)象在面向?qū)ο蟮募夹g(shù)中,是利用被封裝的數(shù)據(jù)結(jié)構(gòu)(變量)和一組對(duì)它進(jìn)行操作的過程(方法)來表示系統(tǒng)中的某個(gè)對(duì)象的,如圖1-8所示。對(duì)象中的變量(數(shù)據(jù))也稱為

32、屬性,它可以是單個(gè)標(biāo)量或一張表。面向?qū)ο笾械姆椒ㄊ怯糜趫?zhí)行某種功能的過程,它可以改變對(duì)象的狀態(tài),更新對(duì)象中的某些數(shù)據(jù)值或作用于對(duì)象所要訪問的外部資源。如果把一個(gè)文件作為一個(gè)對(duì)象(見圖1-9),該對(duì)象的變量便是文件類型、文件大小、文件的創(chuàng)建者等。對(duì)象中的方法包含對(duì)文件的操作,如創(chuàng)建文件、打開文件、讀文件、寫文件、關(guān)閉文件等。6969第一章 操作系統(tǒng)引論圖1-8一個(gè)對(duì)象的示意圖 7070第一章 操作系統(tǒng)引論 圖1-9 類和對(duì)象的關(guān)系 71 71第一章 操作系統(tǒng)引論2) 對(duì)象類在實(shí)踐中,有許多對(duì)象可能表示的是同一類事物,每個(gè)對(duì)象具有自己的變量集合,而它們所具有的方法是相同的。如果為每一個(gè)相似的對(duì)象都

33、定義一組變量和方法,顯然是低效的,由此產(chǎn)生了“對(duì)象類”的概念,利用“對(duì)象類”來定義一組大體相似的對(duì)象。一個(gè)類同樣定義了一組變量和針對(duì)該變量的一組方法,用它們來描述一組對(duì)象的共同屬性和行為。類是在對(duì)象上的抽象,對(duì)象則是類的實(shí)例。對(duì)象類中所定義的變量在實(shí)例中均有具體的值。7272第一章 操作系統(tǒng)引論3) 繼承在面向?qū)ο蟮募夹g(shù)中,可以根據(jù)已有類來定義一個(gè)新的類,新類被稱為子類(B),原來的類被稱為父類(A),見圖1-10所示。 7373第一章 操作系統(tǒng)引論圖1-10 類的繼承關(guān)系7474第一章 操作系統(tǒng)引論2. 面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn)在操作系統(tǒng)設(shè)計(jì)時(shí),將計(jì)算機(jī)中的實(shí)體作為對(duì)象來處理,可帶來如下好處:(1

34、) 通過“重用”提高產(chǎn)品質(zhì)量和生產(chǎn)率。(2) 使系統(tǒng)具有更好的易修改性和易擴(kuò)展性。(3) 更易于保證系統(tǒng)的“正確性”和“可靠性”。7575第一章 操作系統(tǒng)引論1.5.4微內(nèi)核OS結(jié)構(gòu)1. 微內(nèi)核操作系統(tǒng)的基本概念1) 足夠小的內(nèi)核在微內(nèi)核操作系統(tǒng)中,內(nèi)核是指精心設(shè)計(jì)的、能實(shí)現(xiàn)現(xiàn)代OS最基本核心功能的小型內(nèi)核,微內(nèi)核并非是一個(gè)完整的OS,而只是將操作系統(tǒng)中最基本的部分放入微內(nèi)核,通常包含有: 與硬件處理緊密相關(guān)的部分; 一些較基本的功能; 客戶和服務(wù)器之間的通信。這些OS最基本的部分只是為構(gòu)建通用OS提供一個(gè)重要基礎(chǔ),這樣就可以確保把操作系統(tǒng)內(nèi)核做得很小。7676第一章 操作系統(tǒng)引論2) 基于客

35、戶/服務(wù)器模式由于客戶/服務(wù)器模式具有非常多的優(yōu)點(diǎn),故在單機(jī)微內(nèi)核操作系統(tǒng)中幾乎無一例外地都采用客戶/服務(wù)器模式,將操作系統(tǒng)中最基本的部分放入內(nèi)核中,而把操作系統(tǒng)的絕大部分功能都放在微內(nèi)核外面的一組服務(wù)器(進(jìn)程)中實(shí)現(xiàn),如用于提供對(duì)進(jìn)程(線程)進(jìn)行管理的進(jìn)程(線程)服務(wù)器、提供虛擬存儲(chǔ)器管理功能的虛擬存儲(chǔ)器服務(wù)器、提供I/O設(shè)備管理的I/O設(shè)備管理服務(wù)器等,它們都是被作為進(jìn)程來實(shí)現(xiàn)的,運(yùn)行在用戶態(tài),客戶與服務(wù)器之間是借助微內(nèi)核提供的消息傳遞機(jī)制來實(shí)現(xiàn)信息交互的。圖1-11示出了在單機(jī)環(huán)境下的客戶/服務(wù)器模式。7777第一章 操作系統(tǒng)引論圖1-11 在單機(jī)環(huán)境下的客戶/服務(wù)器模式7878第一章

36、操作系統(tǒng)引論3) 應(yīng)用“機(jī)制與策略分離”原理在現(xiàn)在操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)中,經(jīng)常利用“機(jī)制與策略分離”的原理來構(gòu)造OS結(jié)構(gòu)。所謂機(jī)制,是指實(shí)現(xiàn)某一功能的具體執(zhí)行機(jī)構(gòu)。而策略,則是在機(jī)制的基礎(chǔ)上借助于某些參數(shù)和算法來實(shí)現(xiàn)該功能的優(yōu)化,或達(dá)到不同的功能目標(biāo)。 7979第一章 操作系統(tǒng)引論4) 采用面向?qū)ο蠹夹g(shù)操作系統(tǒng)是一個(gè)極其復(fù)雜的大型軟件系統(tǒng),我們不僅可以通過結(jié)構(gòu)設(shè)計(jì)來分解操作系統(tǒng)的復(fù)雜度,還可以基于面向?qū)ο蠹夹g(shù)中的“抽象”和“隱蔽”原則控制系統(tǒng)的復(fù)雜性,再進(jìn)一步利用“對(duì)象”、“封裝”和“繼承”等概念來確保操作系統(tǒng)的“正確性”、“可靠性”、“易修改性”、“易擴(kuò)展性”等,并提高操作系統(tǒng)的設(shè)計(jì)速度。正因?yàn)槊嫦驅(qū)ο蠹夹g(shù)能帶來如此多的好處,故面向?qū)ο蠹夹g(shù)被廣泛應(yīng)用于現(xiàn)代操作系統(tǒng)的設(shè)計(jì)中。8080第一章 操作系統(tǒng)引論2. 微內(nèi)核的基本功能微內(nèi)核應(yīng)具有哪些功能,或者說哪些功能應(yīng)放在微內(nèi)核內(nèi),哪些應(yīng)放在微內(nèi)核外,目前尚無明確的規(guī)定?,F(xiàn)在一般都采用“機(jī)制與策略分離”的原理,將機(jī)制部分以及與硬件緊密相關(guān)的部分放入微內(nèi)核中。由此可知微內(nèi)核通常具有如下幾方面的功能:1) 進(jìn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論