操作系統(tǒng)-第一章操作系統(tǒng)概述_第1頁
操作系統(tǒng)-第一章操作系統(tǒng)概述_第2頁
操作系統(tǒng)-第一章操作系統(tǒng)概述_第3頁
操作系統(tǒng)-第一章操作系統(tǒng)概述_第4頁
操作系統(tǒng)-第一章操作系統(tǒng)概述_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)

OperatingSystems第一章微電子老楊修訂2WelcometoUs!課程信息課程組成:課堂授課45/60學時(1-12/15周)

課程適用專業(yè):

微電子系嵌入式方向各專業(yè)每周四個課時

Keepfighting!先修課程:數(shù)據(jù)結構 計算機組成原理

C語言程序設計 匯編語言后繼課程:嵌入式系統(tǒng)開發(fā)應用設計

android相關課程

linux應用和驅(qū)動設計WP應用設計地位:相當重要!?。。?!OSLec134Contactwithme!授課教師:楊建軍Email:jianjun.yang999@QQ:1379459141

Tel:134389198225TextBook&Reference課本:《操作系統(tǒng)》,諶衛(wèi)軍王浩娟編著,清華大學出版設參考書:《現(xiàn)代操作系統(tǒng)》第三版,

ModernOperatingSystems,AndrewS.Tanenbaum著, 陳向群等譯,機械工業(yè)出版社。6Further……IhearandIforget,IseeandIremember,IdoandIunderstand.《計算機操作系統(tǒng)》,湯子瀛等,西安電子科技大學出版社OperatingSystems:DesignandImplementation,AndrewS.TanenbaumLinux內(nèi)核源代碼情景分析嵌入式實時操作系統(tǒng)uC/OS-II(第2版)O'Reilly-UnderstandingtheLinuxKernel7RulesNOCOPYINGofhomeworksorprojects

(asinglecaseofcopying

BOTHpartieswillgetZEROpointforALLassignments)NOCHEATINGinexams

(BOTHpartieswillgetZEROpointsforthatexam)Class

Attendance:On-the-flyroll-call3ormoretimesabsentgetZEROpointsforfinalscoreNopains,nogains!8TestandGrade課堂成績:10%作業(yè)成績:20%考試成績:70%Keepyourmobilephonesilence!學習要求:按時上課,認真聽講;閱讀參考書,思考,討論;獨立完成作業(yè)。9WhyyouneedtolearnOS?設計或修改現(xiàn)有操作系統(tǒng);加深對使用的OS的理解,有利于深入編程;涉及到計算機科學的很多領域;大型、復雜系統(tǒng)的設計,思維方式的學習;……吸收手機、PDA、汽車電子、機頂盒……10Weaimat……Not:如何使用操作系統(tǒng);But:理解操作系統(tǒng)如何工作。操作系統(tǒng)的基本概念,基本結構及工作方式;操作系統(tǒng)內(nèi)部算法和數(shù)據(jù)結構;設計OS過程中的問題、解決方案和折中權衡第一章操作系統(tǒng)概論12操作系統(tǒng)概論什么是操作系統(tǒng)操作系統(tǒng)的發(fā)展歷史操作系統(tǒng)的功能操作系統(tǒng)的特征操作系統(tǒng)的分類操作系統(tǒng)的結構131.1什么是操作系統(tǒng)什么是微機系統(tǒng)1.微型計算機的工作原理是什么?(2分)微電子系老楊修訂14現(xiàn)在假設,有三個任務需要交給某臺微機進行處理,三個任務需要使用的微機中資源的時間如下:A:輸入24ms,cpu計算12ms,打印23msB:輸入8ms,cpu計算38ms,輸出2msC:輸入17ms,cpu處理7ms,打印15ms問,該微機完成這樣的三個任務總共需要多長時間?為什么?(4分)微電子系老楊修訂15161.1什么是操作系統(tǒng)計算機系統(tǒng)軟硬件資源的管理者為用戶提供一臺等價的擴展機器(ExtendedMachine)或虛擬機(VirtualMachine)最重要、最基本、最復雜的系統(tǒng)程序,控制應用程序執(zhí)行的程序操作系統(tǒng)的地位:17硬件:改進的VonNeuman機的五大部件

(輸/出設備、運算器、控制器、存貯器)軟件:系統(tǒng)軟件:管理計算機本身的操作,并為應用程序提供編程環(huán)境應用軟件:直接面向用戶,為之解決各類問題計算機系統(tǒng)(層次結構)軟件硬件及固件(裸機)應用軟件系統(tǒng)軟件編輯軟件,編譯軟件操作系統(tǒng)計算機系統(tǒng)18OS是計算機硬件、軟件資源的管理者;OS是用戶使用系統(tǒng)硬件、軟件的接口;OS是擴展機(extendedmachine)/虛擬機(virtualmachine):定義:計算機操作系統(tǒng)是指控制和管理計算機的軟、硬件資源,合理組織計算機的工作流程,方便用戶使用的程序集合。操作系統(tǒng)的定義19方便性(用戶的觀點)有效性(系統(tǒng)管理人員的觀點)可擴充性(升級的觀點)開放性(兼容的觀點)引入操作系統(tǒng)的目標201.2操作系統(tǒng)的發(fā)展歷史操作系統(tǒng)發(fā)展是隨著計算機硬件技術、應用軟件的發(fā)展而發(fā)展的。目標:充分利用硬件,提供更好的服務。第一代:手工操作第二代:單道批處理系統(tǒng)第三代:多道批處理系統(tǒng)第四代:分時系統(tǒng)新發(fā)展:個人計算機、實時系統(tǒng)、網(wǎng)絡與分布式系統(tǒng)、移動計算、……21第一代:手工操作1945~1955,vacuumtubes&plugboards機器的特點語言:機器語言操作系統(tǒng):無用途:數(shù)學計算輸入輸出:插件板、 紙帶、卡片存在問題:計算機處理能力的提高,手工操作的低效率,造成浪費。22第二代:單道批處理系統(tǒng)1955~1965,transistors&simplebatchsystems大型機,mainframe語言:匯編語言,F(xiàn)ORTRAN,作業(yè)(job)操作系統(tǒng):FMS(FortranMonitorSystem),IBSYS(IBM為7094機配備的操作系統(tǒng))用途:較復雜的科學工程計算聯(lián)機批處理脫機批處理IBM7094232425批處理操作系統(tǒng)-現(xiàn)代操作系統(tǒng)雛型運行一個作業(yè)的步驟:將程序?qū)懺诩埳希ㄓ酶呒壵Z言或匯編語言)穿孔成卡片,再將卡片盒交給操作員計算結果從打印機上輸出操作員到打印機上撕下運算結果送到輸出室程序員稍后可從輸出室取到結果操作員從輸入室的卡片盒中讀入另一個任務如果需要FORTRAN編譯器,還要把它取來讀入計算機缺點:機時在走來走去時浪費掉26通道和中斷技術單道批處理系統(tǒng):優(yōu)點:同一批內(nèi)各作業(yè)自動依次更替,改善了主機CPU和I/O設備的使用效率,提高了吞吐量。主要問題:CPU和I/O設備使用忙閑不均,取決于作業(yè)特性。計算為主的作業(yè),外設空閑;I/O為主的作業(yè),CPU空閑;通道和中斷技術通道:用于控制I/O設備與內(nèi)存間的數(shù)據(jù)傳輸。啟動后可獨立于CPU運行,實現(xiàn)CPU與I/O的并行。中斷:指CPU在收到外部中斷信號后,停止原來工作,轉(zhuǎn)去處理該中斷事件,完畢后回到原來斷點繼續(xù)工作。27第三代:多道批處理系統(tǒng)1965~1980,ICs&Multiprogramming特點:使用集成電路(e.g.IBMSystem/360)操作系統(tǒng):復雜、龐大(e.g.OS/360)多道:內(nèi)存中同時存放幾個作業(yè);幾項新技術:Multiprogramming,SpoolingOSLec128IBMSystem/3601964年IBM宣布推出System/360計算機系統(tǒng)第一個采用小規(guī)模集成電路的主流機型由于所有的計算機都有相同的體系結構和指令集在理論上,為一型號編寫的程序可以在其他型號機器上運行OSLec129OS/360,龐大的軟件怪獸數(shù)千名程序員寫的數(shù)百萬行匯編語言代碼系統(tǒng)自身占據(jù)了大量存儲空間和一半的CPU時間數(shù)百萬行匯編代碼中有成千上萬處錯誤IBM不斷發(fā)行新的版本試圖更正這些錯誤,但每個新版本在更正老錯誤的同時又引入新錯誤隨著時間的流逝,錯誤的數(shù)量大致保持不變OSLec130多道程序設計ExampleOSLec131OSLec132Example兩個程序:A程序按順序使用CPU10秒,使用設備甲5秒,使用CPU5秒,使用設備乙10秒,最后使用CPU10秒。B程序順序使用設備甲10秒,使用CPU10秒,使用設備乙5秒,使用CPU5秒,使用設備乙10秒。計算(不計程序切換時間):(1)順序環(huán)境下執(zhí)行A程序和B程序,CPU的利用率是多少?(2)多道程序環(huán)境下,CPU的利用率是多少?OSLec133程序A和程序B順序執(zhí)行時,程序A執(zhí)行完畢,程序B才開始執(zhí)行。兩個程序共耗時80秒,其中占用CPU時間為40秒。故順序執(zhí)行時CPU利用率為50%。多道程序環(huán)境下,兩個程序并發(fā)的執(zhí)行,如圖所示??梢钥闯鰞蓚€程序共耗時45秒,其中占用CPU時間為40秒。故此時CPU利用率為40/45=88.89%。OSLec134Features優(yōu)點:資源利用率高(CPU、內(nèi)存、I/O);作業(yè)吞吐量大缺點:用戶交互性差;作業(yè)平均周轉(zhuǎn)時間長OSLec135第四代分時系統(tǒng)70年代中期至今,time-sharingsystem多個用戶分享使用同一臺計算機。多個程序分時共享硬件和軟件資源。通常按時間片(timeslice)分配:各個程序在CPU上執(zhí)行的輪換時間。操作系統(tǒng):CTSS(M.I.T.)Multics(computercommunity)OSLec136Features同時性:也稱為多路性。若干用戶同時與一臺計算機相連,宏觀上看各個用戶在同時使用計算機,他們是并行的;微觀上看各個用戶在輪流使用計算機。交互性:用戶通過終端設備(如鍵盤、鼠標)向系統(tǒng)發(fā)出請求,并根據(jù)系統(tǒng)的響應結果再向系統(tǒng)發(fā)出請求,直至得到滿意的結果。獨立性:每個用戶使用各自的終端與系統(tǒng)交互,彼此獨立、互不干擾。及時性:指用戶向系統(tǒng)發(fā)出請求后,應該在較短的時間內(nèi)得到響應。響應時間:指從用戶發(fā)出命令到系統(tǒng)給予反應所經(jīng)歷的時間。OSLec137第一個分時操作系統(tǒng)CTSS分時系統(tǒng)的思想——1959年在MIT提出每個用戶有一個聯(lián)機終端調(diào)試程序的用戶常常只發(fā)出簡短的命令計算機能夠為許多用戶提供交互式、快速服務,同時在CPU空閑時還能在后臺運行大作業(yè)OSLec138MULTICS的災難MULTICS(MULTiplexedInformationandComputingService)MULTICS設計目標:便利的終端使用,高可靠的大型文件系統(tǒng)引入了許多現(xiàn)代操作系統(tǒng)領域概念雛形,對隨后的操作系統(tǒng)特別是UNIX的成功有巨大的影響TheMulticsTerminalRoomin1972TheMulticssystem.ThemotherofallUnix-likesystemsOSLec139Unix的誕生小型機的興起(e.g.DECPDP-1)和UnixKenThompson,DennisRitchie(1983年圖靈獎獲得者)初衷:可以在一臺無人使用的DECPDP-7小型計算機上玩星際探險游戲兩個版本系列SystemV(AT&T)BSD(BerkeleySoftwareDistribution)Unix標準:IEEEPOSIXMINIX、LinuxPDP–11確立了DEC在小型機市場上的霸主地位OSLec140Unix的發(fā)展歷史OSLec141分化發(fā)展1980-今,LSI&personalcomputers現(xiàn)在許多操作系統(tǒng)都具有分時處理的功能,在分時系統(tǒng)的基礎上,操作系統(tǒng)的發(fā)展開始分化:個人操作系統(tǒng):CP/M,DOS,圖形用戶界面實時操作系統(tǒng)分布式操作系統(tǒng)網(wǎng)絡操作系統(tǒng)OSLec142CP/M操作系統(tǒng)1973年GaryKildall看到對個人計算機操作系統(tǒng)的需求,設計了CP/M操作系統(tǒng)(ControlProgram/MicroprocessororMicrocomputer)CP/M操作系統(tǒng)有較好的層次結構。到了1981年,CP/M操作系統(tǒng)成為世界上流行最廣的8位操作系統(tǒng)之一。DOS之父,GaryKildallOSLec143Dos/Windows1981年,IBMPC和MSDOS普及,1.0版~7.0版1985年11月20日,Windows1.0才正式上市1992年4月,推出Windows3.1,Windows95/98family:16bitOS1993年5月,發(fā)表WindowsNT3.x,NT4.x,Win2K(NT5.0),WinXP(NT5.1),WinServer2003(NT5.2)OSLec144施樂PaloAlto研究中心

——70年代的計算機研究思想庫世界上第一臺個人計算機Alto,1972年在這里出現(xiàn)圖形界面,手持鼠標,面向?qū)ο蟪绦蛟O計微機網(wǎng)絡,桌面出版和激光打印等等具有先進概念和技術的原型都首次出現(xiàn)在這里1984年,廣告:“Whatwasthat?”配有圖形界面操作系統(tǒng)MACOS和鼠標的新型個人計算機OSLec145國內(nèi)操作系統(tǒng)的研制狀況60’s~70’s,楊芙清院士,我國第一臺百萬次集成電路計算機(150)操作系統(tǒng),在石油勘探領域成功應用。70‘s中后期,楊芙清院士,我國第一個全部用高級語言書寫的DJS240機操作系統(tǒng)DJS200/XT2設計成功。GX73多機實時操作系統(tǒng)(1978年),國防科技大學,1980年裝在“遠望”-I號航天測量船上“銀河”-1YHOS巨型操作系統(tǒng)(1983年)國防科技大學,用于YH-1、YH-2超級計算機COSIXv1.X/2.0國產(chǎn)UNIX類操作系統(tǒng),微內(nèi)核結構,中文界面嵌入式操作系統(tǒng):Hopen,DeltaOS,SmartEOSLinux類操作系統(tǒng):中軟Linux、紅旗Linux、東方LinuxOSLec146歷史上的操作系統(tǒng)FMS和IBSYSOS/360CTSS(CompatibleTimeSharingSystem)MULTICS(MULTiplexedInformationandComputerService)UNIX類、LinuxCP/MMS-DOS、Windows3.1/95/98/Me、WindowsNT、Windows2000/XP、WindowsCE、WindowsServer2003Macintosh國產(chǎn)操作系統(tǒng)OSLec2471.3操作系統(tǒng)的分類批處理操作系統(tǒng)(多道批處理)分時系統(tǒng)實時操作系統(tǒng)網(wǎng)絡操作系統(tǒng)分布式操作系統(tǒng)多處理機操作系統(tǒng)嵌入式操作系統(tǒng)OSLec248批處理操作系統(tǒng)

BatchProcessingOperationSystem工作方式:用戶將作業(yè)交給系統(tǒng)操作員系統(tǒng)操作員將許多用戶的作業(yè)組成一批作業(yè),輸入到計算機系統(tǒng)中,在系統(tǒng)中形成一個自動轉(zhuǎn)接的連續(xù)作業(yè)流啟動操作系統(tǒng)系統(tǒng)自動、依次執(zhí)行每個作業(yè)由操作員將作業(yè)結果交給用戶單道批處理系統(tǒng)(simplebatchprocessing)多道批處理系統(tǒng)(multiprogrammingsystem)OSLec249OSLec250SPOOLing技術SimultaneousPeripheralOperationOn-Line,同時外圍設備聯(lián)機操作--假脫機技術。思想:利用磁盤作緩沖,將輸入、計算、輸出分別組織成獨立的任務流,使I/O和計算真正并行SPOOLing系統(tǒng)的特點提高了I/O速度將獨占設備改造為共享設備實現(xiàn)了虛擬設備功能OSLec251出SPOOLing系統(tǒng)組成輸入井和輸出井;輸入緩沖區(qū)和輸出緩沖區(qū);輸入進程SPi和輸出進程SPoOSLec252批處理操作系統(tǒng)優(yōu)缺點優(yōu)點:作業(yè)流程自動化→資源利用率高吞吐量大——單位時間內(nèi)完成的工作總量大缺點:用戶交互性差,調(diào)試程序困難無交互手段:整個作業(yè)完成后或中間出錯時,才與用戶交互,不利于調(diào)試和修改作業(yè)平均周轉(zhuǎn)時間長短作業(yè)的周轉(zhuǎn)時間顯著增長OSLec253分時操作系統(tǒng)

TimeSharingOperatingSystem分時:把計算機的系統(tǒng)資源(尤其是CPU時間)進行時間上的分割,每個時間段稱為一個時間片(timeslice),每個用戶依次輪流使用時間片。工作方式:一臺主機連接了若干個終端每個終端有一個用戶使用交互式的向系統(tǒng)提出命令請求系統(tǒng)接受每個用戶的命令用時間片輪轉(zhuǎn)方式處理服務請求通過交互方式在終端上顯示結果用戶根據(jù)上步結果發(fā)出下道命令OSLec254分時系統(tǒng)的特征多路性:多個用戶同時工作。也稱為同時性。獨立性:各用戶獨立操作,互不干擾,感覺不到計算機為其它用戶服務。及時性:系統(tǒng)能及時對用戶的操作進行響應。交互性:分時系統(tǒng)的基本屬性。實現(xiàn)條件:終端設備輪轉(zhuǎn)算法會話語言獨占資源,“先進先出”方法OSLec255響應時間追求目標:及時響應——依據(jù)是響應時間響應時間:從終端發(fā)出命令到系統(tǒng)處理完這條命令并給予回答所需的時間。影響響應時間的因素:機器處理能力請求服務的時間長短系統(tǒng)中連接的終端數(shù)目服務請求的分布調(diào)度算法(時間片的選?。㎡SLec256分時系統(tǒng)的主要問題及時接受輸入:多個I/O端口,設立多路緩沖區(qū)及時響應:提高對換速度(快速外存)、限制用戶數(shù)目、縮短時間片(可能引起對換次數(shù)增多,開銷增大,程序總運行時間增大)減少對換信息量:可重入代碼(re-entrantcode);請求頁式存儲管理:只對換部分程序OSLec257實時操作系統(tǒng)

RealTimeOperatingSystem在實時計算中,系統(tǒng)的正確性不僅僅依賴于計算的邏輯結果,而且依賴于結果產(chǎn)生的時間。實時系統(tǒng):能夠在指定或者確定的時間內(nèi)完成系統(tǒng)功能和對外部或內(nèi)部、同步或異步時間做出響應的系統(tǒng)。硬實時系統(tǒng):必須在規(guī)定的時刻或時間范圍完成任務。軟實時系統(tǒng):接受偶爾違反最終時限的情況。OSLec258實時系統(tǒng)與批處理系統(tǒng)和分時系統(tǒng)專用系統(tǒng):許多實時系統(tǒng)是專用系統(tǒng),而批處理與分時系統(tǒng)通常是通用系統(tǒng)。實時控制:實時系統(tǒng)用于控制實時過程,要求對外部事件的迅速響應,具有較強的中斷處理機構。高可靠性:實時系統(tǒng)用于控制重要過程,要求高度可靠,具有較高冗余,如雙機系統(tǒng)。事件驅(qū)動和隊列驅(qū)動:實時系統(tǒng)的工作方式:接受外部消息,分析消息,調(diào)用相應處理程序進行處理??膳c通用系統(tǒng)結合成通用實時系統(tǒng):實時處理前臺作業(yè),批處理為后臺作業(yè)。OSLec259網(wǎng)絡操作系統(tǒng)

NOS,NetworkOperatingSystem網(wǎng)絡操作系統(tǒng)是在通常操作系統(tǒng)功能的基礎上提供網(wǎng)絡通信和網(wǎng)絡服務功能的操作系統(tǒng)。目標:相互通信,資源共享功能:網(wǎng)絡通信功能:通過網(wǎng)絡協(xié)議進行高效、可靠的數(shù)據(jù)傳輸;網(wǎng)絡資源管理:協(xié)調(diào)各用戶使用;網(wǎng)絡服務:文件和設備共享,信息發(fā)布;網(wǎng)絡管理:安全管理、故障管理、性能管理等;互操作:直接控制對方比交換數(shù)據(jù)更為困難;OSLec260分布式操作系統(tǒng)

DistributedOperatingSystem分布式系統(tǒng):以計算機網(wǎng)絡為基礎,處理和控制的分散(相對于集中式系統(tǒng)),基本特征是處理上的分布,即功能和任務的分布。分布式操作系統(tǒng)的所有系統(tǒng)任務可在系統(tǒng)中任何處理機上運行,自動實現(xiàn)全系統(tǒng)范圍內(nèi)的任務分配并自動調(diào)度各處理機的工作負載。透明性:資源共享,分布對用戶來講是不知道的自治性:處于分布式系統(tǒng)的多個主機處于平等地位,無主從關系優(yōu)點:處理能力增強、速度更快、可靠性增強OSLec261分布式操作系統(tǒng)與網(wǎng)絡操作系統(tǒng)耦合程度:分布式系統(tǒng)是緊密耦合系統(tǒng),OS在各機上統(tǒng)一建立的“OS同質(zhì)”,直接統(tǒng)一管理全系統(tǒng)的CPU、存儲器和外設;網(wǎng)絡通常容許異種OS互連,各機上各種服務程序需按不同網(wǎng)絡協(xié)議"協(xié)議同質(zhì)"。并行性:分布式OS可將一個進程分散在各機上并行執(zhí)行"進程遷移";網(wǎng)絡則各機上的進程獨立。透明性:分布式系統(tǒng)的網(wǎng)絡資源調(diào)度對用戶透明,用戶不了解所占有資源的位置;網(wǎng)絡操作系統(tǒng)中對網(wǎng)絡資源的使用要由用戶明確指定;健壯性:分布式系統(tǒng)要求更強的容錯能力(工作時系統(tǒng)重構)OSLec262多處理機操作系統(tǒng)

Multi-processorOperatingSystem為了提高計算機系統(tǒng)性能和可靠性。增加系統(tǒng)的吞吐量:N個處理器加速比達不到N倍(額外的調(diào)度開銷,算法的并行化)提高系統(tǒng)可靠性:故障時系統(tǒng)降級運行類型:緊密耦合(tightly-coupled):各處理機之間通過快速總線或開關陣列相連,共享內(nèi)存,整體系統(tǒng)由一個統(tǒng)一的OS管理(一個OS核心)。松散耦合(loosely-coupled):各處理機帶有各自的存儲器、I/O設備和操作系統(tǒng),通過通道或通信線路相連。每個處理機上獨立運行OS。OSLec263多處理機系統(tǒng)的類型非對稱式多處理(AsymmetricMultiprocessing,ASMP):又稱主從模式(Master-slavemode)。主處理器:只有一個,運行OS。管理整個系統(tǒng)的資源,為從處理器分配任務;從處理器:可有多個,執(zhí)行應用程序或I/O處理。特點:不同性質(zhì)任務的負載不均,可靠性不夠高,不易移植(通常要求硬件也是"非對稱")。對稱式多處理(SymmetricMultiprocessing,SMP):OS交替在各個處理器上執(zhí)行。任務負載較為平均,性能調(diào)節(jié)容易--"傻瓜式"OSLec264對稱多處理機與非對稱多處理機的比較OSLec265嵌入式操作系統(tǒng)

EmbeddedOperatingSystem什么是嵌入式系統(tǒng)?以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng),對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。嵌入式操作系統(tǒng)具有某些實時系統(tǒng)的特征但有限制條件:大小、內(nèi)存、能源例子:PalmOS,WindowsCE,VxWorks,windowsphoneOSLec266OSLec267嵌入式操作系統(tǒng)的應用OSLec268補充:

操作系統(tǒng)的結構OSLec269操作系統(tǒng)的內(nèi)核強內(nèi)核基于傳統(tǒng)的集中式操作系統(tǒng)的內(nèi)核結構,系統(tǒng)調(diào)用式通過程序陷入內(nèi)核實現(xiàn),內(nèi)核完成相應的服務后返回應用程序,同時返回結果給用戶。微內(nèi)核基本思想:良好的結構化、模塊化,最小的公共服務;設計目標:使內(nèi)核盡可能小,功能盡可能少(基本),把其他所有功能放到核外的用戶級來完成。提供以下基本服務:(有限的)進程管理和調(diào)度;進程間的通信機制;(某些)存儲管理;低級I/O操作;傳統(tǒng)OS結構現(xiàn)代OS結構OSLec270傳統(tǒng)的操作系統(tǒng)結構整體或模塊結構(monolithicsystemormodularsystem)特點:模塊由眾多服務過程(模塊接口)組成,可以隨意調(diào)用其他模塊中的服務過程進程控制進程調(diào)度內(nèi)存分配內(nèi)存保護磁盤管理目錄管理進程管理存儲器管理文件管理操作系統(tǒng)模塊子模塊…OSLec271模塊化OS結構的優(yōu)缺點優(yōu)點加速了OS的開發(fā)過程;具有一定靈活性,在運行中的高效率缺點:功能劃分和模塊接口難保正確和合理;模塊之間的依賴關系(功能調(diào)用關系)復雜(調(diào)用深度和方向),降低了模塊之間的相對獨立性--不利于修改OSLec272傳統(tǒng)的操作系統(tǒng)結構分層結構或虛擬機(layeredsystemorvirtualmachine)劃分層次,在某一層次上代碼只能調(diào)用低層次上的代碼,使模塊間的調(diào)用變?yōu)橛行蛐?。系統(tǒng)每加一層,就構成一個比原來功能更強的虛擬機優(yōu)點:功能明確,調(diào)用關系清晰(高層對低層單向依賴),有利于保證設計和實現(xiàn)的正確性低層和高層可分別實現(xiàn)(便于擴充);高層錯誤不會影響到低層;避免遞歸調(diào)用缺點:降低了運行效率OSLec273分層結構設計的基本原則每一層都僅使用其底層所提供的功能和服務,這樣可使系統(tǒng)的調(diào)試和驗證都變得容易。調(diào)用跨越的層次:相鄰層(最嚴格)、所有下層、部分下層層次的設置:程序嵌套:每個功能的實現(xiàn)要經(jīng)由若干個軟件層才有可能完成,要考慮在實現(xiàn)每個功能時所形成的程序嵌套;運行頻率:經(jīng)常活躍的模塊放在最接近硬件的層次;公用模塊:把供多種資源管程程序調(diào)用的公用模塊,設置在最低層;用戶接口:接口應設置在OS的最高層,直接提供給用戶使用OSLec274現(xiàn)代的操作系統(tǒng)結構客戶/服務器模型或微內(nèi)核結構(client-servermodelormicrokernel

)微內(nèi)核技術,指精心設計的、能實現(xiàn)現(xiàn)代OS核心功能的小型內(nèi)核。運行在核心態(tài),開機后常駐內(nèi)存,它不會因內(nèi)存緊張而被換出內(nèi)存。設計實現(xiàn)模式:客戶/服務器模式對象模式OSLec275客戶/服務器模式OS劃分為兩部分:用于提供各種服務的一組服務器(進程)內(nèi)核,用來處理客戶和服務器之間的通信OSLec276客戶/服務器模式的優(yōu)缺點優(yōu)點:良好的擴充性:只需添加支持新功能的服務進程即可可靠性好:調(diào)用關系明確,執(zhí)行轉(zhuǎn)移不易混亂便于網(wǎng)絡服務,實現(xiàn)分布式處理:以同樣的調(diào)用形式,在下層可通過核心中的網(wǎng)絡傳送到遠方服務器上(遠地過程調(diào)用RPC,RemoteProcedureCall)缺點:消息傳遞比直接調(diào)用效率低(但可以通過提高硬件性能來補償)RPC的過程:RPC應用程序--RPCStub(client)--Network--RPCServer--進行本地調(diào)用1.4操作系統(tǒng)的硬件基礎CPU的雙模式工作方式(Dual-ModeOperation)I/O保護(I/OProtection)內(nèi)存保護(MemoryProtection)CPU保護(CPUProtection)雙工作模式共享的資源要求,一個任務執(zhí)行失敗,不能影響其他任務執(zhí)行的正確性。要求系統(tǒng)必須提供至少兩種的特權等級.1. 用戶模式(也稱為目態(tài))

用戶任務運行的環(huán)境.2.

管理模式(也稱為系統(tǒng)態(tài),核心態(tài))–

操作系統(tǒng)執(zhí)行的模式.管態(tài)與目態(tài)用戶工作的狀態(tài)——目態(tài),用戶態(tài)系統(tǒng)程序工作的狀態(tài)——管態(tài),系統(tǒng)態(tài)特權指令與訪管指令特權指令:只允許管態(tài)下使用的指令。用戶程序在目態(tài)下運行——只能使用目態(tài)指令操作系統(tǒng)是系統(tǒng)程序在管態(tài)下運行——可以使用目態(tài)指令,也可使用特權指令訪管指令:引起訪管中斷,實現(xiàn)從目態(tài)到管態(tài)的轉(zhuǎn)變(設定程序狀態(tài)字為管態(tài)),在管態(tài)下由操作系統(tǒng)代替用戶完成操作,再由管態(tài)返回到目態(tài)。程序狀態(tài)類型在CPU的硬件中增加一位狀態(tài)信息:monitor(0)oruser(1).當系統(tǒng)發(fā)生中斷或者出現(xiàn)錯誤陷入時,系統(tǒng)由目態(tài)進入管態(tài).任何特權指令智能在管態(tài)下執(zhí)行.monitoruser中斷/異常設置CPU為目態(tài)如何區(qū)分CPU的兩種工作狀態(tài)?I/O保護所有的I/O操作都是特權級的指令.嚴格禁止用戶態(tài)的程序直接訪問IO設備。思考:用戶如何訪問IO設備?內(nèi)存保護必須提供內(nèi)存保護機制,至少要提供對中斷向量和中斷服務例程的內(nèi)存保護機制.HOW?BaseregisterLimitregister課堂練習已知某操作系統(tǒng)目前內(nèi)存中的信息如右圖所示,該操作系統(tǒng)正在處理四個并發(fā)的作業(yè)job1,job2,job3,job4,假設現(xiàn)在job3正在進行計算,訪問的物理地址是412000,問,job3訪問這個地

溫馨提示

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

評論

0/150

提交評論