




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
操作系統(tǒng)(OperatingSystem)教材:《現(xiàn)代操作系統(tǒng)》ModernOperatingSystems(SecondEdition)AndrewS.Tanenbaum1第一章緒論1.1什么是操作系統(tǒng)1.2操作系統(tǒng)歷史1.3操作系統(tǒng)大觀1.4計算機硬件回憶1.5操作系統(tǒng)概念1.6系統(tǒng)調(diào)用1.7操作系統(tǒng)結(jié)構(gòu)1.8操作系統(tǒng)的研究2教學(xué)要求講課+上機=94學(xué)時講課:50個學(xué)時上機:44個學(xué)時成績平時成績(40%):平時練習(xí)+考勤考試成績(60%):閉卷課程導(dǎo)論3課程建設(shè)目標(biāo)逃脫應(yīng)試教育,投奔素質(zhì)教育清晰完整的體驗OS的神奇深刻準(zhǔn)確的把握IT的方向培養(yǎng)良好的案例學(xué)習(xí)方法僵化死板的記憶——沒有前途照貓畫虎的實踐——成功之路課程導(dǎo)論4教學(xué)用書核心教材《現(xiàn)代操作系統(tǒng)》,機械工業(yè)出版社,Tanenbaum著參考書目《操作系統(tǒng):設(shè)計與實現(xiàn)》,電子工業(yè)出版社,中譯本《操作系統(tǒng)-內(nèi)核與設(shè)計原理》,電子工業(yè)出版社,WilliamStallings著,英文原版《Windows操作系統(tǒng)原理》,機械工業(yè)出版社,陳向群著課程導(dǎo)論5其他教學(xué)用書 操作系統(tǒng)教程 王素華人民郵電出版社
計算機操作系統(tǒng)教程 張堯?qū)W史美林清華大學(xué)出版社
計算機操作系統(tǒng)教程 周長林左萬歷高等教育出版社
操作系統(tǒng)根底 屠立德屠祁清華大學(xué)出版社
操作系統(tǒng)教程 孟慶昌西安電子科大出版社
計算機操作系統(tǒng) 湯子瀛等西安電子科大出版社
操作系統(tǒng)原理DOS篇 張昆蒼清華大學(xué)出版社
操作系統(tǒng)教程 孫鐘秀主編高等教育出版社
操作系統(tǒng)原理技術(shù)與編程 蔣靜徐志偉 機械工業(yè)出版社 OperatingSystemConcept AbrahanSilberschatz,etc
AppliedOperatingSystemConcept AbrahanSilberschatz,etc課程導(dǎo)論6IT體系知識的層次關(guān)系黃色為Level1的內(nèi)容,綠色為Level2的內(nèi)容,暗紅色為Level3的內(nèi)容7Windows2K/XP結(jié)構(gòu)圖課程導(dǎo)論8Minix系統(tǒng)結(jié)構(gòu)圖磁盤任務(wù)終端任務(wù)時鐘任務(wù)系統(tǒng)任務(wù)以太網(wǎng)任務(wù)……內(nèi)存管理器文件系統(tǒng)網(wǎng)絡(luò)服務(wù)器……Init進程用戶進程用戶進程用戶進程用戶進程……第一層第二層第三層第四層I/O任務(wù)效勞器進程用戶進程系統(tǒng)核心進程管理課程導(dǎo)論9OS原理講授內(nèi)容分布操作系統(tǒng)開展綜述與硬件相關(guān)環(huán)境進程管理I/O設(shè)備的管理內(nèi)存管理文件系統(tǒng)多媒體操作系統(tǒng)多處理機系統(tǒng)平安實例研究1:UNIX和Linux實例研究2:Windows2000課程導(dǎo)論10軟件的根本概念課程導(dǎo)論11操作系統(tǒng)的作用計算機硬件設(shè)備如何使用?底層硬件控制用戶輸入處理結(jié)果課程導(dǎo)論12操作系統(tǒng)的作用課程導(dǎo)論OS硬件硬件抽象,屏蔽底層硬件差異應(yīng)用集成,提供通用方法工具高級管理,維護環(huán)境穩(wěn)定平安13操作系統(tǒng)的作用課程導(dǎo)論最專業(yè)的底層設(shè)計人員絕大多數(shù)從業(yè)人員14緒論計算機系統(tǒng)包括:硬件系統(tǒng)程序應(yīng)用程序15緒論現(xiàn)代計算機系統(tǒng)由一個或多個處理器、假設(shè)干存儲器、磁盤、打印機、鍵盤、網(wǎng)絡(luò)接口以及其他輸入/輸出設(shè)備組成。總之,是一個復(fù)雜的系統(tǒng)。編寫程序來掌握所有這些部件并且正確使用它們,即使不考慮優(yōu)化問題,也是一件極其困難的任務(wù)。正因為此,計算機都裝配了稱為操作系統(tǒng)的一層軟件,用于管理所有的設(shè)備以及提供給用戶具有簡易硬件接口的程序。16什么是操作系統(tǒng)?操作系統(tǒng)的定義操作系統(tǒng)〔OperatingSystem〕是管理軟硬件資源、控制程序執(zhí)行,改善人機界面,合理組織計算機工作流程和為用戶使用計算機提供良好運行環(huán)境的一種系統(tǒng)軟件17什么是操作系統(tǒng)?作為擴展機器的操作系統(tǒng)操作系統(tǒng)的作用就是提供給用戶的一個擴展的機器或者虛擬的機器等價物,這樣就比根本的硬件要易于編程。對程序員隱匿硬件真相,并且提供一個簡潔的可以讀寫的命名文件視圖,毫無疑問,這種程序就是操作系統(tǒng)。操作系統(tǒng)給出的抽象都比根本的硬件要簡單和易于使用。這種概念是一個自上而下的觀點。18什么是操作系統(tǒng)?作為資源管理器的操作系統(tǒng)自底向上的觀點那么認為,操作系統(tǒng)是管理復(fù)雜系統(tǒng)的所有局部的。操作系統(tǒng)的任務(wù)就是在多個競爭資源的程序之間,為處理器、存儲器以及I/O設(shè)備提供有序的、受控的分配。簡而言之,這種觀點認為操作系統(tǒng)其主要任務(wù)就是記錄下誰在使用哪個資源、批準(zhǔn)資源請求、統(tǒng)計使用情況以及協(xié)調(diào)來自不同程序和用戶的請求沖突。資源管理有兩種方式:按時間和按空間。19什么是操作系統(tǒng)?作為用戶與計算機硬件之間的接口改造硬件設(shè)施,屏蔽使用細節(jié),方便用戶使用提供原語或廣義指令,擴展機器的指令系統(tǒng)合理組織計算機的工作流程,協(xié)調(diào)各個部件有效工作,為用戶提供一個良好的運行環(huán)境20操作系統(tǒng)開展歷程簡介操作系統(tǒng)出現(xiàn)與開展的本質(zhì)目的充分利用硬件,提供更好的效勞根本的硬件開展歷程大型機時代——PC機時代——后PC時代操作系統(tǒng)的開展歷史階段共分為五個階段課程導(dǎo)論21石器時代:奇跡和災(zāi)難并存時代環(huán)境:硬件昂貴、人工廉價大型機時代:1948-1970年主要特點:極其復(fù)雜,缺少人機交互控制臺:一次允許一個用戶使用批處理:裝入程序——運行——打印輸出數(shù)據(jù)通道與中斷:I/O與計算重疊多道程序設(shè)計:存儲保護技術(shù)的出現(xiàn)重大失?。篛S與計算機軟件設(shè)計的危機MULTICS系統(tǒng):1963年開始研發(fā),拖延至1969年發(fā)布IBMOS/360系統(tǒng):發(fā)布時就帶著的1000多個Bug課程導(dǎo)論22ENIAC計算機運算速度:5000次/每秒,18000個真空管,占地182平方米,重量130噸,功耗140kW2324ENIAC計算機25穿孔卡片26早期的批處理系統(tǒng)課程導(dǎo)論卡片早期批處理系統(tǒng)IBM1401IBM7094IBM1401輸入磁帶磁帶機卡片閱讀機輸出磁帶打印機27分時操作:充分利用硬件資源課程導(dǎo)論主機終端28大型機OS:恐怖的軟件怪獸課程導(dǎo)論29工業(yè)時代:新紀(jì)元的開始時代環(huán)境:硬件廉價、人工昂貴提倡人機交互與效勞:1970-1985年主要特點:加強人機交互,保證系統(tǒng)性能分時交互概念:虛擬和分布的概念出現(xiàn)用戶使用體驗:提供更強大的用戶操作能力系統(tǒng)性能危機:如何保證穩(wěn)定的系統(tǒng)性能甜蜜歲月:Unix、Minux、Linux的起源Unix系統(tǒng):貝爾實驗室,游戲迷在DECPDP-7上的杰作KenThompson,DennisRitchie:1983圖靈獎,1999美國國家技術(shù)金獎圖靈獎是美國計算機協(xié)會〔ACM〕于1966年設(shè)立的,是計算機界最負盛名的獎項,有“計算機界諾貝爾獎〞之稱。目前為止,獲此殊榮的華人僅有一位,2000年圖靈獎得主姚期智,課程導(dǎo)論30現(xiàn)代OS根底:玩出來的精彩課程導(dǎo)論31UNIX家族:比超女還火爆課程導(dǎo)論32摩登時代:IT產(chǎn)業(yè)的黃金歲月時代環(huán)境:硬件廉價、人工非常昂貴PC與個人計算時代:1981-現(xiàn)在主要特點:傳統(tǒng)概念的重用與回歸軟件怪獸的恐怖記憶:OS是極為復(fù)雜的例程庫Unix的美好時光:回歸簡單、專業(yè)的系統(tǒng)結(jié)構(gòu)個人計算的必然需求:GUI界面、回歸復(fù)雜的OS底層本質(zhì)特點:最大限度滿足每個人的要求科學(xué)開展的必然:樹型知識體系的延伸個人PC的OS設(shè)計:強調(diào)友好操作、傻瓜式效勞分布與共享:網(wǎng)絡(luò)應(yīng)用引發(fā)C/S、B/S、網(wǎng)格計算革命廣泛的領(lǐng)域應(yīng)用:數(shù)據(jù)庫、網(wǎng)絡(luò)傳輸、智能信息處理課程導(dǎo)論33夢想時代:超越有限、飛向無限時代環(huán)境:移動計算、無線計算、嵌入式計算后PC時代:1995-現(xiàn)在主要特點:小型、移動、便捷、有限能力移動計算的新潮:PDA、智能、高性能筆記本電腦工業(yè)智能化的趨勢:形形色色的嵌入式系統(tǒng)科技對世界的概念:超小型計算工具〔平安、國防…〕科技締造文明:沒有想不到,只有做不到智能化的生活環(huán)境:集頂盒、無線通信網(wǎng)絡(luò)…更先進的生產(chǎn)工具:機器人技術(shù)的蓬勃開展更無限的開展空間:信息時代的終極魅力課程導(dǎo)論34DOS開展史DOS其前身是蒂姆·帕特森編寫的SCP-DOS。當(dāng)時的個人電腦開展非常迅速,逐漸成為廣泛的消費市場。由于個人電腦尤其是蘋果電腦的成功,電腦界的巨頭IBM公司坐不住了。1980年,IBM決定開發(fā)自己的個人計算機系統(tǒng),并命名為PersonalComputer。為了縮短開發(fā)周期,IBM決定找一家軟件公司與之合作開發(fā)PC機的操作系統(tǒng)。這家幸運的小公司就是Microsoft公司,也就是現(xiàn)在的微軟公司。微軟公司以5萬美元價格從買下了X86操作系統(tǒng)軟件的使用權(quán),再將其改寫成為公司的磁盤操作系統(tǒng)軟件(MSDOS〕。35DOS開展史這給了微軟迅速開展的時機,微軟公司對86-DOS進行了較大的改進,并改名為Microsoft-DOS。1981年,隨著IBM的IBMPC機的正式發(fā)布,微軟的MSDOS1.0也誕生了。當(dāng)時的MSDOS遠不如現(xiàn)在的強大,可用的命令也很少,甚至連目錄的概念也不支持。但比照當(dāng)時的個人操作系統(tǒng),已經(jīng)是非常先進的。36DOS開展史最重要的是,DOS從一開始就是全開放的系統(tǒng),這為第三方廠商開發(fā)的應(yīng)用程序提供了方便可靠的接口,又由于有IBM的強大后盾,吸引了越來越多的開發(fā)商投入到DOS應(yīng)用程序的開發(fā)中來,而這以后的DOS獲得了空前的開展,成為PC機的絕對主流操作系統(tǒng)。37DOS開展史在DOS發(fā)布之后的十幾年中,微軟公司不斷推出DOS的新版本,到目前為止,MSDOS的最高版本是7.0。由于Windows操作系統(tǒng)的成功,微軟今后將不再對DOS升級。38DOS開展史下面是各個DOS版本的主要功能:DOS1.0:以單面軟盤為根底的第一個操作系統(tǒng);DOS1.1:支持雙面軟盤并可實現(xiàn)錯誤定位,該系統(tǒng)可支持兼容機;DOS2.0:支持帶硬盤的PC/XT機并從UNIX操作系統(tǒng)中吸收了許多功能;DOS2.11:改進了國際支持,對錯誤的定位更加準(zhǔn)確;DOS3.0:支持以80286為CPU的PC/AT機,支持1.2M軟盤及更大容量的硬盤;39DOS開展史DOS3.1:支持Microsoft網(wǎng)絡(luò),并擴展了錯誤檢測功能;DOS2.25:增加了擴展的字符集并參加了新的錯誤檢查;DOS3.3:是應(yīng)用相當(dāng)廣泛的一個系統(tǒng),增加了一些新命令,支持高密3英寸盤;DOS3.31:COMPAQ機器用,允許硬盤容量超過32M;DOS4.0:增加DOSSHELL,可管理大于32M的硬盤;40DOS開展史DOS5.0:支持2.88M軟盤,增加了任務(wù)切換和全屏幕編輯器Editor,擴充了DOS的外部命令;DOS6.0:增加了磁盤壓縮增容工具DoubleSpace,提供了防病毒程序。Config.sys具有多重配置塊命令,提供了系統(tǒng)內(nèi)存管理優(yōu)化程序;DOS6.2:增加了拷貝文件的平安性;由于專利原因,DoubleSpace改名為DriveSpace,并增強了Edit全屏幕編輯的功能;41DOS開展史DOS6.21:增強了DriveSpace,完善了TSR管理等功能;DOS6.22:最后一個獨立存在的MS-DOS版本,支持中文內(nèi)碼,加強了DriveSpace功能;DOS7.0:它不是單獨存在的,它實際是Windows95/98的底層引導(dǎo)程序。微軟為了推進Windows產(chǎn)品的開展,已經(jīng)公開表示不再對DOS的版本進行升級,盡管Windows98下的DOS與Windows95下的DOS并不完全相同。42胚胎重演律(OntogenyRecapitulatesPhylogeny)胚胎重演律:一個胚胎重復(fù)著種系進化的過程。換句話說就是,受精后,人類的卵子在變成人類嬰兒之前經(jīng)歷了魚、豬等等之類的階段?,F(xiàn)代生物學(xué)家認為該論點過于簡單化,不過其中仍舊包含著真理的內(nèi)核。計算機工業(yè)領(lǐng)域也發(fā)生著類似的事情。每個新的種系(大型機、小型機、個人計算機、嵌入式計算機、智能卡等等)似乎都經(jīng)歷了其前輩的開展階段。43操作系統(tǒng)大觀大型機操作系統(tǒng)效勞器操作系統(tǒng)多處理機操作系統(tǒng)個人計算機操作系統(tǒng)實時操作系統(tǒng)嵌入式操作系統(tǒng)智能卡操作系統(tǒng)44大型機操作系統(tǒng)操作系統(tǒng)的高端是針對大型機的,這些房間大小般的計算機仍然可以在大型公司的數(shù)據(jù)中心找到。大型機也被用于高端的Web效勞器(大型電子商務(wù)站點的效勞器)以及b2b(business-to-business)事務(wù)的效勞器。大型機的操作系統(tǒng)主要面向同時處理許多作業(yè),而這些作業(yè)絕大局部都需要海量的I/O。它們一般提供三種效勞:批處理、事務(wù)處理和分時。45效勞器操作系統(tǒng)它們運行與效勞器上,這些效勞器可能是大型的個人計算機、工作站,甚或是大型機。它們通過網(wǎng)絡(luò)同時為多個用戶效勞,并且允許用戶共享硬件和軟件資源。效勞器可以提供打印效勞、文件效勞或者Web效勞。Internet提供商運行許多效勞器以支持他們的客戶,Web站點使用效勞器貯存網(wǎng)頁以及處理呼入(incoming)請求。典型的效勞器操作系統(tǒng)有UNIX和Windows2000。Linux也在效勞器領(lǐng)域逐漸普及了。46多處理機操作系統(tǒng)在一個系統(tǒng)中連接多個CPU,這些系統(tǒng)稱為并行計算機、多計算機系統(tǒng)或者多處理機系統(tǒng),這取決于如何連接以及共享哪些設(shè)備。它們需要特殊的操作系統(tǒng),不過通常都采用效勞器操作系統(tǒng)的變種,加上有關(guān)通信和連通性方面的特性。47個人計算機操作系統(tǒng)它們的任務(wù)就是為單個用戶提供良好的界面。他們廣泛用于字處理、電子表格和Internet訪問。一般的例子有Windows9x/Me/2000/XP、Macintosh操作系統(tǒng)以及Linux。個人計算機操作系統(tǒng)是如此的眾所周知,幾乎無需再作介紹。事實上,許多人甚至不知道還有其他類型的操作系統(tǒng)。48實時操作系統(tǒng)這些系統(tǒng)的特征就是把時間作為一個關(guān)鍵參數(shù)。通常它們必須符合嚴格的時間界限。如果動作確定必須在確定的時刻(或者在一個確定的范圍內(nèi))發(fā)生,如不滿足將會引起災(zāi)難性的后果,這就是硬實時系統(tǒng)(hardreal-timesystem)。
另外一種實時系統(tǒng)是軟實時系統(tǒng)(softreal-timesystem),在這種系統(tǒng)中,偶爾錯過時間界限是可以接受的,只造成系統(tǒng)性能下降而不會帶來嚴重惡果。數(shù)字音頻或者多媒體系統(tǒng)就屬于此列。VxWork和QNX是著名的實時操作系統(tǒng)。49嵌入式操作系統(tǒng)嵌入式系統(tǒng)運行于控制設(shè)備的計算機上,而這些計算機通常并不被認為是計算機,例如電視機、微波爐和移動。它們通常具有實時系統(tǒng)的特征,不過同時由于受到尺寸、內(nèi)存以及能量限制而使得它們更為特殊。這種操作系統(tǒng)的例子有PalmOS和WindowsCE(ConsumerElectronics)。50嵌入式操作系統(tǒng)51嵌入式操作系統(tǒng)智能卡移動通信計算機外設(shè)機頂盒零售設(shè)備印刷機復(fù)印機互聯(lián)網(wǎng)服務(wù)器電話交換設(shè)備52智能卡操作系統(tǒng)最小的操作系統(tǒng)運行于智能卡(SmartCard)上。智能卡是一種信用卡大小的、包含CPU芯片的設(shè)備。它們有著非??量痰奶幚砟芰蛢?nèi)存約束。很多智能卡只能處理單個功能,例如電子支付,不過其他的可以處理多個功能。通常這些系統(tǒng)都是專利系統(tǒng)。53計算機硬件回憶操作系統(tǒng)與運行它的計算機硬件是密切相關(guān)的。它擴展了計算機的指令集,并且管理著計算機的資源。為了能夠工作,它必須知道有關(guān)硬件的大量信息,至少要知道硬件如何在程序中出現(xiàn)。從概念上說,一臺簡單的個人計算機可以抽象成如下模型:CPU、內(nèi)存和I/O設(shè)備都聯(lián)結(jié)在系統(tǒng)總線上,并且通過它進行通信。54計算機硬件回憶簡單的個人計算機的組成局部55CPU最重要的硬件就是CPU計算機的“大腦〞就是CPU。它從內(nèi)存中讀取指令,并且執(zhí)行它們。程序計數(shù)器(programcounter)堆棧指針(stackpointer):堆棧指針總是指向棧頂元素的下一個位置。所以數(shù)據(jù)入棧的時候,先壓棧,棧頂指針再增加一。出棧的時候棧頂指針先減去一,在彈出數(shù)據(jù)PSW(ProgramStatusWord,程序狀態(tài)字):程序狀態(tài)字包含狀態(tài)位,反響CPU的當(dāng)前狀態(tài)管線(pipeline):流水線,為了執(zhí)行指令而歸納出的“下一步需要做的事情〞。每一個指令的執(zhí)行都必須經(jīng)過相同的步驟,最根底的CPU管線可以被分為5級:1、取指令2、譯解指令3、演算出操作數(shù)4、執(zhí)行指令5、存儲到高速緩存超標(biāo)量(superscalar):超標(biāo)量是通過內(nèi)置多條流水線來同時執(zhí)行多個處理器,其實質(zhì)是以空間換取時間系統(tǒng)調(diào)用(systemcall)56計算機硬件回憶(a)三級流水線(b)超標(biāo)量計算機體系結(jié)構(gòu)CPU57存儲器第二個主要的組件是存儲器存儲器應(yīng)該異常迅捷(比執(zhí)行一條指令還快,這樣CPU就不會因為存儲器而阻礙)、容量巨大而且非常廉價?,F(xiàn)在還沒有技術(shù)可以滿足所有這些要求,因此只能采取其他的方法。存儲器系統(tǒng)是一個層次結(jié)構(gòu)。58計算機硬件回憶存儲器典型的存儲器層次。圖中數(shù)字只是近似的估計59計算機硬件回憶磁盤驅(qū)動器的結(jié)構(gòu)60計算機硬件回憶(a)一個基址-界限對(b)兩個基址-界限對61I/O設(shè)備I/O設(shè)備I/O設(shè)備與操作系統(tǒng)的相互作用非常頻繁。I/O設(shè)備一般有兩個局部組成:控制器和設(shè)備自身。每種類型的控制器需要不同的軟件來控制。實現(xiàn)輸入和輸出有三種不同的方式:忙等待(busywaiting)中斷(interrupt)DMA(DirectMemoryAccess,直接存儲器存取)62什么是中斷?是指CPU在正常運行程序時,由于內(nèi)部/外部事件或由程序預(yù)先安排的事件,引起CPU中斷正在運行的程序,而轉(zhuǎn)到為內(nèi)部/外部事件或為預(yù)先安排的事件效勞的程序中去,效勞完畢,再返回去執(zhí)行暫時中斷的程序。中斷分硬件中斷和軟件中斷兩種。中斷為計算機的硬件設(shè)備和軟件"部件"提供了一種相互交流的途徑,這就是它的作用。63什么是DMA?DMA〔DirectMemoryAccess〕,即直接存儲器存取,是一種快速傳送數(shù)據(jù)的機制。數(shù)據(jù)傳遞可以從I/O設(shè)備到內(nèi)存,從內(nèi)存到I/O設(shè)備或從一段內(nèi)存到另一段內(nèi)存。利用它進行數(shù)據(jù)傳送時不需要CPU的參與。每臺電腦主機板上都有DMA控制器,通常計算機對其編程,并用一個適配器上的ROM(如軟盤驅(qū)動控制器上的ROM)來儲存程序,這些程序控制DMA傳送數(shù)據(jù)。一旦控制器初始化完成,數(shù)據(jù)開始傳送,DMA就可以脫離CPU,獨立完成數(shù)據(jù)傳送。64計算機硬件回憶(a)啟動I/O設(shè)備和獲得中斷的步驟(b)CPU的中斷方式65總線大型Pentium系統(tǒng)的結(jié)構(gòu)66總線該系統(tǒng)有八條總線(cache、局部、內(nèi)存、PCI、SCSI、USB、IDE和ISA),每一條的傳輸速率和功能都不一樣。操作系統(tǒng)必須知曉所有這些總線,以便于配置和管理。兩條主要的總線是原始的IBMPCISA(IndustryStandardArchitecture,工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu))總線和它的后繼PCI(PeripheralComponentInterconnect,外設(shè)部件互連)總線。67幾個概念PCI橋那么用于對PCI總線進行擴展,使多個PCI總線形成多層次結(jié)構(gòu),以減輕單個PCI總線的負載。IDE總線:連接磁盤、CD-ROM一類的的外圍設(shè)備和系統(tǒng)相連接。USB:連接慢速I/O設(shè)備,例如鼠標(biāo)、鍵盤,速度為1.5MB/s。所有的USB設(shè)備共享一個USB設(shè)備驅(qū)動程序,不需為新的USB設(shè)備安裝新設(shè)備驅(qū)動程序SCSI:連接需要較大帶寬的設(shè)備,例如高速硬盤、掃描儀,最高可達160MB/sIEEE1394:蘋果公司提出,適合數(shù)碼相機等多媒體設(shè)備連接計算機68操作系統(tǒng)概念進程Processes死鎖Deadlocks內(nèi)存管理MemoryManagement輸入/輸出Input/Output文件Files平安Security外殼TheShell概念的循環(huán)使用RecyclingofConcepts69進程進程根本上就是正在執(zhí)行的程序。進程的定義:程序在并發(fā)環(huán)境中的執(zhí)行過程。70進程進程和程序是兩個完全不同的概念,它們之間的主要區(qū)別是:程序是靜態(tài)概念;進程是程序的一次執(zhí)行過程,是動態(tài)概念。進程是一個能獨立運行的單位,它作為資源申請和調(diào)度單位存在;程序是不能作為一個獨立運行的單位而并發(fā)執(zhí)行的。程序和進程無一一對應(yīng)關(guān)系各個進程在并發(fā)執(zhí)行過程中會產(chǎn)生相互制約的關(guān)系71進程每個進程都有其地址空間(addressspace),從某個最小值(一般為0)到某個最大值的內(nèi)存位置列表,這是進程可以讀寫的范圍。該地址空間包括可執(zhí)行程序、程序數(shù)據(jù)以及它的堆棧。同樣,每個進程還有許多存放器,包括程序計數(shù)器、堆棧指針和其他硬件存放器,以及運行該程序的所有其他信息。72進程進程樹進程A創(chuàng)立了兩個子進程,B和C。進程B創(chuàng)立了三個子進程,D,E和F。73死鎖兩個或多個進程相互影響時,有時候會使得它們自己陷入無法自拔的僵局。這種情形稱為死鎖(deadlock)。74死鎖死鎖(a)潛在的死鎖(b)實際的死鎖75存儲管理每臺計算機都有一些主存,用于容納執(zhí)行程序。在非常簡單的操作系統(tǒng)中,一個時刻只有一個程序在內(nèi)存中。要運行第二個程序,必須將第一個移去,把第二個放入內(nèi)存。76存儲管理更高級的操作系統(tǒng)允許多個程序同時在內(nèi)存中。為了阻止它們相互阻礙,需要某些保護機制。盡管這些機制必須放在硬件中,但是都是由操作系統(tǒng)來控制。另一個不同但同樣重要的、與內(nèi)存相關(guān)的問題就是進程的地址空間的管理。通常,每個進程都有某些地址可以使用,一般從0到某個最大值。77輸入/輸出所有的計算機都由物理設(shè)備來獲取輸入,并產(chǎn)生輸出。畢竟,用戶不能告訴計算機做什么,也不能得到要求它工作所產(chǎn)生的結(jié)果。輸入和輸出設(shè)備有很多,包括鍵盤、顯示器、打印機等等。管理這些設(shè)備都取決于操作系統(tǒng)。因此,每個操作系統(tǒng)都有一個I/O子系統(tǒng)來管理I/O設(shè)備。某些I/O軟件是設(shè)備無關(guān)的,也就是說,可以同樣地應(yīng)用于許多或者所有的I/O設(shè)備。而其他的那么是針對特定的I/O設(shè)備,例如設(shè)備驅(qū)動程序。78文件所有實際操作系統(tǒng)都支持的另一個重要概念就是文件系統(tǒng)。正如前面所提到的,操作系統(tǒng)的一個主要功能就是隱藏磁盤和其他I/O設(shè)備的特性,給程序員提供一個合意的、干凈的、關(guān)于設(shè)備無關(guān)文件的抽象模型。顯然,需要系統(tǒng)調(diào)用來創(chuàng)立文件、刪除文件、讀文件和寫文件。在讀文件之前,必須先定位和翻開文件,而讀完之后,應(yīng)該關(guān)閉它,因此需要提供調(diào)用來完成這些事情。79文件系統(tǒng)文件系統(tǒng)大學(xué)中一個系的文件系統(tǒng)80文件系統(tǒng)(a)裝配前軟盤上的文件是不可訪問的(b)將軟盤裝配到b上軟盤上的文件成為文件層次中的一局部81操作系統(tǒng)概念兩個進程通過管道連接82平安計算機包含大量的、用戶通常希望保密的信息。這些信息可能包括電子郵件、商業(yè)方案、回復(fù)等等。這都要由操作系統(tǒng)來管理系統(tǒng)平安,這樣,文件只能由授權(quán)用戶訪問(方法之一)。除了文件保護之外,還有許多其他的平安問題。保護系統(tǒng)不受到人類或者非人類的(比方病毒)的有害入侵就是其中之一。83外殼UNIX的命令解釋器,也稱為外殼(shell)。盡管它不是操作系統(tǒng)的一局部,但是它利用了大量操作系統(tǒng)的特性,因而也很好的說明了系統(tǒng)調(diào)用是如何使用的。同時,它還是終端用戶和操作系統(tǒng)之間的主要接口,除非用戶使用圖形用戶界面。外殼程序有很多,包括sh,csh,ksh和bash。84WindowsShellWindowsShell為Windows用戶界面提供根本框架,用戶最常體驗到的WindowsShell形式是Windows桌面。除了桌面之外,WindowsShell還提供了許多其他功能,使計算體驗中的外觀和感受始終保持一致。WindowsShell可用于以下用途:通過Windows資源管理器查找文件和文件夾;通過“開始〞菜單中的快捷方式提供啟動應(yīng)用程序的一致方式;通過桌面主題及顏色提供一致的界面。85概念的循環(huán)使用計算機科學(xué)和許多領(lǐng)域一樣,都是極大地受到技術(shù)的驅(qū)動。正如古羅馬人沒有汽車并不是因為他們喜歡走路,而是因為他們不知道怎么制造汽車。個人計算機的存在也不是因為人們長時間地渴望擁有自己的電腦,而是因為可以生產(chǎn)廉價的電腦。技術(shù)上的改變可能恢復(fù)某些所謂的“廢棄的概念〞。技術(shù)并不是推動系統(tǒng)和軟件進步的唯一因素。經(jīng)濟也同樣扮演著主要角色。86系統(tǒng)調(diào)用操作系統(tǒng)和用戶程序之間的接口是由一組操作系統(tǒng)提供的系統(tǒng)調(diào)用來定義的。這些接口中的系統(tǒng)調(diào)用因操作系統(tǒng)不同而不同(盡管其根本概念上是類似的)。87系統(tǒng)調(diào)用系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。編程人員通過系統(tǒng)調(diào)用使用操作系統(tǒng)內(nèi)核所提供的各種功能。系統(tǒng)調(diào)用的執(zhí)行不同于一般用戶程序的執(zhí)行。系統(tǒng)調(diào)用執(zhí)行是在核心態(tài)下執(zhí)行系統(tǒng)于程序,而用戶程序那么是在用戶態(tài)下執(zhí)行。一般來說,操作系統(tǒng)提供的系統(tǒng)調(diào)用越多,功能也就越豐富,系統(tǒng)也就越復(fù)雜。88系統(tǒng)調(diào)用OS核心中都有一組實現(xiàn)系統(tǒng)功能的過程〔子程序〕,系統(tǒng)調(diào)用就是對上述過程的調(diào)用。因此,系統(tǒng)調(diào)用像一個黑箱子那樣,對用戶屏蔽了操作系統(tǒng)的具體動作而只提供有關(guān)的功能。WindowsAPI(ApplicationProgrammingInterface)提供了功能眾多的函數(shù),可讓程序員深入控制Windows操作系統(tǒng)的絕大局部內(nèi)容。Windows有一個軟件開發(fā)包〔SDK,softwaredevelopmentkit〕提供相應(yīng)的文檔和工具89系統(tǒng)調(diào)用為了更清楚地了解系統(tǒng)調(diào)用的機制,下面簡要地介紹read系統(tǒng)調(diào)用。它有三個參數(shù):第一個指定文件,第二個指向緩沖區(qū),第三個給出讀的字節(jié)數(shù)。與幾乎所有系統(tǒng)調(diào)用一樣,也是通過調(diào)用庫函數(shù)從C語言來調(diào)用的,使用和系統(tǒng)調(diào)用同樣的名稱:read。C語言的調(diào)用就像這樣:count=read(fd,buffer,nbytes);系統(tǒng)調(diào)用(和例程調(diào)用)將實際讀的字節(jié)數(shù)返回給count。它的值一般和nbytes相同,不過也可能小一些,例如讀的時候正好碰到文件結(jié)束。90系統(tǒng)調(diào)用系統(tǒng)調(diào)用的步驟系統(tǒng)調(diào)用read(fd,buffer,nbytes)的11個步驟91陷阱在系統(tǒng)中為控制系統(tǒng)調(diào)用效勞的機構(gòu)稱為陷阱〔trap〕處理機構(gòu).與之相應(yīng),把由于系統(tǒng)調(diào)用引起處理機中斷的指令稱為陷阱指令〔或稱訪管指令〕。92系統(tǒng)調(diào)用的主要類型設(shè)備管理:該類系統(tǒng)調(diào)用被用來請求和釋放有關(guān)設(shè)備、以及啟動設(shè)備操作等。文件管理:包括對文件的讀、寫、創(chuàng)立和刪除等。進程控制:進程是一個在功能上獨立的程序的一次執(zhí)行過程。進程控制的有關(guān)系統(tǒng)調(diào)用包括進程創(chuàng)立、進程執(zhí)行、進程撤消、執(zhí)行等待和執(zhí)行優(yōu)先級控制等。93系統(tǒng)調(diào)用的主要類型進程通信:該類系統(tǒng)調(diào)用被用在進程之間傳遞消息或信號。存儲管理:包括調(diào)查作業(yè)占據(jù)內(nèi)存區(qū)的大小、獲取作業(yè)占據(jù)內(nèi)存區(qū)的始址等。線程管理:包括線程的創(chuàng)立、調(diào)度、執(zhí)行、撤銷等。94POSIX進程管理的系統(tǒng)調(diào)用終止進程運行并返回狀態(tài)exit(status)替換一個進程的核心映射s=execve(name,argv,environp)等待一個子進程睞終止pid=waitpid(pid,&statloc,options)在同一雙親下創(chuàng)建一個子進程pid=fork()描述調(diào)用POSIX是PortableOperatingSystemInterfaceofUnix的縮寫。在源代碼級別上定義了一組最小的Unix(類Unix)操作系統(tǒng)接口95文件系統(tǒng)的系統(tǒng)調(diào)用移動文件指針position=lseek(fd,offset,whence)獲取文件的狀態(tài)信息s=stat(name,&buf)從緩沖區(qū)將數(shù)據(jù)寫到文件n=write(fd,buffer,nbytes)從文件讀取數(shù)據(jù)到緩沖區(qū)n=read(fd,buffer,nbytes)關(guān)閉一個打開的文件s=close(fd)打開文件以讀、寫或讀寫fd=open(file,how,…)描述調(diào)用96目錄管理的系統(tǒng)調(diào)用裝配文件系統(tǒng)s=mount(special,name,flag)卸載文件系統(tǒng)s=umount(special)刪除目錄入口s=unlink(name)創(chuàng)建新入口name2指向name1s=link(name1,name2)刪除空目錄s=rmdir(name)創(chuàng)建新目錄s=mkdir(name,mode)描述調(diào)用97其他任務(wù)的系統(tǒng)調(diào)用向進程發(fā)送信號s=kill(pid,signal)從1970年1月1日起的秒數(shù)seconds=time(&seconds)改變文件保護位s=chmod(name,mode)改變工作目錄s=chdir(name)描述調(diào)用98進程管理的系統(tǒng)調(diào)用簡單的外殼程序:while(TRUE){ //無限循環(huán)type_prompt(); //顯示提示read_command(command,parameters) //從終端輸入
if(fork()!=0){ //關(guān)閉子進程 //父進程代碼 waitpid(-1,&status,0); //等待子進程退出 }else{ //子進程代碼 execve(command,parameters,0); //執(zhí)行命令 }}99進程管理的系統(tǒng)調(diào)用接著看如下的一條命令:cpfile1file2上面的命令用于將file1復(fù)制到file2。在外殼程序派生后,子進程定位并執(zhí)行文件cp,而且將源文件名和目標(biāo)文件名傳遞給它。cp的主程序(以及大多數(shù)其他C語言的主程序)都包含如下的聲明:main(argc,argv,envp)其中argc是指命令行中有多少個條目,包括程序名在內(nèi)。如上面的命令,argc為3。第二個參數(shù)argv是一個數(shù)組的指針。元素i是指命令行中第i個字符串。在上面的例子中,argv[0]指向字符串“cp〞,argv[1]指向字符串“file1〞,而argv[2]指向字符串“file2〞。main的第三個參數(shù)envp是指向環(huán)境的指針,包含形如name=value格式的賦值字符串?dāng)?shù)組,用于諸如終端類型以及程序的原目錄名之類的信息。在圖1?19中,沒有環(huán)境傳遞給子進程,因此execve的第三個參數(shù)為0。100進程管理的系統(tǒng)調(diào)用UNIX中進程的內(nèi)存被分為三段:文本段(textsegment)(即程序代碼),數(shù)據(jù)段(datasegment)(即變量)以及堆棧段(stacksegment)。其中數(shù)據(jù)段向上增長,而堆棧段向下增長,如圖1?20所示。堆棧段〔stacksegment〕通常是指采用堆棧方式工作的一段內(nèi)存區(qū)域。在采用段式內(nèi)存管理方式進行程序內(nèi)存分配的架構(gòu)中,堆棧段用來存放局部變量和函數(shù)返回地址。堆棧段是在程序運行時動態(tài)分配使用,只需要通過棧頂指針即可訪問。目前大多數(shù)CPU中都有專用存放器可以被用來存放棧頂?shù)刂?。它們之間為未使用的地址空間間隔。如果需要的話,堆棧自動向間隔增長;而數(shù)據(jù)段的擴展要通過系統(tǒng)調(diào)用brk來顯式地實現(xiàn)。brk用于指定數(shù)據(jù)段結(jié)束的新地址。101進程管理的系統(tǒng)調(diào)用進程有三個段:正文、數(shù)據(jù)和堆棧102文件管理的系統(tǒng)調(diào)用讀或?qū)懸粋€文件,首先要用open翻開該文件。該文件指定要翻開的文件名(絕對路徑名或相對路徑名都可以),以及使用O_RDONLY,O_WRONLY和RDWR代碼表示翻開讀、寫或者讀寫。要創(chuàng)立新文件,使用O_CREAT。返回的文件描述符可以用于隨后的讀或?qū)懖僮鳌H缓?,通過close可以關(guān)閉文件。而文件描述符還可以再次用于open操作。103目錄管理的系統(tǒng)調(diào)用有兩個用戶,ast和jim,每個人都有其自己的目錄,內(nèi)有一些文件?,F(xiàn)在,如果ast執(zhí)行一個程序包含下面的系統(tǒng)調(diào)用:link(“/usr/jim/memo〞,“/usr/ast/note〞);jim目錄下的文件memo現(xiàn)在就進入ast的目錄中了,并且名字為note。此后,/usr/jim/memo和/usr/ast/note就是指同一個文件。104目錄管理的系統(tǒng)調(diào)用link(“/usr/jim/memo〞,“/usr/ast/note〞);(a)兩個目錄鏈接之前。(b)鏈接后的目錄105目錄管理的系統(tǒng)調(diào)用mount系統(tǒng)調(diào)用可以把兩個文件系統(tǒng)合并為一個。一般情形是將公用命令的二進制(可執(zhí)行)版本和其他經(jīng)常使用的文件包含在硬盤的根文件系統(tǒng)中。然后用戶可以在軟盤驅(qū)動器中插入軟盤進行讀操作。執(zhí)行mount系統(tǒng)調(diào)用,軟盤文件可以連接到根文件系統(tǒng)上,如圖1?22所示。典型的執(zhí)行mount的C語句如下:mount(“/dev/fd0〞,“/mnt〞,0);其中第一個參數(shù)是驅(qū)動器0的塊特殊文件名,第二個參數(shù)是裝配在樹中的位置,而第三個參數(shù)告知裝配上的文件系統(tǒng)是可以讀寫還是只讀的。注:/dev/fd0表示軟驅(qū)106目錄管理的系統(tǒng)調(diào)用mount(“/dev/fd0〞,“/mnt〞,0);(a)文件系統(tǒng)裝配之前(b)文件系統(tǒng)裝配之后107其他系統(tǒng)調(diào)用chdir改變當(dāng)前的工作目錄,執(zhí)行如下調(diào)用之后:chdir(“/usr/ast/test〞);翻開文件xyz,就會翻開/usr/ast/test/xyz文件。工作目錄的概念可以始終省略鍵入(長的)絕對路徑名。108其他系統(tǒng)調(diào)用在UNIX中每個文件都有一個模式用于保護。該模式對擁有者、同組成員和其他人都有讀-寫-執(zhí)行位。chmod系統(tǒng)調(diào)用可以改變一個文件的模式。例如,執(zhí)行以下調(diào)用可以使文件對除了擁有者之外的所有人都只讀:chmod(“file〞,0644);109系統(tǒng)調(diào)用一些Win32API調(diào)用獲取當(dāng)前時間GetLocalTimetimeWin32不支持信號(none)killWin32不支持安全性(盡管NT可以)(none)chmod改變當(dāng)前工作目錄SetCurrentDirectorychdirWin32不支持裝配(none)umountWin32不支持裝配(none)mount刪除已有文件DeleteFileunlinkWin32不支持鏈接(none)link刪除空目錄RemoveDirectoryrmdir創(chuàng)建新目錄CreateDirectorymkdir獲取文件屬性GetFileAttributesExstat移動文件指針SetFilePointerlseek寫數(shù)據(jù)到文件中WriteFilewrite從文件中讀取數(shù)據(jù)ReadFileread關(guān)閉文件CloseHandleclose創(chuàng)建文件或打開已有文件CreateFileopen中止運行ExitProcessexitCreateProcess=fork+execve(none)execve等待進程退出WaitForSingleObjectwaitpid創(chuàng)建新進程CreatePrrocessfork描述Win32UNIX110WindowsAPI分類〔一〕根底效勞(BaseServices):提供對Windows系統(tǒng)可用的根底資源的存取接口。比方象:檔案系統(tǒng)〔filesystem〕、外部裝置〔device〕、,進程〔process〕、線程〔thread〕以及存取登錄〔Windowsregistry〕和錯誤處理機制〔errorhandling〕。這些功能接口位于,16位Windows下的kernel.exe、krnl286.exe或krnl386.exe系統(tǒng)檔案中;以及32位Windows下的kernel32.dll和advapi32.dll中。圖形裝置接口〔GDI〕,提供功能為:輸出圖形內(nèi)容到顯示器、打印機以及其它外部輸出裝置。位于gdi32.dll。111WindowsAPI分類〔二〕圖形化使用者接口〔GUI〕:提供的功能有創(chuàng)立和管理屏幕和大多數(shù)根本控件〔control〕,比方按鈕和卷軸。接收鼠標(biāo)和鍵盤輸入,以及其它與GUI有關(guān)的功能。這些調(diào)用界面位于user32.dll。從WindowsXP版本之后,根本控件和通用對話框控件〔CommonControlLibrary〕的調(diào)用接口放在comctl32.dll中。通用對話框庫〔CommonDialogBoxLibrary〕:為應(yīng)用程序提供標(biāo)準(zhǔn)對話框,比方開啟/保存檔案對話框、顏色對畫框和字型對話框等等。該庫位于comdlg32.dll中。112WindowsAPI分類〔三〕通用控件庫〔CommonControlLibrary〕:為應(yīng)用程序提供接口來存取操作系統(tǒng)提供的一些高階控件。比方像:狀態(tài)列〔statusbar〕、進度條〔progressbars〕、工具列〔toolbar〕和標(biāo)簽〔tab〕。該庫位于comctl32.dll中Windows外殼〔WindowsShell〕:作為WindowsAPI的組成局部,不僅允許應(yīng)用程序存取操作系統(tǒng)shell提供的功能,還對之有所改進和增強。它位于shell32.dll中。網(wǎng)絡(luò)效勞〔NetworkServices〕,為存取操作系統(tǒng)提供的多種網(wǎng)絡(luò)功能提供接口。它包括NetBIOS、Winsock、NetDDE及RPC等。113單體系統(tǒng)目前為止,最常用的組織形式就是單體結(jié)構(gòu)〔整體式系統(tǒng)〕,該方法可以加上副標(biāo)題“大雜燴〞。這種結(jié)構(gòu)其實就是沒有結(jié)構(gòu)。這種操作系統(tǒng)就是一堆例程的集合,每個例程都可以隨意地調(diào)用其他的例程。整體式系統(tǒng)一個用于激活被請求的效勞例程的主程序一組用于執(zhí)行系統(tǒng)調(diào)用的效勞例程一組支持效勞例程的實用例程114單體系統(tǒng)整體式系統(tǒng)的簡單結(jié)構(gòu)模型115分層系統(tǒng)層次式系統(tǒng)THE操作系統(tǒng)結(jié)構(gòu)處理器分配和多道程序0內(nèi)存和磁盤管理1操作員-進程通信2輸入/輸出管理3用戶程序4操作員5116分層系統(tǒng)第0層涉及處理器分配,當(dāng)中斷發(fā)生或者計時器中止時切換進程,提供了根本的CPU多道程序功能。第1層是用于存儲器管理的。第2層處理每個進程與操作員控制臺之間的通信。第3層管理I/O設(shè)備以及緩沖進出設(shè)備的信息流。在第3層上,進程只于具有良好屬性的抽象I/O設(shè)備打交道,而不用管實際設(shè)備的物理特性。第4層為用戶程序。它們不用擔(dān)憂進程、存儲器、控制或者I/O管理。系統(tǒng)操作員進程在第5層。117虛擬機虛擬機監(jiān)控程序(virtualmachinemonitor)運行于裸機上,具有多道程序功能,為上一層提供了多個虛擬機,如圖1?26所示。不過,與其它操作系統(tǒng)不同,虛擬機不是具有文件和其他良好特性的擴展機器。相反,虛擬機就是裸機的精確拷貝,包括內(nèi)核/用戶態(tài)、I/O、中斷和其他所有真正計算機有的東西。由于每個虛擬機與裸機是相同的,所以每個虛擬機都可以直接在裸機上運行任何可以在該裸機上運行的操作系統(tǒng)。不同的虛擬機可以而且也經(jīng)常運行不同的操作系統(tǒng)。118虛擬機虛擬機帶CMS的VM/370的結(jié)構(gòu)119虛擬機虛擬機的思想現(xiàn)在常用于另外一種環(huán)境:在Pentium(或者其他32位IntelCPU)上運行老的MS-DOS。在設(shè)計Pentium及其軟件時,Intel和Microsoft都意識到會有大量老的軟件運行于新的硬件上。有鑒于此,Intel在Pentium上提供了虛擬8086模式。在該模式中,機器像8086(從軟件角度和8088相同)一樣動作,包括1MB限制的16位尋址。120虛擬機虛擬機還用于另一個領(lǐng)域,不過方式略有不同,那就是用于運行Java程序。SunMicro-system創(chuàng)造Java時,同時也創(chuàng)造了一個虛擬機,稱為JVM(JavaVirtualMachine,Java虛擬機)。Java編譯程序為JVM產(chǎn)生代碼,然后,一般由軟件JVM解釋程序來執(zhí)行。該方法的好處是:JVM代碼可以通過Internet傳輸?shù)饺魏窝b有JVM解釋程序的計算機上運行。121外核在最底層的程序稱為外核(exokernel),運行于核心態(tài)。它的任務(wù)就是給虛擬機分配資源,然后確保沒有哪個虛擬機試圖使用其他虛擬機的資源。每個用戶級的虛擬機可以運行其自己的操作系統(tǒng),就像在VM/370和Pentium的虛擬8086上一樣,只不過每個虛擬機都被限制在只能使用它申請并獲分配的資源上。122客戶機-效勞器模型現(xiàn)代操作系統(tǒng)的一個開展趨勢就是采用如下的思想:進一步將代碼移到更高層次上,盡可能多地從核心態(tài)刪除東西,只留下一個最小的微核(microkernel)。通常的方法是由用戶進程實現(xiàn)操作系統(tǒng)的大局部功能。為了獲得一個效勞,比方讀文件塊,用戶進程(現(xiàn)在稱為客戶機進程(clientsprocess))將請求發(fā)送給效勞器進程(serverprocess),然后效勞器進程完成工作,并且把結(jié)果發(fā)送回去。123客戶機-效勞器模型客戶機-效勞器模型124客戶機-效勞器模型在如圖1?27的模型中,內(nèi)核所做的全部工作就是處理客戶機和效勞器之間的通信。通過把操作系統(tǒng)分成多個局部,每個局部僅處理系統(tǒng)的一個方面,例如文件效勞、進程效勞、終端效勞或者存儲器效勞,這樣每個局部變得更小,更易于管理。而且,由于所有效勞器都以用戶進程的方式運行,而不是運行于核心態(tài),它們不用直接訪問硬件。這樣,如果文件效勞器有bug,文件效勞器可能崩潰,但是這通常不會導(dǎo)致整個機器死機。125客戶機-效勞器模型客戶機-效勞器模型的另一個優(yōu)點是,它適用于分布式系統(tǒng)(參見圖1?28)。如果客戶機通過發(fā)送消息與效勞器通信,客戶機無需知道該消息是由本地機處理,或者是通過網(wǎng)絡(luò)發(fā)送給遠程機器進行處理。對客戶機而言,兩種情況是一樣的:發(fā)送一個請求,回來一個應(yīng)答。126客戶機-效勞器模型分布式系統(tǒng)的客戶機-效勞器模型127操作系統(tǒng)的研究計算機科學(xué)是一個飛速開展的領(lǐng)域,而且難于預(yù)測它將走向何處。ACM ://IEEEComputerSociety ://USENIX ://128操作系統(tǒng)的研究哈佛大學(xué)的VINO,使應(yīng)用得以重用內(nèi)核構(gòu)件猶他州大學(xué)的OSKit,提供構(gòu)造操作系統(tǒng)所需的根底構(gòu)件,也提供高層次構(gòu)件。OSKit可用來構(gòu)造新的OSMITExokernel,該系統(tǒng)只有一個極小的核。系統(tǒng)抽象通過LibraryOperatingSystem完成NASA空間飛行中心(GSFC)研制Beowulf工程開始于1994年,用商業(yè)化的微型計算機,Linux和以太網(wǎng)等構(gòu)造集群。已有世界各地的約六十個大學(xué)和研究機構(gòu)在使用加州大學(xué)伯克利分校NOW集群操作系統(tǒng),100臺UltraSPARC-I處理機集群,排名于世界最快的200臺超級計算機之內(nèi)129操作系統(tǒng)的研究加州大學(xué)伯克利分校Millennium工程目的是在校園范圍完成內(nèi)一個“機群的機群(ClusterofClusters)〞。在這個工程中,層次化的機群Millennium由五層構(gòu)成,第一層,計算機工作站分布在十七個校園區(qū)內(nèi);第二層,多處理機效勞器,提供各有關(guān)部門的計算效勞;第三層,NOW組,每一個NOW都一個機群;第四層,一個非常大規(guī)模的NOW,供全校園共享;第五層,整體計算層,它在NOW組上構(gòu)造,用于提供NOW組和校園NOW的共享。130操作系統(tǒng)的研究在Millennium工程根底上,又提出了一個Vineyard工程:一個面向未來的研究工程。作為Millennium的后續(xù)工程,它的目標(biāo)超越了一個伯克利分校校園范圍內(nèi)的機群,它要通過高速網(wǎng)絡(luò)連接其他工作站機群,從而構(gòu)成了一個協(xié)同工作站機群聯(lián)合體。131操作系統(tǒng)的研究有線電視機頂盒領(lǐng)域,PowerTV移動通信領(lǐng)域,EPOC掌上計算機領(lǐng)域,PalmOS數(shù)碼影像領(lǐng)域,Digita132操作系統(tǒng)的研究60年代末至70年代初楊芙清院士主持,我國第一臺百萬次集成電路計算機(150)操作系統(tǒng)支持多道程序運行,在石油勘探領(lǐng)域成功應(yīng)用70年代中后期楊芙清院士主持,我國第一個全部用高級語言書寫的DJS240機操作系統(tǒng)DJS200/XT2,層次管程結(jié)構(gòu)模型,PCM設(shè)計方法,活潑管程結(jié)構(gòu)模式133操作系統(tǒng)的研究GX73多機實時操作系統(tǒng)(1978年)國防科技大學(xué),1980年裝在“遠望〞-I號航天測量船上,“銀河〞-1YHOS巨型操作系統(tǒng)(1983年)國防科技大學(xué),用于YH-1、YH-2超級計算機,用于我國的石油勘探、天氣預(yù)報和核物理研究COSIXv1.X/2.0國產(chǎn)UNIX類操作系統(tǒng)嵌入式操作系統(tǒng)Hopen〔女媧方案〕Linux類操作系統(tǒng)134操作系統(tǒng)的研究國產(chǎn)效勞器操作系統(tǒng)“麒麟〞〔Kyli
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學(xué)基礎(chǔ)能力測評設(shè)計試題及答案
- 2024年考試醫(yī)學(xué)基礎(chǔ)知識破題思路試題及答案
- 教育學(xué)常識試題及答案
- 深入研究系統(tǒng)架構(gòu)設(shè)計師考試要素試題及答案
- 2025-2030中國電子專用設(shè)備制造行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030中國電動真空爐行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030中國電動機行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 2025-2030中國電力煤炭行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 2025-2030中國甲酸行業(yè)市場發(fā)展現(xiàn)狀及前景趨勢與投資研究報告
- 焊工入場考試試題及答案
- 有線電視播放行業(yè)可行性分析報告
- 異常子宮出血患者護理查房
- 【MOOC】農(nóng)作學(xué)-西北農(nóng)林科技大學(xué) 中國大學(xué)慕課MOOC答案
- 通信行業(yè)網(wǎng)絡(luò)性能優(yōu)化與安全防護措施研究
- 項目一任務(wù)三學(xué)包粽子課件浙教版初中勞動技術(shù)七年級下冊
- 色卡-CBCC中國建筑標(biāo)準(zhǔn)色卡(千色卡1026色)
- 科粵版九上化學(xué)-2.2構(gòu)成物質(zhì)的微粒(一)-分子-教案設(shè)計
- 2024年商鋪租賃終止合同標(biāo)準(zhǔn)范文(二篇)
- 醫(yī)院年度文化建設(shè)工作方案范文
- 中國鹽業(yè)集團有限公司招聘筆試題庫2024
- 吊裝式風(fēng)機安裝作業(yè)指導(dǎo)書
評論
0/150
提交評論