




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2023/2/3南曉數信學院1第一章操作系統引論操作系統授課人:
李朔
@2016春季2023/2/3南曉數信學院2引言課程學習目的:基礎核心課、有利于對計算機系統的理解和軟件開發。課程特點:概念多、涉及面廣、較抽象。課程學習方法:以問題驅動學習、理論聯系實際、前后貫通。課程學習難點:概念、原理、數據結構、算法。2023/2/3南曉數信學院3課程安排理論講授:操作系統概述(第一章)操作系統的目標、作用、發展過程、特征操作系統的主要功能,結構設計
進程管理(第二章)進程的描述和控制進程同步的基本概念、信號量機制經典進程同步問題:生產者~消費者問題等處理機調度(第三章)處理機調度的類型與算法死鎖的基本概念、死鎖的預防和避免2023/2/3南曉數信學院4存儲器管理(第四章)存儲器管理的任務連續分配存儲管理方式、分頁/分段存儲管理方式虛擬存儲器(第五章)虛存的基本概念、請求分頁存儲管理;頁面置換算法輸入輸出系統(第六章)I/O系統的組成、控制方式設備分配和設備處理;磁盤存儲系統
文件管理(第七章)文件系統概念、文件保護與安全
2023/2/3南曉數信學院5實驗安排:掌握的高級語言C、C++、JAVA、C#相關內容系統API進程結構進度調度存儲管理…2023/2/3南曉數信學院6推薦參考書孫鐘秀主編,費翔林駱斌編著,《操作系統教程(第4版)》,高等教育出版社鄒恒明著,《操作系統之哲學原理》,機械工業出版社
2023/2/3南曉數信學院7課程時間安排:1-14周,第八周開始,每周2+2(理論+實驗),實驗時間跨度較大考試安排:專業主干,教考分離,周次待定,態度2023/2/3南曉數信學院8思考什么是操作系統(OS,OperatingSystem)?軟件、系統軟件功能?管理系統資源、方便用戶使用系統資源有哪些?怎樣管理、怎樣服務?……2023/2/3南曉數信學院9第一章引論1.1什么是操作系統1.2操作系統的發展歷史1.3操作系統的分類1.4操作系統的特征1.5操作系統的功能1.6常用的操作系統返回目錄2023/2/3南曉數信學院101.1什么是操作系統1.1.1操作系統的地位和目標1.1.2操作系統的作用和組成1.1.3操作系統舉例返回2023/2/3南曉數信學院11歷史上的操作系統(一般了解)隨歷史線索,介紹一些重要的操作系統真空管時代(1946年-1955年)晶體管時代(1955年-1965年)集成電路時代(1965年-1980年)大規模集成電路時代(1980年-至今)2023/2/3南曉數信學院12第一臺數字計算機英國數學家CharlesBabbage(1792-1871)設計Babbage投入了畢生精力但卻沒能讓它成功地運行起來因為當時的技術不可能達到需要的精度當然,這個分析機沒有操作系統2023/2/3南曉數信學院13二戰對武器設計的需要美國、英國和德國等國家開始了電子數字計算機的研究工作哈佛大學的HowardAiken普林斯頓高等研究院的JohnNeumann(馮·諾依曼)賓夕法尼亞大學的J.PresperEckert和WilliamMauchley德國電話公司的KonraadZuse以及其他一些人都使用真空管成功地建造了運算機器真空管計算機(1945年-1955年)時期2023/2/3南曉數信學院14沒有程序設計語言(甚至沒有匯編),更談不上操作系統程序員提前預約一段時間,然后到機房將他的插件板插到計算機里期盼著在接下來的時間中幾萬個真空管不會燒斷從而可以計算自己的題目ENIAC中文名:埃尼阿克
(美國賓夕法尼亞大學)運算速度:5000次/秒,18000個真空管,占地182平方米,重量130噸,功耗140kW2023/2/3南曉數信學院151.2.2手工操作工作方式用戶:用戶既是程序員,又是操作員;用戶是計算機專業人員;編程語言:機器語言;輸入輸出:紙帶或卡片;計算機的工作特點(即主要矛盾)用戶獨占全機:不會出現資源被其他用戶占用的情況,資源利用率低;CPU等待用戶:計算前,手工裝入紙帶或卡片;計算完成后,手工卸取紙帶或卡片;CPU利用率低;1946~50年代(電子管),集中計算(計算中心),計算機資源昂貴;2023/2/3南曉數信學院1650年代早期出現了穿孔卡片程序寫在卡片上然后讀入計算機但計算過程則依然如舊2023/2/3南曉數信學院17上世紀60年代前以至更早期-穿孔卡片一種穿孔機與穿孔卡片2023/2/3南曉數信學院1820世紀60年代計算機廣泛應用于數據管理磁介質存儲器引發數據管理革命1951年雷明頓蘭德公司(RemingtonRandInc)的一種叫做UnivacI的計算機推出了一種一秒鐘可以輸入數百條記錄的磁帶驅動器,從而引發了數據管理的革命。2023/2/3南曉數信學院191956年IBM生產出第一個磁盤驅動器——theModel305RAMAC(第一塊硬盤)。此驅動器有50個盤片,每個盤片直徑是2英尺,可以儲存5MB的數據。使用磁盤最大的好處是可以隨機地存取數據,而穿孔卡片和磁帶只能順序存取數據。2023/2/3南曉數信學院201.2.1推動操作系統發展的主要動力(1)提高資源的利用率和系統性能:計算機發展的初期,計算機系統昂貴,用作集中計算(2)方便用戶:用戶上機、調試程序,分散計算時的事務處理和非專業用戶(商業和辦公、家庭)(3)器件的發展:CPU的位寬度(指令和數據)、快速外存(4)計算機體系結構的不斷發展需求推動發展2023/2/3南曉數信學院21起源:1969,AT&T貝爾實驗室,Multics項目,GE645大型主機-太空旅行游戲$75/once->PDP-7匯編語言重寫,KenThompson,DennisRichie多用戶,多任務操作系統UNICS(系統使用匯編編制,一些應用使用了B語言與匯編)第三版本開始,為UNIX專門開發/發明了一種嶄新的編程語言-C,可移植性和開發效率(來自B語言的FortranCompiler)1973C重寫全部UNIX原始程序-UNIX首度出現正式版本V5早期代碼公開,開發文檔詳細,便于研究操作系統鼻祖UNIX2023/2/3南曉數信學院22校園最流行版本,加州大學伯克利分校-鼎鼎大名的BSD(BillJoy<sunmicrosystem>-BerkeleysoftwareDistribution,vi)FreeBSD,OpenBSD和NetBSDBSD對UNIX最重要的貢獻之一是TCP/IP,發布版中的TCP/IP代碼幾乎是現在所有系統中TCP/IP實現的前輩UNIXVersion7(1978)-fortran77compile,BourneShell等,AT&T將UNIX商業化,更換了許可協議,不再允許先前自由開放的做法。2023/2/3南曉數信學院23幾十年中,Unix仍在不斷變化,其版權所有者不斷變更,授權者的數量也在增加。Unix的版權曾經為AT&T所有,之后Novell擁有了Unix,再之后Novell又將版權出售給了SCO(這一事實雙方尚存在爭議)。有很多大公司在取得了Unix的授權之后,開發了自己的Unix產品,比如IBM的AIX,HP的HPUX,SUN的Solaris和SGI的IRIX。
2023/2/3南曉數信學院24MINIX為方便教學與研究,AndrewTanenbaum(1997年圖靈獎得主)基于Version7開發了Minix(基于IntelX86平臺)與Version7在系統調用級兼容,便無任何UNIX代碼不受AT&T許可協議約束核心代碼只有4000余行,支持POSIX、TCP/IP、X-Window及C/C++及多用戶、多進程等高級特性公開源代碼,允許用于教學科研目的MINIXLogo2023/2/3南曉數信學院25Linus&Linus’sUNIX-Linux芬蘭赫爾辛基大學學生-LinusTorvalds(AndrewTanenbaun的學生)簡單問題:UNIX十分昂貴,但希望在個人電腦上使用類似UNIX的系統,不喜歡386上的DOSLinus大學時主要使用MINIX,但不滿意,受MINIX協議的限制,無法修改和完善以其熟悉的Minix和Unix為原型,在一臺Intel386PC上開始工作2023/2/3南曉數信學院26Oct,1991USNET新聞組—comp.us.minix上發表消息:Helloeverybodyoutthereusingminix-I’mdoinga(free)operatingsystem(justahobby,won’tbebigandprofessionallikegnu)for386(486)ATclones.
Thishasbeenbrewingsinceapril,andisstartingtogetready.
I’dlikeanyfeedbackonthingspeoplelike/dislikeinminix,asmyOSresemblesitsomewhat(samephysicallayoutofthefile-system(duetopracticalreasons)amongotherthings……)。(PCWORLD專欄作家HarryMcCracken評出的歷史上Top25被引用的精典語錄之一。)此時發表的版本是第一個Linux內核的Release(正式版本)-Linuxkernel0.0.2,以此為開端,Linux開始了快速發展2023/2/3南曉數信學院27目前Linux支持的所有主流硬件平臺IntelX86系列AMD64系列IBMPowerPCSunSPARC系列Linux與Unix有很大淵源,不含標準Unix源代碼,按POSIX標準重新編寫,使用大量GNU軟件自91年發布至因特網后,無數的黑客、程序員無私地為人類奉獻自己的智慧,積極推動了Linux的高速發展,成就了一個自由軟件世界,Linux在可用性與功能上基本成熟,與UNIX、Windows三分天下。2023/2/3南曉數信學院28Linux由Linus開發,所以這個操作系統以Linus’sUnix命名。發音Linux與GNU所有Linux發行版本的核心部分都是內核(kernel),靈魂。主要負責管理、分配計算機軟硬件資源。(底層原始)但內核并不包含常用的應用程序,如瀏覽器,Office辦公,多媒體播放制作等軟件GNU項目數量巨大、功能豐富的應用程序,結合寬松授權的Linux免費內核,很多廠商和個人紛紛推出自己的定制和組合方案,構成了豐富多彩的Linux發行版本。(不管這些發行版本的名稱或開發廠商是什么,它們都同屬于Linux范疇,因為它們具有相同的內核,這個內核源自LinusTorvalds維護的LinuxKernel項目,區別僅在所包含軟件數量種類及功能側重點的不同。(/)GNU項目、GPL、自由軟件Linux:tux2023/2/3南曉數信學院291.1.1操作系統的地位和目標計算機系統(層次結構)軟件硬件及固件(裸機)應用軟件系統軟件編輯軟件,編譯軟件操作系統圖1.1 計算機系統的組成2023/2/3南曉數信學院30計算機系統軟硬件的層次結構2023/2/3南曉數信學院31操作系統在計算機系統中的地位操作系統的地位:緊貼系統硬件之上,所有其他軟件之下(是其他軟件的共同環境)操作系統設計者應用軟件操作系統計算機硬件系統軟件終端用戶程序員2023/2/3南曉數信學院32引入操作系統的目標有效性(系統管理人員的觀點):管理和分配硬件、軟件資源,合理地組織計算機的工作流程方便性(用戶的觀點):提供良好的、一致的用戶接口,彌補硬件系統的類型和數量差別可擴充性(開放的觀點):OS通過擴充改造硬件設施和提供新的服務來擴大機器功能。OS遵循有關國際標準;支持體系結構的可伸縮性和可擴展性;支持應用程序在不同平臺上的可移植性和可互操作性。2023/2/3南曉數信學院33操作系統的作用(1)
OS是計算機硬件、軟件資源的管理者。管理對象包括:CPU、存儲器、外部設備、信息(數據和軟件);管理的內容:資源的當前狀態(數量和使用情況)、資源的分配、回收和訪問操作,相應管理策略(包括用戶權限)。1.1.2操作系統的作用2023/2/3南曉數信學院34操作系統的作用(2)
OS是用戶使用系統硬件、軟件的接口。系統命令(命令行、菜單式、命令腳本式、圖形用戶接口GUI);字符形式:較靈活但因繁瑣而難記命令的表示形式:菜單形式:字符方式提供友好界面圖形形式:因直觀而易記但不靈活系統調用:形式上類似于過程調用,在應用編程中使用。2023/2/3南曉數信學院35操作系統的作用(3)
OS是擴展機(extendedmachine)/虛擬機(virtualmachine)在裸機上添加:設備管理、文件管理、存儲管理(針對內存和外存)、處理機管理(針對CPU);另外,為合理組織工作流程:作業管理、進程管理。定義:操作系統是管理軟硬件資源、控制程序執行,改善人機界面,提供各種服務,合理組織計算機工作流程和為用戶使用計算機提供良好運行環境的一種系統軟件。2023/2/3南曉數信學院36操作系統的層次模型高低2023/2/3南曉數信學院371.1.3操作系統舉例MSOS:MSDOS,MSWindows3.x,Windows95,WindowsNT,Windows2000UNIX:BSD,SRV4,OSF1,SCOUNIX,AIX,Solaris,LinuxNOS:NovellNetware2023/2/3南曉數信學院381.2操作系統的發展歷史1.2.1推動操作系統發展的主要動力1.2.2手工操作1.2.3單道批處理系統(simplebatchprocessing)1.2.4多道批處理系統(multiprogrammingsystem)1.2.5分時系統(time-sharingsystem)1.2.6實時系統(real-timesystem)返回2023/2/3南曉數信學院391.2.3單道批處理系統
(simplebatchprocessing,uniprogramming)批處理中的作業的組成:用戶程序數據作業說明書(作業控制語言)批:供一次加載的磁帶或磁盤,通常由若干個作業組裝成,在處理中使用一組相同的系統軟件(系統帶)50年代末~60年代中(晶體管):利用磁帶把若干個作業分類編成作業執行序列,每個批作業由一個專門的監督程序(Monitor)自動依次處理??墒褂脜R編語言開發。2023/2/3南曉數信學院40監督程序(Monitor)對批作業中的每個作業進行相同的處理:從磁帶讀入一個用戶作業和編譯鏈接程序到內存,編譯鏈接用戶作業,生成可執行程序;啟動執行,把運行控制權限交給該作業,執行結果輸出;控制權再次交給監督程序,由它將下一個作業調入內存。2023/2/3南曉數信學院41一、兩種批處理方式1)聯機批處理用戶提交作業:以紙帶或卡片為介質;操作員合成批作業:結果為磁帶介質;批作業處理:對批作業中的每個作業進行相同的處理,從磁帶讀入用戶作業和編譯鏈接程序,編譯鏈接用戶作業,生成可執行程序;啟動執行;執行結果輸出。這時的問題:慢速的輸入輸出處理仍直接由主機來完成。輸入輸出時,CPU處于等待狀態。2023/2/3南曉數信學院422)脫機批處理衛星機(外圍機):完成面向用戶的輸入輸出(紙帶或卡片),中間結果暫存在磁帶或磁盤上。作業控制命令由監督程序(monitor)來執行,完成裝入程序、編譯、運行等操作。優點:同一批內各作業的自動依次更替,改善了主機CPU和I/O設備的使用效率,提高了吞吐量。缺點:磁帶或磁盤需要人工裝卸,作業需要人工分類,監督程序易遭到用戶程序的破壞(由人工干預才可恢復)。為解決CPU和I/O設備之間速度不匹配而提出,利用衛星機完成輸入輸出功能。2023/2/3南曉數信學院43批處理系統示意圖批處理操作系統針對的是第二代通用計算機,如IBM的1401和7094等,通過去除人機交互達到CPU和輸入輸出利用率的改善。
2023/2/3南曉數信學院44通道和中斷技術通道:用于控制I/O設備與內存間的數據傳輸。啟動后可獨立于CPU運行,實現CPU與I/O的并行。通道有專用的I/O處理器,可與CPU并行工作可實現I/O聯機處理中斷是指CPU在收到外部中斷信號后,停止原來工作,轉去處理該中斷事件,完畢后回到原來斷點繼續工作。中斷處理過程:中斷請求,中斷響應,中斷點(暫停當前任務并保存現場),中斷處理例程,中斷返回(恢復中斷點的現場并繼續原有任務可處理算術溢出和非法操作碼,死循環(利用時鐘中斷進行超時限定)*監督程序發展為執行系統(executivesystem),常駐內存60年代初,發展了通道技術和中斷技術,這些技術的出現使監督程序在負責作業運行的同時提供I/O控制功能。2023/2/3南曉數信學院45二、單道批處理的主要問題特點:在內存中始終只保持一道作業
自動性、順序性、單道性
CPU和I/O設備使用忙閑不均(取決于當前作業的特性)。對計算為主的作業,外設空閑;對I/O為主的作業,CPU空閑;2023/2/3南曉數信學院461.2.4多道批處理系統(multiprogrammingsystem)多道程序設計的概念:用戶所提交的作業都先存放在外存上并排成一個隊列,稱為“后備隊列”;由作業調度程序按一定的算法從后備隊列中選擇若干個作業調入內存,使它們共享CPU和系統中的各種資源。60年代中~70年代中(集成電路),利用多道批處理提高資源的利用率。2023/2/3南曉數信學院47多道批處理的運行特征多道:內存中同時存放幾個作業;宏觀上并行運行:都處于運行狀態,但都未運行完;共享處理機時間和外部設備等資源;微觀上串行運行:各作業交替使用CPU;作業的處理流程作業提交:輸入作業→作業執行→作業完成:輸出作業2023/2/3南曉數信學院48批處理系統中作業處理及狀態2023/2/3南曉數信學院49例:計算某個數據處理問題,要求從輸入機(速度為6400字符/秒)輸入500個字符,經處理(費時52毫秒)后,將結果存到磁帶機上(假設耗時20毫秒);然后,再讀500個字符處理,直到所有數據都處理完畢。
在此計算過程中,處理器的利用率是:52/(78+52+20)≈35%①單道批處理系統:計算過程如下圖所示:2023/2/3南曉數信學院50②如果計算機同時接受兩道計算題,當第一道程序在等待外圍設備的時候,讓第二道程序運行,以降低CPU的等待時間,處理器的利用率顯然可以有所提高。例如,計算機在接受上述計算時還接受了另外一道算題:從另一臺磁帶機上輸入2000個字符(假設磁帶機的速度是10萬字符/秒,則耗時20MS),經42毫秒處理后,從行式打印機(速度為1350行/分)上輸出兩行(耗時88ms)當這兩個算題同時進入主存計算時,這個計算過程如下圖所示此時,處理器的利用率為:(52+42)/150≈63%2023/2/3南曉數信學院51
由此可以看出,讓幾道程序同時進入計算比一道一道串行計算,CPU效率要提高。當某道程序因故不能運行下去時,管理程序便把CPU分給另外一道程序執行,這樣可以使CPU和I/O設備盡量都處于忙碌狀態,這就是采用多道程序設計方法的主要原因。2023/2/3南曉數信學院52再比如,如果有甲、乙兩道程序,如果一道程序獨占CPU運行時每道程序要1小時,若此時CPU利用率是30%。粗略的說,甲(或乙)執行時,所需CPU處理時間為:1小時*30%=18分鐘假定甲、乙兩道程序按多道程序設計方法同時運行,CPU利用率達50%,那么要提供36分鐘的CPU時間,大約需要72分鐘就可以把甲、乙兩道程序計算完畢。當然,操作系統本身要花費處理器的時間,所以實際花費的時間要略長一些,例如要80分鐘,而單道運行時,要花費120分鐘。因而,采用多道程序設計方法后,可以提高效率:(120-80)/120≈33%2023/2/3南曉數信學院53但是,如果單道運行時,花60分鐘就可以看到運行結果,而多道運行時,要80分鐘才有結果。所以,多道程序設計技術提高資源利用率和系統吞吐量是以犧牲用戶的響應時間為代價的。2023/2/3南曉數信學院54單道(uniprogramming)和多道批處理的比較多道程序系統和多處理系統(multiprocessingsystem)的區別:前者指多個程序同時在內存中交替運行,后者指多個處理器。2023/2/3南曉數信學院55多道批處理系統的特點優點:資源利用率高:CPU和內存利用率較高;作業吞吐量大:單位時間內完成的工作總量大;缺點:用戶交互性差:整個作業完成后或中間出錯時才與用戶交互,不利于調試和修改;作業平均周轉時間長:短作業的周轉時間顯著增長;2023/2/3南曉數信學院56多道批處理系統需要解決的問題(1)處理機管理問題處理機的高效分配與回收(2)內存管理問題每道程序的存儲空間的安排與保護(3)I/O設備管理問題多類型的I/O設備高效分配與方便使用(4)文件管理問題程序與數據的組織管理(5)作業管理問題根據作業的類型特點,輕重緩急組織作業
2023/2/3南曉數信學院571.2.5分時系統(time-sharingsystem)“分時”的含義:指在一臺主機上,連接了多個帶顯示器和鍵盤的終端,同時允許多個用戶共享主機中的資源,每個用戶都可以使用自己的終端和主機交互。70年代中期至今2023/2/3南曉數信學院58概念:按時間片輪流把處理機分配給各聯機作業使用產生原因:人機交互性好:在調試和運行程序時由用戶自己操作。共享主機:多個用戶同時使用。用戶獨立性:對每個用戶而言好象獨占主機。2023/2/3南曉數信學院59分時系統的主要問題及時接受輸入:多個I/O端口,設立多路緩沖區及時響應:提高對換速度(快速外存)限制用戶數目縮短時間片(可能引起對換次數增多,開銷增大,程序總運行時間增大)2023/2/3南曉數信學院60分時操作系統的特征:(a)多路性:一臺計算機與若干終端相連接,終端上的用戶可以同時或基本同時使用計算機。(b)獨立性:由于時間片很短,使用戶感覺不到別人也在使用這臺計算機,好象只有自己獨占機器一樣。(c)及時性:用戶的請求在很短時間內得到響應。(d)交互性:用戶通過終端與系統人機對話。在分時系統的基礎上,操作系統的發展開始分化,如實時系統、通用系統、個人系統等。2023/2/3南曉數信學院611.2.6實時系統(real-timesystem)⑴實時系統的引入:實時控制(如生產過程的自動控制)、實時信息處理(如機票訂票系統、情報檢索系統等)⑵實時系統定義
實時:指對隨機發生的外部事件做出及時反應并對其進行處理。(所謂事件時指來自與計算機系統相連接的設備所提出的服務要求和采集數據)
實時系統:指系統能及時(或即時)響應外部事件的請求,在規定的時間內完成對該事件的處理,并控制所有實時任務協調一致地運行。2023/2/3南曉數信學院62⑶實時操作系統的主要特征:及時響應;(實時時鐘管理)高可靠性;容錯能力(如故障自動復位)和冗余備份(雙機、關鍵部件)專用性;少人工干預;2023/2/3南曉數信學院63實時系統的類型:(1)工業(武器)控制系統(2)信息查詢系統(3)多媒體系統(4)嵌入式系統實時任務類型:按任務執行時是否出現周期劃分:周期性實時任務、非周期性實時任務。根據對截止時間的要求劃分:硬實時任務、軟實時任務。目前的操作系統,通常具有分時、實時和批處理功能,又稱作通用操作系統。可適用于計算、事務處理等多種領域,能運行在多種硬件平臺上,如UNIX系統、WindowsNT等。--通用化、小型化2023/2/3南曉數信學院65實時系統與批處理系統和分時系統的區別專用系統:許多實時系統是專用系統,而批處理與分時系統通常是通用系統。實時控制:實時系統用于控制實時過程,要求對外部事件的迅速響應,具有較強的中斷處理機構。高可靠性:實時系統用于控制重要過程,要求高度可靠,具有較高冗余。如雙機系統。事件驅動和隊列驅動:實時系統的工作方式:接受外部消息,分析消息,調用相應處理程序進行處理。可與通用系統結合成通用實時系統:實時處理前臺作業,批處理為后臺作業。2023/2/3南曉數信學院66現代通用操作系統:多道批處理、分時、實時的結合,如UNIX。2023/2/3南曉數信學院671.3操作系統的其它分類1.3.1個人計算機操作系統1.3.2多處理器操作系統1.3.3網絡操作系統1.3.4分布式操作系統返回2023/2/3南曉數信學院681.3.1個人計算機操作系統
(PersonalComputerOperatingSystem)個人計算機操作系統的特征應用領域:事務處理、個人娛樂,系統要求:使用方便、支持多種硬件和外部設備(多媒體設備、網絡、遠程通信)、效率不必很高。常用的個人計算機操作系統單用戶單任務:MSDOS單用戶多任務:OS/2,MSWindows3.x,Windows95,WindowsNT,Windows2000Professional多用戶多任務:UNIX(SCOUNIX,Solarisx86,Linux,FreeBSD)2023/2/3南曉數信學院691.3.2多處理操作系統
(Multi-processorOperatingSystem)多處理機系統的特點增加系統的吞吐量:N個處理器加速比達不到N倍(額外的調度開銷,算法的并行化)節省投資提高系統可靠性:故障時系統降級運行多處理操作系統的出現是為了提高計算機系統性能和可靠性。提高性能有兩條途徑:提高各個組成部分的速度、增大處理的并行程度。1975年前后,出現多處理機系統(multi-processor)。2023/2/3南曉數信學院70多處理機系統的類型緊密耦合(tightly-coupled):各處理機之間通過快速總線或開關陣列相連,共享內存,整體系統由一個統一的OS管理(一個OS核心)。松散耦合(loosely-coupled):各處理機帶有各自的存儲器、I/O設備和操作系統,通過通道或通信線路相連。每個處理機上獨立運行OS。2023/2/3南曉數信學院71多處理操作系統的類型非對稱式多處理(AsymmetricMultiprocessing,ASMP):又稱主從模式(Master-slavemode)。主處理器:只有一個,運行OS。管理整個系統的資源,為從處理器分配任務;從處理器:可有多個,執行應用程序或I/O處理。特點:不同性質任務的負載不均,可靠性不夠高,不易移植(通常要求硬件也是"非對稱")。對稱式多處理(SymmetricMultiprocessing,SMP):OS交替在各個處理器上執行。任務負載較為平均,性能調節容易--"傻瓜式"2023/2/3南曉數信學院72對稱多處理機與非對稱多處理機的比較2023/2/3南曉數信學院732023/2/3南曉數信學院741.3.3網絡操作系統
(NOS,NetworkOperatingSystem)網絡操作系統是在通常操作系統功能的基礎上提供網絡通信和網絡服務功能的操作系統。網絡操作系統為網上計算機進行方便而有效的網絡資源共享,提供網絡用戶所需各種服務的軟件和相關規程的集合。網絡功能與操作系統的結合程度是網絡操作系統的重要性能指標。早期的作法是通常操作系統附加網絡軟件,過渡到網絡功能成為操作系統的有機組成部分。它們的區別在于:網絡功能的強弱、使用是否方便等。2023/2/3南曉數信學院75計算機網絡一些自主的計算機系統,通過通信設施相互連接,完成信息交換、資源共享、互操作和協同工作等功能。引入計算機網絡的目的:完成新的應用(進行自動的信息交換),提高性能-價格比(共享昂貴資源)2023/2/3南曉數信學院76計算機網絡的分類按網絡拓撲(傳輸媒體和網絡設備所連接的幾何形狀):星形、環形、總線形、不規則形等;按地理范圍:局域網(LAN,LocalAreaNetwork)、城域網(MAN,MetropolitanAreaNetwork)、廣域網(WAN,WideAreaNetwork);按網絡標準--內在特性,決定其性能(如效率隨負載的變化、實時性、優先級)Ethernet,TokenRing,FDDI,X.25,ATM2023/2/3南曉數信學院77網絡操作系統的功能通常操作系統的功能:處理機管理、存儲器管理、設備管理、文件管理等;網絡通信功能:通過網絡協議進行高效、可靠的數據傳輸;網絡資源管理:協調各用戶使用;網絡服務:文件和設備共享,信息發布;網絡管理:安全管理、故障管理、性能管理等;互操作:直接控制對方比交換數據更為困難;2023/2/3南曉數信學院781.3.4分布式操作系統(DistributedOperatingSystem)分布式系統:處理和控制的分散(相對于集中式系統)分布式系統是以計算機網絡為基礎的,它的基本特征是處理上的分布,即功能和任務的分布。分布式操作系統的所有系統任務可在系統中任何處理機上運行,自動實現全系統范圍內的任務分配并自動調度各處理機的工作負載。2023/2/3南曉數信學院79分布式操作系統與網絡操作系統的比較耦合程度:分布式系統是緊密耦合系統:分布式OS是在各機上統一建立的"OS同質",直接管理CPU、存儲器和外設;統一進行全系統的管理;網絡操作系統通常容許異種OS互連,各機上各種服務程序需按不同網絡協議"協議同質"。并行性:分布式OS可以將一個進程分散在各機上并行執行"進程遷移";網絡則各機上的進程獨立。透明性:用戶是否知道或指定資源在哪個機器上(如CPU、內存或外設)。分布式系統的網絡資源調度對用戶透明,用戶不了解所占有資源的位置;網絡操作系統中對網絡資源的使用要由用戶明確指定;健壯性:分布式系統要求更強的容錯能力(工作時系統重構)2023/2/3南曉數信學院801.4操作系統的特征1.4.1操作系統的特征1.4.2操作系統的服務返回2023/2/3南曉數信學院811.4.1操作系統的特征并發(concurrency)共享(sharing)虛擬(virtual)異步性(asynchronism)2023/2/3南曉數信學院82并發(concurrency)并行性和并發性是既相似又有區別的兩個概念。并行性:兩個或多個事件在同一時刻發生;并發性:兩個或多個事件在同一時間間隔內發生。在多道程序處理時,宏觀上并發,微觀上交替執行(在單處理器情況下)。程序的靜態實體是可執行文件,而動態實體是進程(或稱作任務),并發指的是進程。操作系統是一個并發系統,各進程間的并發,系統與應用間的并發。操作系統要完成這些并發過程的管理。并行(parallel)是指在同一時刻發生。2023/2/3南曉數信學院83進程概念的引入通常的程序是靜態實體,是不能并發執行的。為使程序能并發執行,系統必須分別為每個程序建立進程。進程(process),又稱任務(task),簡單來說,是指在系統中能獨立運行并作為資源分配的基本單位,它是一個活動實體。多個進程之間可以并發執行和交換信息。引入進程的目的是使程序能并發執行。2023/2/3南曉數信學院84共享(sharing)資源共享的兩種方式互斥共享(如音頻設備):資源分配后到釋放前,不能被其他進程所用。(稱為臨界資源或獨占資源。)同時訪問(如可重入代碼,磁盤文件)多個進程共享有限的計算機系統資源。操作系統要對系統資源進行合理分配和使用。資源在一個時間段內交替被多個進程所用。2023/2/3南曉數信學院85虛擬(virtual)CPU--每個用戶(進程)的"虛處理機"存儲器--每個進程都占有的地址空間(指令+數據+堆棧)顯示設備--多窗口或虛擬終端(virtualterminal)如果虛擬的實現是通過時分復用的方法來實現的,即對某一物理設備進行分時使用,設N是某物理設備所對應的虛擬的邏輯設備數,則每臺虛擬設備的平均速度必然等于或低于物理設備速度的1/N。類似地,如果是利用空分復用方法來實現虛擬,此時一臺虛擬設備平均占用的空間必然也等于或低于物理設備所擁有空間的1/N。一個物理實體映射為若干個對應的邏輯實體-分時或分空間。虛擬是操作系統管理系統資源的重要手段,可提高資源利用率。2023/2/3南曉數信學院86異步性(asynchronism)進程的運行速度不可預知:分時系統中,多個進程并發執行,"時走時停",不可預知每個進程的運行推進快慢判據:無論快慢,應該結果相同--通過進程互斥和同步手段來保證難以重現系統在某個時刻的狀態(包括重現運行中的錯誤)性能保證:實時系統與分時系統相似,但通過資源預留以保證性能也稱不確定性,指進程的執行順序和執行時間的不確定性;2023/2/3南曉數信學院871.4.2操作系統的服務服務類型程序執行和終止(包括分配和回收資源)I/O操作文件系統操作通信:本機內,計算機之間(通常通信服務的使用者為進程,而不是籠統說"主機")配置管理:硬件、OS本身、其他軟件差錯檢測服務提供方式:系統命令和系統調用2023/2/3南曉數信學院881.4.3現代操作系統特點微內核結構
多線程機制
對稱多處理器(SMP)機制
有兩個或兩個以上的處理器所有處理器共享主存、I/0設備。這些處理器由總線或其他內部連接模式相連接所有處理器執行同樣的功能
分布式操作系統
在操作系統設計中普遍采用面向對象技術,以及軟件工程中其他原則
2023/2/3南曉數信學院891.5.1處理機管理進程控制:創建、撤銷、掛起、改變運行優先級等--主動改變進程的狀態進程同步:協調并發進程之間的推進步驟,以協調資源共享;--交換信息能力弱進程通信:進程之間傳送數據,以協調進程間的協作;--交換信息能力強,也可以用來協調進程之間的推進進程調度:作業和進程的運行切換,以充分利用處理機資源和提高系統性能;--未必是進程控制操作所引起(可能是時間片輪轉、I/O操作)同一類型內的公平性、高效率(吞吐量大)、作業周轉時間等完成處理機資源的分配調度等功能。處理機調度的單位可為進程或線程。2023/2/3南曉數信學院901.5.2存儲管理存儲分配與回收存儲保護:保證進程間互不干擾、相互保密;如:訪問合法性檢查、甚至要防止從"垃圾"中竊取其他進程的信息;地址映射(變換):進程邏輯地址到內存物理地址的映射;內存擴充(覆蓋、交換和虛擬存儲):提高內存利用率、擴大進程的內存空間;管理目標:提高利用率、方便用戶使用、提供足夠的存儲空間、方便進程并發運行。2023/2/3南曉數信學院911.5.3設備管理設備操作:利用設備驅動程序(通常在內核中)完成對設備的操作。還需處理外設的IRQ(InterruptRequest)。設備獨立性(deviceindependence):提供統一的I/O設備接口,使應用程序獨立于物理設備,提高可適應性;在同樣的接口和操作下完成不同的內容(如FAXModem作為Windows上的打印機設備)。設備分配與回收:在多用戶間共享I/O設備資源。虛擬設備(virtualdevice):設備由多個進程共享,每個進程如同獨占。緩沖區管理:匹配CPU和外設的速度,提高兩者的利用率(單緩沖區、雙緩沖區和公用緩沖區)設備管理的目標是:方便的設備使用、提高CPU與I/O設備利用率;2023/2/3南曉數信學院921.5.4信息管理文件存儲空間管理:解決如何存放信息,以提高空間利用率和讀寫性能。目錄管理:解決信息檢索問題。文件的屬性(如文件名)、單一副本賦予多文件名(軟鏈接、硬鏈接)文件的讀寫管理和存取控制:解決信息安全問題。系統設口令"哪個用戶"、用戶分類"哪個用戶組"、文件權限"針對用戶或用戶組的讀寫權"軟件管理:軟件的版本、相互依賴關系、安裝和拆除等解決軟件資源的存儲、共享、保密和保護。2023/2/3南曉數信學院931.5.5用戶接口用戶接口:供用戶用于組織和控制自己的作業運行。命令行、菜單式或GUI"聯機";命令腳本"脫機"編程接口:供用戶程序和系統程序調用操作系統功能。系統調用和高級語言庫函數;目標:提供一個友好的用戶訪問操作系統的接口。操作系統向上提供兩種接口:2023/2/3南曉數信學院94操作系統的結構隨著操作系統的發展,功能越強,OS自身代碼量越大--采用良好的結構:有利于保證正確性以及自身修改和擴充。操作系統的設計原則可維護性容易修改與否稱為可維護性;有三種可能的維護:改錯性維護:改正已發現的錯誤;適應性維護:修改軟件,使之適應新的運行環境(硬件環境和軟件環境);如:操作系統的移植。完善性維護:增加新功能;可靠性可靠性包括兩方面:正確性:正確實現所要求的功能和性能;穩健性:對意外(故障和誤操作)作出適當的處理;2023/2/3南曉數信學院95操作系統的結構可理解性易于理解,以方便測試、維護和交流;性能有效地使用系統資源;盡可能快地響應用戶請求;2023/2/3南曉數信學院96OS結構設計無結構模塊式層次式微內核2023/2/3南曉數信學院971.5.1傳統的操作系統結構1.無結構操作系統一組過程集,各過程可相互調用,也叫整體系統結構。缺點:邏輯復雜,維護困難.2023/2/3南曉數信學院98傳統的操作系統結構(2)2、模塊化操作系統模塊結構的特點模塊由眾多服務過程(模塊接口)組成,可以隨意調用其他模塊中的服務過程--如UNIX系統優點:具有一定靈活性,在運行中的高效率缺點:功能劃分和模塊接口難保正確和合理;模塊之間的依賴關系(功能調用關系)復雜(調用深度和方向),降低了模塊之間的相對獨立性--不利于修改2023/2/3南曉數信學院99圖1-6模塊化操作系統結構2023/2/3南曉數信學院100傳統的操作系統結構(3)3、分層式操作系統有序分層的基本概念可簡化設計的復雜度下層為上層提供服務層次的設置應考慮的因素程序嵌套:各模塊間嵌套關系復雜運行頻率:隨層次的增高,相應軟件的運行速度就隨之下降公用模塊:低層用戶接口:高層2023/2/3南曉數信學院101分層原則被調用功能在低層:如文件系統管理--設備管理--設備驅動程序活躍功能在低層:提高運行效率資源管理的公用模塊放在最低層:如緩沖區隊列、堆棧操作存儲器管理放在次低層:便于利用虛擬存儲功能最低層的硬件抽象層:與機器特點緊密相關的軟件放在最低層。如WindowsNT中的HAL--單處理、多處理資源分配策略和外殼放在最外層,便于修改或適應不同環境2023/2/3南曉數信學院102分層結構的特點優點:功能明確,調用關系清晰(高層對低層單向依賴),有利于保證設計和實現的正確性低層和高層可分別實現(便于擴充);高層錯誤不會影響到低層;避免遞歸調用缺點:降低了運行效率(層間通信開銷)各系統對具體劃分多少層次有不同的看法。2023/2/3南曉數信學院1031.5.2客戶/服務器模式(Client-ServerModel)客戶/服務器系統主要由客戶機、服務器和網絡系統三個部分組成。(1)客戶機:通常在一個LAN網絡上連接有多臺網絡工作站(簡稱客戶機),每臺客戶機都是一個自主計算機,具有一定的處理能力,客戶進程在其上運行,平時它處理一些本地業務,也可發送一個消息給服務器,以請求某項服務。(2)服務器:通常是一臺規模較大的機器,在其上駐留有網絡文件系統或數據庫系統等,它應能為網上所有的用戶提供一種或多種服務。平時它一直處于工作狀態,被動地等待來自客戶機的請求,一旦檢查到有客戶提出服務請求,便去完成客戶的請求,并將結果送回客戶。這樣,工作站中的用戶進程與服務器進程便形成了客戶/服務器關系。(3)網絡系統:用于連接所有客戶機和服務器,實現它們之間通信和網絡資源共享的系統。2023/2/3南曉數信學院104客戶機/服務器模式的優、缺點優點:數據的分布處理和存儲便于集中管理靈活性和可擴充性易于改編應用軟件缺點:基本客戶/服務器模式的不足之處是中心服務器存在著不可靠性和瓶頸問題2023/2/3南曉數信學院1051.5.3面向對象的程序設計1、面向對象技術的基本概念面向對象技術是20世紀80年代初提出并很快流行起來的。該技術是基于“抽象”和“隱蔽”原則來控制大型軟件的復雜度的。所謂對象,是指在現實世界中具有相同屬性、服從相同規則的一系列事物的抽象,而把其中的具體事物稱為對象的實例。OS中的各類實體如進程、線程、消息、存儲器等,都使用了對象這一概念,相應地,便有進程對象線程對象、存儲器對象等。2023/2/3南曉數信學院106圖1-7一個對象的示意圖數據結構過程1過程2過程32023/2/3南曉數信學院107
(1)可修改性和可擴充性。由于隱蔽了表示實體的數據和操作,因而可以改變對象的表示而不會影響其它部分,從而可以方便地改變老的對象和增加新的對象。
(2)繼承性。繼承性是面向對象技術所具有的重要特性。繼承性是指子對象可以繼承父對象的屬性,這樣,在創建一個新的對象時,便可減少大量的時空開銷。
(3)正確性和可靠性。由于對象是構成操作系統的基本單元,可以獨立地對它進行測試,這樣,比較易于保證其正確性和可靠性,從而比較容易保證整個系統的正確性和可靠性。
2、面向對象技術的優點2023/2/3南曉數信學院108
1.5.3.微內核技術1).微內核技術的引入---提高系統的靈活性;所謂微內核技術,是指精心設計的、能實現現代OS核心功能的小型內核它與一般的OS(程序)不同,它更小更精煉,它不僅運行在核心態,而且開機后常駐內存,它不會因內存緊張而被換出內存。微內核并非是一個完整的OS,而只是為構建通用OS提供一個重要基礎。由于在微內核OS結構中,通常都采用了客戶/服務器模式,因此OS的大部分功能和服務,都是由若干服務器來提供的,如文件服務器、作業服務器和網絡服務器等。2023/2/3南曉數信學院109
2)微內核的基本功能微內核所提供的功能,通常都是一些最基本的功能,如進程管理、存儲器管理、進程間通信、低級I/O功能。
(1)進程管理。
(2)存儲器管理。
(3)進程通信管理。
(4)I/O設備管理。2023/2/3南曉數信學院110WindowsNT體系結構2023/2/3南曉數信學院111簡化的Windows2000體系結構2023/2/3南曉數信學院112微內核模式的特點優點:良好的擴充性:只需添加支持新功能的服務進程即可可靠性好:調用關系明確,執行轉移不易混亂便于網絡服務,實現分布式處理:以同樣的調用形式,在下層可通過核心中的網絡傳送到遠方服務器上缺點:消息傳遞比直接調用效率要低一些(但可以通過提高硬件性能來補償)2023/2/3南曉數信學院1131.6常用的操作系統1.6.1MSDOS1.6.2MSWindows3.x,Windows95,WindowsNT,Windows20001.6.3UNIX返回2023/2/3南曉數信學院1141.6.1MSDOS1981年:PC-DOS1.1:IBMPC,只支持軟盤的個人操作系統;1983年:DOS2.0:PCXT,支持硬盤和目錄的層次結構,并提供豐富的系統命令;1984年:DOS3.0:PCAT(Intel80286CPU),它把286作為一個快速的8086使用;1987年:DOS3.3:提供對IBMPS/2的支持(如3.5"軟驅),提供了更多的應用;1988年:DOS4.0:支持大于32M的硬盤;1991年:DOS5.0:改進對擴展內存的支持;IBMPC,CPU8088/8086,BIOS單用戶單任務,簡單分層結構,16位MSDOS的歷史2023/2/3南曉數信學院115MSDOS的結構DOSBIOS(BasicInput/OutputSystem):由一組與硬件相關的設備驅動程序組成,實現基本的輸入/輸出功能;DOS核心:提供一套獨立于硬件的系統功能:內存管理、文件管理、字符設備和輸入/輸出、實時時鐘等;命令處理程序:對用戶命令進行分析和執行;2023/2/3南曉數信學院116MSDOS的特點字符用戶界面。作業管理:命令行,批處理程序(BAT文件),菜單式。編程時通過軟中斷調用(int21h)來使用系統功能。不區分用戶。"準多任務":通過內存駐留程序TSR(TerminatedandStayResident)來實現,通過時鐘中斷或鍵盤中斷"熱鍵hotkey"來激活其他任務。不支持虛擬存儲,沒有存儲保護。采用段式分配(內存塊),可直接訪問的最大地址空間為1MB。其余的內存只能通過作為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托制酒合同范本
- 買賣合同范本
- 銀行創業貸款合同范本
- 借款合同范本最大利息
- 中考古詩詞模擬訓練及詳細講解
- 鄉村院子租賃合同范本
- 畢業論文答辯匯報
- 2025買賣合同優先權
- 2016年福建省福州市中考數學試卷(含解析版)
- 軟件項目開發合同范本版2
- 2024-2030年中國驅蚊用品行業市場深度分析及投資策略研究報告
- 廣東省深圳市寶安區10校聯考2023-2024學年八年級下學期4月期中物理試題(含答案)
- 2024年遼寧沈陽地鐵集團有限公司所屬公司招聘筆試真題
- 2024年中國移動招聘筆試真題
- 2025年安陽職業技術學院單招職業技能測試題庫及答案一套
- 小學課本劇一年級《咕咚來了》-劇本
- 部編 2024版歷史七年級下冊第三單元第16課《明朝的對外關系》說課稿
- 酒店與旅游地產投資
- 消防員的敬業與榮譽
- 2025年人教版英語五年級下冊教學進度安排表
- 職工基本醫療保險參保登記表
評論
0/150
提交評論