未知用戶-操作系統(tǒng)OperatingSystem.ppt_第1頁
未知用戶-操作系統(tǒng)OperatingSystem.ppt_第2頁
未知用戶-操作系統(tǒng)OperatingSystem.ppt_第3頁
未知用戶-操作系統(tǒng)OperatingSystem.ppt_第4頁
未知用戶-操作系統(tǒng)OperatingSystem.ppt_第5頁
已閱讀5頁,還剩124頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng) Operating System,課 程 簡 介,課程名稱:操作系統(tǒng)( Operating System ) 教 材:計算機操作系統(tǒng)劉福巖等 計算機操作系統(tǒng)湯子贏等 教學方式:授課( 48)+上機實習(16) 考試類別:考試 參考教材: 1、現(xiàn)代操作系統(tǒng),陳向群等譯,機械工業(yè)出版社 2、操作系統(tǒng)設(shè)計與實現(xiàn),王鵬等譯,電子工業(yè)出版社 3、計算機操作系統(tǒng)教程, 張堯?qū)W、史美林,清華大學出版社,教學目的,通過對本章的講解使學生 了解本課程的整體介紹 理解操作系統(tǒng)的概念,功能、作用、分類,特征,以及結(jié)構(gòu)設(shè)計,本章重點:,1、熟悉操作系統(tǒng)作用和定義,了解操作系統(tǒng)的歷史。 2、了解二類計算機硬件系統(tǒng)結(jié)構(gòu),熟悉現(xiàn)代操作系統(tǒng)的硬件基礎(chǔ)通道和中斷。 3、熟練掌握多道程序設(shè)計技術(shù)的概念,掌握批處理系統(tǒng)、分時系統(tǒng)及實時系統(tǒng)三種操作系統(tǒng)基本類型,了解微機操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。 4、掌握操作系統(tǒng)并發(fā)性、共享性、虛擬性和異步性等特征,了解現(xiàn)代操作系統(tǒng)特征,熟悉操作系統(tǒng)功能。,本章難點:,“多道程序系統(tǒng)”的功能實現(xiàn) “分時操作系統(tǒng)”的功能實現(xiàn) 真正理解操作系統(tǒng)的主要特征,第1章 操作系統(tǒng)引論,1.1 操作系統(tǒng)的目標和作用 1.2 操作系統(tǒng)的發(fā)展過程 1.3 操作系統(tǒng)的功能和主要特征 1.4 操作系統(tǒng)的機制和策略 1.5 操作系統(tǒng)的體系結(jié)構(gòu) 1.6 典型操作系統(tǒng)簡介,本章學習目標,掌握操作系統(tǒng)的概念及作用 了解操作系統(tǒng)的發(fā)展過程 掌握操作系統(tǒng)的特征與功能 牢記多道程序設(shè)計的概念 理解操作系統(tǒng)的模型,11 操作系統(tǒng)的目標和作用,1.存儲程序計算機的組成,1.1.1 馮.諾依曼結(jié)構(gòu)的計算機,(1) 概念和模型過于復雜,用戶編程十分困難 在裸機基礎(chǔ)上通過軟件構(gòu)造一個概念和模型相對簡單,更容易理解和進行程序設(shè)計的虛擬機,可以認為這個虛擬機就是操作系統(tǒng),如磁盤管理。和裸機提供的概念和模型相比,操作系統(tǒng)構(gòu)造和提供的概念和模型要簡單得多,用戶也更容易編程和使用。 (2)性能不高 裸機提供的概念和模型過于復雜,用戶直接對裸機編制的程序,程序運行時效率往往非常低,其原因在于直接對裸機編程,用戶往往不能充分利用裸機提供的資源,特別是不能最大限度的開發(fā)系統(tǒng)的并行性。如多道程序技術(shù)。,2.直接使用裸機的困難,示例,1.現(xiàn)代計算機系統(tǒng)的組成,1.1.2 操作系統(tǒng)的作用,2.操作系統(tǒng)在計算機系統(tǒng)中的地位,緊貼系統(tǒng)硬件之上,所有其他軟件之下(是其他軟件的共同環(huán)境),(1)從資源管理的觀點OS作為資源管理器: OS的首要任務(wù)是管理計算機系統(tǒng)中硬件與軟件資源,使其得到充分而有效的利用: 1)跟蹤資源狀態(tài):時刻掌握計算機系統(tǒng)中資源的使用情況。 2)分配資源:處理對資源的使用請求,協(xié)調(diào)沖突,確定資源分配算法。 3)回收資源:回收用戶釋放的資源,以便下次重新分配。 4)保護資源:負責對系統(tǒng)資源的保護,避免受破壞。,3.操作系統(tǒng)的作用(體現(xiàn)在三個方面),操作系統(tǒng)作為資源管理器的觀點是目前人們對操作系統(tǒng)認識的一個主要觀點,根據(jù)此觀點,人們將計算機資源劃分為四大類: 1)處理機 2)存儲器 3)I/O設(shè)備 4)信息(程序與數(shù)據(jù)) 相應(yīng)可將操作系統(tǒng)分為四類管理器: 1)處理機管理 2)存儲管理 3)設(shè)備管理 4)信息管理(文件系統(tǒng)),(2)從軟件分層、擴允機器的觀點虛擬機: 提供硬件的高層界面(虛擬機),取消硬件限制 1)操作系統(tǒng)提供無限的內(nèi)存、無限的CPU 2)擴充機器,功能更強大,使用更方便 【虛擬機】:使用戶和程序員在不必涉及和了解硬件工作細節(jié)的情況下能方便的使用計算機,而為用戶所提供的一個等價的擴展計算機,稱為虛擬計算機。,(3)從服務(wù)用戶的觀點OS用戶與裸機間接口: 操作系統(tǒng)為方便用戶使用計算機提供了二級訪問接口: 1)命令接口:命令行。 2)調(diào)用接口:形式上類似于過程調(diào)用,在應(yīng)用編程中使用。 3)圖形接口:圖形用戶界面GUI,方便用戶使用。 編程更為容易,軟件可移植性增強;使用更為方便。,1.操作系統(tǒng)的目標 有效性(系統(tǒng)管理人員的觀點): 管理和分配硬件、軟件資源,合理地組織計算機的工作流程 方便性(用戶的觀點) 提供良好的、一致的用戶接口,彌補硬件系統(tǒng)的類型和數(shù)量差別 可擴充性與開放性(開放的觀點): 硬件類型和規(guī)模、操作系統(tǒng)本身的功能和管理策略、多個系統(tǒng)間的資源共享和互操作。,1.1.3 操作系統(tǒng)的目標與定義,2.操作系統(tǒng)的定義,操作系統(tǒng)是控制和管理計算機系統(tǒng)的硬件和軟件資源,合理的組織計算機工作流程以及方便用戶使用的程序和數(shù)據(jù)的集合。 設(shè)置操作系統(tǒng)的目的就是提高計算機系統(tǒng)的效率,增強系統(tǒng)的處理能力,充分發(fā)揮系統(tǒng)的利用率,方便用戶使用。,12 操作系統(tǒng)的發(fā)展過程,操作系統(tǒng)發(fā)展的主要動力是用戶的需求,并隨著計算機硬件技術(shù)、軟件技術(shù)的發(fā)展而不斷發(fā)展完善。 1)提高資源的利用率和系統(tǒng)性能:計算機發(fā)展的初期,計算機系統(tǒng)昂貴,用作集中計算 2)方便用戶:用戶上機、調(diào)試程序,分散計算時的事務(wù)處理和非專業(yè)用戶。 3)硬件的發(fā)展:CPU的位寬度(指令和數(shù)據(jù))、快速外存、新硬件、新技術(shù)的出現(xiàn)等。 4)計算機體系結(jié)構(gòu)的不斷發(fā)展。,12 OS的發(fā)展史手工,1、手工操作 (1946 50年代,電子管時代) 【特點】:計算機資源昂貴 ,沒有操作系統(tǒng) 【工作方式】: 用戶:用戶既是程序員、操作員,還是計算機專業(yè)人員; 編程語言:為機器語言; 輸入輸出:紙帶或卡片; 【計算機的工作特點】: 用戶獨占全機:用戶獨占計算機所有資源,資源利用率低; CPU等待用戶:計算前,手工裝入紙帶或卡片;計算完成后,手工卸取紙帶或卡片;CPU利用率低; 【主要矛盾】: 計算機處理能力的提高,手工操作的低效率 用戶獨占全機的所有資源;,圖例,手工時期的操作,聯(lián)機批處理,12 OS的發(fā)展史單道,2、單道批處理系統(tǒng)( 50年代末 60年代中,晶體管) 【特點】: 利用磁帶把若干個作業(yè)分類編成作業(yè)執(zhí)行序列,每個批作業(yè)由一個專門的監(jiān)督程序(Monitor)自動依次處理??墒褂脜R編語言開發(fā)。 【批處理中的作業(yè)的組成】: 用戶程序 數(shù)據(jù) 作業(yè)說明書(作業(yè)控制語言) 【批處理】: 供一次加載的磁帶或磁盤,通常由若干個作業(yè)組裝成,在處理中使用一組相同的系統(tǒng)軟件(系統(tǒng)帶),12 OS的發(fā)展史單道,批處理方式可分為聯(lián)機批處理和脫機批處理。 1)聯(lián)機批處理 用戶提交作業(yè):以紙帶或卡片為介質(zhì); 操作員合成批作業(yè):結(jié)果為磁帶介質(zhì); 批作業(yè)處理:對批作業(yè)中的每個作業(yè)進行相同的處理:從磁帶讀入用戶作業(yè)和編譯鏈接程序,編譯鏈接用戶作業(yè),生成可執(zhí)行程序;啟動執(zhí)行;執(zhí)行結(jié)果輸出。 【存在的問題】: 慢速的輸入輸出處理仍直接由主機來完成。輸入輸出時,CPU處于等待狀態(tài)。,12 OS的發(fā)展史單道,2)脫機批處理,系統(tǒng)庫,12 OS的發(fā)展史單道,2)脫機批處理 利用衛(wèi)星機完成輸入輸出功能。主機與衛(wèi)星機可并行工作。 衛(wèi)星機:完成面向用戶的輸入輸出(紙帶或卡片),中間結(jié)果暫存在磁帶或磁盤上。 作業(yè)控制命令由監(jiān)督程序(monitor)來執(zhí)行,完成如裝入程序、編譯、運行等操作。 【優(yōu)點】:同一批內(nèi)各作業(yè)的自動依次更替,改善了主機CPU和I/O設(shè)備的使用效率,提高了吞吐量。 【缺點】:磁帶或磁盤需要人工裝卸,作業(yè)需要人工分類,監(jiān)督程序易遭到用戶程序的破壞(由人工干預(yù)才可恢復)。,12 OS的發(fā)展史單道,【單道批處理的特征】: 自動性:磁帶上一批作業(yè)能自動逐個依次運行 對I/O為主的作業(yè),CPU空閑; 順序性:作業(yè)順序進入內(nèi)存,執(zhí)行與完成的順序和調(diào)入的順序完全相同。 單道性:內(nèi)存中僅有一道程序,只有該程序完成或發(fā)生異常時,才調(diào)入后繼程序進入內(nèi)存運行 【單道批處理的主要問題】: 一個用戶獨占全部資源CPU負責計算,也負責傳輸,CPU與外設(shè)速度不匹配。 CPU與I/O串行資源利用率仍然很低。,中斷技術(shù)和通道技術(shù),60年代硬件兩個重大進展:中斷技術(shù)和通道技術(shù) 1)中斷:指CPU在收到外部中斷信號后,停止原來工作,轉(zhuǎn)去處理該中斷事件,完畢后回到原來斷點繼續(xù)工作。 【中斷處理過程】:中斷請求,中斷響應(yīng),中斷點(暫停當前任務(wù)并保存現(xiàn)場),中斷處理例程,中斷返回(恢復中斷點的現(xiàn)場并繼續(xù)原有任務(wù)。 【中斷分類】:硬件中斷(分為硬件故障中斷、I/O中斷和外部中斷)與軟件中斷(可分為程序中斷 和訪管中斷)。,中斷的處理過程,中斷技術(shù)和通道技術(shù),2)通道(又稱為I/O處理機):實際上是一臺功能單一、結(jié)構(gòu)簡單的I/O處理機,它單獨與CPU,并直接控制外部設(shè)備,與內(nèi)存進行數(shù)據(jù)傳輸。 通道有專用的I/O處理器,可與CPU并行工作。通道具有自己的指令(通道指令),可編程實現(xiàn)各種復雜的I/O處理。 可實現(xiàn) I/O聯(lián)機處理 【CPU與通道的通訊】:CPU與通道之間為主(CPU)從關(guān)系(通道),采用通道進行數(shù)據(jù)傳輸?shù)倪^程如下:CPU向通道發(fā)出I/O指令;通道執(zhí)行通道程序進行I/O操作;I/O完成或出錯時,以中斷方式請求CPU處理。,單通道I/O系統(tǒng),通道的四級連接,三級控制(CPU-通道-控制器-設(shè)備),12 OS的發(fā)展史多道,3、多道批處理系統(tǒng)(60年代末 70年代中,集成電路),單道: 用戶程序 監(jiān)督程序 I/O操作,多道: 程序A 程序B 程序C 調(diào)度程序,1)多道程序設(shè)計原理,【多道程序設(shè)計原理】:在計算機內(nèi)存中同時存放幾道相互獨立的程序,它們在管理程序的控制下相互穿插地運行,共享CPU和外設(shè)等資源。采用多道程序設(shè)計技術(shù)的批處理系統(tǒng)稱為多道批處理系統(tǒng)。 2)多道程序設(shè)計的實現(xiàn) 存儲保護與重定位。在多道程序設(shè)計環(huán)境中,幾道程序共享同一內(nèi)存,硬件必須提供必要的手段保證各道程序之間不互相侵犯。 處理機管理和調(diào)度。多道程序共享同一個處理機,因此存在處理機的調(diào)度問題。 資源的管理和調(diào)度。多道程序共享資源,同樣存在著資源的分配問題。,12 OS的發(fā)展史多道,12 OS的發(fā)展史多道,3)多道程序設(shè)計的特征 多道。同時存在兩道或兩道以上的程序處于執(zhí)行的開始點和結(jié)束點中間。 宏觀并行。都處于運行狀態(tài),但都未運行完; 微觀串行。各作業(yè)交替使用CPU。 4)多道批處理系統(tǒng)的優(yōu)缺點: 資源利用率高:CPU和內(nèi)存利用率較高; 作業(yè)吞吐量大:單位時間內(nèi)完成工作總量大; 用戶交互性差:整個作業(yè)完成后或中間出錯時,才與用戶交互,不利于調(diào)試和修改; 作業(yè)平均周轉(zhuǎn)時間長:短作業(yè)的周轉(zhuǎn)時間(從作業(yè)提交到完成的這段時間)顯著增長;,單道和多道批處理的比較,多道程序系統(tǒng)和多處理系統(tǒng)(Multi-Processing System)的區(qū)別:前者指多個程序同時在內(nèi)存中交替運行,后者指多個處理器。,多道批處理系統(tǒng)的資源利用,多道批處理系統(tǒng)的資源利用效率特征是基于各作業(yè)對系統(tǒng)資源的需求差異得到的。 例如:有3個作業(yè)A、B、C,分別為計算、檢索和打印作業(yè),單道運行時間分別為5分、15分和10分鐘。它們可并行在15分鐘內(nèi)完成3個作業(yè)。各資源在單道、多道環(huán)境下的利用效率是多少?,5)多道批處理系統(tǒng)的核心技術(shù): 作業(yè)調(diào)度:作業(yè)的現(xiàn)場保存和恢復 資源共享:資源的競爭和同步互斥機制 內(nèi)存使用:提高內(nèi)存使用效率(為當前由CPU執(zhí)行的程序提供足夠的內(nèi)存)覆蓋(overlay),交換(swap)和虛擬存儲(virtual memory) 內(nèi)存保護:系統(tǒng)存儲區(qū)和各應(yīng)用程序存儲區(qū)不可沖突,即存儲保護 文件非順序存放、隨機存取。,出現(xiàn)了:作業(yè)管理、處理機管理、存儲管理、設(shè)備管理、文件系統(tǒng)管理(file system),12 OS的發(fā)展史多道,課堂練習1.1,操作系統(tǒng)是一種 A ,在操作系統(tǒng)中采用多道程序設(shè)計方式能提高CPU和外部設(shè)備的 B 。一般來說,為了實現(xiàn)多道程序設(shè)計,計算機需要有 C 。 A: (1)通用軟件; (2)系統(tǒng)軟件; (3)應(yīng)用軟件; (4)軟件包。 B: (1)利用效率; (2)可靠性; (3)穩(wěn)定性; (4)兼容性。 C:(1)更大的內(nèi)存; (2)更快的外部設(shè)備; (3)更快的CPU; (4)更先進的終端;,答案:A(2),B(1),C(1),12 OS的發(fā)展史分時,4、分時操作系統(tǒng) (70年代中期至今,大規(guī)模集成電路) 【分時】:兩個或兩個以上的事件按時間劃分輪流的使用計算機系統(tǒng)的某一資源。 【分時系統(tǒng)】:多個用戶分時(分時的時間單位稱為時間片,通常為幾十毫秒)地使用同一計算機系統(tǒng)稱為分時系統(tǒng)。主要采用時鐘和中斷技術(shù)。 1)分時系統(tǒng)實現(xiàn)方法: 系統(tǒng)配置多路卡及時接受各終端輸入命令和數(shù)據(jù)。 及時處理,不允許某作業(yè)長期占用處理機, 將響應(yīng)周期分為很短的時間片,在該周期內(nèi)每個作業(yè)輪流執(zhí)行一次(占一個時間片)。每個作業(yè)可以及時接收用戶的命令和數(shù)據(jù), 并能及時得到處理。,分時系統(tǒng)的結(jié)構(gòu)示意圖,12 OS的發(fā)展史分時,2)分時系統(tǒng)的特點: 同時性或多路性:多用戶同時操作、使用計算機 獨占性:各終端用戶感覺到自己獨占了計算機; 及時性:用戶的請求能在較短時間內(nèi)響應(yīng); 交互性:用戶能與計算機進行人機對話。 3)調(diào)進和調(diào)出(Roll-in / Roll-out) 調(diào)進/調(diào)出是實現(xiàn)分時系統(tǒng)的一種主要方式,包括: 主存后援存儲器方式:簡單分時系統(tǒng)所采用,特點:內(nèi)存只存放一個當前執(zhí)行作業(yè),其他放在外存上。 多流調(diào)入調(diào)出方式:基于多道程序技術(shù),特點主存中同時存放一個當前執(zhí)行作業(yè)和多個后備作業(yè)。,12 OS的發(fā)展史分時,4)分時系統(tǒng)的響應(yīng)時間 響應(yīng)時間為用戶發(fā)出一條指令到系統(tǒng)處理完這條指令并做出回答所需要的時間。是衡量分時系統(tǒng)性能好壞的一條重要標志,但具體的響應(yīng)時間與系統(tǒng)的用戶個數(shù)及時間片大小有關(guān)。響應(yīng)時間T與時間片q和用戶個數(shù)n之間的關(guān)系為T=n q 。 【注意】:分時系統(tǒng)在輪轉(zhuǎn)處理多個終端用戶的請求時,在調(diào)入/調(diào)出上增加了許多時間消耗,其中主要是主存與后援存儲器之間的信息交換時間。因此為改善響應(yīng)時間需要:加快主存與后援存儲器之間的對換速度;減少對換的信息量。 現(xiàn)在的許多操作系統(tǒng)都具有分時處理的功能,在分時系統(tǒng)的基礎(chǔ)上,操作系統(tǒng)的發(fā)展開始分化,如實時系統(tǒng)、通用系統(tǒng)、個人系統(tǒng)等。,課堂練習1.2,分時系統(tǒng)中,為使多個用戶能夠同時與系統(tǒng)交互,最關(guān)鍵的問題是 A ,當用戶數(shù)目為100時,為保證響應(yīng)不超過2秒;此時的時間片最大應(yīng)為 B 。 A: (1)計算機具有足夠的運行速度; (2)內(nèi)存容量應(yīng)足夠大; (3)系統(tǒng)能及時地接收多個用戶輸入; (4)能在一短的時間內(nèi),使所有用戶程序都能運行; (5)能快速進行內(nèi)外存對換。 B: (1)10ms; (2)20ms; (3)50ms; (4)100ms; (5)200ms。,答案:A(4),B(2),12 OS的發(fā)展史實時,5、實時操作系統(tǒng) 實時操作系統(tǒng)主要用于過程控制、事務(wù)處理等有實時要求的領(lǐng)域,其主要特征是實時性和可靠性。 1)實時系統(tǒng)的分類: 實時控制:要求與被控制的變化速度相比,其反應(yīng)速度足夠快;工作安全可靠;需要人工干預(yù)時,操作簡便。如生產(chǎn)過程控制,宇航自動控制等。 實時信息處理系統(tǒng):要求計算機能夠在容許的延遲時間內(nèi),響應(yīng)外部的事件請求,完成對該事件的處理,并控制所有的實時設(shè)備和實時任務(wù)協(xié)調(diào)運行。如飛機訂票系統(tǒng), 期貨、股票交易系統(tǒng)等。,12 OS的發(fā)展史實時,2)實時系統(tǒng)的特征: 實時系統(tǒng)具有專用性、種類多、用途各異等特點,其一個基本特征是事件驅(qū)動,即接收到某些外部信息后,由系統(tǒng)選擇某一程序去執(zhí)行,完成相應(yīng)的實時任務(wù)。 實時時鐘管理。向系統(tǒng)提供日期、時刻以及定時任務(wù)(每間隔一固定時間循環(huán)執(zhí)行)和延遲任務(wù)(推遲一段時間后執(zhí)行)進行控制的信號。 中斷管理。實時系統(tǒng)必須有效和高速的完成各種中斷處理。 系統(tǒng)容錯管理。高可靠性一直是實時系統(tǒng)的設(shè)計目標。,12 OS的發(fā)展史實時,多重任務(wù)管理。實時系統(tǒng)的物理過程具有并發(fā)性的特點,因此實時系統(tǒng)應(yīng)具備多重任務(wù)處理的能力,且強調(diào)任務(wù)調(diào)度與轉(zhuǎn)換的高效性。 系統(tǒng)生成能力。實時系統(tǒng)大多是專用性的系統(tǒng),其種類與規(guī)模相差較大,因此,要求實時操作系統(tǒng)應(yīng)具有較強的生成能力,以便根據(jù)需要裁剪或補貼系統(tǒng)功能,使之與應(yīng)用系統(tǒng)相適應(yīng)。 目前的操作系統(tǒng),通常具有分時、實時和批處理功能,又稱作通用操作系統(tǒng)。可適用于計算、事務(wù)處理等多種領(lǐng)域,能運行在多種硬件平臺上,如 UNIX系統(tǒng)、Windows NT等。通用化、小型化,分時系統(tǒng)與實時系統(tǒng)的比較,1)系統(tǒng)的設(shè)計目標不同。分時系統(tǒng)是提供一種隨時可供多個用戶使用的通用型很強的操作系統(tǒng),而實時操作系統(tǒng)大多數(shù)是具有特殊用途的專用系統(tǒng)。 2)交互性的強弱。分時具有較強的對話與交互能力,而實時系統(tǒng)交互性很弱。 3)響應(yīng)時間的長短。分時只要能滿足一般用戶能接受的等待時間即可,而實時系統(tǒng)的響應(yīng)時間要求嚴格。 4)另外其均具備多路性、獨立性、及時性、交互性、可靠性,只是實時系統(tǒng)對系統(tǒng)的及時性和可靠性要求更高。,12 OS的發(fā)展史網(wǎng)絡(luò),6、網(wǎng)絡(luò)操作系統(tǒng)(NOS,Network Operating System) 網(wǎng)絡(luò)操作系統(tǒng)是在通常操作系統(tǒng)功能的基礎(chǔ)上提供網(wǎng)絡(luò)通信和網(wǎng)絡(luò)服務(wù)功能的操作系統(tǒng)。,12 OS的發(fā)展史網(wǎng)絡(luò),【計算機網(wǎng)絡(luò)基本概念】 1)計算機網(wǎng)絡(luò):計算機網(wǎng)絡(luò)是計算機技術(shù)與通信技術(shù)相結(jié)合的產(chǎn)物,是互連起來的計算機的集合. 2)計算機網(wǎng)絡(luò)產(chǎn)生的背景:微電子技術(shù)的發(fā)展與進步;計算機的應(yīng)用社會化;通信技術(shù)的進步和普及。 3)特征: 資源共享性;獨立自主性 4)微機網(wǎng)絡(luò):微型機技術(shù)的巨大進展, 微機網(wǎng)絡(luò)也隨之崛起,并獲得高速的發(fā)展,巳成為計算機網(wǎng)絡(luò)中最活躍的一個分枝。,12 OS的發(fā)展史網(wǎng)絡(luò),【網(wǎng)絡(luò)的構(gòu)成】: 1)主機(HOST):主機是組成網(wǎng)絡(luò)的獨立自主的計算機系統(tǒng),用于運行用戶程序(即應(yīng)用程序)。 2)子網(wǎng)(通信子網(wǎng)) : 是將入網(wǎng)主機連接起來的實體。子網(wǎng)的任務(wù)是在入網(wǎng)主機之間傳遞信息,以提供通信服務(wù).,3)協(xié)議(protocol):網(wǎng)絡(luò)計算機在互相通信時為能正確進行并相互理解通信內(nèi)容需遵循的約定。如TCP/IP等。,12 OS的發(fā)展史網(wǎng)絡(luò),【網(wǎng)絡(luò)操作系統(tǒng) 】 : 在通常的操作系統(tǒng)中增加了實現(xiàn)網(wǎng)絡(luò)低層協(xié)議(一般到傳送層)功能和網(wǎng)絡(luò)設(shè)備管理功能的操作系統(tǒng)。如UNIX、LINUX, WINDOWS NT都是網(wǎng)絡(luò)操作系統(tǒng)。 【網(wǎng)絡(luò)OS功能】: 高效、可靠的網(wǎng)絡(luò)通信 對網(wǎng)絡(luò)中共享資源(在LAN中有硬盤、打印機等)有效的管理 提供電子郵件、文件傳輸、共享硬盤、打印機等服務(wù) 網(wǎng)絡(luò)安全管理 提供互操作能力,12 OS的發(fā)展史分布,7、分布式操作系統(tǒng)(Distributed Operating System) 1)分布式計算機系統(tǒng)是以計算機網(wǎng)絡(luò)為基礎(chǔ)的計算機系統(tǒng),包含多臺處理機,每臺處理機完成系統(tǒng)中指定的一部分功能。 從硬件上講,它與計算機局域網(wǎng)沒有任何區(qū)別,關(guān)鍵是軟件。 【特征】: 以計算機網(wǎng)絡(luò)為基礎(chǔ); 處理上的分布,即功能和任務(wù)的分布。所有系統(tǒng)任務(wù)可在系統(tǒng)中任何處理機上運行,自動實現(xiàn)全系統(tǒng)范圍內(nèi)的任務(wù)分配并自動調(diào)度各處理機的工作負載。 堅強性(強壯性) 高可靠性,2)分布式操作系統(tǒng)的特點 分布式和集中式操作系統(tǒng)的主要區(qū)別在于通訊、資源管理和系統(tǒng)結(jié)構(gòu)三個方面。分布式主要特點是: 系統(tǒng)狀態(tài)的不確定性。各系統(tǒng)內(nèi)結(jié)點自治,且信息傳播需要時間,很難及時和準確把握系統(tǒng)的狀態(tài)信息。 控制機構(gòu)的復雜性。不存在主從關(guān)系或?qū)哟侮P(guān)系,增加了控制的復雜性。 通訊開銷引起性能下降。 3)分布式OS的功能: (1) 進程遷移 (2) 分布式同步 (3) 任務(wù)分配 (4) 資源管理,12 OS的發(fā)展史分布,網(wǎng)絡(luò)和分布式的區(qū)別,1) 分布式系統(tǒng)的各個計算機之間處于平等 地位無主從關(guān)系;網(wǎng)絡(luò)有一些主從關(guān)系 2) 分布式系統(tǒng)資源為所有用戶共享;而網(wǎng)絡(luò)有限制地共享。 3) 分布式系統(tǒng)中一項任務(wù)可分給若干處理單元相互協(xié)作共同完成,而網(wǎng)絡(luò)往往是各司其責,12 OS的發(fā)展史多處理機,8、多處理操作系統(tǒng)(Multi-processor Operating System) 多處理機系統(tǒng)是由多臺處理器組成的計算機系統(tǒng)。多處理操作系統(tǒng)的出現(xiàn)是為了提高計算機系統(tǒng)性能和可靠性。提高性能有兩條途徑:提高各個組成部分的速度、或增大處理的并行程度。1975年前后,出現(xiàn)多處理機系統(tǒng)(multi-processor)。 【多處理機系統(tǒng)的特點】: 增加系統(tǒng)的吞吐量:N個處理器加速比達不到N倍(額外的調(diào)度開銷,算法的并行化) 提高系統(tǒng)可靠性:故障時系統(tǒng)降級運行,【多處理機系統(tǒng)的類型】: 緊密耦合:各處理機之間通過快速總線或開關(guān)陣列相連,共享內(nèi)存,整體系統(tǒng)由一個統(tǒng)一的OS管理(一個OS核心)。 松散耦合:各處理機帶有各自的存儲器、I/O設(shè)備和操作系統(tǒng),通過通道或通信線路相連。每個處理機上獨立運行OS。,12 OS的發(fā)展史多處理機,【多處理操作系統(tǒng)的類型】: 非對稱式多處理:又稱主從模式。 主處理器:只有一個,運行OS。管理整個系統(tǒng)的資源,為從處理器分配任務(wù); 從處理器:可有多個,執(zhí)行應(yīng)用程序或I/O處理。 特點:不同性質(zhì)任務(wù)的負載不均,可靠性不夠高,不易移植(通常要求硬件也是“非對稱“)。 對稱式多處理:OS交替在各個處理器上執(zhí)行。任務(wù)負載較為平均,性能調(diào)節(jié)容易。,12 OS的發(fā)展史多處理機,課堂練習1.3,在設(shè)計分時操作系統(tǒng)時,首先要考慮的是 A ;在設(shè)計實時操作系統(tǒng)時,首先要考慮的是 B ;在設(shè)計批處理系統(tǒng)時,首先要考慮的是 C 。 A、B、C: (1)靈活性和可適應(yīng)性; (2)交互性和響應(yīng)時間; (3)周轉(zhuǎn)時間和系統(tǒng)吞吐量; (4)實時性和可靠性。,答案:A(2),B(4),C(3),課堂練習1.4,為了提高計算機的處理機和外部設(shè)備的利用率,把多個程序同時放入主存,在宏觀上并行運行是 A ;把一個程序劃分成若干個同時執(zhí)行的程序模塊的設(shè)計方法是 B ;多個用戶在終端設(shè)備上的交互方式輸入、排錯和控制其程序的運行是 C ;由多個計算機組成的一個系統(tǒng),這些計算機之間可以通信來交換信息,互相之間無主次之分,它們共享系統(tǒng)資源,程序由系統(tǒng)中的全部或部分計算機協(xié)同執(zhí)行,管理上述計算機系統(tǒng)的操作系統(tǒng)是 D ;有一類操作系統(tǒng)的系統(tǒng)響應(yīng)時間的重要性超過系統(tǒng)資源的利用率,它被廣泛地應(yīng)用于衛(wèi)星控制、飛機訂票業(yè)務(wù)等領(lǐng)域是 E 。 AE:分時OS 實時OS 批處理系統(tǒng) 網(wǎng)絡(luò)OS 分布式OS 單用戶OS 多重程序設(shè)計 多道程序設(shè)計 并發(fā)程序設(shè)計,答案:A(8),B(9),C(1),D(5),E(2),13 OS的功能和主要特征,1.操作系統(tǒng)的功能 操作系統(tǒng)的主要任務(wù)是對系統(tǒng)中的軟件、硬件實施有效的管理,以提高系統(tǒng)資源(主要包括處理機、主存儲器和外存儲器、文件系統(tǒng))的利用率。主要功能如下: (1)處理機管理: (2)存儲管理 (3)設(shè)備管理 (4)信息管理 (5)用戶接口,13 OS的功能和主要特征,(1)處理機管理: 可歸結(jié)為進程管理,包括以下方面 進程控制。創(chuàng)建進程,撤銷進程,控制進程的運行狀態(tài)轉(zhuǎn)換。 進程調(diào)度。從就緒的進程隊列中選擇一進程并把處理機分配給它,設(shè)置現(xiàn)場并是指投入運行。 進程同步。設(shè)置進程同步信息,以協(xié)調(diào)系統(tǒng)中各進程的運行。 進程通訊。負責進程間的信息交換。,13 OS的功能和主要特征,(2)存儲管理: 為多道程序的運行提供良好的環(huán)境,并提高利用率,包括以下方面: 地址重定位。實現(xiàn)邏輯地址到物理地址的轉(zhuǎn)換。 存儲分配。為每道程序分配內(nèi)存空間,并在作業(yè)結(jié)束后收回其所占用內(nèi)存。 存儲保護。保證每道程序之間不能互相侵犯,尤其是不能侵犯操作系統(tǒng)。 存儲擴充。通過建立虛擬存儲系統(tǒng)來實現(xiàn)內(nèi)存邏輯上的擴充。,13 OS的功能和主要特征,(3)設(shè)備管理: 設(shè)備管理的主要目標是方便的設(shè)備使用、提高CPU與I/O設(shè)備利用率。主要包括: 緩沖管理:設(shè)立I/O緩沖區(qū),并對緩沖區(qū)進行有效管理。 設(shè)備分配:按一定策略和設(shè)備使用情況,分配并回收設(shè)備。 設(shè)備處理:即設(shè)備驅(qū)動程序,實現(xiàn)CPU和設(shè)備控制器之間的通訊等。 設(shè)備獨立性和虛擬設(shè)備:獨立性指應(yīng)用程序獨立于物理設(shè)備,使用戶編程與實際使用的設(shè)備無關(guān),增強了可移植性。虛擬設(shè)備指將低速的設(shè)備改造為高速的共享設(shè)備。,13 OS的功能和主要特征,(4)信息管理(文件系統(tǒng)管理): 對用戶文件和系統(tǒng)文件進行管理,解決文件資源的存儲、共享、保密和保護。包括以下方面: 目錄管理:為每一文件建立目錄項,并對目錄實施有效的組織與管理。 文件的讀寫管理和存取控制:解決信息安全問題。系統(tǒng)設(shè)口令“哪個用戶”、用戶分類“哪個用戶組”、文件權(quán)限“針對用戶或用戶組的讀寫權(quán)”。 文件存儲空間管理:解決如何存放信息,以提高空間利用率和讀寫性能。 軟件管理:軟件的版本、相互依賴關(guān)系、安裝和拆除等。,13 OS的功能和主要特征,(5)用戶接口 目標是提供一個友好的用戶訪問操作系統(tǒng)的接口。操作系統(tǒng)提供三種接口: 命令接口:亦稱為作業(yè)控制機接口,分為聯(lián)機命令和脫機命令接口。供用戶用于組織和控制自己的作業(yè)運行。命令行;命令腳本“脫機”。 程序接口:用戶獲得操作系統(tǒng)服務(wù)的唯一途徑。供用戶程序和系統(tǒng)程序調(diào)用操作系統(tǒng)功能。系統(tǒng)調(diào)用和高級語言庫函數(shù)。 圖形接口:圖形用戶界面GUI,方便用戶使用。如窗口、菜單等。,13 OS的功能和主要特征,2.現(xiàn)代操作系統(tǒng)的主要特征 設(shè)置操作系統(tǒng)的目的就是提高計算機系統(tǒng)的效率,增強系統(tǒng)的處理能力,充分發(fā)揮系統(tǒng)的利用率,方便用戶使用。因此現(xiàn)代操作系統(tǒng)普遍采用以多道程序設(shè)計為基礎(chǔ)的并行操作技術(shù)。主要特征如下: (1)并發(fā)性(concurrency) (2)共享性(sharing) (3)虛擬性(virtual) (4)異步性(asynchronism),13 OS的功能和主要特征,(1)并發(fā)性(concurrency) 多個事件在同一時間段內(nèi)發(fā)生。操作系統(tǒng)是一個并發(fā)系統(tǒng),各進程間的并發(fā),系統(tǒng)與應(yīng)用間的并發(fā)。操作系統(tǒng)要完成這些并發(fā)過程的管理。并行(parallel)是指在同一時刻發(fā)生。 在多道程序處理時,宏觀上并發(fā),微觀上交替執(zhí)行(在單處理器情況下) 。 程序的靜態(tài)實體是可執(zhí)行文件,而動態(tài)實體是進程(或稱作任務(wù)),并發(fā)指的是進程。,13 OS的功能和主要特征,(2)共享性(sharing) 多個進程共享有限的計算機系統(tǒng)資源。操作系統(tǒng)要對系統(tǒng)資源進行合理分配和使用。資源在一個時間段內(nèi)交替被多個進程所用。 互斥共享方式(如音頻設(shè)備),資源分配后到釋放前,不能被其他進程所用。 同時訪問方式,(如可重入代碼,磁盤文件)。 資源分配難以達到最優(yōu)化,13 OS的功能和主要特征,(3)虛擬性(virtual) 一個物理實體映射為若干個對應(yīng)的邏輯實體(分時或分空間)。虛擬是操作系統(tǒng)管理系統(tǒng)資源的重要手段,可提高資源利用率。 CPU每個用戶(進程)的“虛處理機”。 存儲器每個進程都占有的地址空間(指令數(shù)據(jù)堆棧)。 顯示設(shè)備多窗口或虛擬終端 如虛擬光驅(qū),虛擬機(VMWare, Virtual PC等),13 OS的功能和主要特征,(4)異步性(asynchronism) 異步性也稱不確定性,指進程的執(zhí)行順序和執(zhí)行時間及執(zhí)行結(jié)果的不確定性: 程序執(zhí)行結(jié)果不確定,不可再現(xiàn)。相同輸入與環(huán)境下多次運行結(jié)果不同。 多道程序設(shè)計環(huán)境下,程序按異步方式運行。多個進程并發(fā)執(zhí)行,“時走時?!保豢深A(yù)知每個進程的運行推進快慢,引發(fā)執(zhí)行順序與時間的不確定。,1.4 操作系統(tǒng)的機制和策略,1.操作系統(tǒng)界面 兩個界面:程序界面和操作界面。 2.核心態(tài)和用戶態(tài) (1)核心態(tài)(管態(tài)、系統(tǒng)態(tài))與用戶態(tài)(目態(tài)、非系統(tǒng)態(tài))。 (2)特權(quán)指令與非特權(quán)指令:只能在核心態(tài)下處理機才能夠執(zhí)行的指令稱為特權(quán)指令,其它的指令稱為非特權(quán)指令。 (3) 狀態(tài)轉(zhuǎn)換:訪管指令指訪問核心態(tài)下的程序指令。在奔騰處理機中通過軟中斷指令實現(xiàn)處理機的狀態(tài)從用戶態(tài)向核心態(tài)的切換,通過中斷返回指令實現(xiàn)從核心態(tài)向用戶態(tài)的切換。 3.特權(quán)指令 特權(quán)指令為了實現(xiàn)保護,防止某些用戶執(zhí)行一些惡意的操作。典型的特權(quán)指令如下: (1) 輸入/輸出指令 (2) 開關(guān)中斷指令: (3) 停機指令: (4) 訪問特殊功能寄存器:,中斷和異常:如果由于當前正在執(zhí)行指令的原因而引起處理機暫停執(zhí)行當前程序,稱為異常。異常是由處理機所執(zhí)行的程序本身引起的,一般用于操作系統(tǒng)實現(xiàn)某些機制。而如果不是由于當前正在執(zhí)行的指令的原因而引起處理機暫停執(zhí)行當前程序,稱為中斷。中斷一般用于輸入/輸出時外設(shè)請求處理機對其進行處理。 異常的產(chǎn)生的原因: (1)應(yīng)用程序執(zhí)行的指令在邏輯上就是錯誤的,例如應(yīng)用程序執(zhí)行了非法指令(引起非法指令異常)、又如在用戶態(tài)下執(zhí)行了特權(quán)指令(引起保護異常)等; (2)當前執(zhí)行的程序是正確的,但是由于某些原因,應(yīng)用程序當前執(zhí)行的指令無法執(zhí)行,解決了這些原因以后,應(yīng)用程序也就能夠繼續(xù)執(zhí)行了,而這些原因一般是能夠解決的。如存儲訪問失效異常屬于第二類異常。 可恢復異常的產(chǎn)生和處理是實現(xiàn)操作系統(tǒng)時很重要的一種機制,許多操作系統(tǒng)功能都是通過可恢復異常實現(xiàn)的。,4.可恢復異常和指令重啟動,5.操作系統(tǒng)機制和策略,6.操作系統(tǒng)內(nèi)核 系統(tǒng)必須有一個部分能對硬件處理器及有關(guān)資源進行首次改造,以便給進程的執(zhí)行提供良好運行環(huán)境,這個部分就是操作系統(tǒng)的內(nèi)核。內(nèi)核結(jié)構(gòu)有微內(nèi)核和單內(nèi)核之分。 內(nèi)核必須提供以下三方面功能:設(shè)計內(nèi)核要少而精 (1) 中斷處理。中斷處理要簡單 (2) 短程調(diào)度。調(diào)度算法要有效 (3) 原語管理。原語應(yīng)靈活有力,數(shù)量適當 內(nèi)核的執(zhí)行有以下屬性: (1)內(nèi)核是由中斷驅(qū)動的。 (2)內(nèi)核的執(zhí)行是連續(xù)的。 (3)內(nèi)核在屏蔽中斷狀態(tài)下執(zhí)行。 (4)內(nèi)核可以使用特權(quán)指令。,操作系統(tǒng)中各個部分的功能、作用及其相互關(guān)系,稱為操作系統(tǒng)機制。機制問題也就是總體結(jié)構(gòu)問題,或者說總體框架問題。確定了操作系統(tǒng)機制以后,具體到每一部分如何實現(xiàn),就需要一定的算法,這些算法屬于操作系統(tǒng)策略的問題。,內(nèi)核的作用:是操作系統(tǒng)對裸機的第一次改造,內(nèi)核和裸機組成了一臺沒有中斷虛擬機。虛擬機的特點: (1) 虛擬機為每個進程提供了一臺虛擬處理器,每個進程就好象在各自的私有處理器上順序地推進,實現(xiàn)了多個進程的并發(fā)執(zhí)行。 (2) 虛擬機為進程提供了功能較強的指令系統(tǒng),即它們能夠使用機器非特權(quán)指令,系統(tǒng)調(diào)用和原語所組成的新的指令系統(tǒng)。,7.核外抽象 (1)進程:運行中的程序 (2)線程:在一個多線程環(huán)境中,進程是系統(tǒng)進行保護和資源分配的單位,而線程則是進程中一條執(zhí)行路徑,每個進程中允許有多個并行執(zhí)行的路徑,而線程才是系統(tǒng)進行調(diào)度的單位。,(3) 管程,管程是管理共享資源的程序(一種同步機制),對管程的調(diào)用表示對共享資源的請求與釋放。管程與進程的區(qū)別: 管程定義的是公用數(shù)據(jù)結(jié)構(gòu),而進程則是私有數(shù)據(jù)結(jié)構(gòu); 管程把共享變量上的同步操作集中起來,而臨界區(qū)卻分散在每個進程中; 管程是為管理共享資源而建立的,進程主要是為實現(xiàn)系統(tǒng)的并發(fā)性而引入的; 管程是被欲使用共享資源的進程所調(diào)用的,管程和調(diào)用它的進程不能并行工作,而進程之間能并行工作,并發(fā)性是其固有特性; 管程是語言或操作系統(tǒng)的成分,不必創(chuàng)建或撤銷,而進程有生命周期,由創(chuàng)建而產(chǎn)生至撤銷便消亡。,(4) 類程,類程用于管理私有資源,對類程的調(diào)用表示對私有資源的操作。它僅能被進程及起源于同一進程的其它類程或管程嵌套調(diào)用鏈所調(diào)用。其本身也可以調(diào)用其它類程或管程。類程可以看作子程序概念的擴充,但一個類程可以包含多個過程,不像子程序僅僅一個。 采用進程、管程、類程實現(xiàn)的操作系統(tǒng)中,進程在執(zhí)行過程中若請求使用共享資源,則可以調(diào)用管程;若要控制私有資源操作,可以調(diào)用類程,這樣便于使用高級程序設(shè)計語言來書寫操作系統(tǒng)。1975年,漢森使用這一方法就成功地在PDP 11/45機上實現(xiàn)了:單用戶操作系統(tǒng)Solo、處理小作業(yè)的作業(yè)流系統(tǒng)和過程控制實時調(diào)度系統(tǒng)等三個層次管程結(jié)構(gòu)的操作系統(tǒng)。,8.Pentium處理機中的特權(quán)級,以Pentium處理器為例,介紹操作系統(tǒng)機制和策略的一個具體的例子。 在保護模式下,Pentium處理器采用段頁式尋址,共有六個段寄存器:CS、DS、SS、ES、FS、GS。段寄存器中的內(nèi)容包括兩個部分:可見部分和不可見部分,其中可見部分共十六位,其格式如下圖所示: 在特權(quán)級方面,有4個特權(quán)級(Linux和Windows只用了2個)。,特權(quán)級的使用: 應(yīng)用程序給出的特權(quán)級稱為請求特權(quán)級(RPL) 全局描述符表和局部描述符表中保存的特權(quán)級稱為描述符特權(quán)級(DPL) CS段寄存器中的特權(quán)級稱為當前特權(quán)級(CPL) 請求特權(quán)級和當前特權(quán)級中較低的特權(quán)級稱為有效特權(quán)級(EPL)。由于較低的特權(quán)級數(shù)值較高,所以EPL=max(RPL,CPL)。 只有當請求特權(quán)級(RPL)低于進程的描述符特權(quán)級(DPL)和當前特權(quán)級(CPL)時(即RPL=DPL & RPL=CPL),對段寄存器的賦值才是有效的,否則應(yīng)用程序不能訪問段中的數(shù)據(jù)。,示例:Pentium處理器中的段寄存器與段描述符表,全局段描述符表(TI=0),局部段描述符表(TI=1),四級特權(quán)級,第0級級別最高(核心態(tài)),第3級級別最低(用戶態(tài))。,應(yīng)用程序在處理機上運行時,當把一個段選擇子裝入CS寄存器時,就會發(fā)生控制轉(zhuǎn)移,控制轉(zhuǎn)移可能影響當前的特權(quán)級??赡艿目刂妻D(zhuǎn)移有下面幾種: (1) 同一特權(quán)級的段間轉(zhuǎn)移 (2) 到相同或更高特權(quán)級的段間轉(zhuǎn)移(可以改變CPL)。 (3) 到相同或更高特權(quán)級的任務(wù)內(nèi)的中斷(可以改變CPL)。 (4) 到較低特權(quán)級的段間轉(zhuǎn)移(改變?nèi)蝿?wù)的CPL)。 (5) 任務(wù)切換。 這里要說明的是,所有的控制轉(zhuǎn)移,都必須服從特權(quán)規(guī)則,這些規(guī)則包括: (1) 若控制轉(zhuǎn)移要求特權(quán)級發(fā)生變化,則必須通過門。 (2) 若使用JMP指令產(chǎn)生段間控制轉(zhuǎn)移,則只能在同一特權(quán)級別中進行。 (3) 若使用CALL指令產(chǎn)生段間控制轉(zhuǎn)移,則可以在同一特權(quán)級別內(nèi),也可以通過門轉(zhuǎn)移到更到的特權(quán)級。 (4) 同一任務(wù)內(nèi)處理的中斷,遵循與CALL調(diào)用指令相同的規(guī)則。 (5) CPL和指向門選擇器的RPL的級別必須大于或者等于門的DPL(描述符特權(quán)級)。 (6) 并不切換任務(wù)的返回指令,只能將控制返回到相同和更低的特權(quán)級的代碼段。 (7) 任務(wù)切換可以由CALL、JMP和INT指令完成,若在任務(wù)切換時涉及任務(wù)或任務(wù)狀態(tài)段,則它們的特權(quán)級必須低于或者等于老任務(wù)的CPL。,15 操作系統(tǒng)的體系結(jié)構(gòu),現(xiàn)代操作系統(tǒng)從內(nèi)部結(jié)構(gòu)劃分,通常包含兩部分:一是內(nèi)核;二是核外部分,其余通常是一些實用程序。 1、操作系統(tǒng)的內(nèi)核 1)內(nèi)核在操作系統(tǒng)中的地位: OS內(nèi)核是對硬件的首次擴充,是實現(xiàn)操作系統(tǒng)各項功能的基礎(chǔ)。 傳統(tǒng)操作系統(tǒng)內(nèi)核包括以下功能模塊: 進程、線程及其管理 存儲管理。 I/O管理 文件系統(tǒng)。,15 操作系統(tǒng)的體系結(jié)構(gòu),2)強內(nèi)核與微內(nèi)核: 操作系統(tǒng)有兩種內(nèi)核組織形式: 強內(nèi)核(Monolithic Kernel) :通過陷入內(nèi)核實現(xiàn)系統(tǒng)調(diào)用,即在內(nèi)核完成所需要的服務(wù)后將結(jié)果返回給用戶程序,如UNIX采用的這種結(jié)構(gòu)。 微內(nèi)核(Micro Kernel) :微內(nèi)核的基本思想是良好的結(jié)構(gòu)化、模塊化、最小的公共服務(wù)。 微內(nèi)核只提供最基本、最必要的服務(wù):供進程間通訊、有些存儲管理、有限的低級進程管理和調(diào)度、低級I/O四種服務(wù)。,微內(nèi)核的特點,【優(yōu)點】: 良好的擴充性:只需添加支持新功能的服務(wù)進程即可。 可靠性好:調(diào)用關(guān)系明確,執(zhí)行轉(zhuǎn)移不易混亂 便于網(wǎng)絡(luò)服務(wù),實現(xiàn)分布式處理:以同樣的調(diào)用形式,在下層可通過核心中的網(wǎng)絡(luò)傳送到遠方服務(wù)器上(遠地過程調(diào)用 RPC, Remote Procedure Call)。 【缺點】: 消息傳遞比直接調(diào)用效率要低一些 (但可以通過提高硬件性能來補償 ),UNIX的內(nèi)核結(jié)構(gòu),15 操作系統(tǒng)的體系結(jié)構(gòu),2、操作系統(tǒng)的結(jié)構(gòu)設(shè)計 【OS結(jié)構(gòu)設(shè)計模式】:是將操作系統(tǒng)所提供的特性、服務(wù)以及系統(tǒng)所執(zhí)行的任務(wù)統(tǒng)一成一體的一個概括性的框架。 隨著操作系統(tǒng)的發(fā)展,功能越強,OS自身代碼量越大。操作系統(tǒng)采用良好的結(jié)構(gòu):有利于保證正確性以及自身修改和擴充。四種模式: (1)整體或模塊結(jié)構(gòu) (2)分層結(jié)構(gòu)或虛擬機 (3)客戶/服務(wù)器模型或微內(nèi)核結(jié)構(gòu) (4)面向?qū)ο蠹夹g(shù),操作系統(tǒng)的設(shè)計原則,可維護性:容易修改與否稱為可維護性: 改錯性維護:改正已發(fā)現(xiàn)的錯誤; 適應(yīng)性維護:修改軟件,使之適應(yīng)新的運行環(huán)境(軟、硬件環(huán)境);如:操作系統(tǒng)的移植。 完善性維護:增加新功能; 可靠性:可靠性包括兩方面: 正確性:正確實現(xiàn)所要求的功能和性能; 穩(wěn)健性:對意外(故障和誤操作)作出適當?shù)奶幚恚?可理解性:易于理解,以方便測試、維護和交流; 性能:有效地使用系統(tǒng)資源;盡可能快地響應(yīng)用戶請求;,(1)整體或模塊結(jié)構(gòu),整個系統(tǒng)按功能進行設(shè)計和模塊劃分。系統(tǒng)是一個單一的、龐大的的軟件系統(tǒng)。這種結(jié)構(gòu)思想來源于服務(wù)功能觀點,而不是資源管理的觀點。 【模塊結(jié)構(gòu)的特點】: 模塊由眾多服務(wù)過程(模塊接口)組成,可以隨意調(diào)用其他模塊中的服務(wù)過程。 優(yōu)點:具有一定靈活性,在運行中的高效率 缺點:功能劃分和模塊接口難保正確和合理;模塊之間的依賴關(guān)系(功能調(diào)用關(guān)系)復雜(調(diào)用深度和方向),降低了模塊之間的相對獨立性,不利于修改。,(2)分層結(jié)構(gòu)或虛擬機,從資源管理觀點出發(fā),劃分層次。在某一層次上代碼只能調(diào)用低層次上的代碼,使模塊間的調(diào)用變?yōu)橛行蛐?。系統(tǒng)每加一層,就構(gòu)成一個比原來功能更強的虛擬機。有利于系統(tǒng)的維護性和可靠性。 【優(yōu)點】: 功能明確,調(diào)用關(guān)系清晰(高層對低層單向依賴),有利于保證設(shè)計和實現(xiàn)的正確性。 低層和高層可分別實現(xiàn)(便于擴充);高層錯誤不會影響到低層;避免遞歸調(diào)用。 【缺點】:降低了運行效率,被調(diào)用功能在低層:如文件系統(tǒng)管理-設(shè)備管理-設(shè)備驅(qū)動程序 活躍功能在低層:提高運行效率 資源管理的公用模塊放在最低層:如緩沖區(qū)隊列、堆棧操作 存儲器管理放在次低層:便于利用虛擬存儲功能 最低層的硬件抽象層:與機器特點緊密相關(guān)的軟件放在最低層。 資源分配策略放在最外層,便于修改或適應(yīng)不同環(huán)境,各系統(tǒng)對具體劃分多少層次有不同的看法。,分層原則,典型虛擬機VM/370,VM/370基于如下的思想:一個分時系統(tǒng)應(yīng)該提供以下特性:(1)多道程序,(2)一個具有比裸機更方便、界面擴展的計算機。VM/370的主旨在于將此二者徹底地隔離開來。 VM/370的體系結(jié)構(gòu)如圖1-6所示,它在裸機上運行并具備多道程序功能,它向上層提供了若干臺虛擬機。但與其它操作系統(tǒng)不同的是:這些虛擬機不是那種具有文件等良好特征的擴展計算機,而僅僅是裸機硬件的精確復制,它包含有:核心態(tài)/用戶態(tài)、I/O功能、中斷、以及真實硬件具有的全部內(nèi)容。,因為每臺虛擬機都與裸機完全一樣,所以每臺虛擬機可以運行裸機能夠運行的任何操作系統(tǒng)。不同的虛擬機可以運行不同的操作系統(tǒng)而且往往如此。某些虛擬機運行OS/360的后續(xù)版本作批處理或事務(wù)處理,而同時另一些運行一個單用戶交互系統(tǒng)供分時用戶使用,該系統(tǒng)稱作CMS(會話監(jiān)控系統(tǒng))。 當CMS上的程序執(zhí)行一條系統(tǒng)調(diào)用時,該系統(tǒng)調(diào)用陷入其自己的虛擬機的操作系統(tǒng),而不是VM/370,這就象在真正的計算機上一樣。CMS然后發(fā)出正常的硬件I/O指令來執(zhí)行該系統(tǒng)調(diào)用。這些I/O指令被VM/370捕獲,隨后VM/370執(zhí)行這些指令,作為對真實硬件模擬的一部分。通過將多道程序功能和提供虛擬機分開,它們各自都更簡單,更靈活和易于維護。 現(xiàn)在虛擬機的思想被廣泛采用:例如在奔騰CPU(或其它Intel的32位CPU)上運行老的MSDOS程序時就采用了虛擬機的思想。不過在實現(xiàn)技術(shù)上,二者并不完全相同。,(3)客戶/服務(wù)器模型或微內(nèi)核結(jié)構(gòu),把操作系統(tǒng)分成若干分別完成一組特定功能的服務(wù)進程(服務(wù)器),等待客戶提出請求;而系統(tǒng)內(nèi)核只實現(xiàn)操作系統(tǒng)的基本功能(如:虛擬存儲、消息傳遞)。 服務(wù)器運行于用戶態(tài),并循環(huán)檢測是否有客戶請求服務(wù)??蛻艨梢允且粋€應(yīng)用程序或者是另一操作系統(tǒng)成分。 用戶內(nèi)核服務(wù)器通過消息聯(lián)系,如圖所示。,客戶/服務(wù)器模式下的操作系統(tǒng)模型,15 操作系統(tǒng)的體系結(jié)構(gòu),【客戶/服務(wù)器模型優(yōu)點】: 簡化了基本操作服務(wù),縮小了內(nèi)核。提供了多種API且易于維護。 提高了可靠性。服務(wù)程序在用戶態(tài),且獨立運行,不能直接訪問硬件。 適合分布式計算環(huán)境。采用客戶/服務(wù)器為基礎(chǔ),且使用消息傳遞進行通訊。,(4)面向?qū)ο蠹夹g(shù),對象是指具有相同屬性、服從相同規(guī)則的一類事物的抽象, 其中的具體事物稱為對象的實例; 將數(shù)據(jù)結(jié)構(gòu)和定義在其上的一組操作封裝起來表示某個對象。這樣數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)對外都是隱蔽的, 必須通過封裝其內(nèi)的操作(函數(shù))對它們訪問。 【優(yōu)點】: 可修改性和可擴充性 繼承性 正確性和可靠性,16 典型操作系統(tǒng)簡介,1.6.1 UNIX 操作系統(tǒng) 1.UNIX操作系統(tǒng)的誕生 1965年麻省理工學院(MIT)、美國電報電話公司(AT&T)的貝爾實驗室(Bell labs)和通用電氣公司(GE)開始多用戶分時操作系統(tǒng)Multics的開發(fā)工作。1969年Multics開始在GE 645計算機系統(tǒng)上運行,但它未能實現(xiàn)原定目標。 Multics直接導致了一個聲名顯赫的操作系統(tǒng)UNIX橫空出世。 在退出Multics的研究之后,Bell Labs的 Ken Thompson發(fā)現(xiàn)當時鮮有人使用的DEC PDP-7計算機既便宜,又有較好的圖形顯示功能,于是決定把“Space Travel(一個電玩)”移植到 PDP-7上。但是PDP-7無可用的編輯器,為此,Thompson和Ritchie用匯編語言首先開發(fā)成功了16位的UNIX操作系統(tǒng)。,UNIX繼承了Multics的文件系統(tǒng)的樹型結(jié)構(gòu)、SHELL命令語言、面向過程的結(jié)構(gòu)化設(shè)計方法和采用高級語言編寫操作系統(tǒng)的特點。UNIX 短小精悍,另一個開發(fā)人員Brian Kernig-han 戲稱道,是與Multics相比的雙關(guān)語:UNI表示“一個”而MULTI表示“多個”,“X”是“cs”的諧音。 UNIX的第一次實用,即為滿足Bell Labs專利部對正文處理的要求而在1971年運行在 PDP-11上。它第一次暗示了UNIX將成為一個能在所有計算機上運行的操作系統(tǒng)。1973年11, Thompson和Ritchie用C語言重寫了UNIX系統(tǒng),事實上今天所有的UNIX實現(xiàn)版本基本上都是用C語言編寫的。,小知識:UNIX 與C,在UNIX出現(xiàn)以前,一個操作系統(tǒng)必須完全用匯編語言寫成,始能讓機器發(fā)揮最高效能。Thompson與Ritchie,是頭幾位領(lǐng)悟硬體與編譯器的技術(shù),已經(jīng)進步到作業(yè)系統(tǒng)可以完全用高階語言如C來寫,仍保有不錯的效能。五年後,Unix已經(jīng)成功地移植到數(shù)種機器上。 這當時是一件不可思議的事!它意味著,如果Unix可以在各種平臺上跑的話,Unix 軟件就能移植到各種機器上。再也用不著為特定的機器寫軟件了,能在Unix上跑最重要,重新發(fā)明輪子已經(jīng)成為過去式了。 除了跨平臺的優(yōu)點外,Unix與C還有許多顯著的優(yōu)勢。Unix與C的設(shè)計哲學是“Keep It Simple, Stupid(簡稱KISS )”。programmer可以輕易掌握整個C的邏輯結(jié)構(gòu)(不像其他之前或以後的程式語言)而不用一天到晚翻手冊寫程式。 Ken Thompson與Dennis Ritchie是唯一兩位獲得Turing Award(圖靈獎)的工程師(其他都是學者)。

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論