版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)用過(guò)程、一般指令、特權(quán)指令和SPOOLing技術(shù)6)理解分時(shí)操作系統(tǒng)、嵌入式操作系統(tǒng)和其他類型操作系統(tǒng)的概念和特點(diǎn)7)理解操作系統(tǒng)設(shè)計(jì)難點(diǎn)、設(shè)計(jì)過(guò)程和設(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)過(guò)程和啟動(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)中的硬件及軟件資源。通過(guò)表格或數(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),通過(guò)研討軟件結(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ù)來(lái)“擴(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è)控制語(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í)施和回收等問(wèn)題,提升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ì)臨界資源訪問(wèn)時(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è)程序共享,必須考慮程序越界問(wèn)題。如程序自身可能存在一些錯(cuò)誤、隱患或某個(gè)程序具有惡意,防止危害其他用戶和整個(gè)計(jì)算機(jī)系統(tǒng)(3)內(nèi)存擴(kuò)充借助虛擬存儲(chǔ)技術(shù)在邏輯上增加進(jìn)程運(yùn)行空間,操作系統(tǒng)通常將空間劃分為4K字節(jié)大小的頁(yè)面,以頁(yè)面為單位進(jìn)行存儲(chǔ)空間的調(diào)度1.1.5操作系統(tǒng)的功能-文件管理<12
>文件管理文件管理的任務(wù)是有效支持文件的存儲(chǔ)、檢索和修改等操作,解決文件的共享、保密和保護(hù)問(wèn)題,以使用戶方便、安全地訪問(wèn)文件(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)訪問(wèn)文件,防止使用不正確的方式訪問(wè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)操作帶來(lái)嚴(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)行在該模式的代碼,可無(wú)限制地對(duì)系統(tǒng)存儲(chǔ)、外部設(shè)備進(jìn)行訪問(wè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)程通過(guò)系統(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ā)展過(guò)程操作系統(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ī)。通過(guò)在插板上的硬連線控制計(jì)算機(jī)的基本功能,程序設(shè)計(jì)全部采用機(jī)器語(yǔ)言,沒(méi)有程序設(shè)計(jì)語(yǔ)言(甚至沒(méi)有匯編語(yǔ)言)。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ǔ)言。要運(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)督程序(或管理程序),來(lái)實(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è)用戶通過(guò)終端設(shè)備與計(jì)算機(jī)交互作用來(lái)運(yùn)行自己的作業(yè),并且共享一個(gè)計(jì)算機(jī)系統(tǒng)而互不干擾。由于調(diào)試程序的用戶常常只發(fā)出簡(jiǎn)短的命令(如編譯一個(gè)五頁(yè)的源文件),而很少有長(zhǎng)的費(fèi)時(shí)命令(如上百萬(wàn)條記錄的文件排序),所以計(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語(yǔ)言編寫,可移植世界上惟一能在筆記本計(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í)語(yǔ)言,可用于擴(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è)控制說(shuō)明書在簡(jiǎn)單批處理系統(tǒng)中,作業(yè)的運(yùn)行步驟是由作業(yè)控制說(shuō)明書傳遞給監(jiān)控程序。作業(yè)控制說(shuō)明書是由作業(yè)控制語(yǔ)言編寫的一段程序,通常存放在被處理作業(yè)前面。在運(yùn)行過(guò)程中,監(jiān)控程序讀入并解釋作業(yè)控制說(shuō)明書中的語(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)求通過(guò)系統(tǒng)調(diào)用(廣義指令)完成系統(tǒng)調(diào)用的過(guò)程1.系統(tǒng)調(diào)用發(fā)生時(shí),處理器通過(guò)一種特殊的機(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)移回原來(lái)的用戶程序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)并行處理。通道是指專門用來(lái)控制輸入輸出的硬件設(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)基本工作方式用戶通過(guò)終端交互式地向系統(tǒng)提出命令請(qǐng)求,系統(tǒng)接受用戶的命令之后,采用時(shí)間片輪轉(zhuǎn)方式處理服務(wù)請(qǐng)求,并通過(guò)交互方式在終端上向用戶顯示結(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è)用戶感覺(jué)不到計(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)過(guò)載防護(hù)實(shí)時(shí)任務(wù)的啟動(dòng)時(shí)間和數(shù)量具有很大的隨機(jī)性,突發(fā)的大量實(shí)時(shí)任務(wù)極有可能超出系統(tǒng)的處理能力,從而發(fā)生過(guò)載。實(shí)時(shí)系統(tǒng)在出現(xiàn)過(guò)載現(xiàn)象時(shí),要有能力迅速分析判斷并找出最重要的實(shí)時(shí)任務(wù),通過(guò)拋棄或者延后次要任務(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è)備使用,通過(guò)連接兩臺(tái)或更多主機(jī)的方式構(gòu)成計(jì)算機(jī)網(wǎng)絡(luò)分布式模式
每臺(tái)計(jì)算機(jī)都有運(yùn)算處理能力,多臺(tái)計(jì)算機(jī)通過(guò)網(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ī)通過(guò)網(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)資源深度共享。通過(guò)統(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ī)之間沒(méi)有主從關(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)上通過(guò)網(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)度,無(wú)論本地、異地資源,都用同一方式管理與訪問(wèn),用戶不必關(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)。不需要過(guò)于復(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ú)線網(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)行,無(wú)需干預(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)行過(guò)程不確定1.3.9典型操作系統(tǒng)的特點(diǎn)<43
>分時(shí)系統(tǒng):多路調(diào)制性:多用戶聯(lián)機(jī)使用同一臺(tái)計(jì)算機(jī)獨(dú)占性:用戶感覺(jué)獨(dú)占計(jì)算機(jī)交互性:及時(shí)響應(yīng)用戶的請(qǐng)求無(wú)法在時(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ī)物理上分布在不同的地理位置,通過(guò)網(wǎng)絡(luò)連接在一起并發(fā)性:計(jì)算機(jī)可同時(shí)處理多個(gè)任務(wù),更快地完成工作缺乏全局時(shí)鐘:沒(méi)有統(tǒng)一的全局時(shí)鐘,只能通過(guò)時(shí)間戳等方式來(lái)實(shí)現(xiàn)事件的排序和同步故障獨(dú)立性:計(jì)算機(jī)可以獨(dú)立運(yùn)行,即使其中一臺(tái)計(jì)算機(jī)出現(xiàn)故障,其他計(jì)算機(jī)仍然可以繼續(xù)工作可擴(kuò)展性:通過(guò)增加計(jì)算機(jī)來(lái)擴(kuò)展其處理能力,不會(huì)影響整個(gè)系統(tǒng)的性能透明性:通過(guò)各種機(jī)制實(shí)現(xiàn)透明性,包括訪問(wè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ì)過(guò)程的主要困難:設(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ī)范來(lái)保證研制周期長(zhǎng)一般的軟件研制開發(fā)周期包括:需求分析,用戶提供軟件的需求,并根據(jù)需求制作軟件規(guī)格說(shuō)明書設(shè)計(jì)者根據(jù)軟件規(guī)格說(shuō)明書進(jìn)行軟件設(shè)計(jì)實(shí)現(xiàn)者編寫程序,調(diào)試、測(cè)試并整理各種開發(fā)文檔,提交給用戶使用,在應(yīng)用的過(guò)程中不斷改進(jìn)和提高軟件的品質(zhì)1.4.1操作系統(tǒng)的設(shè)計(jì)過(guò)程<49
>操作系統(tǒng)的設(shè)計(jì)過(guò)程可分為三個(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ā)、共享以及隨之帶來(lái)的不確定性影響,要求系統(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ù)過(guò)程中,將會(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
>常見(jiàn)的操作系統(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)系的小功能為止,通過(guò)接口將所有模塊連接起來(lái)形成一個(gè)整體,稱之為模塊組合結(jié)構(gòu)模塊組合法的優(yōu)點(diǎn):1)結(jié)構(gòu)緊密,接口簡(jiǎn)單直接,系統(tǒng)效率較高2)系統(tǒng)中的模塊不是根據(jù)程序和數(shù)據(jù)本身的特性而是根據(jù)它們完成的功能來(lái)劃分的,數(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)用的無(wú)序性變?yōu)橛行蛐?。把操作系統(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)和與硬件無(wú)關(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)核的原語(yǔ)操作集和中斷處理等(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ò)規(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):只能通過(guò)微內(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)存管理等基本功能,而其他功能則通過(guò)模塊化的方式實(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ù)來(lái)運(yùn)行應(yīng)用程序,并提供了豐富的應(yīng)用程序接口和開發(fā)工具5)鴻蒙操作系統(tǒng)鴻蒙操作系統(tǒng)(HarmonyOS)是華為推出的一款面向萬(wàn)物互聯(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í)語(yǔ)言(主要是C語(yǔ)言)構(gòu)建的一個(gè)小型化系統(tǒng),直接利用加載EFI驅(qū)動(dòng)的方式,識(shí)別系統(tǒng)硬件并完成硬件初始化1.5.2操作系統(tǒng)的引導(dǎo)過(guò)程<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)過(guò)程: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)用戶通過(guò)操作系統(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èn)網(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)是成批處理,作業(yè)的運(yùn)行通過(guò)作業(yè)控制說(shuō)明書傳遞給監(jiān)控程序,資源利用率高,作業(yè)吞吐率高;缺點(diǎn)是用戶不能直接與計(jì)算機(jī)無(wú)交互。為了防止程序受到破壞,引入了處理器的特權(quán)模式和用戶模式的概念。SPOOLing技術(shù)的使用,導(dǎo)致了真正具有并發(fā)機(jī)制的多道程序設(shè)計(jì)系統(tǒng)的出現(xiàn),其基本思想是在內(nèi)存中同時(shí)保持多個(gè)作業(yè),主機(jī)通過(guò)交替的方式同時(shí)處理多個(gè)作業(yè),大大提高了處理器和各種外部設(shè)備的利用效率分時(shí)操作系統(tǒng)的出現(xiàn)是為了彌補(bǔ)批處理方式不能提供交互式快速服務(wù)的缺點(diǎn),一臺(tái)計(jì)算機(jī)主機(jī)連接若干個(gè)終端,用戶通過(guò)終端交互式地向系統(tǒng)提出命令請(qǐng)求,系統(tǒng)采用時(shí)間片輪轉(zhuǎn)方式處理服務(wù)請(qǐng)求,并通過(guò)交互方式在終端上顯示結(jié)果,用戶根據(jù)結(jié)果發(fā)出下一道交互命令。分時(shí)操作系統(tǒng)具有多路性、交互性、獨(dú)占性和及時(shí)性的特點(diǎn)本章回顧<70
>實(shí)時(shí)操作系統(tǒng)使計(jì)算機(jī)能在規(guī)定的時(shí)間內(nèi),及時(shí)響應(yīng)外部事件的請(qǐng)求,同時(shí)完成對(duì)該事件的處理,并能夠控制所有實(shí)時(shí)設(shè)備和實(shí)時(shí)任務(wù)協(xié)調(diào)一致地工作的操作系統(tǒng)。其主要目標(biāo)是,在嚴(yán)格時(shí)間范圍內(nèi),對(duì)外部請(qǐng)求做出反應(yīng)。實(shí)時(shí)操作系統(tǒng)具備高度可靠性。實(shí)時(shí)操作系統(tǒng)主要有兩類,硬實(shí)時(shí)系統(tǒng)和軟實(shí)時(shí)系統(tǒng)個(gè)人計(jì)算機(jī)操作系統(tǒng)是一種單用戶的操作系統(tǒng),其主要特點(diǎn)是,為單個(gè)用戶服務(wù),交互式、友好的圖形界面,使用方便,用戶無(wú)需專門知識(shí)也能使用系統(tǒng)網(wǎng)絡(luò)操作系統(tǒng)是基于計(jì)算機(jī)網(wǎng)絡(luò)的,網(wǎng)絡(luò)有集中式模式和分布式模式。網(wǎng)絡(luò)操作系統(tǒng)是在各種計(jì)算機(jī)操作系統(tǒng)之上按網(wǎng)絡(luò)體系結(jié)構(gòu)協(xié)議標(biāo)準(zhǔn)設(shè)計(jì)開發(fā)的軟件,它包括網(wǎng)絡(luò)管理、通信、安全、資源共享和各種網(wǎng)絡(luò)應(yīng)用分布式操作系統(tǒng)是網(wǎng)絡(luò)操作系統(tǒng)的更高級(jí)形式,除了有網(wǎng)絡(luò)操作系統(tǒng)的功能之外,其特征是,系統(tǒng)中所有主機(jī)使用同一個(gè)操作系統(tǒng)、資源的深度共享、透明性和自治性本章回顧<71
>操作系統(tǒng)設(shè)計(jì)的困難之處在于系統(tǒng)復(fù)雜程度高、正確性難以保證和研制周期長(zhǎng)。一個(gè)高質(zhì)量的操作系統(tǒng)應(yīng)具有可靠性、高效性、易維護(hù)性、易移植性、安全性和簡(jiǎn)明性等特征。常見(jiàn)的操作系統(tǒng)體系結(jié)構(gòu)有:整體型操作系統(tǒng)、層次式操作系統(tǒng)和微內(nèi)核操作系統(tǒng)等知識(shí)點(diǎn)<72
>
●
計(jì)算機(jī)系統(tǒng)、硬件系統(tǒng)、軟件系統(tǒng)
●資源、資源管理的觀點(diǎn)
●操作系統(tǒng)、操作系統(tǒng)的地位和作用、操作系統(tǒng)的特征
●操作系統(tǒng)的發(fā)展歷程
●研究操作系統(tǒng)的觀點(diǎn)
●操作系統(tǒng)分類(工作方式、特點(diǎn)、追求目標(biāo)、與其他類型的區(qū)別)
●吞吐量、SPOOLing技術(shù)、時(shí)間片、響應(yīng)時(shí)間●操作系統(tǒng)的功能
●操作系統(tǒng)設(shè)計(jì)目標(biāo)(可靠性、高效性、易維護(hù)性、易移植性、安全性、簡(jiǎn)明性)
●操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)方法(整體式結(jié)構(gòu)、層次式結(jié)構(gòu)、客戶/服務(wù)器結(jié)構(gòu))復(fù)習(xí)題<73
>什么是計(jì)算機(jī)系統(tǒng)?計(jì)算機(jī)系統(tǒng)是怎樣構(gòu)成的?什么是操作系統(tǒng)?請(qǐng)說(shuō)明操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的作用和地位操作系統(tǒng)管理計(jì)算機(jī)系統(tǒng)的哪些資源?請(qǐng)從資源管理的角度說(shuō)明操作系統(tǒng)的主要功能操作系統(tǒng)有哪些基本特征?請(qǐng)敘述各類操作系統(tǒng)的工作方式及特點(diǎn)請(qǐng)比較批處理系統(tǒng)、分時(shí)系統(tǒng)以及實(shí)時(shí)操作系統(tǒng)之間的相同點(diǎn)和不同點(diǎn)請(qǐng)描述分時(shí)系統(tǒng)下響應(yīng)時(shí)間的含義在什么情況下應(yīng)該采用批處理方式?在什么情況下應(yīng)該考慮分時(shí)策略?現(xiàn)代的通用操作系統(tǒng)把批處理方式和分時(shí)方式二者結(jié)合起來(lái),為什么要這樣做?這樣的結(jié)合有什么特點(diǎn)?復(fù)習(xí)題<74
>11.實(shí)時(shí)操作系統(tǒng)的有什么主要特征?12.在如下的應(yīng)用場(chǎng)合中,應(yīng)該選用什么類型的操作系統(tǒng)呢,并請(qǐng)說(shuō)明為什么?(1)導(dǎo)彈控制(2)國(guó)家統(tǒng)計(jì)局軟件(3)汽車發(fā)動(dòng)機(jī)點(diǎn)火控制(4)火車訂票系統(tǒng)(5)互聯(lián)網(wǎng)電子游戲13.請(qǐng)說(shuō)明什么是SPOOLing技術(shù)?在現(xiàn)代操作系統(tǒng)中有沒(méi)有使用SPOOLing技術(shù)?14.網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)都是配置在計(jì)算機(jī)網(wǎng)絡(luò)上的操作系統(tǒng),它們之間有什么本質(zhì)上的不同?15.操作系統(tǒng)設(shè)計(jì)的過(guò)程包括哪些方面,在每個(gè)方面都要考慮什么問(wèn)題?16.操作系統(tǒng)開發(fā)過(guò)程中面臨的主要問(wèn)題是什么?17.操作系統(tǒng)的設(shè)計(jì)目標(biāo)是什么?18.影響操作系統(tǒng)正確性的因素有哪些?19.在進(jìn)行操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)考慮哪些問(wèn)題?20.請(qǐng)說(shuō)明模塊組合法、層次式結(jié)構(gòu)和客戶/服務(wù)器結(jié)構(gòu)的基本思想以及優(yōu)缺點(diǎn)感謝大家聆聽(tīng)THANKSFORTHECAREFULGUIDANCE第2章操作系統(tǒng)運(yùn)行環(huán)境學(xué)習(xí)目標(biāo)<77
>1.理解與操作系統(tǒng)相關(guān)的計(jì)算機(jī)硬件系統(tǒng)基本概念2.理解內(nèi)核態(tài)與用戶態(tài)的區(qū)別3.掌握重要寄存器的作用4.理解中斷/異常的概念和分類5.掌握中斷/異常處理過(guò)程6.掌握中斷響應(yīng)過(guò)程和中斷處理程序工作過(guò)程7.分析特定體系結(jié)構(gòu)的中斷響應(yīng)過(guò)程8.分析特定操作系統(tǒng)下系統(tǒng)調(diào)用的工作過(guò)程9.運(yùn)用典型系統(tǒng)調(diào)用進(jìn)程編程建議學(xué)時(shí):4學(xué)時(shí)2.1計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)2.2中央處理器(CPU)2.3存儲(chǔ)系統(tǒng)2.4中斷機(jī)制2.5I/O技術(shù)2.6時(shí)鐘2.7系統(tǒng)調(diào)用2.8本章小結(jié)目錄CONTENTSPART2.1計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)<80
>硬件系統(tǒng)軟件系統(tǒng)中斷機(jī)制I/O技術(shù)時(shí)鐘系統(tǒng)軟件支撐軟件應(yīng)用軟件存儲(chǔ)系統(tǒng)中央處理器操作系統(tǒng)編譯系統(tǒng)數(shù)據(jù)庫(kù)Windows、UNIX或Linux等C/C++、VB語(yǔ)言等SQL、Oracle、Sybase等網(wǎng)絡(luò)通信程序、多媒體支持軟件、硬件接口程序、實(shí)用軟件工具以及軟件開發(fā)工具多種多樣的軟件所有的子系統(tǒng)都可以包括在硬件(子)系統(tǒng)和軟件(子)系統(tǒng)這兩個(gè)層次中背景-2:北京大學(xué)圖書館PART2.2中央處理器(CPU)<82
>中央處理器(CPU)CPU的構(gòu)成與基本工作方式控制器寄存器高速緩存運(yùn)算器點(diǎn)擊輸入內(nèi)容CPU指令中的算術(shù)和邏輯運(yùn)算取指令、維護(hù)CPU狀態(tài)、CPU與內(nèi)存的交互指令的過(guò)程中暫存數(shù)據(jù)、地址以及指令信息匹配高速指令處理和低速內(nèi)存訪問(wèn)計(jì)算核心訪問(wèn)速度最快造價(jià)高、容量小快于內(nèi)存、慢于寄存器<83
>中央處理器(CPU)處理器中的寄存器提供了一定的存儲(chǔ)能力速度比主存儲(chǔ)器快得多造價(jià)很高,存儲(chǔ)容量一般都很小用戶可見(jiàn)寄存器:高級(jí)語(yǔ)言編譯器分配并使用,減少程序訪問(wèn)主存儲(chǔ)器的次數(shù)控制和狀態(tài)寄存器:用于控制處理器操作。由特權(quán)操作系統(tǒng)代碼使用兩類寄存器<84
>中央處理器(CPU)用戶可見(jiàn)寄存器機(jī)器語(yǔ)言直接引用包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器又稱為通用寄存器,用于各種算術(shù)邏輯指令和訪存指令地址寄存器用于存儲(chǔ)數(shù)據(jù)及指令的地址,用于某種特定方式的尋址條件碼寄存器保存CPU操作結(jié)果的各種標(biāo)記位、符號(hào)等等<85
>中央處理器(CPU)控制和狀態(tài)寄存器用于控制處理器的操作大部分對(duì)于用戶是不可見(jiàn)的一部分可以在某種特權(quán)模式(由操作系統(tǒng)使用)下訪問(wèn)程序計(jì)數(shù)器(PC:ProgramCounter),記錄將要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序狀態(tài)字(PSW:ProgramStatusWord),記錄處理器的運(yùn)行模式信息等常見(jiàn)的控制和狀態(tài)寄存器<86
>中央處理器(CPU)指令執(zhí)行的基本過(guò)程兩個(gè)步驟:先從存儲(chǔ)器中讀取一條指令然后解釋并執(zhí)行這條指令
一個(gè)這樣的單條指令處理過(guò)程稱為一個(gè)指令周期 程序的執(zhí)行就是由不斷取指令和執(zhí)行指令的指令周期組成的 僅當(dāng)關(guān)機(jī)、出錯(cuò)或者遇到停機(jī)指令時(shí),程序才會(huì)停止開始開始取下一條指令執(zhí)行指令取指周期執(zhí)行周期<87
>中央處理器(CPU)指令執(zhí)行的基本過(guò)程1.每個(gè)取值周期先從存儲(chǔ)器中讀取一條指令2.在取指令完成后,根據(jù)指令類別將程序計(jì)數(shù)器的值變成下一條指令的地址,通常是自增1
3.取到的指令被放在處理器的指令寄存器中4.處理器解釋并執(zhí)行命令<88
>中央處理器(CPU)五類指令訪問(wèn)存儲(chǔ)器指令:負(fù)責(zé)處理器和存儲(chǔ)器之間的數(shù)據(jù)傳送I/O指令:負(fù)責(zé)處理器和I/O模塊之間的數(shù)據(jù)傳送和命令發(fā)送算術(shù)邏輯指令(數(shù)據(jù)處理指令):用以執(zhí)行有關(guān)數(shù)據(jù)的算術(shù)和邏輯操作控制轉(zhuǎn)移指令:這種指令可以指定一個(gè)新的指令的執(zhí)行起點(diǎn)處理器控制指令:這種指令用于修改處理器狀態(tài),改變處理器工作方式<89
>中央處理器(CPU)實(shí)例如下面一段匯編程序,它將3340h地址單元的一個(gè)數(shù)自增1,假設(shè)那個(gè)地址的內(nèi)容是35,這段程序執(zhí)行以后,它變成了36。這個(gè)程序需要三條指令完成,包括三個(gè)取指周期和三個(gè)執(zhí)行周期。地址 指令2000h: MOVE [3340h], R12004h: ADD R1, 12008h: MOVE R1, [3340h]<90
>中央處理器(CPU)實(shí)例假設(shè)程序計(jì)數(shù)器PC正指向2000h地址處的指令,執(zhí)行過(guò)程如下面的描述:PC中第一條指令的地址2000h,指令MOVE被送入指令寄存器IR中,同時(shí)PC自增一個(gè)指令的長(zhǎng)度,取指之后PC為2004h2.IR中存放著指令的編碼,經(jīng)過(guò)譯碼處理器發(fā)現(xiàn)這是一條訪問(wèn)內(nèi)存的指令,把立即
數(shù)3340h所指定的地址中的數(shù)據(jù)取到通用寄存器R1中3.CPU又從PC地址為2004h處取出指令A(yù)DD到IR中,PC變?yōu)?008h4.CPU根據(jù)指令將R1寄存器和立即數(shù)1相加5.2008h處的訪存指令MOVE被取到IR中,PC變?yōu)?00Ah6.R1寄存器內(nèi)容被傳送到內(nèi)存地址為3340h的雙字存儲(chǔ)單元中<91
>中央處理器(CPU)特權(quán)指令和非特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令使用多道程序設(shè)計(jì)技術(shù)的計(jì)算機(jī)的指令系統(tǒng)必須區(qū)分為特權(quán)指令和非特權(quán)指令使用特權(quán)指令,一般將引起一次處理器狀態(tài)的切換處理器通過(guò)特殊的機(jī)制,將處理器狀態(tài)切換到操作系統(tǒng)運(yùn)行的特權(quán)狀態(tài)然后將處理權(quán)移交給操作系統(tǒng)中的一段特殊代碼,這一個(gè)過(guò)程稱為陷入處理器解釋并執(zhí)行命令CPU如何知道當(dāng)前運(yùn)行的是操作系統(tǒng)還是一般應(yīng)用軟件,則有賴于處理器狀態(tài)的標(biāo)識(shí)<92
>中央處理器(CPU)處理器的狀態(tài)根據(jù)程序?qū)Y源和指令的使用權(quán)限而將處理器設(shè)置為不同狀態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為內(nèi)核態(tài)和用戶態(tài)內(nèi)核態(tài):一般指操作系統(tǒng)管理程序運(yùn)行的狀態(tài),具有較高的特權(quán)級(jí)別,又稱為管態(tài)、特權(quán)態(tài)、系統(tǒng)態(tài)或核心態(tài)用戶態(tài):一般指用戶程序運(yùn)行時(shí)的狀態(tài),具有較低的特權(quán)級(jí)別,又稱為目態(tài)、普通態(tài)還有些系統(tǒng)將處理器工作狀態(tài)劃分多個(gè)系統(tǒng)狀態(tài),例如核心狀態(tài),管理狀態(tài)和用戶程序狀態(tài)(又稱目標(biāo)狀態(tài))三種<93
>中央處理器(CPU)實(shí)例英特爾公司出品的x86系列處理器提供四個(gè)特權(quán)級(jí)別,特權(quán)環(huán):R0、R1、R2和R3)從R0到R3特權(quán)能力依次降低R0相當(dāng)于雙狀態(tài)系統(tǒng)的內(nèi)核態(tài)R3相當(dāng)于用戶態(tài)而R1和R2則介于兩者之間,它們能夠運(yùn)行的指令集合具有包含關(guān)系<94
>中央處理器(CPU)實(shí)例各個(gè)級(jí)別有保護(hù)性檢查(例如地址校驗(yàn)、I/O限制),特權(quán)級(jí)別之間的轉(zhuǎn)換方式也不盡相同四個(gè)級(jí)別被設(shè)計(jì)成運(yùn)行不同類別的程序:R0運(yùn)行操作系統(tǒng)核心代碼R1運(yùn)行關(guān)鍵設(shè)備驅(qū)動(dòng)程序和I/O處理例程R2運(yùn)行其它受保護(hù)的共享代碼,例如語(yǔ)言系統(tǒng)運(yùn)行環(huán)境R3運(yùn)行各種用戶程序現(xiàn)有的基于x86處理器的操作系統(tǒng),包括多數(shù)的UNIX系統(tǒng)、Linux及Windows系列大都只用到了R0和R3兩個(gè)特權(quán)級(jí)別<95
>中央處理器(CPU)內(nèi)核態(tài)與用戶態(tài)的差別——當(dāng)處理器處于內(nèi)核態(tài)時(shí):全部指令(包括特權(quán)指令)可以執(zhí)行可使用所有資源具有改變處理器狀態(tài)的能力——當(dāng)處理器處于用戶態(tài)時(shí):
只有非特權(quán)指令能執(zhí)行特權(quán)級(jí)別不同,可以運(yùn)行的指令集合也不相同特權(quán)級(jí)別越高,可以運(yùn)行的指令集合也越大高特權(quán)級(jí)別對(duì)應(yīng)的可運(yùn)行指令集合包含低特權(quán)級(jí)<96
>中央處理器(CPU)CPU狀態(tài)的轉(zhuǎn)換用戶態(tài)到內(nèi)核態(tài)的轉(zhuǎn)換
其轉(zhuǎn)換的唯一途徑是通過(guò)中斷
內(nèi)核態(tài)到用戶態(tài)的轉(zhuǎn)換
可通過(guò)設(shè)置PSW指令(修改程序狀態(tài)字)實(shí)現(xiàn)<97
>中央處理器(CPU)限制用戶程序執(zhí)行特權(quán)指令用戶程序中不能使用特權(quán)指令當(dāng)用戶程序占用CPU時(shí),應(yīng)讓CPU在用戶態(tài)下工作若此刻有特權(quán)指令,則CPU將拒絕執(zhí)行該指令,并形成一個(gè)“非法操作”事件中斷機(jī)制識(shí)別到事件后,轉(zhuǎn)交操作系統(tǒng)處理,由操作系統(tǒng)通知用戶“程序中有非法指令”
<98
>中央處理器(CPU)程序狀態(tài)字PSW程序狀態(tài)字的作用是指示處理器狀態(tài),用程序計(jì)數(shù)器來(lái)指示下一條要執(zhí)行的指令,包括:CPU的工作狀態(tài)代碼——指明當(dāng)前CPU的工作狀態(tài)是內(nèi)核態(tài)還是用戶態(tài)條件碼——反映指令執(zhí)行后的結(jié)果特征中斷屏蔽碼——指出是否允許中斷
<99
>中央處理器(CPU)實(shí)例以微處理器系列的對(duì)應(yīng)程序狀態(tài)字寄存器中包含若干標(biāo)志位為例CF:進(jìn)位標(biāo)志位
ZF:結(jié)果為零標(biāo)志位
SF:符號(hào)標(biāo)志位
OF:溢出標(biāo)志位——幾乎所有計(jì)算機(jī)的PSW中都有與這四個(gè)標(biāo)志位類似的標(biāo)志位,可稱為標(biāo)準(zhǔn)條件位TF:陷阱標(biāo)志位IF:中斷使能(中斷屏蔽)標(biāo)志位VIF:虛擬中斷標(biāo)志位VIP:虛擬中斷待決標(biāo)志位——VIF和VIP用于支持對(duì)一類可屏蔽的硬件中斷處理IOPL:IO特權(quán)級(jí)別背景-3:西門華表存儲(chǔ)系統(tǒng)PART2.3<101
>存儲(chǔ)系統(tǒng)中央處理器能直接訪問(wèn)的唯一的存儲(chǔ)空間是主存儲(chǔ)器作業(yè)必須把它的程序和數(shù)據(jù)存放在主存儲(chǔ)器中才能運(yùn)行多道程序系統(tǒng),就會(huì)有若干個(gè)程序和相關(guān)的數(shù)據(jù)要放到主存儲(chǔ)器中操作系統(tǒng)要管理、保護(hù)這些程序和數(shù)據(jù),使它們不至于受到破壞,互相影響操作系統(tǒng)本身也要存放在主存儲(chǔ)器中并運(yùn)行<102
>存儲(chǔ)系統(tǒng)存儲(chǔ)器的類型兩類存儲(chǔ)器:讀寫型的存儲(chǔ)器,只讀型的存儲(chǔ)器讀寫型的存儲(chǔ)器把數(shù)據(jù)存入任一地址單元,在以后把數(shù)據(jù)讀出來(lái),或者重新存入RAM主要用作存放隨機(jī)存取的程序的數(shù)據(jù)<103
>存儲(chǔ)系統(tǒng)存儲(chǔ)器的類型只讀型的存儲(chǔ)器只能從其中讀取數(shù)據(jù),但不能隨意地用普通的方法向其中寫入數(shù)據(jù)稱為只讀存儲(chǔ)器(ROM:ReadOnlyMemory)變型:PROM和EPROMPROM一種可編程的只讀存儲(chǔ)器,可由用戶使用特殊PROM寫入器向其中寫入數(shù)據(jù)EPROM是可用特殊的紫外線光照射擦去信息位,然后使用特殊EPROM寫入器寫入數(shù)據(jù)在微型計(jì)算機(jī)中,一些常駐內(nèi)存的模塊以微程序形式固化在ROM中,如BIOS和CBASIC解釋程序<104
>存儲(chǔ)系統(tǒng)存儲(chǔ)分塊存儲(chǔ)的最小單位稱為“二進(jìn)位”,它包含的信息為0或1最小編址單位是字節(jié),一個(gè)字節(jié)一般包含八個(gè)二進(jìn)位1024個(gè)字節(jié)稱為1KB,1024個(gè)1KB稱為1MB,1024個(gè)1MB稱為1GB,等等為簡(jiǎn)化對(duì)存儲(chǔ)器的分配和管理,不少計(jì)算機(jī)系統(tǒng)中把存儲(chǔ)器分成塊,被稱為一個(gè)物理頁(yè)塊<105
>存儲(chǔ)系統(tǒng)存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)系統(tǒng)的設(shè)計(jì)主要考慮三個(gè)問(wèn)題:容量、速度和成本容量:需求一般來(lái)說(shuō)是無(wú)止境的速度:能匹配處理器的速度成本:其他部件相比應(yīng)該在一個(gè)合適的范圍之內(nèi)三個(gè)目標(biāo)不可能同時(shí)達(dá)到最優(yōu),需要作權(quán)衡
存取速度越快,平均每比特價(jià)格越高,容量越小
存取速度越慢,平均每比特價(jià)格越低,同時(shí)容量也增大<106
>存儲(chǔ)系統(tǒng)存儲(chǔ)器的層次結(jié)構(gòu)采用層次化的存儲(chǔ)體系結(jié)構(gòu)解決權(quán)衡問(wèn)題:容量、速度和成本沿層次下降時(shí),每比特的價(jià)格將下降,容量將增大,速度將變慢而處理器的訪問(wèn)頻率也將下降較小較貴而快速的存儲(chǔ)設(shè)備由較大較便宜而慢速的存儲(chǔ)設(shè)備作后盾,通過(guò)對(duì)訪問(wèn)頻率的控制來(lái)提高系統(tǒng)效能<107
>存儲(chǔ)系統(tǒng)存儲(chǔ)訪問(wèn)局部性原理提高存儲(chǔ)系統(tǒng)效能的關(guān)鍵在于程序存儲(chǔ)訪問(wèn)局部性原理程序執(zhí)行時(shí),有很多的循環(huán)和子調(diào)用,這樣的程序段會(huì)重復(fù)存取相同的指令集合數(shù)據(jù)存取也有類似的局部性,它們?cè)谳^短的時(shí)間內(nèi)能穩(wěn)定在一個(gè)局部區(qū)域處理器也主要和存儲(chǔ)器的這個(gè)局部打交道在經(jīng)過(guò)一段時(shí)間以后,使用到的代碼和數(shù)據(jù)的集合會(huì)改變<108
>存儲(chǔ)系統(tǒng)多級(jí)存儲(chǔ)的體系結(jié)構(gòu)原則:存取級(jí)別較低的存儲(chǔ)器的比率小于存取級(jí)別較高的存儲(chǔ)器的比率第I級(jí)包含1KB,存取時(shí)間為0.1μs第II級(jí)包含1MB,存取時(shí)間為1μs處理器直接存取I級(jí)中的內(nèi)容
II級(jí)首先被轉(zhuǎn)移到I級(jí),然后再由處理器存取假定用于確定這個(gè)內(nèi)容所在位置的時(shí)間可以忽略,如果處理器在I級(jí)存儲(chǔ)器中發(fā)現(xiàn)存取對(duì)象的概率是95%,那么平均訪問(wèn)時(shí)間為:(0.95)(0.1μs)+(0.05)(0.1μs+1μs)=0.15μs結(jié)果是非常接近I級(jí)存儲(chǔ)的存取時(shí)間<109
>存儲(chǔ)系統(tǒng)多級(jí)存儲(chǔ)的體系結(jié)構(gòu)01T1T1+T2僅僅涉及I級(jí)的存取部分的比例平均存取時(shí)間一個(gè)簡(jiǎn)單二級(jí)存儲(chǔ)系統(tǒng)的性能T1是I級(jí)存儲(chǔ)器的存取時(shí)間T2是II級(jí)存儲(chǔ)器的存取時(shí)間<110
>存儲(chǔ)系統(tǒng)存儲(chǔ)保護(hù)對(duì)主存中的信息加以保護(hù),使操作系統(tǒng)不被破壞,是其正確運(yùn)行的基本條件之一要實(shí)現(xiàn)存儲(chǔ)保護(hù),必須要有硬件的支持界地址寄存器(界限寄存器)存儲(chǔ)鍵<111
>存儲(chǔ)系統(tǒng)界地址寄存器(界限寄存器)界地址寄存器是被廣泛使用的一種存儲(chǔ)保護(hù)技術(shù)這種機(jī)制比較簡(jiǎn)單,易于實(shí)現(xiàn)實(shí)現(xiàn)方法:設(shè)置一對(duì)界限寄存器來(lái)存放作業(yè)的下限和上限地址也可將一個(gè)寄存器作為基址寄存器,另一寄存器作為限長(zhǎng)寄存器訪問(wèn)主存時(shí),硬件自動(dòng)判斷是否越界如果未越界,則按此地址訪問(wèn)主存,否則將產(chǎn)生程序中斷——越界中斷或存儲(chǔ)保護(hù)中斷<112
>存儲(chǔ)系統(tǒng)界地址寄存器(界限寄存器)界地址寄存器存儲(chǔ)保護(hù)技術(shù)訪問(wèn)主存時(shí),界地址寄存器自動(dòng)判斷是否越界,越界時(shí)將產(chǎn)生程序中斷訪問(wèn)主存時(shí),界地址寄存器自動(dòng)判斷是否越界,未越界則按該地址訪問(wèn)主存<113
>存儲(chǔ)系統(tǒng)存儲(chǔ)鍵每個(gè)存儲(chǔ)塊都有與其相關(guān)的存儲(chǔ)保護(hù)鍵,附加在每個(gè)存儲(chǔ)塊上當(dāng)一個(gè)用戶作業(yè)進(jìn)入主存時(shí),操作系統(tǒng)分給它一個(gè)唯一的存儲(chǔ)鍵號(hào)將分配給該作業(yè)的各存儲(chǔ)塊的存儲(chǔ)鍵,也設(shè)置成同樣的鍵號(hào)當(dāng)該作業(yè)運(yùn)行時(shí),操作系統(tǒng)同時(shí)將該作業(yè)的存儲(chǔ)鍵號(hào)存放到程序狀態(tài)字的存儲(chǔ)鍵鑰匙域中每當(dāng)CPU訪問(wèn)主存時(shí),都將對(duì)主存塊的存儲(chǔ)鍵與PSW中的鑰匙進(jìn)行比較如果相匹配,則允許訪問(wèn),否則,拒絕并報(bào)警背景-4:未名湖PART2.4中斷機(jī)制<115
>中斷機(jī)制中斷機(jī)制中斷機(jī)制是操作系統(tǒng)中極為重要的一個(gè)部分操作系統(tǒng)在管理輸入輸出設(shè)備,處理外部事件時(shí),都需要中斷機(jī)制處理中斷機(jī)制的實(shí)現(xiàn)必須依靠相關(guān)的硬件支持中斷的實(shí)現(xiàn)是硬件中斷裝置和相應(yīng)的中斷處理軟件共同完成的<116
>中斷機(jī)制中斷的定義中斷是CPU對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生的異步事件的響應(yīng)異步事件是指無(wú)一定時(shí)序關(guān)系的隨機(jī)發(fā)生的事件當(dāng)發(fā)生某個(gè)異步事件后,中斷處理器對(duì)當(dāng)前程序的執(zhí)行,而轉(zhuǎn)去處理該異步事件,處理完了之后,處理器再轉(zhuǎn)回原程序的中斷點(diǎn)繼續(xù)執(zhí)行<117
>中斷機(jī)制中斷的概念和定義用戶程序中斷處理程序12ii+1k中斷發(fā)生處<118
>中斷機(jī)制中斷的作用解決了主機(jī)和外設(shè)并行工作的問(wèn)題消除了因外設(shè)的慢速而使得主機(jī)等待的現(xiàn)象為多機(jī)操作和實(shí)時(shí)處理提供了硬件基礎(chǔ)充分發(fā)揮處理器的使用效率提高系統(tǒng)的實(shí)時(shí)能力<119
>中斷機(jī)制中斷系統(tǒng)的概念中斷源向處理器發(fā)出的請(qǐng)求信號(hào)稱為中斷請(qǐng)求處理中斷事件的那段程序稱為中斷處理程序發(fā)生中斷時(shí)正在執(zhí)行的程序的暫停點(diǎn)叫做中斷斷點(diǎn)處理器暫停當(dāng)前程序轉(zhuǎn)而處理中斷的過(guò)程稱為中斷響應(yīng)中斷處理結(jié)束之后恢復(fù)原來(lái)程序的執(zhí)行被稱為中斷返回中斷源的有序集合一般被稱為中斷字為使中斷裝置找到恰當(dāng)?shù)闹袛嗵幚沓绦?,設(shè)計(jì)了中斷處理程序入口地址中斷向量表<120
>中斷機(jī)制中斷的分類強(qiáng)迫性中斷:程序所不期望發(fā)生的,具有隨機(jī)性程序性中斷:運(yùn)行程序本身的中斷時(shí)鐘中斷輸入輸出(I/O)中斷:由I/O控制器產(chǎn)生控制臺(tái)中斷硬件故障中斷自愿性中斷:程序有意安排執(zhí)行的,通常由訪管指令引起,目的是要求操作系統(tǒng)提供系統(tǒng)服務(wù)<121
>中斷機(jī)制中斷的其他分類方式異步中斷:簡(jiǎn)稱為中斷,對(duì)當(dāng)前程序而言的外部事件激發(fā)的,屬于外源性質(zhì),具有隨機(jī)性時(shí)鐘中斷輸入輸出(I/O)中斷控制臺(tái)中斷硬件故障中斷同步中斷:一般稱為異常由當(dāng)前程序的編碼決定,發(fā)生的位置可以準(zhǔn)確預(yù)言程序性中斷訪管指令異常<122
>中斷機(jī)制中斷系統(tǒng)中斷系統(tǒng)分為兩大組成部分:中斷系統(tǒng)的硬件中斷裝置和軟件中斷處理程序硬件中斷裝置負(fù)責(zé)捕獲中斷源發(fā)出的中斷請(qǐng)求,并響應(yīng)中斷源將處理器控制權(quán)移交給特定的中斷處理程序中斷處理程序針對(duì)中斷事件的性質(zhì)而執(zhí)行相應(yīng)的一系列操作<123
>中斷機(jī)制中斷請(qǐng)求的接收通過(guò)在計(jì)算機(jī)硬件的中斷邏輯線路和中斷寄存器實(shí)現(xiàn)中斷邏輯線路接收中斷信號(hào),把收到的中斷信號(hào)寄存在硬件觸發(fā)器中中斷邏輯線路中有若干個(gè)接受中斷信號(hào)的觸發(fā)器,觸發(fā)器全體稱為中斷寄存器<124
>中斷機(jī)制中斷響應(yīng)何時(shí)響應(yīng)在每條指令執(zhí)行周期內(nèi)的最后時(shí)刻掃描中斷寄存器如何響應(yīng)保存中斷點(diǎn)的程序執(zhí)行上下文環(huán)境在一個(gè)專門的系統(tǒng)堆棧中,包括程序狀態(tài)字PSW、程序
計(jì)數(shù)器PC中的下一條指令位置和一些寄存器的值切換到內(nèi)核態(tài)根據(jù)中斷向量代號(hào)查詢中斷向量表,獲得與該中斷源相聯(lián)系的中斷處理程序的入口地址,
并將PC置成該地址控制權(quán)轉(zhuǎn)移到中斷處理程序<125
>中斷機(jī)制中斷響應(yīng)中斷請(qǐng)求響應(yīng)過(guò)程①處理器接收中斷信號(hào)②保護(hù)現(xiàn)場(chǎng),將中斷斷點(diǎn)的程序狀態(tài)字PSW和程序計(jì)數(shù)器PC值存入系統(tǒng)堆棧③分析中斷向量,取得中斷處理程序的入口地址④將處理器的PC值置為中斷處理程序的入口地址⑤調(diào)用中斷處理程序<126
>中斷機(jī)制中斷響應(yīng)兩個(gè)問(wèn)題:
一是CPU何時(shí)響應(yīng)中斷二是如何知道提出中斷請(qǐng)求的設(shè)備或中斷源解決方法:用軟件指令去查詢各設(shè)備接口,但比較費(fèi)時(shí)使用“向量中斷”硬件設(shè)施,CPU接受某優(yōu)先級(jí)較高的中斷請(qǐng)求時(shí),該設(shè)備接口給處理器發(fā)送一個(gè)具有唯一性的“中斷向量”,以標(biāo)識(shí)該設(shè)備<127
>中斷機(jī)制中斷向量表和中斷優(yōu)先級(jí)中斷向量表有的機(jī)器中,將主存的最低位的128個(gè)字保留作為中斷向量表,每個(gè)中斷向量占兩個(gè)字中斷請(qǐng)求的設(shè)備接口為了標(biāo)識(shí)自己,向處理器發(fā)送一個(gè)該設(shè)備在中斷向量表中表目地址指針中斷優(yōu)先級(jí)以機(jī)器故障中斷的優(yōu)先級(jí)最高程序中斷和訪問(wèn)管理程序中斷次之外部中斷更次之輸入輸出的優(yōu)先級(jí)最低<128
>中斷機(jī)制中斷屏蔽有時(shí)在CPU上運(yùn)行的程序,不希望其在執(zhí)行過(guò)程中被別的事件所中斷,這種情況稱為中斷屏蔽在程序狀態(tài)字PSW中設(shè)置中斷屏蔽碼以屏蔽某些指定的中斷類型如果其程序狀態(tài)字中的中斷禁止位建立后,則屏蔽中斷如果程序狀態(tài)字中的中斷禁止位未建立,則可以接受其中斷優(yōu)先級(jí)高于運(yùn)行程序的中斷優(yōu)先級(jí)那些中斷各設(shè)備的接口中也有中斷禁止位可用以禁止該設(shè)備的中斷<129
>中斷機(jī)制中斷處理典型的處理過(guò)程:1.設(shè)備給處理器發(fā)了一個(gè)中斷信號(hào)2.處理器處理完當(dāng)前指令后響應(yīng)中斷,這個(gè)延遲非常短3.處理器處理完當(dāng)前指令后檢測(cè)到中斷,判斷出中斷來(lái)源并向發(fā)送中斷的設(shè)備發(fā)送了確認(rèn)中斷信號(hào),確認(rèn)信號(hào)使得該設(shè)備將中斷信號(hào)恢復(fù)到一般狀態(tài)4.處理器開始為軟件處理中斷做準(zhǔn)備:保存中斷點(diǎn)的程序執(zhí)行上下文環(huán)境<130
>中斷機(jī)制中斷處理典型的處理過(guò)程(續(xù))5.處理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(liá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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 青海交通職業(yè)技術(shù)學(xué)院《教育影視作品賞析》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國(guó)連桿總線項(xiàng)目投資可行性研究報(bào)告
- 中國(guó)USB電暖手套項(xiàng)目投資可行性研究報(bào)告
- 2024年核盤菌項(xiàng)目可行性研究報(bào)告
- 2024至2030年中國(guó)汽燈零件行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年門窗密封條項(xiàng)目投資價(jià)值分析報(bào)告
- 安全培訓(xùn)機(jī)構(gòu)選擇及培訓(xùn)內(nèi)容概覽
- 2024至2030年圣誕燈飾項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年中國(guó)傳統(tǒng)手揀大花生仁行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024年纖維球過(guò)濾器項(xiàng)目可行性研究報(bào)告
- 南安市中小學(xué)生校外藝術(shù)學(xué)習(xí)登記表
- 科技發(fā)明制作類研究報(bào)告模板
- DBJ 53-T-46-2012 云南省城鎮(zhèn)道路及夜景照明工程施工驗(yàn)收規(guī)程
- 新標(biāo)準(zhǔn)外研版四年級(jí)英語(yǔ)上冊(cè)復(fù)習(xí)計(jì)劃加模塊重點(diǎn)知識(shí)梳理加備課
- 專業(yè)英語(yǔ)四級(jí)考試模擬題
- 北京市房屋建筑和市政基礎(chǔ)設(shè)施工程質(zhì)量風(fēng)險(xiǎn)分級(jí)管控技術(shù)指南
- 麥弗遜懸架畢業(yè)設(shè)計(jì)
- 高考作文指導(dǎo):二元作文論證結(jié)構(gòu)指導(dǎo)
- 小區(qū)物業(yè)服務(wù)收支情況公示
- 變頻器說(shuō)明書大全
- DB22∕T 5000-2017 EPS模塊應(yīng)用技術(shù)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論