操作系統(tǒng)概述_第1頁
操作系統(tǒng)概述_第2頁
操作系統(tǒng)概述_第3頁
操作系統(tǒng)概述_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1.操作系統(tǒng)概述1.1操作系統(tǒng)概念2.1進(jìn)程與線程進(jìn)程:在進(jìn)程模型中,計算機(jī)上所有可運行的操作系統(tǒng)為應(yīng)用程序提供與硬件交互的接口,為軟件,通常也包括操作系統(tǒng),被組織成若干運行中的程序動態(tài)地分配可共享的系統(tǒng)資源,與之相關(guān)的研究主要涉及內(nèi)存、進(jìn)程及外設(shè)的管理和調(diào)度。相鄰1.操作系統(tǒng)概述1.1操作系統(tǒng)概念1.2相關(guān)觀點1.2.1資源管理者最經(jīng)典的觀點認(rèn)為操作系統(tǒng)是資源管理者(resourcemanager)。從這個觀點來看,操作系統(tǒng)負(fù)責(zé)系統(tǒng)的硬件。在這個角色中,操作系統(tǒng)接收來自應(yīng)用程序?qū)Y源訪問的請求,其可以授權(quán)訪問或拒絕訪問。當(dāng)授予分配請求時,它必須謹(jǐn)慎地分配資源,使程序間不能相互干擾。1.2.2服務(wù)提供者我們可以想象,資源管理者的觀點代表了系統(tǒng)擁有者需要確保資源能得到有效的使用。另一方面,我們可以應(yīng)用程序或應(yīng)用程序的程序員的觀點來分析操作系統(tǒng)。從這個角來看,需要操作系統(tǒng)提供豐富的服務(wù),使應(yīng)用程序的工作變得更加輕松。并且應(yīng)用程序特別希望,訪問I/設(shè)備、分配內(nèi)存等許多細(xì)節(jié)都由操作系統(tǒng)完成。當(dāng)我們從服務(wù)提供者的角度來考慮操作系統(tǒng)時,經(jīng)常說程序運行在操作系統(tǒng)之上(on)。1.2.3虛擬機(jī)最后一個觀點是我們將操作系統(tǒng)作為虛擬機(jī)(virtualmachine)進(jìn)行分析。之所以從這個角度分析操作系統(tǒng),是因為我們將操作系統(tǒng)作為應(yīng)用程序和硬件之間的接口。通過想象應(yīng)用程序在操作系統(tǒng)和硬件之上,我們可以獲得這樣的基本思想。在硬件簡單而特性很少的計算機(jī)與硬件復(fù)雜而又特性很多的計算機(jī)之間,如果對這兩種類型的計算機(jī)操作系統(tǒng)提供相同的特征,那么應(yīng)用程序無法對兩者進(jìn)行區(qū)分。換言之,對應(yīng)用程序而言,其就是運行在硬件和操作系統(tǒng)結(jié)合的“計算機(jī)”之上,我們稱之為虛擬機(jī)操作系統(tǒng)(virtualmachineoperatingsystem)操作系統(tǒng)的功能程。正如前面已經(jīng)提到的,我們必須謹(jǐn)慎,以確保進(jìn)程無法亂寫入其他進(jìn)程的內(nèi)存空間。同樣,訪問I/O設(shè)備和文件的請求必須通過所有權(quán)和權(quán)限的篩順序進(jìn)程(sequentialprocess),簡稱進(jìn)程(process)。一個進(jìn)程就是一個正在執(zhí)行程序的實例,包括程序計數(shù)器、寄存器和變量的當(dāng)前值。從概念上說,每個進(jìn)程擁有它自己的虛擬CPU當(dāng)然,實際上真正的CPU在各進(jìn)程之間來回切換。但為了理解這種系統(tǒng),考慮在(偽)并行情況下運行的進(jìn)程集,要比我們試圖跟蹤C(jī)PU如何在程序間來回切換簡單得多這種快速的切換稱作多道程序設(shè)計。線程:在傳統(tǒng)操作系統(tǒng)中,每個進(jìn)程有一個地址空間和一個控制線程。事實上,這幾乎就是進(jìn)程的定義。不過,經(jīng)常存在在同一個地址空間中淮并行運行多個控制線程的情形,這些線程就像(差不多)分離的進(jìn)程(共享地址空間除外)。2.2內(nèi)存管理通過支持模塊化程序設(shè)計的計算環(huán)境和數(shù)據(jù)的靈活使用,可以很好地滿足用戶的要求:系統(tǒng)管理員需要有效且有條理地控制存儲器分配。操作系統(tǒng)為滿足這些要求,擔(dān)負(fù)著5個基本的存錯器管理責(zé)任:進(jìn)程隔離:操作系統(tǒng)必須保護(hù)獨立的進(jìn)程,防止互相干涉各自的存儲空間,包括數(shù)據(jù)和指令。自動分配和管理:程序應(yīng)該根據(jù)需要在存儲層次間動態(tài)地分配,分配對程序員是透明的。因此,程序員無須關(guān)心與存儲限制有關(guān)的問題,操作系統(tǒng)有效地實現(xiàn)分配問題,可以僅在需要時才給作業(yè)分配存儲空間。支持模塊化程序設(shè)計:程序員應(yīng)該能夠定義程序模塊,并且動態(tài)地創(chuàng)建、銷毀模塊,動態(tài)地改變模塊大小。保護(hù)和訪問控制:不論在存儲層次中的哪一級,存儲器的共享都會產(chǎn)生一個程序訪問另一個程序存儲空間的潛在可能性。當(dāng)一個特定的應(yīng)用程序需要共享時,這是可取的。但在別的時候,它可能會威脅到程序的完整性,甚至威脅到操作系統(tǒng)自身。操作系統(tǒng)必須允許一部分☆存可以由各種用戶以各種方式進(jìn)行訪問。長期存儲:許多應(yīng)用程序需要在計算機(jī)關(guān)機(jī)后長時間保存信息。2.3信息安全與保護(hù)操作系統(tǒng)幾乎所有的功能區(qū)都有自身的安全要素。操作系統(tǒng)絕對不允許任何進(jìn)程終止另一個進(jìn)研究問題,并且可以應(yīng)用數(shù)學(xué)研究成果。此外,系統(tǒng)活動的度量對監(jiān)視性能并進(jìn)行調(diào)節(jié)是非常重要的。選測試。根據(jù)強(qiáng)制的安全策略來實現(xiàn)這些措施,這些策略對應(yīng)用程序而言是透明的。程序向操作系統(tǒng)提出請求,操作系統(tǒng)將確定是否允許。在網(wǎng)絡(luò)安全領(lǐng)域有一些非常有趣的新發(fā)展。隨著全球因特網(wǎng)的迅速激增,對網(wǎng)絡(luò)請求采取強(qiáng)認(rèn)證的需求越來越重要。最后,各種各樣的管理級應(yīng)用程序也都有各自額外的安全功能。常見的任務(wù)有:掃描系統(tǒng)的己知弱點、測試系統(tǒng)的末授權(quán)訪問、驗證第三方軟件的安全性等。除了后臺的強(qiáng)制運行機(jī)制之外,應(yīng)用程序能請求的服務(wù)如下:設(shè)置安全性策略。查詢安全性策略。驗證自身的遠(yuǎn)程系統(tǒng)。偵聽遠(yuǎn)程系統(tǒng)來驗證自身。加密/解密消息,特別是經(jīng)由網(wǎng)絡(luò)的消息。從應(yīng)用程序的角度來看,操作系統(tǒng)充當(dāng)?shù)氖强撮T的角色。當(dāng)進(jìn)程請求任何子系統(tǒng)的服務(wù)時,操作系統(tǒng)檢查它是否有使用服務(wù)的權(quán)限。如果它有使用服務(wù)的權(quán)限,那么批準(zhǔn)請求,但如果沒有使用服務(wù)的權(quán)限,則拒絕請求。2.4調(diào)度與資源管理操作系統(tǒng)的一個關(guān)鍵任務(wù)是管理各種可用資源(內(nèi)存空間、I/O設(shè)備、處理器),并調(diào)度各種活動進(jìn)程使用這些資源。任何資源分配和調(diào)度策略都必須考慮三個因素:公平性:通常希望給競爭使用某一特定資源的所有進(jìn)程提供幾乎相等和公平的訪問機(jī)會。對同一類作業(yè),也就是說有類似請求的作業(yè),更是需要如此。有差別的響應(yīng)性:另一方面,操作系統(tǒng)可能需要區(qū)分有不同服務(wù)要求的不同作業(yè)類。操作系統(tǒng)將試圖給出滿足所有要求的分配和調(diào)度決策,并且動態(tài)地進(jìn)行決策。例如,如果一個進(jìn)程正在等待使用一個I/O設(shè)備,操作系統(tǒng)會盡可能迅速地調(diào)度這個進(jìn)程,從而釋放這個設(shè)備以方便其他進(jìn)程使用。有效性:操作系統(tǒng)希望獲得最大的吞吐量和最小的響應(yīng)時間,并且在分時的情況下,能夠容納盡可能多的用戶。這些標(biāo)準(zhǔn)互相矛盾,在給定狀態(tài)下尋找適當(dāng)?shù)钠胶馐遣僮飨到y(tǒng)中一個正在進(jìn)行研究的問題。調(diào)度和資源管理任務(wù)是一個基本的操作系統(tǒng)常有十多個程序開始運行。它們的功能是為單個用戶提供良好的持。這類系統(tǒng)廣泛用于字處理、電子表格、游戲和Internet訪問。常見的例子是Linux、操作系統(tǒng)類型3.1大型機(jī)操作系統(tǒng)在操作系統(tǒng)的高端是用于大型機(jī)的操作系統(tǒng),這些房間般大小的計算機(jī)仍然可以在一些大型公司的數(shù)據(jù)中心中見到。這些計算機(jī)與個人計算機(jī)的主要差別是其1/0處理能力。一臺擁有Iooo個磁盤和上百萬吉字節(jié)數(shù)據(jù)的大型機(jī)是很正常的。用于大型機(jī)的操作系統(tǒng)主要用于面向多個作業(yè)的同時處理,多數(shù)這樣的作業(yè)需要巨大的I/O能力。系統(tǒng)主要提供三類服務(wù):批處理、事務(wù)處理和分時處理。批處理系統(tǒng)處理不需要交互式用戶干預(yù)的周期性作業(yè)。3.2服務(wù)器操作系統(tǒng)下一個層次是服務(wù)器操作系統(tǒng)。它們在服務(wù)器上運行,服務(wù)器可以是大型的個人計算機(jī)、工作站,甚至是大型機(jī)。它們通過網(wǎng)絡(luò)同時為若干個用戶服務(wù),并且允許用戶共享硬件和軟件資源。服務(wù)器可提供打印服務(wù)、文件服務(wù)或Web服務(wù)。Internet服務(wù)商們運行著許多臺服務(wù)器機(jī)器,以支持他們的用戶,使Web站點保存Web頁面并處理進(jìn)來的請求。典型的服務(wù)器操作系統(tǒng)有Solaris.FreeBSD.Linux和WindowsServer200x。3.3多處理器操作系統(tǒng)一種獲得大量聯(lián)合計算能力的操作系統(tǒng),其越來越常用的療式是將多個CPU連接成單個的系統(tǒng)。依據(jù)連接和共享方式的不同,這些系統(tǒng)稱為并行計算機(jī)、多計算機(jī)或多處理器。它們需要專門的操作系統(tǒng),不過通常采用的操作系統(tǒng)是配有通信、連接和一致性等專門功能的服務(wù)器操作系統(tǒng)的變體。個人計算機(jī)中近來出現(xiàn)了多核芯片,所以常規(guī)的臺式機(jī)和筆記本電腦操作系統(tǒng)也開始與小規(guī)模的多處理器打交道,而核的數(shù)量正在與時俱進(jìn)。幸運的是,由于先前多年的研究,已經(jīng)具備不少關(guān)于多處理器操作系統(tǒng)的知識,將這些知識運用到多核處理器系統(tǒng)中應(yīng)該不存在困難。難點在于要有能夠運用所有這些計算能力的應(yīng)用。許多主流操作系統(tǒng),包括Windows和Linux,都可以運行在多核處理器上。3.4個人計算機(jī)操作系統(tǒng)接著一類是個人計算機(jī)操作系統(tǒng)。現(xiàn)代個人計算機(jī)操作系統(tǒng)都支持多道程序處理,在啟動時,通型計算機(jī)。它們能源有限,必須長時間工作在無人的戶外環(huán)境中,通常足惡劣的環(huán)境條件下。其網(wǎng)絡(luò)必須足夠健強(qiáng)壯,以允許個別節(jié)點失效。隨著電池FreeBSD、WindowsVista和Macintosh操作系統(tǒng)。個人計算機(jī)操作系統(tǒng)是如此地廣為人知,所以不需要再做介紹了。事實上,許多人甚至不知道還有其他的操作系統(tǒng)存在。3-5掌上計算機(jī)操作系統(tǒng)隨著系統(tǒng)越來越小型化,我們看到了掌上計算機(jī)。掌上計算機(jī)或者個人數(shù)字助理(PersonalDigitalAssistant,PDA)是一種可以裝進(jìn)襯衫口袋的小型計算機(jī).它們可以實現(xiàn)少量功能,諸如電子地址簿和記事本之類。而且,除了鍵盤和屏幕之夕卜,許多移動電話與PDA幾乎沒有差別。在一實際效果上,PDA和移動電話已經(jīng)在逐漸融合,其差別主要在于大小,重量以及用戶界面等方面。這些設(shè)備幾乎都是基于帶有保護(hù)模式的32位CPU并且運行最尖端的操作系統(tǒng)。運行在這些掌上設(shè)備上的操作系統(tǒng)正在變得越來越復(fù)雜,它們有能力處理移動電話、數(shù)碼照相以及其他功能。多數(shù)設(shè)備還能運行第三方的應(yīng)用。事實上,其中有些設(shè)備開始采用十年前的個人操作系統(tǒng)。掌上設(shè)備和PC機(jī)之間的主要攜別是,前者沒有若干GB的、不斷變化的硬盤。在掌上設(shè)備上最主要的兩個操作系統(tǒng)是SymbianOS和Plam0.S。3.6嵌入式操作系統(tǒng)嵌入式系統(tǒng)在用來控制設(shè)備的計算機(jī)運行,這種設(shè)備不是一般般意義上的計算機(jī),并且不允許用戶安裝軟件。典型的例子有微波爐,電視劇、汽車、DVD刻錄機(jī)、移動電話以及MP3播放器一類的設(shè)備。區(qū)別嵌入式系統(tǒng)與掌上設(shè)備的主要特征,不可信的軟件肯定不能在嵌入式系統(tǒng)上運行。用戶不能給自己的微波爐下載新的應(yīng)用程序一一所有的軟件都保存在ROM中。這意味著在應(yīng)用程序之間不存在保護(hù),這樣系統(tǒng)就獲得了某種簡化。在這個領(lǐng)域中,主要的嵌入式操作系統(tǒng)QNX和VxWorks等。3.7傳感器節(jié)點操作系統(tǒng)有許多用途需要配置微小傳感器冉點網(wǎng)絡(luò)。這些冉點迅一種可以彼此通信并且使用無線通信基站的微型計算機(jī)。這類傳感器網(wǎng)絡(luò)可以用于建筑物周邊保護(hù)、國土邊界保衛(wèi)、森林火災(zāi)探測、氣象預(yù)測用的溫度和降水測量、戰(zhàn)場上敵方運動的信息收集等。傳感器是一種內(nèi)建有無線電的電池驅(qū)動的小種包含有一塊CPU芯片的信用卡。它有非常嚴(yán)格的運行能耗和存儲空間的限制。其中.有些智能卡只具有單項功能,諸如電子支付,但是其他的智能卡開始耗盡,這種失效節(jié)點會不斷增加。每個傳感器節(jié)點是一個配有CPURAMROM以及一個或多個環(huán)境傳感器的實實住在的計算機(jī)。節(jié)點上運行一個小型但是真實的操作系統(tǒng),通常這個操作系統(tǒng)是事件驅(qū)動的,可以響應(yīng)外部事件,或者基于內(nèi)部時鐘進(jìn)行周期性的測量。該操作系統(tǒng)必須小且簡單,因為這些節(jié)點的RAM很小,而且電池壽命是一個重要問題。另外,和嵌入式系統(tǒng)一樣,所有的程序是預(yù)先裝載的,用戶不會突然啟動從Internet上下載的程序,這樣就使得設(shè)計大為簡化。TinyOS是一個用于傳感器節(jié)點的知名操作系統(tǒng)。3.8實時操作系統(tǒng)另一類操作系統(tǒng)足實時操作系統(tǒng)。這些系統(tǒng)的特征是將時間作為關(guān)鍵參數(shù)。例如,在工業(yè)過程控制系統(tǒng)中,工廠中的實時計算機(jī)必須收集生產(chǎn)過程的數(shù)據(jù)并用有關(guān)數(shù)據(jù)控制機(jī)器。通常,系統(tǒng)還必須滿足嚴(yán)格的最終時限。例如,汽車在裝配線上移動時,必須在限定的時間內(nèi)進(jìn)行規(guī)定的操作。如果焊接機(jī)器人焊接得太早或太遲,都會毀壞汽車。如果某個動作必須絕對地在規(guī)定的時刻(或規(guī)定的時間范圍)發(fā)生,這就是硬實時系統(tǒng)??梢栽诠I(yè)過程控制、民用航空、軍事以及類似應(yīng)用中看到很多這樣的系統(tǒng),這些系統(tǒng)必須提供絕對保證,讓某個特定的動作在給定的時間內(nèi)完成。另一類實時系統(tǒng)是軟實時系統(tǒng),在這種系統(tǒng)中,偶爾違反最終時限是不希望的,但可以接受,并且不會引起任何永久性的損害。數(shù)字音頻或多媒體系統(tǒng)就是這類系統(tǒng)。數(shù)字電話也是軟實時系統(tǒng)。由于在(硬)實時系統(tǒng)中滿足嚴(yán)格的時限是關(guān)鍵,所以操作系統(tǒng)就是一個簡單的與成用程序鏈接的庫,各個部分必須緊密耦合并且彼此之間沒有保護(hù)。這種類型的實時系統(tǒng)的例子有e-Cos0掌上、嵌入式以及實時系統(tǒng)的分類之間有不少是彼此重疊的。幾乎所有這些系統(tǒng)至少存征某種軟實時情景。嵌入式和實時系統(tǒng)只運行系統(tǒng)設(shè)計師安裝的軟件用戶不能添加自己的軟件,這樣就使得保護(hù)工作很容易。掌上和嵌入式系統(tǒng)是為普通消費者使用的,而實時系統(tǒng)則更多用于工業(yè)領(lǐng)域。無論怎樣,這些系統(tǒng)確實存在一些共同點。3.9智能卡操作系統(tǒng)最小的操作系統(tǒng)運行在智能卡上。智能卡是的錯覺:在這臺計算機(jī)上,只有自己在運行。換而言之,虛擬機(jī)操作系統(tǒng)的主要功能是提供硬件有許多副本的錯覺。在這樣的環(huán)境中,我們可以并經(jīng)常則可在同一塊卡中擁有多項功能。它們是專用的操作系統(tǒng)。組織操作系統(tǒng)的技術(shù)4.1單塊設(shè)計一般認(rèn)為單塊(monolithic)設(shè)計的特點是缺乏任何其他的組織形式,但在現(xiàn)實中,單塊設(shè)計恰好是將設(shè)計組織為單個程序。與任何程序一樣,這樣的設(shè)計具有良好的組織結(jié)構(gòu)。大多數(shù)操作系統(tǒng)是沿著這個思路進(jìn)行組織的。4.2分層設(shè)計下面考慮使用分層(layered)方法來進(jìn)行操作系統(tǒng)設(shè)計。分層設(shè)計的概念并不僅用于操作系統(tǒng)。許多較好的軟件系統(tǒng)設(shè)計都采用分層結(jié)構(gòu)。其基本思想是:每層增加抽象層,它建立在較低層提供的函數(shù)之上

溫馨提示

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

評論

0/150

提交評論