版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章操作系統(tǒng)概述1.1操作系統(tǒng)的概念1.2操作系統(tǒng)的發(fā)展1.3操作系統(tǒng)分類1.4操作系統(tǒng)設(shè)計(jì)1.5操作系統(tǒng)啟動(dòng)1.6本章小結(jié)目錄CONTENTS本章學(xué)習(xí)目標(biāo)<3
>1)理解定義、特征和研究觀點(diǎn)2)掌握進(jìn)程管理、存儲(chǔ)管理、文件管理、作業(yè)管理等核心功能3)掌握用戶態(tài)、核心態(tài)的定義和切換方式4)了解操作系統(tǒng)發(fā)展歷程5)掌握批處理操作系統(tǒng)的工作方式、特點(diǎn)及分類、設(shè)計(jì)思想、系統(tǒng)調(diào)用過程、一般指令、特權(quán)指令和SPOOLing技術(shù)6)理解分時(shí)操作系統(tǒng)、嵌入式操作系統(tǒng)和其他類型操作系統(tǒng)的概念和特點(diǎn)7)理解操作系統(tǒng)設(shè)計(jì)難點(diǎn)、設(shè)計(jì)過程和設(shè)計(jì)目標(biāo)8)掌握整體式結(jié)構(gòu)、層次式結(jié)構(gòu)、微內(nèi)核結(jié)構(gòu)和外核結(jié)構(gòu)9)理解Unix、Linux、鴻蒙、OpenEuler等系統(tǒng)的體系結(jié)構(gòu)10)掌握引導(dǎo)方式、引導(dǎo)過程和啟動(dòng)機(jī)制PART1.1操作系統(tǒng)的概念定義、特征、功能、運(yùn)行級(jí)別及研究操作系統(tǒng)的幾種觀點(diǎn)<5
>計(jì)算機(jī)系統(tǒng)是一種按用戶的要求接收和存儲(chǔ)信息、自動(dòng)進(jìn)行數(shù)據(jù)處理并輸出結(jié)果信息的系統(tǒng),包括硬件(子)系統(tǒng)和軟件(子)系統(tǒng)硬件系統(tǒng)是計(jì)算機(jī)系統(tǒng)賴以工作的實(shí)體軟件系統(tǒng)保證計(jì)算機(jī)系統(tǒng)協(xié)調(diào)工作,各種程序和數(shù)據(jù)組成了計(jì)算機(jī)軟件系統(tǒng)在計(jì)算機(jī)系統(tǒng)中,集中了資源管理功能和控制程序執(zhí)行功能的軟件,稱為操作系統(tǒng)1.1.1計(jì)算機(jī)系統(tǒng)1.1.2操作系統(tǒng)的定義<6
>具有各種功能的、大量程序模塊的集合,使整個(gè)計(jì)算機(jī)系統(tǒng)高效運(yùn)行:有效組織和管理計(jì)算機(jī)系統(tǒng)中的硬件及軟件資源。通過表格或數(shù)據(jù)結(jié)構(gòu),登記保存資源名稱、類型、數(shù)量、用途、完好狀態(tài)、目前使用狀態(tài)等,并進(jìn)行動(dòng)態(tài)、實(shí)時(shí)更新根據(jù)用戶不同的要求、作業(yè)各自特點(diǎn)及緊急程度,合理組織計(jì)算機(jī)工作流程,控制程序執(zhí)行。“公平”對(duì)待不同的用戶程序,保證系統(tǒng)不發(fā)生“死鎖”和“饑餓”的現(xiàn)象向用戶提供各種服務(wù)功能。向程序開發(fā)和設(shè)計(jì)人員提供高效的程序設(shè)計(jì)接口;向使用計(jì)算機(jī)系統(tǒng)的用戶提供接口,使用戶能方便、有效地使用計(jì)算機(jī)1.1.3操作系統(tǒng)的特征<7
>系統(tǒng)中同時(shí)運(yùn)行若干個(gè)程序,用戶程序與用戶程序之間并發(fā)執(zhí)行或用戶程序與操作系統(tǒng)程序之間并發(fā)執(zhí)行并發(fā)性系統(tǒng)程序與用戶程序共用系統(tǒng)中的資源,如:中央處理單元、內(nèi)存儲(chǔ)器、外存儲(chǔ)器及外部設(shè)備。資源的共享分為互斥共享和同時(shí)共享共享性操作系統(tǒng)在隨機(jī)環(huán)境下運(yùn)行,且不能對(duì)所運(yùn)行的程序的行為以及硬件設(shè)備的情況做出事先的假定,操作系統(tǒng)設(shè)計(jì)需考慮各種可能性隨機(jī)性虛擬性是一種管理技術(shù),該技術(shù)把物理上的一個(gè)實(shí)體變成邏輯上的多個(gè)對(duì)應(yīng)物,或把物理上的多個(gè)實(shí)體變成邏輯上的一個(gè)對(duì)應(yīng)物虛擬性多道程序環(huán)境下,多個(gè)程序并發(fā)執(zhí)行,但由于資源有限,進(jìn)程的執(zhí)行是走走停停、以不可預(yù)知的速度向前推進(jìn)異步性1.1.4研究操作系統(tǒng)的觀點(diǎn)<8
>對(duì)操作系統(tǒng)本質(zhì)的不同觀點(diǎn),會(huì)影響操作系統(tǒng)的設(shè)計(jì)思想軟件的觀點(diǎn)操作系統(tǒng)是一種大型軟件系統(tǒng),集合多種功能程序,有軟件的外在特性和內(nèi)在特性:外在特性:外部表現(xiàn)形式,即操作命令定義集和界面完全能確定操作系統(tǒng)的使用方式內(nèi)在特性:具有一般軟件的結(jié)構(gòu)特點(diǎn),通過研討軟件結(jié)構(gòu)上的特點(diǎn),更好地把握操作系統(tǒng)的內(nèi)部結(jié)構(gòu)特點(diǎn)資源管理的觀點(diǎn)登記在用資源、空閑資源、當(dāng)前響應(yīng)資源、以及收回不再使用資源等。提供一系列機(jī)制協(xié)調(diào)程序間的競(jìng)爭(zhēng)與同步,提供機(jī)制對(duì)資源進(jìn)行合理使用、施加保護(hù),以及采取虛擬技術(shù)來“擴(kuò)充”資源等1.1.4研究操作系統(tǒng)的觀點(diǎn)<9
>服務(wù)提供者觀點(diǎn)從用戶的角度,即從外部觀察操作系統(tǒng),操作系統(tǒng)被視為服務(wù)提供者,為用戶提供比裸機(jī)功能更強(qiáng)、服務(wù)質(zhì)量更高、更方便靈活的虛擬機(jī)器進(jìn)程的觀點(diǎn)操作系統(tǒng)可視為多個(gè)同時(shí)獨(dú)立運(yùn)行的程序和一個(gè)對(duì)這些程序進(jìn)行協(xié)調(diào)的核心所組成。進(jìn)程分為用戶進(jìn)程和系統(tǒng)進(jìn)程,操作系統(tǒng)控制和協(xié)調(diào)進(jìn)程的運(yùn)行虛機(jī)器的觀點(diǎn)操作系統(tǒng)把計(jì)算機(jī)(裸機(jī))擴(kuò)充為功能強(qiáng)、使用方便的計(jì)算機(jī)系統(tǒng),即虛擬計(jì)算機(jī),而把操作系統(tǒng)的全部功能,包括系統(tǒng)調(diào)用、命令、作業(yè)控制語言等,統(tǒng)稱為操作系統(tǒng)虛機(jī)器1.1.5操作系統(tǒng)的功能-進(jìn)程管理<10
>操作系統(tǒng)功能主要分為進(jìn)程管理(處理器管理)、存儲(chǔ)管理、文件管理、作業(yè)管理和設(shè)備管理進(jìn)程管理進(jìn)程管理對(duì)中央處理器進(jìn)行管理,協(xié)調(diào)多道程序之間的關(guān)系,解決處理器分配調(diào)度策略、分配的實(shí)施和回收等問題,提升CPU資源利用率(1)進(jìn)程控制包括創(chuàng)建進(jìn)程、撤銷結(jié)束的進(jìn)程以及控制進(jìn)程運(yùn)行時(shí)的各種狀態(tài)轉(zhuǎn)換(2)進(jìn)程同步操作系統(tǒng)提供進(jìn)程同步機(jī)制,協(xié)調(diào)進(jìn)程的執(zhí)行,包括互斥和同步兩種形式?;コ庵付鄠€(gè)進(jìn)程對(duì)臨界資源訪問時(shí)采用互斥的形式;同步指相互協(xié)作共同完成任務(wù)的進(jìn)程之間,用同步機(jī)制協(xié)調(diào)執(zhí)行順序(3)進(jìn)程間通信進(jìn)程間通信發(fā)生在相互協(xié)作的進(jìn)程之間。由操作系統(tǒng)提供的進(jìn)程間通信機(jī)制是協(xié)作的進(jìn)程之間相互交換數(shù)據(jù)和消息的手段(4)調(diào)度調(diào)度又稱為處理器調(diào)度,包括線程調(diào)度、進(jìn)程調(diào)度和作業(yè)調(diào)度等1.1.5操作系統(tǒng)的功能-存儲(chǔ)管理<11
>存儲(chǔ)管理存儲(chǔ)管理計(jì)算機(jī)內(nèi)存的資源(1)內(nèi)存的分配與回收操作系統(tǒng)為每個(gè)進(jìn)程分配內(nèi)存空間,回收已退出運(yùn)行的進(jìn)程所占據(jù)的內(nèi)存空間并重新使用(2)存儲(chǔ)保護(hù)內(nèi)存由多個(gè)程序共享,必須考慮程序越界問題。如程序自身可能存在一些錯(cuò)誤、隱患或某個(gè)程序具有惡意,防止危害其他用戶和整個(gè)計(jì)算機(jī)系統(tǒng)(3)內(nèi)存擴(kuò)充借助虛擬存儲(chǔ)技術(shù)在邏輯上增加進(jìn)程運(yùn)行空間,操作系統(tǒng)通常將空間劃分為4K字節(jié)大小的頁面,以頁面為單位進(jìn)行存儲(chǔ)空間的調(diào)度1.1.5操作系統(tǒng)的功能-文件管理<12
>文件管理文件管理的任務(wù)是有效支持文件的存儲(chǔ)、檢索和修改等操作,解決文件的共享、保密和保護(hù)問題,以使用戶方便、安全地訪問文件(1)文件存儲(chǔ)空間的管理文件系統(tǒng)設(shè)置專門的數(shù)據(jù)結(jié)構(gòu)記錄文件存儲(chǔ)空間的使用情況。為提高空間利用率,通常采用離散分配方式(2)目錄管理目錄管理給出組織文件的方法,為每個(gè)文件建立目錄項(xiàng),對(duì)目錄項(xiàng)進(jìn)行有效組織,為用戶提供方便的按名存?。?)文件系統(tǒng)的安全性安全性包括文件的讀寫權(quán)限管理以及存取控制,防止未經(jīng)核準(zhǔn)的用戶存取文件,防止越權(quán)訪問文件,防止使用不正確的方式訪問文件1.1.5操作系統(tǒng)的功能-作業(yè)管理&設(shè)備管理<13
>作業(yè)管理作業(yè)管理為用戶提供一個(gè)使用系統(tǒng)的良好環(huán)境,使用戶能有效地組織自己的工作流程,并使整個(gè)系統(tǒng)高效運(yùn)行設(shè)備管理設(shè)備管理指計(jì)算機(jī)系統(tǒng)中除了CPU和內(nèi)存以外的所有輸入、輸出設(shè)備的管理。操作系統(tǒng)的設(shè)備管理功能負(fù)責(zé)外部設(shè)備的分配、啟動(dòng)和故障處理1.1.6操作系統(tǒng)的運(yùn)行特權(quán)級(jí)別-用戶態(tài)與內(nèi)核態(tài)<14
>為了防止對(duì)操作系統(tǒng)進(jìn)行危險(xiǎn)操作帶來嚴(yán)重后果,操作系統(tǒng)支持應(yīng)用程序運(yùn)行的流程分為用戶態(tài)和內(nèi)核態(tài)用戶態(tài)與內(nèi)核態(tài)用戶態(tài):非特權(quán)的執(zhí)行狀態(tài)。操作系統(tǒng)內(nèi)核禁止此狀態(tài)下的代碼進(jìn)行潛在危險(xiǎn)的操作,如寫入系統(tǒng)配置文件、銷毀其他用戶的進(jìn)程、重啟系統(tǒng)等內(nèi)核態(tài):操作系統(tǒng)內(nèi)核運(yùn)行的模式,運(yùn)行在該模式的代碼,可無限制地對(duì)系統(tǒng)存儲(chǔ)、外部設(shè)備進(jìn)行訪問1.1.6操作系統(tǒng)的運(yùn)行特權(quán)級(jí)別-用戶態(tài)與內(nèi)核態(tài)切換方式<15
>(1)系統(tǒng)調(diào)用:用戶態(tài)進(jìn)程可主動(dòng)發(fā)起系統(tǒng)調(diào)用切換到內(nèi)核態(tài),用戶態(tài)進(jìn)程通過系統(tǒng)調(diào)用申請(qǐng)使用操作系統(tǒng)提供的服務(wù)程序完成工作(2)異常:當(dāng)CPU在執(zhí)行運(yùn)行在用戶態(tài)下的程序時(shí),發(fā)生事先不可知的異常,觸發(fā)由當(dāng)前運(yùn)行進(jìn)程切換到處理此異常的內(nèi)核相關(guān)程序中,即切換到內(nèi)核態(tài)(3)外圍設(shè)備的中斷:當(dāng)外圍設(shè)備完成用戶請(qǐng)求的操作后,向CPU發(fā)出相應(yīng)的中斷信號(hào),CPU會(huì)暫停執(zhí)行下一條即將執(zhí)行的指令轉(zhuǎn)而執(zhí)行與中斷信號(hào)對(duì)應(yīng)的處理程序,如果先前執(zhí)行的指令是用戶態(tài)程序,此時(shí)就發(fā)生用戶態(tài)到內(nèi)核態(tài)的切換背景-2:北京大學(xué)圖書館PART1.2操作系統(tǒng)的發(fā)展<17
>1.2操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的基本概念在不同時(shí)期出現(xiàn)并逐步發(fā)展成熟,其發(fā)展歷程如下:1964第二代晶體管時(shí)代1957第一代電子管時(shí)代(1946年~1957年)1970第三代集成電路時(shí)代2018-03-24第四代大規(guī)模/超大規(guī)模集成電路時(shí)代(1965年~1970年)(1971年起至今)(1958年~1964年)1.2
操作系統(tǒng)的發(fā)展歷史線索<18
>1.手工操作:二戰(zhàn)時(shí)期對(duì)武器裝備設(shè)計(jì)的需要,美國(guó)、英國(guó)和德國(guó)等國(guó)家,陸續(xù)開始使用真空管建造數(shù)字電子計(jì)算機(jī)。通過在插板上的硬連線控制計(jì)算機(jī)的基本功能,程序設(shè)計(jì)全部采用機(jī)器語言,沒有程序設(shè)計(jì)語言(甚至沒有匯編語言)。20世紀(jì)50年代早期,出現(xiàn)穿孔卡片,可以將程序?qū)懺诳ㄆ?,此階段特點(diǎn)是手工操作、獨(dú)占方式1.2
操作系統(tǒng)的發(fā)展歷史線索<19
>2.監(jiān)控程序(早期批處理):50年代晶體管的發(fā)明后,出現(xiàn)了FORTRAN、ALGOL以及COBOL等高級(jí)語言。要運(yùn)行一個(gè)作業(yè)(JOB),程序員首先將程序?qū)懺诩埳?,穿孔成卡片,將卡片盒帶到輸入室,交給操作員,計(jì)算結(jié)果從打印機(jī)上輸出,操作員到打印機(jī)上取下運(yùn)算結(jié)果并送到輸出室,程序員取到結(jié)果。由于處理器速度提高,導(dǎo)致手工操作設(shè)備輸入/輸出信息與計(jì)算機(jī)計(jì)算速度不匹配,人們?cè)O(shè)計(jì)了監(jiān)督程序(或管理程序),來實(shí)現(xiàn)作業(yè)的自動(dòng)轉(zhuǎn)換處理。操作員將作業(yè)“成批”地輸入到計(jì)算機(jī)中,由監(jiān)督程序識(shí)別一個(gè)作業(yè),進(jìn)行處理后再取下一個(gè)作業(yè)。這種自動(dòng)定序的處理方式稱為“批處理(BatchProcessing)”方式,由于是串行執(zhí)行作業(yè),因此稱為單道批處理1.2操作系統(tǒng)的發(fā)展歷史線索<20
>3.多道批處理:進(jìn)入第三代計(jì)算機(jī)以后,硬件有了很大發(fā)展,通道使得輸入/輸出操作與CPU操作并行處理成為可能。與此同時(shí)軟件系統(tǒng)也隨之相應(yīng)變化,實(shí)現(xiàn)了在硬件提供并行處理之上的多道程序設(shè)計(jì)所謂多道是指它允許多個(gè)程序同時(shí)存在于主存之中,由中央處理器以切換方式為之服務(wù),使得多個(gè)程序可以同時(shí)執(zhí)行。計(jì)算機(jī)資源不再是“串行”地被一個(gè)個(gè)用戶獨(dú)占,而可以同時(shí)為幾個(gè)用戶共享,從而極大地提高了系統(tǒng)在單位時(shí)間內(nèi)處理作業(yè)的能力。這時(shí)管理程序已迅速地發(fā)展成為一個(gè)重要的軟件分支——操作系統(tǒng)1.2操作系統(tǒng)的發(fā)展歷史線索<21
>4.分時(shí)與實(shí)時(shí)系統(tǒng):批處理系統(tǒng)不適合交互式的作業(yè),對(duì)交互式工作方式的需求導(dǎo)致了分時(shí)系統(tǒng)(TimeSharingSystem)的出現(xiàn)。分時(shí)系統(tǒng)是指多個(gè)用戶通過終端設(shè)備與計(jì)算機(jī)交互作用來運(yùn)行自己的作業(yè),并且共享一個(gè)計(jì)算機(jī)系統(tǒng)而互不干擾。由于調(diào)試程序的用戶常常只發(fā)出簡(jiǎn)短的命令(如編譯一個(gè)五頁的源文件),而很少有長(zhǎng)的費(fèi)時(shí)命令(如上百萬條記錄的文件排序),所以計(jì)算機(jī)能夠?yàn)樵S多用戶提供交互式快速的服務(wù),同時(shí)在CPU空閑時(shí)還能運(yùn)行大的后臺(tái)作業(yè)1.2操作系統(tǒng)的發(fā)展歷史線索<22
>5.UNIX通用操作系統(tǒng):20世紀(jì)60年代末,貝爾實(shí)驗(yàn)室的KenThompson和DennisM.Ritchie設(shè)計(jì)了UNIX操作系統(tǒng),以下是UNIX的特點(diǎn):用C語言編寫,可移植世界上惟一能在筆記本計(jì)算機(jī)、PC機(jī)、工作站直至巨型機(jī)上運(yùn)行的操作系統(tǒng)系統(tǒng)源代碼非常有效,系統(tǒng)容易適應(yīng)特殊的需求良好的、通用的、多用戶、多任務(wù)、分時(shí)操作系統(tǒng)樹形文件系統(tǒng)和一定的安全機(jī)制簡(jiǎn)潔的字符流文件和文件保護(hù)機(jī)制具備功能強(qiáng)大的shell,它既是命令解釋器,又是編程用高級(jí)語言,可用于擴(kuò)充系統(tǒng)的功能1.2操作系統(tǒng)的發(fā)展歷史線索<23
>6.個(gè)人計(jì)算機(jī)操作系統(tǒng):20世紀(jì)70年代末期出現(xiàn)了面向個(gè)人計(jì)算機(jī)的操作系統(tǒng),例如微軟公司的MSDOS操作系統(tǒng),屬于單用戶單任務(wù)操作系統(tǒng)1984年,蘋果推出交互式圖形功能的操作系統(tǒng)1992年,微軟推出交互式圖形功能的Windows3.11995年,Windows95出現(xiàn),Windows成為個(gè)人計(jì)算機(jī)主流操作系統(tǒng)1991年,Linus公布Linux操作系統(tǒng),繼承UNIX全部?jī)?yōu)點(diǎn),開放源碼,Linux極其健壯1.2.1操作系統(tǒng)的發(fā)展歷史線索<24
>分布式系統(tǒng):多個(gè)連接的處理資源組成,在整個(gè)系統(tǒng)控制下合作執(zhí)行任務(wù),最少依賴于集中的程序、數(shù)據(jù)或硬件,資源可物理上相鄰,也可地理上分散機(jī)群操作系統(tǒng):適用于多臺(tái)計(jì)算機(jī)構(gòu)成的機(jī)群嵌入式操作系統(tǒng):在工業(yè)控制、家電、智能設(shè)備中廣泛使用陸火星飛行器“極地探路者”,采用了VxWorks嵌入式操作系統(tǒng)7.當(dāng)代操作系統(tǒng)兩大發(fā)展方向——宏觀應(yīng)用與微觀應(yīng)用:大型系統(tǒng):分布式操作系統(tǒng)、機(jī)群操作系統(tǒng)微型系統(tǒng):嵌入式操作系統(tǒng)背景-3:西門華表操作系統(tǒng)分類PART1.3<26
>1.3操作系統(tǒng)分類按照用戶界面的使用環(huán)境和功能特征的不同,操作系統(tǒng)分為三種基本類型,批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)操作系統(tǒng)分類批處理系統(tǒng)實(shí)時(shí)系統(tǒng)分時(shí)系統(tǒng)個(gè)人計(jì)算機(jī)系統(tǒng)網(wǎng)絡(luò)系統(tǒng)分布式系統(tǒng)嵌入式系統(tǒng)1.3.1批處理操作系統(tǒng)<27
>基本工作方式收到一定數(shù)量的用戶作業(yè)后,組成一批作業(yè),輸入到計(jì)算機(jī),在系統(tǒng)中形成一個(gè)連續(xù)的、自動(dòng)轉(zhuǎn)接的作業(yè)流特點(diǎn)與分類優(yōu)點(diǎn):成批處理、系統(tǒng)資源利用率高、作業(yè)吞吐率高、作業(yè)流程自動(dòng)化較高、作業(yè)吞吐量大缺點(diǎn):用戶不能直接與計(jì)算機(jī)交互,不適合調(diào)試程序分類:簡(jiǎn)單批處理系統(tǒng)和多道批處理系統(tǒng)1.3.1批處理操作系統(tǒng)<28
>設(shè)計(jì)思想簡(jiǎn)單批處理系統(tǒng)在操作系統(tǒng)發(fā)展早期出現(xiàn),被稱為早期批處理系統(tǒng),或監(jiān)控程序。在監(jiān)控程序啟動(dòng)前,操作員有選擇地把若干作業(yè)合并成一批作業(yè),將這批作業(yè)安裝在輸入設(shè)備上。然后啟動(dòng)監(jiān)控程序,監(jiān)控程序?qū)⒆詣?dòng)控制這批作業(yè)的執(zhí)行,作業(yè)的運(yùn)行以及作業(yè)之間的銜接都由監(jiān)控程序自動(dòng)控制,有效地提高了作業(yè)運(yùn)行的效率作業(yè)控制說明書在簡(jiǎn)單批處理系統(tǒng)中,作業(yè)的運(yùn)行步驟是由作業(yè)控制說明書傳遞給監(jiān)控程序。作業(yè)控制說明書是由作業(yè)控制語言編寫的一段程序,通常存放在被處理作業(yè)前面。在運(yùn)行過程中,監(jiān)控程序讀入并解釋作業(yè)控制說明書中的語句,以控制各個(gè)作業(yè)步的執(zhí)行1.3.1批處理操作系統(tǒng)<29
>一般指令和特權(quán)指令運(yùn)行模式:用戶模式和特權(quán)模式機(jī)器指令:一般指令和特權(quán)指令特權(quán)指令:輸入/輸出指令、停機(jī)指令,只有監(jiān)控程序能執(zhí)行特權(quán)指令,用戶程序只能執(zhí)行一般指令,用戶程序向操作系統(tǒng)請(qǐng)求功能,請(qǐng)求通過系統(tǒng)調(diào)用(廣義指令)完成系統(tǒng)調(diào)用的過程1.系統(tǒng)調(diào)用發(fā)生時(shí),處理器通過一種特殊的機(jī)制,中斷或者異常處理,把控制流程轉(zhuǎn)移到監(jiān)控程序內(nèi)的一些特定的位置,同時(shí),處理器模式轉(zhuǎn)變成特權(quán)模式2.監(jiān)控程序執(zhí)行被請(qǐng)求的功能代碼3.結(jié)束之后,監(jiān)控程序恢復(fù)系統(tǒng)調(diào)用之前的現(xiàn)場(chǎng),從特權(quán)模式恢復(fù)成為用戶方式,將控制權(quán)轉(zhuǎn)移回原來的用戶程序1.3.1批處理操作系統(tǒng)<30
>SPOOLing技術(shù)為了提高硬件資源的利用率,批處理系統(tǒng)發(fā)展為更加高級(jí)的多道批處理系統(tǒng),關(guān)鍵技術(shù)就是多道程序運(yùn)行、假脫機(jī)(SPOOLing)技術(shù)等假脫機(jī)技術(shù),全稱是“同時(shí)的外部設(shè)備聯(lián)機(jī)操作”,借助硬件通道技術(shù),實(shí)現(xiàn)了輸入輸出操作和處理器動(dòng)作的自動(dòng)并行處理。通道是指專門用來控制輸入輸出的硬件設(shè)備,可以看作是專門的I/O處理機(jī)。通道基本上是自主控制外設(shè)的,可以與CPU并行工作。假脫機(jī)技術(shù)為實(shí)現(xiàn)多道批處理系統(tǒng)中的多道程序設(shè)計(jì)思想提供了重要的基礎(chǔ)1.3.2分時(shí)系統(tǒng)<31
>分時(shí)操作系統(tǒng)出現(xiàn)在批處理操作系統(tǒng)之后,彌補(bǔ)批處理方式不能向用戶提供交互式快速服務(wù)的缺點(diǎn)基本工作方式用戶通過終端交互式地向系統(tǒng)提出命令請(qǐng)求,系統(tǒng)接受用戶的命令之后,采用時(shí)間片輪轉(zhuǎn)方式處理服務(wù)請(qǐng)求,并通過交互方式在終端上向用戶顯示結(jié)果。用戶根據(jù)系統(tǒng)送回的處理結(jié)果發(fā)出下一道交互命令設(shè)計(jì)思想將CPU的時(shí)間劃分成若干個(gè)小片段,稱時(shí)間片。操作系統(tǒng)以時(shí)間片為單位,輪流為每個(gè)終端用戶服務(wù)1.3.2分時(shí)系統(tǒng)<32
>特點(diǎn)分時(shí)操作系統(tǒng)具有多路性、交互性、獨(dú)占性和及時(shí)性的特點(diǎn):多路性指有多個(gè)用戶在同時(shí)使用一臺(tái)計(jì)算機(jī)交互性指用戶根據(jù)系統(tǒng)響應(yīng)的結(jié)果提出下一個(gè)請(qǐng)求,用戶直接干預(yù)操作每一步的進(jìn)行獨(dú)占性指每個(gè)用戶感覺不到計(jì)算機(jī)為其他人服務(wù)及時(shí)性指系統(tǒng)能夠?qū)τ脩籼岢龅恼?qǐng)求及時(shí)給予響應(yīng)通用操作系統(tǒng)結(jié)合了分時(shí)系統(tǒng)與批處理系統(tǒng)兩種系統(tǒng)的特點(diǎn)。對(duì)于分時(shí)與批處理的處理原則是:分時(shí)優(yōu)先,批處理在后。在通用操作系統(tǒng)中,一般把系統(tǒng)的分時(shí)和批處理運(yùn)行狀態(tài),稱為前臺(tái)和后臺(tái)。在系統(tǒng)的“前臺(tái)”響應(yīng)需頻繁交互的作業(yè),如大量終端的處理要求;而“后臺(tái)”則處理處理對(duì)時(shí)間性要求不強(qiáng)的作業(yè)1.3.3實(shí)時(shí)操作系統(tǒng)<33
>實(shí)時(shí)操作系統(tǒng)(RTOS:RealTimeOperatingSystem):在規(guī)定時(shí)間內(nèi),及時(shí)響應(yīng)外部事件請(qǐng)求,完成事件處理,控制實(shí)時(shí)設(shè)備和實(shí)時(shí)任務(wù)協(xié)調(diào)一致工作分類:①硬實(shí)時(shí):對(duì)關(guān)鍵事件的響應(yīng)和處理時(shí)間嚴(yán)格要求,否則產(chǎn)生嚴(yán)重后果②軟實(shí)時(shí):對(duì)事件響應(yīng)和處理時(shí)間有一定要求,不滿足要求會(huì)影響服務(wù)質(zhì)量,但不會(huì)引發(fā)嚴(yán)重后果1.3.3實(shí)時(shí)操作系統(tǒng)<34
>實(shí)時(shí)系統(tǒng)為實(shí)現(xiàn)硬實(shí)時(shí)或軟實(shí)時(shí)的要求,需要具備以下能力:(1)實(shí)時(shí)時(shí)鐘管理實(shí)時(shí)任務(wù)根據(jù)時(shí)間要求可以分為兩類:定時(shí)任務(wù),它依據(jù)用戶的定時(shí)啟動(dòng)并按照嚴(yán)格的時(shí)間間隔重復(fù)運(yùn)行延時(shí)任務(wù),它非周期地運(yùn)行,允許被延后執(zhí)行,但是往往有一個(gè)嚴(yán)格的時(shí)間界限依據(jù)任務(wù)功能的不同,可分為主動(dòng)式任務(wù)和從動(dòng)式任務(wù):主動(dòng)式任務(wù)依據(jù)時(shí)間間隔主動(dòng)運(yùn)行,多用于實(shí)時(shí)監(jiān)控從動(dòng)式任務(wù)依賴于外部事件的發(fā)生(2)過載防護(hù)實(shí)時(shí)任務(wù)的啟動(dòng)時(shí)間和數(shù)量具有很大的隨機(jī)性,突發(fā)的大量實(shí)時(shí)任務(wù)極有可能超出系統(tǒng)的處理能力,從而發(fā)生過載。實(shí)時(shí)系統(tǒng)在出現(xiàn)過載現(xiàn)象時(shí),要有能力迅速分析判斷并找出最重要的實(shí)時(shí)任務(wù),通過拋棄或者延后次要任務(wù)以保證最重要任務(wù)成功執(zhí)行(3)高可靠性高可靠性是實(shí)時(shí)系統(tǒng)的設(shè)計(jì)目標(biāo)之一,實(shí)時(shí)操作系統(tǒng)需要有很強(qiáng)的健壯性和堅(jiān)固性1.3.4個(gè)人計(jì)算機(jī)操作系統(tǒng)<35
>個(gè)人計(jì)算機(jī)操作系統(tǒng)(PersonalComputerOperatingSystem)是一種單用戶的操作系統(tǒng)個(gè)人計(jì)算機(jī)操作系統(tǒng)的主要特點(diǎn):計(jì)算機(jī)在某一時(shí)間內(nèi)為單個(gè)用戶服務(wù)采用圖形界面人機(jī)交互的工作方式,界面友好使用簡(jiǎn)單方便1.3.5網(wǎng)絡(luò)操作系統(tǒng)<36
>網(wǎng)絡(luò)操作系統(tǒng)(NetworkOperatingSystem)是基于計(jì)算機(jī)網(wǎng)絡(luò)的、在各種計(jì)算機(jī)操作系統(tǒng)之上按網(wǎng)絡(luò)體系結(jié)構(gòu)協(xié)議標(biāo)準(zhǔn)設(shè)計(jì)開發(fā)的軟件計(jì)算機(jī)網(wǎng)絡(luò)的不同模式集中式模式運(yùn)算處理在主計(jì)算機(jī)里發(fā)生,終端僅作為輸入/輸出設(shè)備使用,通過連接兩臺(tái)或更多主機(jī)的方式構(gòu)成計(jì)算機(jī)網(wǎng)絡(luò)分布式模式
每臺(tái)計(jì)算機(jī)都有運(yùn)算處理能力,多臺(tái)計(jì)算機(jī)通過網(wǎng)絡(luò)交換數(shù)據(jù)并共享資源和服務(wù)。在分布式模式中,網(wǎng)絡(luò)環(huán)境中的計(jì)算機(jī)不僅能共享數(shù)據(jù)、資源及服務(wù),還能夠共享運(yùn)算處理能力1.3.6分布式操作系統(tǒng)<37
>分布式系統(tǒng)(DistributedSystem)將大量的計(jì)算機(jī)通過網(wǎng)絡(luò)連結(jié)在一起,獲得極高的運(yùn)算能力及廣泛的數(shù)據(jù)共享分布式操作系統(tǒng)(DistributedOperatingSystem)是網(wǎng)絡(luò)操作系統(tǒng)的更高級(jí)形式,分布式操作系統(tǒng)除了保持了網(wǎng)絡(luò)操作系統(tǒng)的各種功能之外,還具備如下的特征:(1)系統(tǒng)中的所有主機(jī)使用統(tǒng)一的操作系統(tǒng)(2)資源深度共享。通過統(tǒng)一的操作系統(tǒng)的調(diào)度,在某臺(tái)主機(jī)的一個(gè)計(jì)算任務(wù)可以遷移到另一臺(tái)主機(jī)上執(zhí)行(3)透明性。用戶不知道分布式系統(tǒng)運(yùn)行在多少臺(tái)計(jì)算機(jī)上,各個(gè)主機(jī)地理位置上的差異對(duì)用戶透明(4)自治性。各個(gè)主機(jī)之間沒有主從關(guān)系,一個(gè)主機(jī)的失效一般不會(huì)影響整個(gè)分布式系統(tǒng)1.3.6分布式操作系統(tǒng)<38
>分布式系統(tǒng)把系統(tǒng)中的所有計(jì)算機(jī)構(gòu)成一個(gè)完整的、功能更加強(qiáng)大的計(jì)算機(jī)系統(tǒng),系統(tǒng)中的計(jì)算機(jī)相互協(xié)作,共同完成一個(gè)大型計(jì)算任務(wù),一個(gè)計(jì)算任務(wù)可分解成若干可以并行執(zhí)行的子任務(wù),每個(gè)子任務(wù)分別在不同的計(jì)算機(jī)上執(zhí)行分布式系統(tǒng)的優(yōu)點(diǎn):分布式。以較低的成本獲得較高的運(yùn)算性能可靠性。當(dāng)一個(gè)計(jì)算機(jī)系統(tǒng)發(fā)生故障時(shí),整個(gè)分布式系統(tǒng)仍舊能夠工作。適用于高可靠的環(huán)境1.3.6分布式操作系統(tǒng)<39
>機(jī)群(cluster)是分布式系統(tǒng)的一種,一個(gè)機(jī)群通常由一群處理器密集構(gòu)成,機(jī)群操作系統(tǒng)專門服務(wù)于這樣的機(jī)群。在機(jī)群操作系統(tǒng)的指揮下,可以用低成本的微型計(jì)算機(jī)和以太網(wǎng)設(shè)備等產(chǎn)品,構(gòu)造出性能相當(dāng)于超級(jí)計(jì)算機(jī)運(yùn)算性能的機(jī)群網(wǎng)絡(luò)操作系統(tǒng)與分布式操作系統(tǒng)在概念上的主要不同之處:網(wǎng)絡(luò)操作系統(tǒng)可以構(gòu)架于不同的操作系統(tǒng)之上,可以在不同的本機(jī)操作系統(tǒng)上通過網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)資源的統(tǒng)一配置分布式操作系統(tǒng)強(qiáng)調(diào)單一操作系統(tǒng)對(duì)整個(gè)分布式系統(tǒng)的管理、調(diào)度,無論本地、異地資源,都用同一方式管理與訪問,用戶不必關(guān)心資源所在的真正物理位置,或者是如何存儲(chǔ)1.3.7嵌入式操作系統(tǒng)<40
>嵌入式操作系統(tǒng)用于工業(yè)控制、交通管理、信息家電等嵌入式系統(tǒng),設(shè)計(jì)緊湊、高效,只保留運(yùn)行在其上的特定應(yīng)用程序所需要的功能嵌入式操作系統(tǒng)的特點(diǎn):(1)系統(tǒng)內(nèi)核小。由于資源有限,嵌入式操作系統(tǒng)的內(nèi)核要比傳統(tǒng)的操作系統(tǒng)小得多(2)專業(yè)性強(qiáng)。與硬件緊密結(jié)合,針對(duì)不同的任務(wù)和設(shè)備進(jìn)行定制和移植,不能通用(3)系統(tǒng)精簡(jiǎn)。不需要過于復(fù)雜的功能設(shè)計(jì)和實(shí)現(xiàn),降低系統(tǒng)成本和提高系統(tǒng)安全性(4)高實(shí)時(shí)性。能夠及時(shí)響應(yīng)外部事件和中斷,保證任務(wù)的執(zhí)行順序和完成時(shí)間(5)多任務(wù)的操作系統(tǒng)。能夠支持多任務(wù)的調(diào)度和管理,合理地分配和利用系統(tǒng)資源1.3.8其他類型操作系統(tǒng)<41
>(1)大型機(jī)操作系統(tǒng),能夠處理海量的數(shù)據(jù)和事務(wù),提供高度的安全性、可靠性和可伸縮性,通常用于銀行、政府、保險(xiǎn)等行業(yè)(2)服務(wù)器操作系統(tǒng),支持多個(gè)用戶和多個(gè)任務(wù),提供網(wǎng)絡(luò)服務(wù)和資料共享。具有高效的內(nèi)存管理、文件系統(tǒng)和安全機(jī)制,通常用于互聯(lián)網(wǎng)、企業(yè)等領(lǐng)域(3)多處理操作系統(tǒng),利用多個(gè)處理器并行執(zhí)行多個(gè)任務(wù),提高性能和吞吐量。具有復(fù)雜的調(diào)度算法、同步機(jī)制和通信協(xié)議,通常用于科學(xué)計(jì)算、圖形處理等領(lǐng)域(4)移動(dòng)計(jì)算操作系統(tǒng),支持移動(dòng)通信、定位、傳感等功能,提供用戶友好的界面和應(yīng)用。具有低功耗、小內(nèi)存占用和高可移植性,通常用于智能手機(jī)、平板電腦等設(shè)備(5)傳感器節(jié)點(diǎn)操作系統(tǒng),支持傳感器數(shù)據(jù)采集、處理和傳輸,提供無線網(wǎng)絡(luò)和自組織能力。具有極低的資源需求、高度的可配置性和實(shí)時(shí)性,通常用于物聯(lián)網(wǎng)、環(huán)境監(jiān)測(cè)等領(lǐng)域(6)智能卡操作系統(tǒng),支持智能卡的存儲(chǔ)、計(jì)算和安全功能,提供身份認(rèn)證和支付服務(wù)。具有高度的安全性、穩(wěn)定性和兼容性,通常用于金融、交通等領(lǐng)域1.3.9典型操作系統(tǒng)的特點(diǎn)<42
>單道批處理:自動(dòng):作業(yè)自動(dòng)運(yùn)行,無需干預(yù)批量:磁帶上的各個(gè)作業(yè)按順序地進(jìn)入內(nèi)存,先調(diào)入先完成單道:內(nèi)存中僅有一道程序運(yùn)行,可以看成是串行的CPU資源利用率和系統(tǒng)吞吐量低多道批處理:多道:內(nèi)存同時(shí)存放多道程序宏觀上并行:進(jìn)入系統(tǒng)的多道程序先后開始運(yùn)行微觀上串行:內(nèi)存中多道程序輪流占有CPU,交替執(zhí)行作業(yè)處理時(shí)間長(zhǎng),交互能力差,運(yùn)行過程不確定1.3.9典型操作系統(tǒng)的特點(diǎn)<43
>分時(shí)系統(tǒng):多路調(diào)制性:多用戶聯(lián)機(jī)使用同一臺(tái)計(jì)算機(jī)獨(dú)占性:用戶感覺獨(dú)占計(jì)算機(jī)交互性:及時(shí)響應(yīng)用戶的請(qǐng)求無法在時(shí)間片更短時(shí)間內(nèi)做出處理不可搶占實(shí)時(shí)系統(tǒng):高精度計(jì)時(shí):計(jì)時(shí)精度是影響實(shí)時(shí)性的重要因素,精確實(shí)時(shí)地操作某個(gè)設(shè)備或執(zhí)行某個(gè)任務(wù)多級(jí)中斷:建立多級(jí)中斷嵌套處理機(jī)制,確保緊迫程度較高的實(shí)時(shí)事件得到及時(shí)響應(yīng)和處理實(shí)時(shí)調(diào)度:在調(diào)度策略和算法上保證優(yōu)先調(diào)度實(shí)時(shí)任務(wù)可搶占1.3.9典型操作系統(tǒng)的特點(diǎn)<44
>網(wǎng)絡(luò)操作系統(tǒng):體系結(jié)構(gòu)上具有所有操作系統(tǒng)的職能,如任務(wù)管理,緩沖區(qū)管理等多用戶共享資源允許存在于多種拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)分布式系統(tǒng):分布性:計(jì)算機(jī)物理上分布在不同的地理位置,通過網(wǎng)絡(luò)連接在一起并發(fā)性:計(jì)算機(jī)可同時(shí)處理多個(gè)任務(wù),更快地完成工作缺乏全局時(shí)鐘:沒有統(tǒng)一的全局時(shí)鐘,只能通過時(shí)間戳等方式來實(shí)現(xiàn)事件的排序和同步故障獨(dú)立性:計(jì)算機(jī)可以獨(dú)立運(yùn)行,即使其中一臺(tái)計(jì)算機(jī)出現(xiàn)故障,其他計(jì)算機(jī)仍然可以繼續(xù)工作可擴(kuò)展性:通過增加計(jì)算機(jī)來擴(kuò)展其處理能力,不會(huì)影響整個(gè)系統(tǒng)的性能透明性:通過各種機(jī)制實(shí)現(xiàn)透明性,包括訪問透明性、位置透明性、復(fù)制透明性、故障透明性等,用戶可以像使用單個(gè)計(jì)算機(jī)一樣使用分布式系統(tǒng)1.3.9典型操作系統(tǒng)的特點(diǎn)<45
>嵌入式系統(tǒng):系統(tǒng)內(nèi)核小專用性強(qiáng)運(yùn)行環(huán)境差異大可靠性要求高系統(tǒng)精簡(jiǎn)和高實(shí)時(shí)性操作系統(tǒng)嵌入式系統(tǒng)開發(fā)的專用環(huán)境1.3.9典型操作系統(tǒng)的特點(diǎn)<46
>典型操作系統(tǒng)特點(diǎn)劃分:根據(jù)應(yīng)用領(lǐng)域,分為桌面操作系統(tǒng)、服務(wù)器操作系統(tǒng)、主機(jī)操作系統(tǒng)、嵌入式操作系統(tǒng)根據(jù)支持用戶數(shù)目,分為單用戶系統(tǒng)(MSDOS、OS/2)、多用戶系統(tǒng)(UNIX、MVS、Windows)根據(jù)源碼開放程度,分為開源操作系統(tǒng)(Linux、ChromeOS)和閉源操作系統(tǒng)(Windows、MacOS)根據(jù)硬件結(jié)構(gòu),分為網(wǎng)絡(luò)操作系統(tǒng)(Netware、WindowsNT)、分布式系統(tǒng)(Amoeba)、多媒體系統(tǒng)(Amiga)根據(jù)使用環(huán)境和作業(yè)處理方式,分為批處理系統(tǒng)(MVX、DOS/VSE)、分時(shí)系統(tǒng)(Linux、UNIX、XENIX、MacOS)、實(shí)時(shí)系統(tǒng)(iEMX、VRTX)背景-4:未名湖PART1.4操作系統(tǒng)設(shè)計(jì)1.4操作系統(tǒng)設(shè)計(jì)<48
>操作系統(tǒng)設(shè)計(jì)過程的主要困難:設(shè)計(jì)復(fù)雜程度高程序長(zhǎng)、接口信息多、動(dòng)態(tài)性強(qiáng)、并行性強(qiáng),不同部分之間可以同時(shí)操作正確性難以保證操作系統(tǒng)包含很多功能成份,各種外部設(shè)備的接口復(fù)雜,導(dǎo)致操作系統(tǒng)源代碼的正確性較難以保證。操作系統(tǒng)的正確性依靠軟件工程的規(guī)范來保證研制周期長(zhǎng)一般的軟件研制開發(fā)周期包括:需求分析,用戶提供軟件的需求,并根據(jù)需求制作軟件規(guī)格說明書設(shè)計(jì)者根據(jù)軟件規(guī)格說明書進(jìn)行軟件設(shè)計(jì)實(shí)現(xiàn)者編寫程序,調(diào)試、測(cè)試并整理各種開發(fā)文檔,提交給用戶使用,在應(yīng)用的過程中不斷改進(jìn)和提高軟件的品質(zhì)1.4.1操作系統(tǒng)的設(shè)計(jì)過程<49
>操作系統(tǒng)的設(shè)計(jì)過程可分為三個(gè)部分:功能設(shè)計(jì)、算法設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì)。操作系統(tǒng)的三方面設(shè)計(jì)是互相滲透的,不能截然分開功能設(shè)計(jì)功能設(shè)計(jì)指根據(jù)系統(tǒng)的設(shè)計(jì)目標(biāo)和使用要求,確定所設(shè)計(jì)的操作系統(tǒng)應(yīng)具備哪些功能,以及操作系統(tǒng)的類型算法設(shè)計(jì)算法設(shè)計(jì)是根據(jù)計(jì)算機(jī)的性能和操作系統(tǒng)的功能,選擇和設(shè)計(jì)滿足系統(tǒng)功能的算法和策略,并分析和估算其效能結(jié)構(gòu)設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)是按照系統(tǒng)的功能和特性要求,選擇合適的結(jié)構(gòu),使用相應(yīng)結(jié)構(gòu)設(shè)計(jì)方法將系統(tǒng)逐步地分解、抽象和綜合,使操作系統(tǒng)結(jié)構(gòu)清晰、簡(jiǎn)明、可靠、易讀、易修改,而且使用方便,適應(yīng)性強(qiáng)1.4.2操作系統(tǒng)設(shè)計(jì)目標(biāo)<50
>一個(gè)高質(zhì)量的操作系統(tǒng)應(yīng)具有可靠性、高效性、易維護(hù)性、易移植性、安全性和簡(jiǎn)明性等特征可靠性可靠性包括正確性和健壯性。正確性受并發(fā)、共享以及隨之帶來的不確定性影響,要求系統(tǒng)能動(dòng)態(tài)地應(yīng)付隨時(shí)發(fā)生的各種內(nèi)部和外部事件高效性提高系統(tǒng)中各種資源的利用率易維護(hù)性易維護(hù)性包括易讀性、易擴(kuò)充性、易剪裁性、易修改性等含義可移植性可移植性指,把一個(gè)程序系統(tǒng)從一個(gè)計(jì)算機(jī)系統(tǒng)環(huán)境中移到另一個(gè)計(jì)算機(jī)系統(tǒng)環(huán)境中并能正常運(yùn)行的特性安全性操作系統(tǒng)的安全性是整個(gè)計(jì)算機(jī)系統(tǒng)安全性的基礎(chǔ),為保護(hù)用戶的程序和數(shù)據(jù)提供了最基本的安全機(jī)制簡(jiǎn)明性操作系統(tǒng)缺乏簡(jiǎn)明性,那么在系統(tǒng)的修改和維護(hù)過程中,將會(huì)產(chǎn)生許多意想不到的困難1.4.3操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)<51
>操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的重要性早期操作系統(tǒng):結(jié)構(gòu)簡(jiǎn)單,規(guī)模小,邏輯關(guān)系簡(jiǎn)單,只注重功能設(shè)計(jì)和效率,忽視結(jié)構(gòu)設(shè)計(jì)隨計(jì)算機(jī)結(jié)構(gòu)復(fù)雜化,應(yīng)用范圍擴(kuò)大,要求提高,需要較強(qiáng)的功能、可適應(yīng)性和可靠性操作系統(tǒng)結(jié)構(gòu)研究的目標(biāo)(1)系統(tǒng)模塊化
將模塊看做一組數(shù)據(jù)結(jié)構(gòu)以及定義在其上的一組操作(2)模塊標(biāo)準(zhǔn)化①標(biāo)準(zhǔn)設(shè)計(jì),模塊規(guī)格劃一,遵循相同模塊構(gòu)造準(zhǔn)則和模塊(構(gòu)件)標(biāo)準(zhǔn)
②總結(jié)、提煉基本成份并定型化(3)通信規(guī)范化
模塊之間接口清晰劃一,聯(lián)系方式統(tǒng)一1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-整體式結(jié)構(gòu)<52
>常見的操作系統(tǒng)體系結(jié)構(gòu)有整體式結(jié)構(gòu)、層次式結(jié)構(gòu)和微內(nèi)核(客戶/服務(wù)器)結(jié)構(gòu)、外核結(jié)構(gòu)等整體式結(jié)構(gòu)首先確定操作系統(tǒng)的總體功能,將總功能分解為若干個(gè)子功能,實(shí)現(xiàn)每個(gè)子功能的程序稱為模塊。按照功能將每個(gè)大模塊分解為若干個(gè)較小的模塊,直至每個(gè)模塊僅包含單一功能或緊密聯(lián)系的小功能為止,通過接口將所有模塊連接起來形成一個(gè)整體,稱之為模塊組合結(jié)構(gòu)模塊組合法的優(yōu)點(diǎn):1)結(jié)構(gòu)緊密,接口簡(jiǎn)單直接,系統(tǒng)效率較高2)系統(tǒng)中的模塊不是根據(jù)程序和數(shù)據(jù)本身的特性而是根據(jù)它們完成的功能來劃分的,數(shù)據(jù)基本上作為全程量使用3)不同模塊的程序之間可以不加控制地互相調(diào)用和轉(zhuǎn)移,信息的傳遞方式也可以根據(jù)需要隨意約定,因而可能造成模塊間的循環(huán)調(diào)用1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-整體式結(jié)構(gòu)<53
>模塊組合法的缺點(diǎn):1)模塊間轉(zhuǎn)接隨意,各模塊互相牽連,獨(dú)立性差,系統(tǒng)結(jié)構(gòu)不清晰2)數(shù)據(jù)基本上作為全程量處理,系統(tǒng)內(nèi)所有模塊的任一程序均可對(duì)其進(jìn)行存取和修改,從而造成了各模塊間有著更為隱蔽的關(guān)系,要更換一個(gè)模塊或修改一個(gè)模塊都比較困難3)模塊組合結(jié)構(gòu)常以大型表格為中心,為保證數(shù)據(jù)完整性,往往采用全局封中斷辦法,從而限制了系統(tǒng)的并發(fā)性1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-層次式結(jié)構(gòu)<54
>層次式結(jié)構(gòu)層次式結(jié)構(gòu)力求使模塊間調(diào)用的無序性變?yōu)橛行蛐浴0巡僮飨到y(tǒng)的所有功能模塊,按功能流圖的調(diào)用次序,分別將這些模塊排列成若干層,各層之間的模塊只能是單向依賴或單向調(diào)用關(guān)系,結(jié)構(gòu)清晰,且不構(gòu)成循環(huán)層次式結(jié)構(gòu)的優(yōu)點(diǎn):各模塊之間的組織結(jié)構(gòu)和依賴關(guān)系清晰明了。增加了系統(tǒng)的可讀性和可適應(yīng)性,每一步都建立在可靠的基礎(chǔ)上,只要下層的各模塊設(shè)計(jì)是正確的,就為上層功能模塊的設(shè)計(jì)提供了可靠基礎(chǔ),從而增加了系統(tǒng)的可靠性對(duì)操作系統(tǒng)增加或替換掉一層而不影響其他層次。層次結(jié)構(gòu)法設(shè)計(jì)的操作系統(tǒng)具有易于調(diào)試、易于修改、易于擴(kuò)充、易于維護(hù)、易于保證正確性等優(yōu)點(diǎn)1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-層次式結(jié)構(gòu)<55
>模塊放在哪一層,共有多少層,依據(jù)功能流圖和數(shù)據(jù)流圖分層,原則如下:(1)為增加可適應(yīng)性,方便移植,把與機(jī)器特點(diǎn)緊密相關(guān)的軟件,如中斷處理、輸入輸出管理等放在緊靠硬件的最低層。為便于修改移植,把與硬件有關(guān)和與硬件無關(guān)的模塊截然分開,把與硬件有關(guān)的BIOS(管理輸入輸出設(shè)備)放在最內(nèi)層。當(dāng)硬件環(huán)境改變時(shí)只需修改這一層(2)為便于一種操作方式轉(zhuǎn)變到另一種操作方式,把共同使用的基本部分放在內(nèi)層,把改變部分放在外層(3)為給進(jìn)程提供環(huán)境和條件,系統(tǒng)調(diào)用的各功能,為進(jìn)程提供服務(wù),這些功能構(gòu)成操作系統(tǒng)內(nèi)核,放在系統(tǒng)內(nèi)層1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-微內(nèi)核(客戶/服務(wù)器)結(jié)構(gòu)<56
>微內(nèi)核(客戶/服務(wù)器)結(jié)構(gòu)客戶/服務(wù)器結(jié)構(gòu)的操作系統(tǒng)適于應(yīng)用在網(wǎng)絡(luò)環(huán)境下分布式處理的計(jì)算環(huán)境中,又稱為微內(nèi)核體系結(jié)構(gòu),特點(diǎn)如下:(1)運(yùn)行在內(nèi)核態(tài)的內(nèi)核:內(nèi)核提供所有操作系統(tǒng)都具有的操作,如線程調(diào)度、虛擬存儲(chǔ)、消息傳遞、設(shè)備驅(qū)動(dòng)以及內(nèi)核的原語操作集和中斷處理等(2)運(yùn)行在用戶態(tài)的并以客戶/服務(wù)器方式運(yùn)行的進(jìn)程層:除內(nèi)核部分外,操作系統(tǒng)所有的其他部分被分成若干個(gè)相對(duì)獨(dú)立的進(jìn)程,每一個(gè)進(jìn)程實(shí)現(xiàn)一組服務(wù),稱為服務(wù)進(jìn)程。這些服務(wù)進(jìn)程可以提供各種系統(tǒng)功能、文件系統(tǒng)服務(wù)以及網(wǎng)絡(luò)服務(wù)等。服務(wù)進(jìn)程的任務(wù)是檢查是否有客戶機(jī)提出要求服務(wù)的請(qǐng)求,并在滿足客戶機(jī)進(jìn)程的請(qǐng)求后將結(jié)果返回1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-微內(nèi)核(客戶/服務(wù)器)結(jié)構(gòu)<57
>優(yōu)點(diǎn):分成若干小的自包含分支(服務(wù)進(jìn)程),分支運(yùn)行在獨(dú)立進(jìn)程中,通過規(guī)范一致方式收發(fā)消息。內(nèi)核中建立最小機(jī)制,策略留給服務(wù)進(jìn)程,靈活性強(qiáng)(1)可靠:分支獨(dú)立自包含,某個(gè)服務(wù)器失敗,不會(huì)引起其他服務(wù)器崩潰(2)靈活:便于新功能,接口規(guī)范,修改服務(wù)器代碼不影響系統(tǒng)其他部分,可維護(hù)性好(3)適于分布式處理環(huán)境:不同服務(wù)運(yùn)行在不同計(jì)算機(jī)上,具有分布式處理能力缺點(diǎn):只能通過微內(nèi)核通信,通信頻繁時(shí),效率低1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-外核結(jié)構(gòu)<58
>外核結(jié)構(gòu)外核結(jié)構(gòu)(Exokernel)是一種操作系統(tǒng)結(jié)構(gòu)。在這種結(jié)構(gòu)中,內(nèi)核負(fù)責(zé)的主要工作僅僅為簡(jiǎn)單的申請(qǐng)操作以及釋放和復(fù)用硬件資源,其由以往操作系統(tǒng)提供的抽象全部在用戶空間中運(yùn)行。這種方式實(shí)現(xiàn)了應(yīng)用級(jí)資源管理,即由應(yīng)用程序而不是操作系統(tǒng)管理硬件資源1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-典型實(shí)例<59
>典型實(shí)例1)UnixUnix是一種多用戶、多任務(wù)的操作系統(tǒng),具有很強(qiáng)的可移植性和開放性。它采用分層結(jié)構(gòu),內(nèi)核負(fù)責(zé)管理硬件資源,提供系統(tǒng)調(diào)用接口給上層應(yīng)用程序2)LinuxLinux是一種類似于Unix的操作系統(tǒng),它采用了模塊化的設(shè)計(jì)方法,內(nèi)核負(fù)責(zé)硬件驅(qū)動(dòng)、進(jìn)程調(diào)度、內(nèi)存管理等基本功能,而其他功能則通過模塊化的方式實(shí)現(xiàn)3)WindowsWindows是微軟公司推出的一種操作系統(tǒng),它采用了混合內(nèi)核結(jié)構(gòu),內(nèi)核負(fù)責(zé)硬件驅(qū)動(dòng)、進(jìn)程調(diào)度、內(nèi)存管理等基本功能,同時(shí)也提供了圖形用戶界面和豐富的應(yīng)用程序接口1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-典型實(shí)例<60
>典型實(shí)例4)AndroidAndroid是谷歌公司推出的一種基于Linux內(nèi)核的移動(dòng)操作系統(tǒng),它采用虛擬機(jī)技術(shù)來運(yùn)行應(yīng)用程序,并提供了豐富的應(yīng)用程序接口和開發(fā)工具5)鴻蒙操作系統(tǒng)鴻蒙操作系統(tǒng)(HarmonyOS)是華為推出的一款面向萬物互聯(lián)的全場(chǎng)景分布式操作系統(tǒng),支持手機(jī)、平板、智能穿戴、智慧屏等多種終端設(shè)備運(yùn)行,提供應(yīng)用開發(fā)、設(shè)備開發(fā)的一站式服務(wù)的平臺(tái)。它采用微內(nèi)核設(shè)計(jì),僅包括了操作系統(tǒng)必要的功能模塊(任務(wù)管理、內(nèi)存分配等)1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-典型實(shí)例<61
>典型實(shí)例6)OpenEuler操作系統(tǒng)。OpenEuler是開放原子開源基金會(huì)(OpenAtomFoundation)孵化及運(yùn)營(yíng)的開源項(xiàng)目。OpenEuler是一款面向數(shù)字基礎(chǔ)設(shè)施的操作系統(tǒng),支持服務(wù)器、云計(jì)算、邊緣計(jì)算、嵌入式等應(yīng)用場(chǎng)景,支持多樣性計(jì)算,致力于提供安全、穩(wěn)定、易用的操作系統(tǒng)7)銀河麒麟操作系統(tǒng)銀河麒麟是由天津麒麟信息技術(shù)有限公司開發(fā)和維護(hù)的一款國(guó)產(chǎn)操作系統(tǒng)。它支持以x86、x86_64、PowerPC、SPARC為代表的國(guó)際主流CPU和以飛騰為代表的國(guó)產(chǎn)CPU,并已經(jīng)廣泛應(yīng)用于國(guó)防、軍工、政務(wù)、電力、航天、金融、電信、教育、大中型企業(yè)等行業(yè)或領(lǐng)域8)中標(biāo)麒麟操作系統(tǒng)中標(biāo)麒麟是中國(guó)麒麟軟件有限公司基于Linux開發(fā)的商業(yè)操作系統(tǒng),其社區(qū)版為UbuntuKylin。目前中標(biāo)麒麟最新版本為V7.0,包括中標(biāo)麒麟高級(jí)服務(wù)器操作系統(tǒng)軟件V7.0和中標(biāo)麒麟桌面操作系統(tǒng)軟件V7.01背景-5:翻尾石魚PART1.5操作系統(tǒng)啟動(dòng)1.5.1引導(dǎo)方式<63
>(1)BIOS引導(dǎo)。BIOS是存儲(chǔ)在BIOS芯片中的程序,當(dāng)計(jì)算機(jī)啟動(dòng)時(shí),BIOS會(huì)執(zhí)行硬件自檢并初始化硬件配置,后根據(jù)CMOS中用戶指定的硬件啟動(dòng)順序,讀取相應(yīng)設(shè)備的啟動(dòng)或引導(dǎo)記錄,引導(dǎo)相應(yīng)設(shè)備上的操作系統(tǒng)啟動(dòng)(2)UEIF引導(dǎo)。UEFI是一種新型的固件接口,采用模塊化、高級(jí)語言(主要是C語言)構(gòu)建的一個(gè)小型化系統(tǒng),直接利用加載EFI驅(qū)動(dòng)的方式,識(shí)別系統(tǒng)硬件并完成硬件初始化1.5.2操作系統(tǒng)的引導(dǎo)過程<64
>計(jì)算機(jī)開機(jī),BIOS自檢并檢測(cè)第一個(gè)能夠引導(dǎo)系統(tǒng)的設(shè)備,如硬盤或光驅(qū)運(yùn)行MBR扇區(qū)的啟動(dòng)程序,如GRUB引導(dǎo)程序GRUB引導(dǎo)程序讀取配置文件獲取內(nèi)核和鏡像文件系統(tǒng)的設(shè)置以及路徑位置內(nèi)核和鏡像文件系統(tǒng)加載到內(nèi)存加載硬件驅(qū)動(dòng)程序,初始化進(jìn)程1.5.3操作系統(tǒng)的啟動(dòng)機(jī)制<65
>操作系統(tǒng)的啟動(dòng)過程:BIOS自檢、系統(tǒng)引導(dǎo)、啟動(dòng)內(nèi)核、初始化系統(tǒng)計(jì)算機(jī)開機(jī),BIOS程序?qū)⒋鎯?chǔ)設(shè)備的引導(dǎo)記錄(BootRecord)載入內(nèi)存,執(zhí)行引導(dǎo)記錄中的引導(dǎo)程序(Boot)引導(dǎo)程序?qū)⒋鎯?chǔ)設(shè)備中的操作系統(tǒng)內(nèi)核載入內(nèi)存,進(jìn)入內(nèi)核入口點(diǎn)開始執(zhí)行內(nèi)核完成系統(tǒng)初始化,允許用戶進(jìn)行交互1.5.4典型程序執(zhí)行流程<66
>一個(gè)程序的典型執(zhí)行流程:(1)用戶通過操作系統(tǒng)啟動(dòng)程序(2)操作系統(tǒng)將程序從磁盤加載到內(nèi)存中(3)操作系統(tǒng)為程序分配資源,如CPU時(shí)間、內(nèi)存空間和輸入/輸出設(shè)備(4)程序開始執(zhí)行,由CPU按順序執(zhí)行指令(5)程序可能會(huì)與操作系統(tǒng)交互,請(qǐng)求服務(wù),如讀寫文件或訪問網(wǎng)絡(luò)(6)程序執(zhí)行完畢后,操作系統(tǒng)回收其占用的資源背景-1:北京大學(xué)西門PART1.6本章小結(jié)本章回顧<68
>計(jì)算機(jī)系統(tǒng)包括硬件和軟件兩個(gè)部分,操作系統(tǒng)屬于系統(tǒng)軟件,是擴(kuò)充硬件功能,提供軟件運(yùn)行環(huán)境的一類重要系統(tǒng)軟件。操作系統(tǒng)是這樣一些程序模塊的集合——它們能有效地組織和管理計(jì)算機(jī)系統(tǒng)中的硬件及軟件資源,合理地組織計(jì)算機(jī)工作流程,控制程序的執(zhí)行,并向用戶提供各種服務(wù)功能,使得用戶能夠靈活、方便、有效地使用計(jì)算機(jī),使整個(gè)計(jì)算機(jī)系統(tǒng)能高效地運(yùn)行操作系統(tǒng)要實(shí)現(xiàn)進(jìn)程管理、存儲(chǔ)管理、設(shè)備管理、文件管理、作業(yè)管理等系統(tǒng)功能,它具有并發(fā)、共享、隨機(jī)三個(gè)主要特征本章回顧<69
>根據(jù)在用戶界面的使用環(huán)境和功能特征的不同,操作系統(tǒng)可以分為多種類型:批處理操作系統(tǒng)分為簡(jiǎn)單批處理系統(tǒng)和多道批處理系統(tǒng)。批處理操作系統(tǒng)的特點(diǎn)是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 菜品加工合同范例
- 個(gè)人開店合伙合同范例
- 蓋屋合同范例
- 合伙人退伙協(xié)議書范本詳盡3篇
- 借款保證合同樣本3篇
- 地質(zhì)勘探用工合同樣本2篇
- 合同驗(yàn)收的程序與實(shí)際操作3篇
- 便利店產(chǎn)品分類助理合同2篇
- 外墻廣告制作合同范例
- 公司法人代持股份協(xié)議書3篇
- 班會(huì)課件 勿以惡小而為之勿以善小而不為
- 中醫(yī)針灸治療中風(fēng)后語言障礙病例分析專題報(bào)告
- 醫(yī)院消毒供應(yīng)中心清洗、消毒、滅菌質(zhì)控評(píng)分表
- 2022年學(xué)校寒假德育特色作業(yè)實(shí)踐方案(詳細(xì)版)
- 可愛卡通插畫風(fēng)讀書分享通用PPT模板
- 小學(xué)數(shù)學(xué)西南師大四年級(jí)上冊(cè)五相交與平行《相交》課堂設(shè)計(jì)
- 光伏發(fā)電項(xiàng)目試驗(yàn)計(jì)劃
- 圖書館工作流程(新)
- 1:青巖古鎮(zhèn)發(fā)展及規(guī)劃
- 小學(xué)語文一年級(jí)上冊(cè)看圖寫話練習(xí)(無答案)
- 村務(wù)監(jiān)督委員會(huì)履職情況報(bào)告三篇
評(píng)論
0/150
提交評(píng)論