




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)的定義: 操作系統(tǒng)(Operating System, OS)是配置在計(jì)算機(jī)硬件上的第一層軟件,是對(duì)硬件系統(tǒng)的首次擴(kuò)充1.1操作系統(tǒng)的目標(biāo)和作用 在計(jì)算機(jī)系統(tǒng)上配置操作系統(tǒng)主要目標(biāo)與計(jì)算機(jī)系統(tǒng)的規(guī)模和應(yīng)用環(huán)境有關(guān)。操作系統(tǒng)的目標(biāo)方便性l 硬件只能識(shí)別機(jī)器代碼(0、1)l OS提供命令,方便用戶使用計(jì)算機(jī)有效性l 使CPU、I/O保持忙碌,充分利用l 使內(nèi)存、外存數(shù)據(jù)存放有序,節(jié)省空間l 合理組織工作流程,改善資源利用率,提高吞吐量可擴(kuò)充性l 計(jì)算機(jī)技術(shù)的發(fā)展:硬件/體系結(jié)構(gòu)/網(wǎng)絡(luò)/Internetl OS應(yīng)采用層次化結(jié)構(gòu),便于擴(kuò)充和修改功能層次和模塊開放性l 支持網(wǎng)絡(luò)環(huán)境,兼容遵循OS
2、I標(biāo)準(zhǔn)開發(fā)的硬件和軟件1.1.2 操作系統(tǒng)的作用 1. 用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口l 命令方式用戶通過鍵盤輸入聯(lián)機(jī)命令(語(yǔ)言)l 系統(tǒng)調(diào)用方式用戶程序通過系統(tǒng)調(diào)用,操縱計(jì)算機(jī)l 圖形、窗口方式用戶通過窗口、圖標(biāo)等圖形界面操縱計(jì)算機(jī)2.計(jì)算機(jī)系統(tǒng)資源管理者l 4大類資源:處理機(jī);存儲(chǔ)器;I/O設(shè)備;信息(文件:程序、數(shù)據(jù))3.對(duì)計(jì)算機(jī)資源的抽象(擴(kuò)充機(jī)器)l 裸機(jī):只有硬件的計(jì)算機(jī),難以使用l 虛機(jī)器:在裸機(jī)增加軟件(OS等),功能增強(qiáng),使用方便1.1.3 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?.不斷提高計(jì)算機(jī)資源利用率早期計(jì)算機(jī)很昂貴,為提高資源利用率,產(chǎn)生了批處理系統(tǒng)2.方便用戶為改善用戶上機(jī)、調(diào)
3、試程序時(shí)的條件,產(chǎn)生了分時(shí)系統(tǒng)3.器件的不斷更新?lián)Q代OS隨之更新?lián)Q代,如:8位->16位->32位4.計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展單處理機(jī)OS->多處理機(jī)OS->網(wǎng)絡(luò)操作系統(tǒng)1.2 操作系統(tǒng)的發(fā)展過程· 無(wú)操作系統(tǒng)時(shí)代OS尚未出現(xiàn),人們?nèi)绾问褂糜?jì)算機(jī)?· 人工操作方式 人工操作方式的缺點(diǎn)· 用戶獨(dú)占全機(jī)· CPU等待人工操作· 結(jié)果:資源利用率低下· 脫機(jī)輸入輸出系統(tǒng)· 低速設(shè)備n 紙帶機(jī)/卡片機(jī)· 高速設(shè)備n 磁帶/磁盤n I/O速度提高,緩解了I/O設(shè)備與CPU的速度矛盾· 主機(jī):
4、用于計(jì)算的主計(jì)算機(jī)· 外圍機(jī):也是計(jì)算機(jī),處理輸入輸出,使之不占用主機(jī)CPU時(shí)間· 外圍機(jī)控制輸入/輸出 n 輸入:低速設(shè)備->高速設(shè)備n 輸出:高速設(shè)備->低速設(shè)備n 輸入和輸出使用獨(dú)立于主機(jī)的外圍機(jī),不占用主機(jī)的CPU時(shí)間,是脫機(jī)過程,因此叫做脫機(jī)輸入/輸出方式· 單道批處理系統(tǒng)· 計(jì)算機(jī)發(fā)展的早期,沒有任何用于管理的軟件,所有的運(yùn)行管理和具體操作都由用戶自己承擔(dān),任何操作出錯(cuò)都要重做作業(yè),CPU的利用率甚低。· 解決的方法有兩個(gè):· 首先配備專門的計(jì)算機(jī)操作員,程序員不再直接操作機(jī)器,減少操作機(jī)器的錯(cuò)誤。·
5、 另一個(gè)是進(jìn)行批處理,操作員把用戶提交的作業(yè)分類,把一批中的作業(yè)編成一個(gè)作業(yè)執(zhí)行序列。每一批作業(yè)將有專門編制的監(jiān)督程序(monitor)自動(dòng)依次處理。 說(shuō)明:· 監(jiān)督程序的作用:用來(lái)裝入用戶作業(yè),和用戶作業(yè)交替地使用CPU。· “批”的含義:供一次加載的磁帶或磁盤,通常由若干個(gè)作業(yè)組裝成,在處理中使用一組相同的系統(tǒng)軟件(系統(tǒng)帶)。 · 關(guān)于“作業(yè)”的說(shuō)明:通常,把計(jì)算機(jī)完成用戶算題任務(wù)所需進(jìn)行的各項(xiàng)工作稱為一道作業(yè)。· 多道批處理系統(tǒng)· 早期的批處理可能出現(xiàn)兩種情況:n 對(duì)于以計(jì)算為主的作業(yè),輸入輸出量少,外圍設(shè)備空閑;n 對(duì)于以輸入輸出為主的
6、作業(yè),主機(jī)空閑。 問題的提出 在早期的單道批處理系統(tǒng)中,內(nèi)存中僅有單個(gè)作業(yè)在運(yùn)行,致使系統(tǒng)中仍有許多資源空閑,設(shè)備利用率低,系統(tǒng)性能較差。 多道程序設(shè)計(jì)技術(shù) 若當(dāng)前作業(yè)因等待I/O而暫停,CPU只能空閑直至該I/O完成 對(duì)于科學(xué)計(jì)算問題,CPU操作密集,CPU浪費(fèi)時(shí)間少 對(duì)于商業(yè)數(shù)據(jù)處理,I/O操作密集,I/O等待時(shí)間常占8090解決辦法 將內(nèi)存分幾個(gè)部分,每部分放不同的作業(yè) 當(dāng)一個(gè)作業(yè)等待I/O時(shí),CPU可被另一作業(yè)使用 在主存中同時(shí)駐留多個(gè)作業(yè) 多道程序設(shè)計(jì) 多道程序設(shè)計(jì)是指允許多個(gè)程序同時(shí)進(jìn)入一個(gè)計(jì)算機(jī)系統(tǒng)的主存儲(chǔ) 器并啟動(dòng)進(jìn)行計(jì)算的方法。合理搭配I/O為主和計(jì)算為主的程序交替運(yùn)行,充分
7、利用資源,提高系統(tǒng)效率。 多道程序的運(yùn)行特點(diǎn):· 多道:計(jì)算機(jī)內(nèi)存中同時(shí)存放多道相互獨(dú)立的程序。· 宏觀上并行運(yùn)行:同時(shí)進(jìn)入系統(tǒng)的幾道程序都處于運(yùn)行狀態(tài),但都未運(yùn)行完。· 微觀上串行運(yùn)行:各作業(yè)輪流使用CPU,交替執(zhí)行。· 實(shí)現(xiàn)技術(shù):當(dāng)正在運(yùn)行的程序因I/O暫停執(zhí)行時(shí),系統(tǒng)可調(diào)度另一道程序運(yùn)行,使CPU保持忙碌。· 例題:有兩道程序A、B,按下圖以多道程序方式運(yùn)行,要求在右圖畫出它們的運(yùn)行軌跡,并計(jì)算在60ms內(nèi),CPU的利用率,假設(shè)起始時(shí)首先運(yùn)行B,并允許忽略監(jiān)督程序切換A、B的時(shí)間(不考慮I/O的沖突)。· 分時(shí)系統(tǒng)·
8、概念:時(shí)間片、終端、響應(yīng)時(shí)間· 分時(shí)(Time Sharing)是把計(jì)算機(jī)的系統(tǒng)資源(尤其是CPU時(shí)間)進(jìn)行時(shí)間上的分割,每個(gè)時(shí)間段稱為一個(gè)時(shí)間片(Time Slice) ,每個(gè)用戶依次輪流使用時(shí)間片。· 分時(shí)技術(shù):把處理機(jī)的運(yùn)行時(shí)間分為很短的時(shí)間片,按時(shí)間片輪流把處理機(jī)分配給各聯(lián)機(jī)作業(yè)使用 分時(shí)系統(tǒng)的定義· 分時(shí)操作系統(tǒng):是一種聯(lián)機(jī)的多用戶交互式的操作系統(tǒng)。一般采用時(shí)間片輪轉(zhuǎn)的方式,使一臺(tái)計(jì)算機(jī)為多個(gè)終端服務(wù)。對(duì)每個(gè)用戶能保證足夠快的響應(yīng)時(shí)間,并提供交互會(huì)話能力。 分時(shí)系統(tǒng)的特點(diǎn)· 多路性n 系統(tǒng)支持單主機(jī)多個(gè)終端,按分時(shí)原則服務(wù)· 獨(dú)立性n
9、 各用戶獨(dú)立操作,互不干擾。· 及時(shí)性n 對(duì)用戶請(qǐng)求的響應(yīng)時(shí)間短(13s)· 交互性n 用戶向系統(tǒng)提出服務(wù)請(qǐng)求更方便,也更廣泛n 通過終端· 實(shí)時(shí)系統(tǒng)· 產(chǎn)生背景:雖然多道批處理操作系統(tǒng)和分時(shí)操作系統(tǒng)獲得了較佳的資源利用率和快速的響應(yīng)時(shí)間,從而使計(jì)算機(jī)的應(yīng)用范圍日益擴(kuò)大但它們難以滿足實(shí)時(shí)控制和實(shí)時(shí)信息處理領(lǐng)域的需要。· 于是,便產(chǎn)生了實(shí)時(shí)操作系統(tǒng),目前典型的實(shí)時(shí)系統(tǒng):實(shí)時(shí)控制系統(tǒng)、實(shí)時(shí)信息處理系統(tǒng)。 什么是實(shí)時(shí)系統(tǒng)?· 有高可靠性和安全性,系統(tǒng)的效率則放在第二位 典型的實(shí)時(shí)系統(tǒng)(1)· 實(shí)時(shí)控制系統(tǒng):計(jì)算機(jī)用于生產(chǎn)過程控制時(shí)
10、,要求系統(tǒng)能現(xiàn)場(chǎng)實(shí)時(shí)采集數(shù)據(jù),并對(duì)采集的數(shù)據(jù)進(jìn)行及時(shí)處理,進(jìn)而能自動(dòng)地發(fā)出控制信號(hào)控制相應(yīng)執(zhí)行機(jī)構(gòu),使某些參數(shù)(壓力、溫度、距離、濕度)能按予定規(guī)律變化,以保證產(chǎn)品質(zhì)量。· 導(dǎo)彈制導(dǎo)系統(tǒng),飛機(jī)自動(dòng)駕駛系統(tǒng),火炮自動(dòng)控制系統(tǒng)都是實(shí)時(shí)過程控制系統(tǒng)。 典型的實(shí)時(shí)系統(tǒng)(2)· 實(shí)時(shí)信息處理系統(tǒng):計(jì)算機(jī)還可用于控制進(jìn)行實(shí)時(shí)信息處理。計(jì)算機(jī)接收成干上百?gòu)母魈幗K端發(fā)來(lái)的服務(wù)請(qǐng)求和提問,系統(tǒng)應(yīng)在極快的時(shí)間內(nèi)做出回答和響應(yīng)。· 機(jī)票訂購(gòu)系統(tǒng)、情報(bào)檢索系統(tǒng)是典型的實(shí)時(shí)信息處理系統(tǒng)· 微機(jī)操作系統(tǒng)1.單用戶單任務(wù)OS· 只允許一個(gè)用戶上機(jī),且只允許用戶程序作為一個(gè)任
11、務(wù)運(yùn)行。· 典型代表:n CP/Mw 8位機(jī)上的主流操作系統(tǒng)n MS-DOSw 最早的PC操作系統(tǒng)w 16位機(jī)上的主流操作系統(tǒng) 2.單用戶多任務(wù)操作系統(tǒng)· 只允許一個(gè)用戶上機(jī),但允許用戶把程序分為若干個(gè)任務(wù),使它們并發(fā)執(zhí)行。· 典型代表:n 微軟公司推出的windows3.多用戶多任務(wù)OS· 允許多個(gè)用戶通過各自的終端使用同一臺(tái)機(jī)器,共享主機(jī)系統(tǒng) 中的各種資源,而每個(gè)用戶程序又可進(jìn)一步分為幾個(gè)任務(wù),使它們能并發(fā)執(zhí)行。· 典型代表:UNIX1.3 操作系統(tǒng)的基本特性· 以多道程序設(shè)計(jì)為基礎(chǔ)的現(xiàn)代操作系統(tǒng)具有以下幾個(gè)主要特征:n 并發(fā)性(
12、Concurrence)n 共享性(Sharing)n 異步性(Asynchronism)或稱不確定性(Nondeterministic)n 虛擬性(Virtual)并發(fā)性· 概念:并發(fā)、并行、進(jìn)程· 并發(fā)性(Concurrence)是指兩個(gè)或兩個(gè)以上的運(yùn)行程序在同一時(shí)間間隔段內(nèi)同時(shí)執(zhí)行。· 操作系統(tǒng)是一個(gè)并發(fā)系統(tǒng),并發(fā)性是它的重要特征,它應(yīng)該具有:處理多個(gè)同時(shí)執(zhí)行的程序的能力。并行與并發(fā)的不同: 并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生 并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生引入進(jìn)程· 在多道程序系統(tǒng)中,為了能夠并發(fā)執(zhí)行,系統(tǒng)必須為每個(gè)程序建立進(jìn)程
13、。n 程序是靜態(tài)的,進(jìn)程是動(dòng)態(tài)的。n 進(jìn)程能支持并發(fā),程序不能。· 進(jìn)程由一組機(jī)器指令、數(shù)據(jù)和堆棧組成,是一個(gè)能獨(dú)立運(yùn)行的活動(dòng)實(shí)體。· 進(jìn)程是資源分配的獨(dú)立單位。· 多個(gè)進(jìn)程能并發(fā)執(zhí)行,進(jìn)程運(yùn)行時(shí)要占用一定的系統(tǒng)資源,如 CPU、存儲(chǔ)空間和I/O設(shè)備等。共享性(sharing)· 概念:互斥訪問、臨界資源、同時(shí)訪問· 共享指操作系統(tǒng)中的資源(包括硬件資源和信息資源)可被多個(gè)并發(fā)執(zhí)行的進(jìn)程所使用。· 發(fā)生條件n 多個(gè)進(jìn)程并發(fā)執(zhí)行n 多個(gè)進(jìn)程需要同一資源資源共享的方式· 資源共享的方式可以分成兩種:· 第一種是互斥共享
14、。系統(tǒng)中的某些資源如打印機(jī)、磁帶機(jī)、卡片機(jī),雖然它們可提供給多個(gè)進(jìn)程使用,但在同一時(shí)間內(nèi)卻只允許一個(gè)進(jìn)程訪問這些資源。· 這種同一時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問的資源稱臨界資源,許多物理設(shè)備,以及某些數(shù)據(jù)和表格都是臨界資源,它們只能互斥地被共享。· 第二種是同時(shí)訪問。系統(tǒng)中的還有許多資源,允許同一時(shí)間內(nèi)多個(gè)進(jìn)程對(duì)它進(jìn)行訪問,這里“同時(shí)”是宏觀上的說(shuō)法。典型的可供多進(jìn)程同時(shí)訪問的資源是磁盤。 共享與并發(fā)· 共享性和并發(fā)性是操作系統(tǒng)兩個(gè)最基本的特征,它們互為依存:n 一方面,資源的共享是因?yàn)檫\(yùn)行程序的并發(fā)執(zhí)行而引起的,若系統(tǒng)不允許運(yùn)行程序并發(fā)執(zhí)行,自然也就不存在資源共享問題
15、。n 另一方面,若系統(tǒng)不能對(duì)資源共享實(shí)施有效地管理,必然會(huì)影響到運(yùn)行程序的并發(fā)執(zhí)行,甚至運(yùn)行程序無(wú)法并發(fā)執(zhí)行,操作系統(tǒng)也就失去了并發(fā)性,導(dǎo)致整個(gè)系統(tǒng)效率低下。1.3.3 虛擬技術(shù)· 虛擬是指操作系統(tǒng)中的一種管理技術(shù),它是把物理上的一個(gè)實(shí)體變成邏輯上的多個(gè)對(duì)應(yīng)物,顯然,前者是實(shí)際存在的而后者是虛構(gòu)假想的。· 時(shí)分復(fù)用n 虛擬處理機(jī)w 通過多道程序和分時(shí)使用CPU技術(shù),物理上的一個(gè)CPU變成邏輯上的多個(gè)CPUn 虛擬設(shè)備w 打印機(jī)n 若某物理設(shè)備通過時(shí)分復(fù)用虛擬為N臺(tái),則虛擬設(shè)備速度是原設(shè)備的1/N· 空分復(fù)用n 虛擬磁盤w 1個(gè)硬盤實(shí)體->多個(gè)邏輯卷n 虛擬存
16、儲(chǔ)器w 虛擬存儲(chǔ)器則是把物理上的多個(gè)存儲(chǔ)器(主存和輔存)變成邏輯上的一個(gè)(虛存)的例子w 內(nèi)存空分復(fù)用提高內(nèi)存空間利用率w 結(jié)合時(shí)分復(fù)用,可實(shí)現(xiàn)在邏輯上擴(kuò)大內(nèi)存,使程序中遠(yuǎn)小于它的空間運(yùn)行n 若某物理設(shè)備通過空分復(fù)用虛擬為N臺(tái),則虛擬設(shè)備占用空間是原設(shè)備的1/N異步性· 異步性(Asynchronism)亦稱不確定性,( Nondeterministic )進(jìn)程以人們不可預(yù)知的速度向前推進(jìn),即進(jìn)程的異步性。· 在多道程序環(huán)境中,允許多個(gè)進(jìn)程并發(fā)執(zhí)行,由于資源有限而進(jìn)程眾多,進(jìn)程的執(zhí)行往往不是一氣呵成,而是“走走停?!?,其運(yùn)行、暫停和完成的時(shí)間都無(wú)法確定。a. 系統(tǒng)中的進(jìn)程何
17、時(shí)執(zhí)行?b. 何時(shí)暫停?c. 以什么樣的速度向前推進(jìn)?d. 進(jìn)程總共要多少時(shí)間執(zhí)行才能完成?· 這些都是不可預(yù)知的,或者說(shuō)該進(jìn)程是以不確定的方式運(yùn)行的,不確定性給系統(tǒng)帶來(lái)了潛在的危險(xiǎn),有可能導(dǎo)致與時(shí)間有關(guān)的錯(cuò)誤。· 但只要運(yùn)行環(huán)境相同,操作系統(tǒng)必須保證多次運(yùn)行作業(yè),都會(huì)獲得完全相同的結(jié)果。設(shè)計(jì)操作系統(tǒng)必修考慮異步性帶來(lái)的問題。1. 4操作系統(tǒng)功能· 操作系統(tǒng)有如下幾個(gè)基本功能:u 處理機(jī)管理u 存儲(chǔ)器管理u 設(shè)備管理u 文件管理u 用戶接口(一) 處理機(jī)管理· 在傳統(tǒng)的多道程序系統(tǒng)中,處理機(jī)的分配和運(yùn)行都是以進(jìn)程為基本單位,因而對(duì)處理機(jī)的管理可歸結(jié)為對(duì)進(jìn)
18、程的管理:· 進(jìn)程控制n 創(chuàng)建、撤銷、狀態(tài)轉(zhuǎn)換· 進(jìn)程同步n 訪問臨界資源、協(xié)調(diào)合作次序· 進(jìn)程通信n 合作進(jìn)程的消息交換· 調(diào)度n 作業(yè)調(diào)度、進(jìn)程調(diào)度(二) 存儲(chǔ)器管理· 存儲(chǔ)管理的主要任務(wù)是管理存儲(chǔ)器資源,為多道程序運(yùn)行提供有力支撐。存儲(chǔ)管理的主要功能包括: · 內(nèi)存分配n 存儲(chǔ)管理將根據(jù)用戶程序的需要給它分配存儲(chǔ)器資源,并在其使用完畢后回收。 · 內(nèi)存保護(hù)n 存儲(chǔ)管理要把各個(gè)用戶程序相互隔離起來(lái)互不干擾,更不允許用戶程序訪問操作系統(tǒng)的程序和數(shù)據(jù),從而保護(hù)用戶程序存放在存儲(chǔ)器中的信息不被破壞。 · 地址映射n
19、進(jìn)程邏輯地址到內(nèi)存物理地址的映射。這樣程序員無(wú)需知道自己的程序分配到內(nèi)存的什么具體物理地址,僅僅知道自己的邏輯地址即可,體現(xiàn)了存儲(chǔ)的無(wú)關(guān)性。· 內(nèi)存擴(kuò)充n 借助虛擬存儲(chǔ)技術(shù),從邏輯上擴(kuò)充內(nèi)存,使用戶感覺到比實(shí)際大的多的內(nèi)存,可是更多程序并發(fā)運(yùn)行。n 功能:請(qǐng)求調(diào)入、置換(三) 設(shè)備管理· 設(shè)備管理的主要任務(wù): 管理各類外圍設(shè)備,完成用戶提出的I/O請(qǐng)求,加快I/O信息的傳送速度,發(fā)揮I/O設(shè)備的并行性,提高I/O設(shè)備的利用率;以及提供每種設(shè)備的設(shè)備驅(qū)動(dòng)程序和中斷處理程序,向用戶屏蔽硬件使用細(xì)節(jié)· 設(shè)備管理的主要功能:1. 緩沖管理w 緩沖區(qū),緩和CPU和I/O速度
20、不匹配的矛盾w 單緩沖、雙緩沖、公用緩沖2. 設(shè)備分配w 為進(jìn)程分配設(shè)備,以及設(shè)備控制器、通道3. 設(shè)備處理w 設(shè)備驅(qū)動(dòng)程序:CPU和設(shè)備控制器之間的通信(四)文件管理· 上述三種管理是針對(duì)計(jì)算機(jī)硬件資源的管理。· 文件管理則是對(duì)系統(tǒng)的軟件資源的管理。· 在現(xiàn)代計(jì)算機(jī)中,通常把程序和數(shù)據(jù)以文件形式存儲(chǔ)在外存儲(chǔ)器上,供用戶使用。為此,OS需配置文件管理機(jī)構(gòu)。· 文件存儲(chǔ)空間的管理n 為文件分配外存空間,提供外存利用率n 記錄外存使用情況、分配、回收外存空間· 目錄管理n 為文件建立目錄項(xiàng),有效組織,按名存取· 文件的讀/寫管理和保護(hù)n
21、向外存讀取/寫入數(shù)據(jù)n 防止文件被非法竊取或破壞存取控制(五)OS與用戶之間的接口1. 用戶接口n 聯(lián)機(jī)接口w 命令,用戶通過和終端交互控制作業(yè)n 脫機(jī)接口w 作業(yè)控制語(yǔ)言(JCL),用戶通過作業(yè)說(shuō)明書委托系統(tǒng)代為控制作業(yè)n 圖形用戶接口w 用直觀圖標(biāo)、菜單、對(duì)話框替代命令,免于單調(diào)、繁瑣和記憶之累2. 程序接口n 供用戶程序使用OS服務(wù)的系統(tǒng)調(diào)用1.5 操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)· 操作系統(tǒng)規(guī)模龐大,結(jié)構(gòu)復(fù)雜,其質(zhì)量的好壞直接關(guān)系到計(jì)算機(jī)系統(tǒng)能否有效可靠的運(yùn)行。· 從操作系統(tǒng)的發(fā)展過程來(lái)看,操作系統(tǒng)的結(jié)構(gòu)有如下幾種:1. 無(wú)結(jié)構(gòu)OS· 在早期開發(fā)操作系統(tǒng)時(shí),設(shè)計(jì)者只是把
22、他的注意力放在功能的實(shí)現(xiàn)和獲得高的效率上,缺乏首尾一致的設(shè)計(jì)思想。這種OS是無(wú)結(jié)構(gòu)的,也稱整體系統(tǒng)結(jié)構(gòu)。· 整個(gè)操作系統(tǒng)是一組過程的集合,每個(gè)過程都可以調(diào)用任意其他過程。· 優(yōu)點(diǎn):程序緊湊,可有效利用內(nèi)存。· 缺點(diǎn):程序雜亂,錯(cuò)誤多、維護(hù)難。2. 模塊化結(jié)構(gòu)OS· 將OS按其功能精心地劃分為若干個(gè)具有一定獨(dú)立性和大小的模塊,每個(gè)模塊具有某方面的管理功能;· 仔細(xì)地規(guī)定好各模塊之間的接口,使各模塊之間能通過該接口實(shí)現(xiàn)交互。· 關(guān)鍵問題:n 模塊的劃分n 規(guī)定好模塊之間的接口· 衡量模塊獨(dú)立性n 內(nèi)聚性:模塊內(nèi)部的聯(lián)系緊密程度n
23、 耦合性:模塊之間的聯(lián)系和影響程度· 優(yōu)點(diǎn):n 比無(wú)結(jié)構(gòu)OS,更容易設(shè)計(jì)、開發(fā)和維護(hù),錯(cuò)誤更少,適應(yīng)性更好· 缺點(diǎn):n 接口規(guī)定難以滿足實(shí)際需求n 模塊設(shè)計(jì)決定的“無(wú)序性”3. 分層式結(jié)構(gòu)OS所謂分層結(jié)構(gòu),即是把操作系統(tǒng)劃分為內(nèi)核和若干模塊(或進(jìn)程)組成,這些模塊(或進(jìn)程)排列成若干層,各層之間只能是單向依賴關(guān)系,不構(gòu)成循環(huán)。· 設(shè)計(jì)任務(wù):n 在目標(biāo)系統(tǒng)An和裸機(jī)系統(tǒng)(宿主系統(tǒng))A0之間,鋪設(shè)若干層軟件啊A1, A2, , An-1,使An能通過這些層,最終在A0上運(yùn)行。· 設(shè)計(jì)原則:n 每一步都設(shè)計(jì)都建立在可靠的基礎(chǔ)上。n 每一層僅能使用其底層提供的功
24、能和服務(wù)。n 各層之間單向依賴,高層僅依賴相鄰低層。n 每層可包括若干模塊。n 對(duì)每一層精心設(shè)計(jì)和充分測(cè)試后,認(rèn)為其是正確的,并且與其所有高層無(wú)關(guān)。· 優(yōu)點(diǎn):n 易保證正確w 有序,自下而上、所有設(shè)計(jì)決定建立在較為可靠的基礎(chǔ)上n 易擴(kuò)充、維護(hù)w 增加、修改或替換一個(gè)層次中的模塊,只要接口不變,不影響其他的層次· 缺點(diǎn)n 系統(tǒng)效率降低了w 層間通信,OS執(zhí)行一個(gè)功能要穿越多個(gè)層次1.5.2 客戶/服務(wù)器模式· 組成:n 客戶機(jī)w 具有一定處理能力,也可向服務(wù)器請(qǐng)求服務(wù)n 服務(wù)器w 提供服務(wù)的機(jī)器或程序n 網(wǎng)絡(luò)系統(tǒng)w 連接客戶機(jī)和服務(wù)器· 交互過程:n 客戶
25、發(fā)送請(qǐng)求消息n 服務(wù)器接收消息n 服務(wù)器回送消息n 客戶機(jī)接收消息· 優(yōu)點(diǎn):n 數(shù)據(jù)分布處理(客戶機(jī))n 集中管理(服務(wù)器)n 靈活,易擴(kuò)充(客戶機(jī)、服務(wù)器)n 易改編應(yīng)用軟件(客戶機(jī)程序)· OS中的各種實(shí)體n 進(jìn)程、線程、消息、存儲(chǔ)器和文件· 使用對(duì)象概念n 進(jìn)程對(duì)象、線程對(duì)象· 使用面向?qū)ο蠹夹g(shù)開發(fā)OS的優(yōu)點(diǎn)n 易重用、修改、擴(kuò)展n 易保證正確性和可靠性1.5.3 微內(nèi)核OS結(jié)構(gòu)· 基本概念:n 基于客戶/服務(wù)器模式,將操作系統(tǒng)劃分為兩大部分:微內(nèi)核和多個(gè)服務(wù)器。· 基本思想:n 內(nèi)核中僅存放那些最基本的核心操作系統(tǒng)功能。其它服
26、務(wù)和應(yīng)用則建立在微內(nèi)核之外,在用戶模式下運(yùn)行。微內(nèi)核OS主要特征1. 足夠小的內(nèi)核2. 基于客戶/服務(wù)器模式3. 應(yīng)用“機(jī)制與策略分離”原理4. 采用面向?qū)ο蠹夹g(shù)足夠小的內(nèi)核· 現(xiàn)代操作系統(tǒng)的一個(gè)趨勢(shì)是將這種把代碼移到更高層次的思想進(jìn)一步發(fā)展,從操作系統(tǒng)中去掉盡可能多的東西,而只留一個(gè)最小的核心。· 微內(nèi)核不是一個(gè)完整的OS,只是操作系統(tǒng)最基本的部分:n 與硬件緊密相關(guān)的n 較基本的功能n 客戶和服務(wù)器的通信基于客戶/服務(wù)器模式· 微內(nèi)核OS最基本的部分在內(nèi)核,絕大部分OS功能放在微內(nèi)核外面的一組服務(wù)器(進(jìn)程)中實(shí)現(xiàn)。· 過去已成為操作系統(tǒng)傳統(tǒng)的許多服務(wù)
27、,現(xiàn)在成了與微內(nèi)核交互的外部子系統(tǒng)。· 服務(wù)器進(jìn)程和用戶進(jìn)程,運(yùn)行在用戶態(tài)· 微內(nèi)核運(yùn)行在核心態(tài)· 為什么要區(qū)分處理機(jī)的狀態(tài)?答:操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的最重要的系統(tǒng)軟件,為了能正確的進(jìn)行管理和控制,其本身是不能被破壞的。為此系統(tǒng)應(yīng)能建立一個(gè)保護(hù)環(huán)境,采用的辦法就是區(qū)分處理機(jī)的狀態(tài)· 在系統(tǒng)中有兩類程序在運(yùn)行· 1.管理程序 · 2.用戶程序· 1.管理程序 · 其擔(dān)負(fù)的任務(wù)是:a. 管理和控制者b. 為用戶提供服務(wù)c. 負(fù)責(zé)管理和分配系統(tǒng)資源· 2.用戶程序· 其擔(dān)負(fù)的任務(wù)是
28、:a. 被管理和被控制者b. 所需資源必須向操作系統(tǒng)提出請(qǐng)求c. 享受系統(tǒng)提供的服務(wù)什么是處理機(jī)的態(tài)?· 處理機(jī)的態(tài)處理機(jī)的工作狀態(tài),即處理機(jī)當(dāng)前正在執(zhí)行哪一類程序,依此來(lái)區(qū)分處理機(jī)的狀態(tài)。· 計(jì)算機(jī)系統(tǒng)在執(zhí)行上述兩種不同類型的程序時(shí),就應(yīng)該有不同的權(quán)限。· 而為此根據(jù)對(duì)資源和機(jī)器指令的使用權(quán)限,把處理執(zhí)行時(shí)的兩種工作狀態(tài)分為核態(tài)和用戶態(tài)。關(guān)于“態(tài)”的幾個(gè)概念· 核心態(tài)(Kernel Mode),又稱管態(tài)或系統(tǒng)態(tài): CPU執(zhí)行管理程序時(shí)所處的狀態(tài)。· 在此狀態(tài)下允許CPU使用全部資源和全部指令,其中包括一組特權(quán)指令(如涉及外設(shè)的I/O、改變處理
29、機(jī)狀態(tài)、修改存儲(chǔ)保護(hù)的指令) 。· 是操作系統(tǒng)內(nèi)核所運(yùn)行的模式,運(yùn)行在該模式的代碼,可以無(wú)限制地對(duì)系統(tǒng)存儲(chǔ)、外部設(shè)備進(jìn)行訪問。· 用戶態(tài)(User Mode):又叫目態(tài)或常態(tài)。用戶程序執(zhí)行時(shí)CPU所處的狀態(tài)。· 在此狀態(tài)下禁止使用特權(quán)指令,不能直接使用系統(tǒng)資源與改變CPU狀態(tài),并且只能訪問用戶程序所在的存儲(chǔ)空間。· 當(dāng)用戶程序執(zhí)行時(shí),如果需要請(qǐng)求操作系統(tǒng)服務(wù),則必然由用戶態(tài)轉(zhuǎn)為核態(tài),即由操作系統(tǒng)得到控制權(quán),在核態(tài)下執(zhí)行其管理程序。· 服務(wù)完畢后,由核態(tài)返回用戶態(tài),繼續(xù)讓用戶程序執(zhí)行。一道考研題· 在計(jì)算機(jī)系統(tǒng)中,為什么要區(qū)
30、分管態(tài)與目態(tài)?(西安電子科技大學(xué)1999年試題)· 【解答】操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最重要的系統(tǒng)軟件,為了能正確地進(jìn)行管理和控制,其本身是不能被破壞的。因此,系統(tǒng)采用了區(qū)分處理機(jī)狀態(tài)的辦法,為操作系統(tǒng)程序建立一個(gè)保護(hù)環(huán)境。這樣,用戶程序只能在目態(tài)下運(yùn)行,只能執(zhí)行非特權(quán)指令,只能訪問自己的存儲(chǔ)區(qū),從而保護(hù)了操作系統(tǒng)程序的正常運(yùn)行。應(yīng)用“機(jī)制與策略分離”原理· 機(jī)制:實(shí)現(xiàn)某一功能的具體執(zhí)行機(jī)構(gòu)n 關(guān)注的問題:做什么?由什么來(lái)做?n 機(jī)制處于系統(tǒng)的基層n 機(jī)制通常放在微內(nèi)核中· 策略:借助于某些參數(shù)和算法來(lái)實(shí)現(xiàn)該功能的優(yōu)化。n 關(guān)注的問題:具體怎么做?n 策略處于系統(tǒng)的高層采用面向?qū)ο蠹夹g(shù)· 面向?qū)ο蠹夹g(shù)作為一種先進(jìn)的軟件工程技術(shù),對(duì)大型復(fù)雜系統(tǒng)的開發(fā)具有普遍的優(yōu)越性,故廣泛地應(yīng)用現(xiàn)代OS設(shè)計(jì)。· 內(nèi)核雖然小,微內(nèi)核OS還必須包括服務(wù)器部分,才能實(shí)現(xiàn)其作為操作系統(tǒng)應(yīng)有的功能。· 因此微內(nèi)核OS仍然是復(fù)雜的大型系統(tǒng),采用面向?qū)ο蠹夹g(shù)有益于其設(shè)計(jì)和開發(fā)。微內(nèi)核的基本功能· 一般采用“機(jī)制與策略分類”的原理,將機(jī)制部分,以及與硬件緊密相關(guān)的部分放入微內(nèi)核。· 微內(nèi)核功能:1. 進(jìn)程(線程)管理2. 低級(jí)存儲(chǔ)器管理3. 中斷和陷入處理進(jìn)程(線程)管理·
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年國(guó)家司法考試模擬試卷及答案
- 2025年公共衛(wèi)生服務(wù)體系職業(yè)水平考試題及答案
- 特殊地面保護(hù)管理制度
- 特殊普通合伙管理制度
- 特殊疾病學(xué)生管理制度
- 特殊飲食醫(yī)院管理制度
- 特色配電維護(hù)管理制度
- 特色餐廳員工管理制度
- 獨(dú)居酒店日常管理制度
- 建設(shè)工程動(dòng)火管理制度
- 廣東省珠海市文園中學(xué)2025屆七下數(shù)學(xué)期末質(zhì)量跟蹤監(jiān)視試題含解析
- 公共組織績(jī)效評(píng)估-形考任務(wù)二(占10%)-國(guó)開(ZJ)-參考資料
- AI驅(qū)動(dòng)的智能汽車故障診斷系統(tǒng)
- GB/T 19995.1-2005天然材料體育場(chǎng)地使用要求及檢驗(yàn)方法第1部分:足球場(chǎng)地天然草面層
- 全民經(jīng)紀(jì)人協(xié)議書
- 護(hù)理學(xué)課件-鋪床法
- GB∕T 31062-2014 聚合物多元醇
- 人教版 2021-2022學(xué)年 五年級(jí)下冊(cè)數(shù)學(xué)期末測(cè)試試卷(一)含答案
- 國(guó)家開放大學(xué)《土木工程力學(xué)(本)》形考作業(yè)1-5參考答案
- 公司盡職調(diào)查提綱
評(píng)論
0/150
提交評(píng)論