未知用戶-操作系統(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ù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論