操作系統(tǒng) 課件 第1、2章 操作系統(tǒng)概述、操作系統(tǒng)運行環(huán)境_第1頁
操作系統(tǒng) 課件 第1、2章 操作系統(tǒng)概述、操作系統(tǒng)運行環(huán)境_第2頁
操作系統(tǒng) 課件 第1、2章 操作系統(tǒng)概述、操作系統(tǒng)運行環(huán)境_第3頁
操作系統(tǒng) 課件 第1、2章 操作系統(tǒng)概述、操作系統(tǒng)運行環(huán)境_第4頁
操作系統(tǒng) 課件 第1、2章 操作系統(tǒng)概述、操作系統(tǒng)運行環(huán)境_第5頁
已閱讀5頁,還剩172頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章操作系統(tǒng)概述1.1操作系統(tǒng)的概念1.2操作系統(tǒng)的發(fā)展1.3操作系統(tǒng)分類1.4操作系統(tǒng)設(shè)計1.5操作系統(tǒng)啟動1.6本章小結(jié)目錄CONTENTS本章學(xué)習(xí)目標(biāo)<3

>1)理解定義、特征和研究觀點2)掌握進程管理、存儲管理、文件管理、作業(yè)管理等核心功能3)掌握用戶態(tài)、核心態(tài)的定義和切換方式4)了解操作系統(tǒng)發(fā)展歷程5)掌握批處理操作系統(tǒng)的工作方式、特點及分類、設(shè)計思想、系統(tǒng)調(diào)用過程、一般指令、特權(quán)指令和SPOOLing技術(shù)6)理解分時操作系統(tǒng)、嵌入式操作系統(tǒng)和其他類型操作系統(tǒng)的概念和特點7)理解操作系統(tǒng)設(shè)計難點、設(shè)計過程和設(shè)計目標(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)過程和啟動機制PART1.1操作系統(tǒng)的概念定義、特征、功能、運行級別及研究操作系統(tǒng)的幾種觀點<5

>計算機系統(tǒng)是一種按用戶的要求接收和存儲信息、自動進行數(shù)據(jù)處理并輸出結(jié)果信息的系統(tǒng),包括硬件(子)系統(tǒng)和軟件(子)系統(tǒng)硬件系統(tǒng)是計算機系統(tǒng)賴以工作的實體軟件系統(tǒng)保證計算機系統(tǒng)協(xié)調(diào)工作,各種程序和數(shù)據(jù)組成了計算機軟件系統(tǒng)在計算機系統(tǒng)中,集中了資源管理功能和控制程序執(zhí)行功能的軟件,稱為操作系統(tǒng)1.1.1計算機系統(tǒng)1.1.2操作系統(tǒng)的定義<6

>具有各種功能的、大量程序模塊的集合,使整個計算機系統(tǒng)高效運行:有效組織和管理計算機系統(tǒng)中的硬件及軟件資源。通過表格或數(shù)據(jù)結(jié)構(gòu),登記保存資源名稱、類型、數(shù)量、用途、完好狀態(tài)、目前使用狀態(tài)等,并進行動態(tài)、實時更新根據(jù)用戶不同的要求、作業(yè)各自特點及緊急程度,合理組織計算機工作流程,控制程序執(zhí)行?!肮健睂Υ煌挠脩舫绦颍WC系統(tǒng)不發(fā)生“死鎖”和“饑餓”的現(xiàn)象向用戶提供各種服務(wù)功能。向程序開發(fā)和設(shè)計人員提供高效的程序設(shè)計接口;向使用計算機系統(tǒng)的用戶提供接口,使用戶能方便、有效地使用計算機1.1.3操作系統(tǒng)的特征<7

>系統(tǒng)中同時運行若干個程序,用戶程序與用戶程序之間并發(fā)執(zhí)行或用戶程序與操作系統(tǒng)程序之間并發(fā)執(zhí)行并發(fā)性系統(tǒng)程序與用戶程序共用系統(tǒng)中的資源,如:中央處理單元、內(nèi)存儲器、外存儲器及外部設(shè)備。資源的共享分為互斥共享和同時共享共享性操作系統(tǒng)在隨機環(huán)境下運行,且不能對所運行的程序的行為以及硬件設(shè)備的情況做出事先的假定,操作系統(tǒng)設(shè)計需考慮各種可能性隨機性虛擬性是一種管理技術(shù),該技術(shù)把物理上的一個實體變成邏輯上的多個對應(yīng)物,或把物理上的多個實體變成邏輯上的一個對應(yīng)物虛擬性多道程序環(huán)境下,多個程序并發(fā)執(zhí)行,但由于資源有限,進程的執(zhí)行是走走停停、以不可預(yù)知的速度向前推進異步性1.1.4研究操作系統(tǒng)的觀點<8

>對操作系統(tǒng)本質(zhì)的不同觀點,會影響操作系統(tǒng)的設(shè)計思想軟件的觀點操作系統(tǒng)是一種大型軟件系統(tǒng),集合多種功能程序,有軟件的外在特性和內(nèi)在特性:外在特性:外部表現(xiàn)形式,即操作命令定義集和界面完全能確定操作系統(tǒng)的使用方式內(nèi)在特性:具有一般軟件的結(jié)構(gòu)特點,通過研討軟件結(jié)構(gòu)上的特點,更好地把握操作系統(tǒng)的內(nèi)部結(jié)構(gòu)特點資源管理的觀點登記在用資源、空閑資源、當(dāng)前響應(yīng)資源、以及收回不再使用資源等。提供一系列機制協(xié)調(diào)程序間的競爭與同步,提供機制對資源進行合理使用、施加保護,以及采取虛擬技術(shù)來“擴充”資源等1.1.4研究操作系統(tǒng)的觀點<9

>服務(wù)提供者觀點從用戶的角度,即從外部觀察操作系統(tǒng),操作系統(tǒng)被視為服務(wù)提供者,為用戶提供比裸機功能更強、服務(wù)質(zhì)量更高、更方便靈活的虛擬機器進程的觀點操作系統(tǒng)可視為多個同時獨立運行的程序和一個對這些程序進行協(xié)調(diào)的核心所組成。進程分為用戶進程和系統(tǒng)進程,操作系統(tǒng)控制和協(xié)調(diào)進程的運行虛機器的觀點操作系統(tǒng)把計算機(裸機)擴充為功能強、使用方便的計算機系統(tǒng),即虛擬計算機,而把操作系統(tǒng)的全部功能,包括系統(tǒng)調(diào)用、命令、作業(yè)控制語言等,統(tǒng)稱為操作系統(tǒng)虛機器1.1.5操作系統(tǒng)的功能-進程管理<10

>操作系統(tǒng)功能主要分為進程管理(處理器管理)、存儲管理、文件管理、作業(yè)管理和設(shè)備管理進程管理進程管理對中央處理器進行管理,協(xié)調(diào)多道程序之間的關(guān)系,解決處理器分配調(diào)度策略、分配的實施和回收等問題,提升CPU資源利用率(1)進程控制包括創(chuàng)建進程、撤銷結(jié)束的進程以及控制進程運行時的各種狀態(tài)轉(zhuǎn)換(2)進程同步操作系統(tǒng)提供進程同步機制,協(xié)調(diào)進程的執(zhí)行,包括互斥和同步兩種形式?;コ庵付鄠€進程對臨界資源訪問時采用互斥的形式;同步指相互協(xié)作共同完成任務(wù)的進程之間,用同步機制協(xié)調(diào)執(zhí)行順序(3)進程間通信進程間通信發(fā)生在相互協(xié)作的進程之間。由操作系統(tǒng)提供的進程間通信機制是協(xié)作的進程之間相互交換數(shù)據(jù)和消息的手段(4)調(diào)度調(diào)度又稱為處理器調(diào)度,包括線程調(diào)度、進程調(diào)度和作業(yè)調(diào)度等1.1.5操作系統(tǒng)的功能-存儲管理<11

>存儲管理存儲管理計算機內(nèi)存的資源(1)內(nèi)存的分配與回收操作系統(tǒng)為每個進程分配內(nèi)存空間,回收已退出運行的進程所占據(jù)的內(nèi)存空間并重新使用(2)存儲保護內(nèi)存由多個程序共享,必須考慮程序越界問題。如程序自身可能存在一些錯誤、隱患或某個程序具有惡意,防止危害其他用戶和整個計算機系統(tǒng)(3)內(nèi)存擴充借助虛擬存儲技術(shù)在邏輯上增加進程運行空間,操作系統(tǒng)通常將空間劃分為4K字節(jié)大小的頁面,以頁面為單位進行存儲空間的調(diào)度1.1.5操作系統(tǒng)的功能-文件管理<12

>文件管理文件管理的任務(wù)是有效支持文件的存儲、檢索和修改等操作,解決文件的共享、保密和保護問題,以使用戶方便、安全地訪問文件(1)文件存儲空間的管理文件系統(tǒng)設(shè)置專門的數(shù)據(jù)結(jié)構(gòu)記錄文件存儲空間的使用情況。為提高空間利用率,通常采用離散分配方式(2)目錄管理目錄管理給出組織文件的方法,為每個文件建立目錄項,對目錄項進行有效組織,為用戶提供方便的按名存取(3)文件系統(tǒng)的安全性安全性包括文件的讀寫權(quán)限管理以及存取控制,防止未經(jīng)核準(zhǔn)的用戶存取文件,防止越權(quán)訪問文件,防止使用不正確的方式訪問文件1.1.5操作系統(tǒng)的功能-作業(yè)管理&設(shè)備管理<13

>作業(yè)管理作業(yè)管理為用戶提供一個使用系統(tǒng)的良好環(huán)境,使用戶能有效地組織自己的工作流程,并使整個系統(tǒng)高效運行設(shè)備管理設(shè)備管理指計算機系統(tǒng)中除了CPU和內(nèi)存以外的所有輸入、輸出設(shè)備的管理。操作系統(tǒng)的設(shè)備管理功能負(fù)責(zé)外部設(shè)備的分配、啟動和故障處理1.1.6操作系統(tǒng)的運行特權(quán)級別-用戶態(tài)與內(nèi)核態(tài)<14

>為了防止對操作系統(tǒng)進行危險操作帶來嚴(yán)重后果,操作系統(tǒng)支持應(yīng)用程序運行的流程分為用戶態(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)下的代碼進行潛在危險的操作,如寫入系統(tǒng)配置文件、銷毀其他用戶的進程、重啟系統(tǒng)等內(nèi)核態(tài):操作系統(tǒng)內(nèi)核運行的模式,運行在該模式的代碼,可無限制地對系統(tǒng)存儲、外部設(shè)備進行訪問1.1.6操作系統(tǒng)的運行特權(quán)級別-用戶態(tài)與內(nèi)核態(tài)切換方式<15

>(1)系統(tǒng)調(diào)用:用戶態(tài)進程可主動發(fā)起系統(tǒng)調(diào)用切換到內(nèi)核態(tài),用戶態(tài)進程通過系統(tǒng)調(diào)用申請使用操作系統(tǒng)提供的服務(wù)程序完成工作(2)異常:當(dāng)CPU在執(zhí)行運行在用戶態(tài)下的程序時,發(fā)生事先不可知的異常,觸發(fā)由當(dāng)前運行進程切換到處理此異常的內(nèi)核相關(guān)程序中,即切換到內(nèi)核態(tài)(3)外圍設(shè)備的中斷:當(dāng)外圍設(shè)備完成用戶請求的操作后,向CPU發(fā)出相應(yīng)的中斷信號,CPU會暫停執(zhí)行下一條即將執(zhí)行的指令轉(zhuǎn)而執(zhí)行與中斷信號對應(yīng)的處理程序,如果先前執(zhí)行的指令是用戶態(tài)程序,此時就發(fā)生用戶態(tài)到內(nèi)核態(tài)的切換背景-2:北京大學(xué)圖書館PART1.2操作系統(tǒng)的發(fā)展<17

>1.2操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的基本概念在不同時期出現(xiàn)并逐步發(fā)展成熟,其發(fā)展歷程如下:1964第二代晶體管時代1957第一代電子管時代(1946年~1957年)1970第三代集成電路時代2018-03-24第四代大規(guī)模/超大規(guī)模集成電路時代(1965年~1970年)(1971年起至今)(1958年~1964年)1.2

操作系統(tǒng)的發(fā)展歷史線索<18

>1.手工操作:二戰(zhàn)時期對武器裝備設(shè)計的需要,美國、英國和德國等國家,陸續(xù)開始使用真空管建造數(shù)字電子計算機。通過在插板上的硬連線控制計算機的基本功能,程序設(shè)計全部采用機器語言,沒有程序設(shè)計語言(甚至沒有匯編語言)。20世紀(jì)50年代早期,出現(xiàn)穿孔卡片,可以將程序?qū)懺诳ㄆ?,此階段特點是手工操作、獨占方式1.2

操作系統(tǒng)的發(fā)展歷史線索<19

>2.監(jiān)控程序(早期批處理):50年代晶體管的發(fā)明后,出現(xiàn)了FORTRAN、ALGOL以及COBOL等高級語言。要運行一個作業(yè)(JOB),程序員首先將程序?qū)懺诩埳?,穿孔成卡片,將卡片盒帶到輸入室,交給操作員,計算結(jié)果從打印機上輸出,操作員到打印機上取下運算結(jié)果并送到輸出室,程序員取到結(jié)果。由于處理器速度提高,導(dǎo)致手工操作設(shè)備輸入/輸出信息與計算機計算速度不匹配,人們設(shè)計了監(jiān)督程序(或管理程序),來實現(xiàn)作業(yè)的自動轉(zhuǎn)換處理。操作員將作業(yè)“成批”地輸入到計算機中,由監(jiān)督程序識別一個作業(yè),進行處理后再取下一個作業(yè)。這種自動定序的處理方式稱為“批處理(BatchProcessing)”方式,由于是串行執(zhí)行作業(yè),因此稱為單道批處理1.2操作系統(tǒng)的發(fā)展歷史線索<20

>3.多道批處理:進入第三代計算機以后,硬件有了很大發(fā)展,通道使得輸入/輸出操作與CPU操作并行處理成為可能。與此同時軟件系統(tǒng)也隨之相應(yīng)變化,實現(xiàn)了在硬件提供并行處理之上的多道程序設(shè)計所謂多道是指它允許多個程序同時存在于主存之中,由中央處理器以切換方式為之服務(wù),使得多個程序可以同時執(zhí)行。計算機資源不再是“串行”地被一個個用戶獨占,而可以同時為幾個用戶共享,從而極大地提高了系統(tǒng)在單位時間內(nèi)處理作業(yè)的能力。這時管理程序已迅速地發(fā)展成為一個重要的軟件分支——操作系統(tǒng)1.2操作系統(tǒng)的發(fā)展歷史線索<21

>4.分時與實時系統(tǒng):批處理系統(tǒng)不適合交互式的作業(yè),對交互式工作方式的需求導(dǎo)致了分時系統(tǒng)(TimeSharingSystem)的出現(xiàn)。分時系統(tǒng)是指多個用戶通過終端設(shè)備與計算機交互作用來運行自己的作業(yè),并且共享一個計算機系統(tǒng)而互不干擾。由于調(diào)試程序的用戶常常只發(fā)出簡短的命令(如編譯一個五頁的源文件),而很少有長的費時命令(如上百萬條記錄的文件排序),所以計算機能夠為許多用戶提供交互式快速的服務(wù),同時在CPU空閑時還能運行大的后臺作業(yè)1.2操作系統(tǒng)的發(fā)展歷史線索<22

>5.UNIX通用操作系統(tǒng):20世紀(jì)60年代末,貝爾實驗室的KenThompson和DennisM.Ritchie設(shè)計了UNIX操作系統(tǒng),以下是UNIX的特點:用C語言編寫,可移植世界上惟一能在筆記本計算機、PC機、工作站直至巨型機上運行的操作系統(tǒng)系統(tǒng)源代碼非常有效,系統(tǒng)容易適應(yīng)特殊的需求良好的、通用的、多用戶、多任務(wù)、分時操作系統(tǒng)樹形文件系統(tǒng)和一定的安全機制簡潔的字符流文件和文件保護機制具備功能強大的shell,它既是命令解釋器,又是編程用高級語言,可用于擴充系統(tǒng)的功能1.2操作系統(tǒng)的發(fā)展歷史線索<23

>6.個人計算機操作系統(tǒng):20世紀(jì)70年代末期出現(xiàn)了面向個人計算機的操作系統(tǒng),例如微軟公司的MSDOS操作系統(tǒng),屬于單用戶單任務(wù)操作系統(tǒng)1984年,蘋果推出交互式圖形功能的操作系統(tǒng)1992年,微軟推出交互式圖形功能的Windows3.11995年,Windows95出現(xiàn),Windows成為個人計算機主流操作系統(tǒng)1991年,Linus公布Linux操作系統(tǒng),繼承UNIX全部優(yōu)點,開放源碼,Linux極其健壯1.2.1操作系統(tǒng)的發(fā)展歷史線索<24

>分布式系統(tǒng):多個連接的處理資源組成,在整個系統(tǒng)控制下合作執(zhí)行任務(wù),最少依賴于集中的程序、數(shù)據(jù)或硬件,資源可物理上相鄰,也可地理上分散機群操作系統(tǒng):適用于多臺計算機構(gòu)成的機群嵌入式操作系統(tǒng):在工業(yè)控制、家電、智能設(shè)備中廣泛使用陸火星飛行器“極地探路者”,采用了VxWorks嵌入式操作系統(tǒng)7.當(dāng)代操作系統(tǒng)兩大發(fā)展方向——宏觀應(yīng)用與微觀應(yīng)用:大型系統(tǒng):分布式操作系統(tǒng)、機群操作系統(tǒng)微型系統(tǒng):嵌入式操作系統(tǒng)背景-3:西門華表操作系統(tǒng)分類PART1.3<26

>1.3操作系統(tǒng)分類按照用戶界面的使用環(huán)境和功能特征的不同,操作系統(tǒng)分為三種基本類型,批處理系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)操作系統(tǒng)分類批處理系統(tǒng)實時系統(tǒng)分時系統(tǒng)個人計算機系統(tǒng)網(wǎng)絡(luò)系統(tǒng)分布式系統(tǒng)嵌入式系統(tǒng)1.3.1批處理操作系統(tǒng)<27

>基本工作方式收到一定數(shù)量的用戶作業(yè)后,組成一批作業(yè),輸入到計算機,在系統(tǒng)中形成一個連續(xù)的、自動轉(zhuǎn)接的作業(yè)流特點與分類優(yōu)點:成批處理、系統(tǒng)資源利用率高、作業(yè)吞吐率高、作業(yè)流程自動化較高、作業(yè)吞吐量大缺點:用戶不能直接與計算機交互,不適合調(diào)試程序分類:簡單批處理系統(tǒng)和多道批處理系統(tǒng)1.3.1批處理操作系統(tǒng)<28

>設(shè)計思想簡單批處理系統(tǒng)在操作系統(tǒng)發(fā)展早期出現(xiàn),被稱為早期批處理系統(tǒng),或監(jiān)控程序。在監(jiān)控程序啟動前,操作員有選擇地把若干作業(yè)合并成一批作業(yè),將這批作業(yè)安裝在輸入設(shè)備上。然后啟動監(jiān)控程序,監(jiān)控程序?qū)⒆詣涌刂七@批作業(yè)的執(zhí)行,作業(yè)的運行以及作業(yè)之間的銜接都由監(jiān)控程序自動控制,有效地提高了作業(yè)運行的效率作業(yè)控制說明書在簡單批處理系統(tǒng)中,作業(yè)的運行步驟是由作業(yè)控制說明書傳遞給監(jiān)控程序。作業(yè)控制說明書是由作業(yè)控制語言編寫的一段程序,通常存放在被處理作業(yè)前面。在運行過程中,監(jiān)控程序讀入并解釋作業(yè)控制說明書中的語句,以控制各個作業(yè)步的執(zhí)行1.3.1批處理操作系統(tǒng)<29

>一般指令和特權(quán)指令運行模式:用戶模式和特權(quán)模式機器指令:一般指令和特權(quán)指令特權(quán)指令:輸入/輸出指令、停機指令,只有監(jiān)控程序能執(zhí)行特權(quán)指令,用戶程序只能執(zhí)行一般指令,用戶程序向操作系統(tǒng)請求功能,請求通過系統(tǒng)調(diào)用(廣義指令)完成系統(tǒng)調(diào)用的過程1.系統(tǒng)調(diào)用發(fā)生時,處理器通過一種特殊的機制,中斷或者異常處理,把控制流程轉(zhuǎn)移到監(jiān)控程序內(nèi)的一些特定的位置,同時,處理器模式轉(zhuǎn)變成特權(quán)模式2.監(jiān)控程序執(zhí)行被請求的功能代碼3.結(jié)束之后,監(jiān)控程序恢復(fù)系統(tǒng)調(diào)用之前的現(xiàn)場,從特權(quán)模式恢復(fù)成為用戶方式,將控制權(quán)轉(zhuǎn)移回原來的用戶程序1.3.1批處理操作系統(tǒng)<30

>SPOOLing技術(shù)為了提高硬件資源的利用率,批處理系統(tǒng)發(fā)展為更加高級的多道批處理系統(tǒng),關(guān)鍵技術(shù)就是多道程序運行、假脫機(SPOOLing)技術(shù)等假脫機技術(shù),全稱是“同時的外部設(shè)備聯(lián)機操作”,借助硬件通道技術(shù),實現(xiàn)了輸入輸出操作和處理器動作的自動并行處理。通道是指專門用來控制輸入輸出的硬件設(shè)備,可以看作是專門的I/O處理機。通道基本上是自主控制外設(shè)的,可以與CPU并行工作。假脫機技術(shù)為實現(xiàn)多道批處理系統(tǒng)中的多道程序設(shè)計思想提供了重要的基礎(chǔ)1.3.2分時系統(tǒng)<31

>分時操作系統(tǒng)出現(xiàn)在批處理操作系統(tǒng)之后,彌補批處理方式不能向用戶提供交互式快速服務(wù)的缺點基本工作方式用戶通過終端交互式地向系統(tǒng)提出命令請求,系統(tǒng)接受用戶的命令之后,采用時間片輪轉(zhuǎn)方式處理服務(wù)請求,并通過交互方式在終端上向用戶顯示結(jié)果。用戶根據(jù)系統(tǒng)送回的處理結(jié)果發(fā)出下一道交互命令設(shè)計思想將CPU的時間劃分成若干個小片段,稱時間片。操作系統(tǒng)以時間片為單位,輪流為每個終端用戶服務(wù)1.3.2分時系統(tǒng)<32

>特點分時操作系統(tǒng)具有多路性、交互性、獨占性和及時性的特點:多路性指有多個用戶在同時使用一臺計算機交互性指用戶根據(jù)系統(tǒng)響應(yīng)的結(jié)果提出下一個請求,用戶直接干預(yù)操作每一步的進行獨占性指每個用戶感覺不到計算機為其他人服務(wù)及時性指系統(tǒng)能夠?qū)τ脩籼岢龅恼埱蠹皶r給予響應(yīng)通用操作系統(tǒng)結(jié)合了分時系統(tǒng)與批處理系統(tǒng)兩種系統(tǒng)的特點。對于分時與批處理的處理原則是:分時優(yōu)先,批處理在后。在通用操作系統(tǒng)中,一般把系統(tǒng)的分時和批處理運行狀態(tài),稱為前臺和后臺。在系統(tǒng)的“前臺”響應(yīng)需頻繁交互的作業(yè),如大量終端的處理要求;而“后臺”則處理處理對時間性要求不強的作業(yè)1.3.3實時操作系統(tǒng)<33

>實時操作系統(tǒng)(RTOS:RealTimeOperatingSystem):在規(guī)定時間內(nèi),及時響應(yīng)外部事件請求,完成事件處理,控制實時設(shè)備和實時任務(wù)協(xié)調(diào)一致工作分類:①硬實時:對關(guān)鍵事件的響應(yīng)和處理時間嚴(yán)格要求,否則產(chǎn)生嚴(yán)重后果②軟實時:對事件響應(yīng)和處理時間有一定要求,不滿足要求會影響服務(wù)質(zhì)量,但不會引發(fā)嚴(yán)重后果1.3.3實時操作系統(tǒng)<34

>實時系統(tǒng)為實現(xiàn)硬實時或軟實時的要求,需要具備以下能力:(1)實時時鐘管理實時任務(wù)根據(jù)時間要求可以分為兩類:定時任務(wù),它依據(jù)用戶的定時啟動并按照嚴(yán)格的時間間隔重復(fù)運行延時任務(wù),它非周期地運行,允許被延后執(zhí)行,但是往往有一個嚴(yán)格的時間界限依據(jù)任務(wù)功能的不同,可分為主動式任務(wù)和從動式任務(wù):主動式任務(wù)依據(jù)時間間隔主動運行,多用于實時監(jiān)控從動式任務(wù)依賴于外部事件的發(fā)生(2)過載防護實時任務(wù)的啟動時間和數(shù)量具有很大的隨機性,突發(fā)的大量實時任務(wù)極有可能超出系統(tǒng)的處理能力,從而發(fā)生過載。實時系統(tǒng)在出現(xiàn)過載現(xiàn)象時,要有能力迅速分析判斷并找出最重要的實時任務(wù),通過拋棄或者延后次要任務(wù)以保證最重要任務(wù)成功執(zhí)行(3)高可靠性高可靠性是實時系統(tǒng)的設(shè)計目標(biāo)之一,實時操作系統(tǒng)需要有很強的健壯性和堅固性1.3.4個人計算機操作系統(tǒng)<35

>個人計算機操作系統(tǒng)(PersonalComputerOperatingSystem)是一種單用戶的操作系統(tǒng)個人計算機操作系統(tǒng)的主要特點:計算機在某一時間內(nèi)為單個用戶服務(wù)采用圖形界面人機交互的工作方式,界面友好使用簡單方便1.3.5網(wǎng)絡(luò)操作系統(tǒng)<36

>網(wǎng)絡(luò)操作系統(tǒng)(NetworkOperatingSystem)是基于計算機網(wǎng)絡(luò)的、在各種計算機操作系統(tǒng)之上按網(wǎng)絡(luò)體系結(jié)構(gòu)協(xié)議標(biāo)準(zhǔn)設(shè)計開發(fā)的軟件計算機網(wǎng)絡(luò)的不同模式集中式模式運算處理在主計算機里發(fā)生,終端僅作為輸入/輸出設(shè)備使用,通過連接兩臺或更多主機的方式構(gòu)成計算機網(wǎng)絡(luò)分布式模式

每臺計算機都有運算處理能力,多臺計算機通過網(wǎng)絡(luò)交換數(shù)據(jù)并共享資源和服務(wù)。在分布式模式中,網(wǎng)絡(luò)環(huán)境中的計算機不僅能共享數(shù)據(jù)、資源及服務(wù),還能夠共享運算處理能力1.3.6分布式操作系統(tǒng)<37

>分布式系統(tǒng)(DistributedSystem)將大量的計算機通過網(wǎng)絡(luò)連結(jié)在一起,獲得極高的運算能力及廣泛的數(shù)據(jù)共享分布式操作系統(tǒng)(DistributedOperatingSystem)是網(wǎng)絡(luò)操作系統(tǒng)的更高級形式,分布式操作系統(tǒng)除了保持了網(wǎng)絡(luò)操作系統(tǒng)的各種功能之外,還具備如下的特征:(1)系統(tǒng)中的所有主機使用統(tǒng)一的操作系統(tǒng)(2)資源深度共享。通過統(tǒng)一的操作系統(tǒng)的調(diào)度,在某臺主機的一個計算任務(wù)可以遷移到另一臺主機上執(zhí)行(3)透明性。用戶不知道分布式系統(tǒng)運行在多少臺計算機上,各個主機地理位置上的差異對用戶透明(4)自治性。各個主機之間沒有主從關(guān)系,一個主機的失效一般不會影響整個分布式系統(tǒng)1.3.6分布式操作系統(tǒng)<38

>分布式系統(tǒng)把系統(tǒng)中的所有計算機構(gòu)成一個完整的、功能更加強大的計算機系統(tǒng),系統(tǒng)中的計算機相互協(xié)作,共同完成一個大型計算任務(wù),一個計算任務(wù)可分解成若干可以并行執(zhí)行的子任務(wù),每個子任務(wù)分別在不同的計算機上執(zhí)行分布式系統(tǒng)的優(yōu)點:分布式。以較低的成本獲得較高的運算性能可靠性。當(dāng)一個計算機系統(tǒng)發(fā)生故障時,整個分布式系統(tǒng)仍舊能夠工作。適用于高可靠的環(huán)境1.3.6分布式操作系統(tǒng)<39

>機群(cluster)是分布式系統(tǒng)的一種,一個機群通常由一群處理器密集構(gòu)成,機群操作系統(tǒng)專門服務(wù)于這樣的機群。在機群操作系統(tǒng)的指揮下,可以用低成本的微型計算機和以太網(wǎng)設(shè)備等產(chǎn)品,構(gòu)造出性能相當(dāng)于超級計算機運算性能的機群網(wǎng)絡(luò)操作系統(tǒng)與分布式操作系統(tǒng)在概念上的主要不同之處:網(wǎng)絡(luò)操作系統(tǒng)可以構(gòu)架于不同的操作系統(tǒng)之上,可以在不同的本機操作系統(tǒng)上通過網(wǎng)絡(luò)協(xié)議實現(xiàn)網(wǎng)絡(luò)資源的統(tǒng)一配置分布式操作系統(tǒng)強調(diào)單一操作系統(tǒng)對整個分布式系統(tǒng)的管理、調(diào)度,無論本地、異地資源,都用同一方式管理與訪問,用戶不必關(guān)心資源所在的真正物理位置,或者是如何存儲1.3.7嵌入式操作系統(tǒng)<40

>嵌入式操作系統(tǒng)用于工業(yè)控制、交通管理、信息家電等嵌入式系統(tǒng),設(shè)計緊湊、高效,只保留運行在其上的特定應(yīng)用程序所需要的功能嵌入式操作系統(tǒng)的特點:(1)系統(tǒng)內(nèi)核小。由于資源有限,嵌入式操作系統(tǒng)的內(nèi)核要比傳統(tǒng)的操作系統(tǒng)小得多(2)專業(yè)性強。與硬件緊密結(jié)合,針對不同的任務(wù)和設(shè)備進行定制和移植,不能通用(3)系統(tǒng)精簡。不需要過于復(fù)雜的功能設(shè)計和實現(xiàn),降低系統(tǒng)成本和提高系統(tǒng)安全性(4)高實時性。能夠及時響應(yīng)外部事件和中斷,保證任務(wù)的執(zhí)行順序和完成時間(5)多任務(wù)的操作系統(tǒng)。能夠支持多任務(wù)的調(diào)度和管理,合理地分配和利用系統(tǒng)資源1.3.8其他類型操作系統(tǒng)<41

>(1)大型機操作系統(tǒng),能夠處理海量的數(shù)據(jù)和事務(wù),提供高度的安全性、可靠性和可伸縮性,通常用于銀行、政府、保險等行業(yè)(2)服務(wù)器操作系統(tǒng),支持多個用戶和多個任務(wù),提供網(wǎng)絡(luò)服務(wù)和資料共享。具有高效的內(nèi)存管理、文件系統(tǒng)和安全機制,通常用于互聯(lián)網(wǎng)、企業(yè)等領(lǐng)域(3)多處理操作系統(tǒng),利用多個處理器并行執(zhí)行多個任務(wù),提高性能和吞吐量。具有復(fù)雜的調(diào)度算法、同步機制和通信協(xié)議,通常用于科學(xué)計算、圖形處理等領(lǐng)域(4)移動計算操作系統(tǒng),支持移動通信、定位、傳感等功能,提供用戶友好的界面和應(yīng)用。具有低功耗、小內(nèi)存占用和高可移植性,通常用于智能手機、平板電腦等設(shè)備(5)傳感器節(jié)點操作系統(tǒng),支持傳感器數(shù)據(jù)采集、處理和傳輸,提供無線網(wǎng)絡(luò)和自組織能力。具有極低的資源需求、高度的可配置性和實時性,通常用于物聯(lián)網(wǎng)、環(huán)境監(jiān)測等領(lǐng)域(6)智能卡操作系統(tǒng),支持智能卡的存儲、計算和安全功能,提供身份認(rèn)證和支付服務(wù)。具有高度的安全性、穩(wěn)定性和兼容性,通常用于金融、交通等領(lǐng)域1.3.9典型操作系統(tǒng)的特點<42

>單道批處理:自動:作業(yè)自動運行,無需干預(yù)批量:磁帶上的各個作業(yè)按順序地進入內(nèi)存,先調(diào)入先完成單道:內(nèi)存中僅有一道程序運行,可以看成是串行的CPU資源利用率和系統(tǒng)吞吐量低多道批處理:多道:內(nèi)存同時存放多道程序宏觀上并行:進入系統(tǒng)的多道程序先后開始運行微觀上串行:內(nèi)存中多道程序輪流占有CPU,交替執(zhí)行作業(yè)處理時間長,交互能力差,運行過程不確定1.3.9典型操作系統(tǒng)的特點<43

>分時系統(tǒng):多路調(diào)制性:多用戶聯(lián)機使用同一臺計算機獨占性:用戶感覺獨占計算機交互性:及時響應(yīng)用戶的請求無法在時間片更短時間內(nèi)做出處理不可搶占實時系統(tǒng):高精度計時:計時精度是影響實時性的重要因素,精確實時地操作某個設(shè)備或執(zhí)行某個任務(wù)多級中斷:建立多級中斷嵌套處理機制,確保緊迫程度較高的實時事件得到及時響應(yīng)和處理實時調(diào)度:在調(diào)度策略和算法上保證優(yōu)先調(diào)度實時任務(wù)可搶占1.3.9典型操作系統(tǒng)的特點<44

>網(wǎng)絡(luò)操作系統(tǒng):體系結(jié)構(gòu)上具有所有操作系統(tǒng)的職能,如任務(wù)管理,緩沖區(qū)管理等多用戶共享資源允許存在于多種拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)分布式系統(tǒng):分布性:計算機物理上分布在不同的地理位置,通過網(wǎng)絡(luò)連接在一起并發(fā)性:計算機可同時處理多個任務(wù),更快地完成工作缺乏全局時鐘:沒有統(tǒng)一的全局時鐘,只能通過時間戳等方式來實現(xiàn)事件的排序和同步故障獨立性:計算機可以獨立運行,即使其中一臺計算機出現(xiàn)故障,其他計算機仍然可以繼續(xù)工作可擴展性:通過增加計算機來擴展其處理能力,不會影響整個系統(tǒng)的性能透明性:通過各種機制實現(xiàn)透明性,包括訪問透明性、位置透明性、復(fù)制透明性、故障透明性等,用戶可以像使用單個計算機一樣使用分布式系統(tǒng)1.3.9典型操作系統(tǒng)的特點<45

>嵌入式系統(tǒng):系統(tǒng)內(nèi)核小專用性強運行環(huán)境差異大可靠性要求高系統(tǒng)精簡和高實時性操作系統(tǒng)嵌入式系統(tǒng)開發(fā)的專用環(huán)境1.3.9典型操作系統(tǒng)的特點<46

>典型操作系統(tǒng)特點劃分:根據(jù)應(yīng)用領(lǐng)域,分為桌面操作系統(tǒng)、服務(wù)器操作系統(tǒng)、主機操作系統(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)、分時系統(tǒng)(Linux、UNIX、XENIX、MacOS)、實時系統(tǒng)(iEMX、VRTX)背景-4:未名湖PART1.4操作系統(tǒng)設(shè)計1.4操作系統(tǒng)設(shè)計<48

>操作系統(tǒng)設(shè)計過程的主要困難:設(shè)計復(fù)雜程度高程序長、接口信息多、動態(tài)性強、并行性強,不同部分之間可以同時操作正確性難以保證操作系統(tǒng)包含很多功能成份,各種外部設(shè)備的接口復(fù)雜,導(dǎo)致操作系統(tǒng)源代碼的正確性較難以保證。操作系統(tǒng)的正確性依靠軟件工程的規(guī)范來保證研制周期長一般的軟件研制開發(fā)周期包括:需求分析,用戶提供軟件的需求,并根據(jù)需求制作軟件規(guī)格說明書設(shè)計者根據(jù)軟件規(guī)格說明書進行軟件設(shè)計實現(xiàn)者編寫程序,調(diào)試、測試并整理各種開發(fā)文檔,提交給用戶使用,在應(yīng)用的過程中不斷改進和提高軟件的品質(zhì)1.4.1操作系統(tǒng)的設(shè)計過程<49

>操作系統(tǒng)的設(shè)計過程可分為三個部分:功能設(shè)計、算法設(shè)計和結(jié)構(gòu)設(shè)計。操作系統(tǒng)的三方面設(shè)計是互相滲透的,不能截然分開功能設(shè)計功能設(shè)計指根據(jù)系統(tǒng)的設(shè)計目標(biāo)和使用要求,確定所設(shè)計的操作系統(tǒng)應(yīng)具備哪些功能,以及操作系統(tǒng)的類型算法設(shè)計算法設(shè)計是根據(jù)計算機的性能和操作系統(tǒng)的功能,選擇和設(shè)計滿足系統(tǒng)功能的算法和策略,并分析和估算其效能結(jié)構(gòu)設(shè)計結(jié)構(gòu)設(shè)計是按照系統(tǒng)的功能和特性要求,選擇合適的結(jié)構(gòu),使用相應(yīng)結(jié)構(gòu)設(shè)計方法將系統(tǒng)逐步地分解、抽象和綜合,使操作系統(tǒng)結(jié)構(gòu)清晰、簡明、可靠、易讀、易修改,而且使用方便,適應(yīng)性強1.4.2操作系統(tǒng)設(shè)計目標(biāo)<50

>一個高質(zhì)量的操作系統(tǒng)應(yīng)具有可靠性、高效性、易維護性、易移植性、安全性和簡明性等特征可靠性可靠性包括正確性和健壯性。正確性受并發(fā)、共享以及隨之帶來的不確定性影響,要求系統(tǒng)能動態(tài)地應(yīng)付隨時發(fā)生的各種內(nèi)部和外部事件高效性提高系統(tǒng)中各種資源的利用率易維護性易維護性包括易讀性、易擴充性、易剪裁性、易修改性等含義可移植性可移植性指,把一個程序系統(tǒng)從一個計算機系統(tǒng)環(huán)境中移到另一個計算機系統(tǒng)環(huán)境中并能正常運行的特性安全性操作系統(tǒng)的安全性是整個計算機系統(tǒng)安全性的基礎(chǔ),為保護用戶的程序和數(shù)據(jù)提供了最基本的安全機制簡明性操作系統(tǒng)缺乏簡明性,那么在系統(tǒng)的修改和維護過程中,將會產(chǎn)生許多意想不到的困難1.4.3操作系統(tǒng)結(jié)構(gòu)設(shè)計<51

>操作系統(tǒng)結(jié)構(gòu)設(shè)計的重要性早期操作系統(tǒng):結(jié)構(gòu)簡單,規(guī)模小,邏輯關(guān)系簡單,只注重功能設(shè)計和效率,忽視結(jié)構(gòu)設(shè)計隨計算機結(jié)構(gòu)復(fù)雜化,應(yī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è)計,模塊規(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)的總體功能,將總功能分解為若干個子功能,實現(xiàn)每個子功能的程序稱為模塊。按照功能將每個大模塊分解為若干個較小的模塊,直至每個模塊僅包含單一功能或緊密聯(lián)系的小功能為止,通過接口將所有模塊連接起來形成一個整體,稱之為模塊組合結(jié)構(gòu)模塊組合法的優(yōu)點:1)結(jié)構(gòu)緊密,接口簡單直接,系統(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

>模塊組合法的缺點:1)模塊間轉(zhuǎn)接隨意,各模塊互相牽連,獨立性差,系統(tǒng)結(jié)構(gòu)不清晰2)數(shù)據(jù)基本上作為全程量處理,系統(tǒng)內(nèi)所有模塊的任一程序均可對其進行存取和修改,從而造成了各模塊間有著更為隱蔽的關(guān)系,要更換一個模塊或修改一個模塊都比較困難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)橛行蛐?。把操作系統(tǒng)的所有功能模塊,按功能流圖的調(diào)用次序,分別將這些模塊排列成若干層,各層之間的模塊只能是單向依賴或單向調(diào)用關(guān)系,結(jié)構(gòu)清晰,且不構(gòu)成循環(huán)層次式結(jié)構(gòu)的優(yōu)點:各模塊之間的組織結(jié)構(gòu)和依賴關(guān)系清晰明了。增加了系統(tǒng)的可讀性和可適應(yīng)性,每一步都建立在可靠的基礎(chǔ)上,只要下層的各模塊設(shè)計是正確的,就為上層功能模塊的設(shè)計提供了可靠基礎(chǔ),從而增加了系統(tǒng)的可靠性對操作系統(tǒng)增加或替換掉一層而不影響其他層次。層次結(jié)構(gòu)法設(shè)計的操作系統(tǒng)具有易于調(diào)試、易于修改、易于擴充、易于維護、易于保證正確性等優(yōu)點1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-層次式結(jié)構(gòu)<55

>模塊放在哪一層,共有多少層,依據(jù)功能流圖和數(shù)據(jù)流圖分層,原則如下:(1)為增加可適應(yīng)性,方便移植,把與機器特點緊密相關(guān)的軟件,如中斷處理、輸入輸出管理等放在緊靠硬件的最低層。為便于修改移植,把與硬件有關(guān)和與硬件無關(guān)的模塊截然分開,把與硬件有關(guān)的BIOS(管理輸入輸出設(shè)備)放在最內(nèi)層。當(dāng)硬件環(huán)境改變時只需修改這一層(2)為便于一種操作方式轉(zhuǎn)變到另一種操作方式,把共同使用的基本部分放在內(nèi)層,把改變部分放在外層(3)為給進程提供環(huán)境和條件,系統(tǒng)調(diào)用的各功能,為進程提供服務(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)境下分布式處理的計算環(huán)境中,又稱為微內(nèi)核體系結(jié)構(gòu),特點如下:(1)運行在內(nèi)核態(tài)的內(nèi)核:內(nèi)核提供所有操作系統(tǒng)都具有的操作,如線程調(diào)度、虛擬存儲、消息傳遞、設(shè)備驅(qū)動以及內(nèi)核的原語操作集和中斷處理等(2)運行在用戶態(tài)的并以客戶/服務(wù)器方式運行的進程層:除內(nèi)核部分外,操作系統(tǒng)所有的其他部分被分成若干個相對獨立的進程,每一個進程實現(xiàn)一組服務(wù),稱為服務(wù)進程。這些服務(wù)進程可以提供各種系統(tǒng)功能、文件系統(tǒng)服務(wù)以及網(wǎng)絡(luò)服務(wù)等。服務(wù)進程的任務(wù)是檢查是否有客戶機提出要求服務(wù)的請求,并在滿足客戶機進程的請求后將結(jié)果返回1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-微內(nèi)核(客戶/服務(wù)器)結(jié)構(gòu)<57

>優(yōu)點:分成若干小的自包含分支(服務(wù)進程),分支運行在獨立進程中,通過規(guī)范一致方式收發(fā)消息。內(nèi)核中建立最小機制,策略留給服務(wù)進程,靈活性強(1)可靠:分支獨立自包含,某個服務(wù)器失敗,不會引起其他服務(wù)器崩潰(2)靈活:便于新功能,接口規(guī)范,修改服務(wù)器代碼不影響系統(tǒng)其他部分,可維護性好(3)適于分布式處理環(huán)境:不同服務(wù)運行在不同計算機上,具有分布式處理能力缺點:只能通過微內(nèi)核通信,通信頻繁時,效率低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é)的主要工作僅僅為簡單的申請操作以及釋放和復(fù)用硬件資源,其由以往操作系統(tǒng)提供的抽象全部在用戶空間中運行。這種方式實現(xiàn)了應(yīng)用級資源管理,即由應(yīng)用程序而不是操作系統(tǒng)管理硬件資源1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-典型實例<59

>典型實例1)UnixUnix是一種多用戶、多任務(wù)的操作系統(tǒng),具有很強的可移植性和開放性。它采用分層結(jié)構(gòu),內(nèi)核負(fù)責(zé)管理硬件資源,提供系統(tǒng)調(diào)用接口給上層應(yīng)用程序2)LinuxLinux是一種類似于Unix的操作系統(tǒng),它采用了模塊化的設(shè)計方法,內(nèi)核負(fù)責(zé)硬件驅(qū)動、進程調(diào)度、內(nèi)存管理等基本功能,而其他功能則通過模塊化的方式實現(xiàn)3)WindowsWindows是微軟公司推出的一種操作系統(tǒng),它采用了混合內(nèi)核結(jié)構(gòu),內(nèi)核負(fù)責(zé)硬件驅(qū)動、進程調(diào)度、內(nèi)存管理等基本功能,同時也提供了圖形用戶界面和豐富的應(yīng)用程序接口1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-典型實例<60

>典型實例4)AndroidAndroid是谷歌公司推出的一種基于Linux內(nèi)核的移動操作系統(tǒng),它采用虛擬機技術(shù)來運行應(yīng)用程序,并提供了豐富的應(yīng)用程序接口和開發(fā)工具5)鴻蒙操作系統(tǒng)鴻蒙操作系統(tǒng)(HarmonyOS)是華為推出的一款面向萬物互聯(lián)的全場景分布式操作系統(tǒng),支持手機、平板、智能穿戴、智慧屏等多種終端設(shè)備運行,提供應(yīng)用開發(fā)、設(shè)備開發(fā)的一站式服務(wù)的平臺。它采用微內(nèi)核設(shè)計,僅包括了操作系統(tǒng)必要的功能模塊(任務(wù)管理、內(nèi)存分配等)1.4.4操作系統(tǒng)的體系結(jié)構(gòu)-典型實例<61

>典型實例6)OpenEuler操作系統(tǒng)。OpenEuler是開放原子開源基金會(OpenAtomFoundation)孵化及運營的開源項目。OpenEuler是一款面向數(shù)字基礎(chǔ)設(shè)施的操作系統(tǒng),支持服務(wù)器、云計算、邊緣計算、嵌入式等應(yīng)用場景,支持多樣性計算,致力于提供安全、穩(wěn)定、易用的操作系統(tǒng)7)銀河麒麟操作系統(tǒng)銀河麒麟是由天津麒麟信息技術(shù)有限公司開發(fā)和維護的一款國產(chǎn)操作系統(tǒng)。它支持以x86、x86_64、PowerPC、SPARC為代表的國際主流CPU和以飛騰為代表的國產(chǎn)CPU,并已經(jīng)廣泛應(yīng)用于國防、軍工、政務(wù)、電力、航天、金融、電信、教育、大中型企業(yè)等行業(yè)或領(lǐng)域8)中標(biāo)麒麟操作系統(tǒng)中標(biāo)麒麟是中國麒麟軟件有限公司基于Linux開發(fā)的商業(yè)操作系統(tǒng),其社區(qū)版為UbuntuKylin。目前中標(biāo)麒麟最新版本為V7.0,包括中標(biāo)麒麟高級服務(wù)器操作系統(tǒng)軟件V7.0和中標(biāo)麒麟桌面操作系統(tǒng)軟件V7.01背景-5:翻尾石魚PART1.5操作系統(tǒng)啟動1.5.1引導(dǎo)方式<63

>(1)BIOS引導(dǎo)。BIOS是存儲在BIOS芯片中的程序,當(dāng)計算機啟動時,BIOS會執(zhí)行硬件自檢并初始化硬件配置,后根據(jù)CMOS中用戶指定的硬件啟動順序,讀取相應(yīng)設(shè)備的啟動或引導(dǎo)記錄,引導(dǎo)相應(yīng)設(shè)備上的操作系統(tǒng)啟動(2)UEIF引導(dǎo)。UEFI是一種新型的固件接口,采用模塊化、高級語言(主要是C語言)構(gòu)建的一個小型化系統(tǒng),直接利用加載EFI驅(qū)動的方式,識別系統(tǒng)硬件并完成硬件初始化1.5.2操作系統(tǒng)的引導(dǎo)過程<64

>計算機開機,BIOS自檢并檢測第一個能夠引導(dǎo)系統(tǒng)的設(shè)備,如硬盤或光驅(qū)運行MBR扇區(qū)的啟動程序,如GRUB引導(dǎo)程序GRUB引導(dǎo)程序讀取配置文件獲取內(nèi)核和鏡像文件系統(tǒng)的設(shè)置以及路徑位置內(nèi)核和鏡像文件系統(tǒng)加載到內(nèi)存加載硬件驅(qū)動程序,初始化進程1.5.3操作系統(tǒng)的啟動機制<65

>操作系統(tǒng)的啟動過程:BIOS自檢、系統(tǒng)引導(dǎo)、啟動內(nèi)核、初始化系統(tǒng)計算機開機,BIOS程序?qū)⒋鎯υO(shè)備的引導(dǎo)記錄(BootRecord)載入內(nèi)存,執(zhí)行引導(dǎo)記錄中的引導(dǎo)程序(Boot)引導(dǎo)程序?qū)⒋鎯υO(shè)備中的操作系統(tǒng)內(nèi)核載入內(nèi)存,進入內(nèi)核入口點開始執(zhí)行內(nèi)核完成系統(tǒng)初始化,允許用戶進行交互1.5.4典型程序執(zhí)行流程<66

>一個程序的典型執(zhí)行流程:(1)用戶通過操作系統(tǒng)啟動程序(2)操作系統(tǒng)將程序從磁盤加載到內(nèi)存中(3)操作系統(tǒng)為程序分配資源,如CPU時間、內(nèi)存空間和輸入/輸出設(shè)備(4)程序開始執(zhí)行,由CPU按順序執(zhí)行指令(5)程序可能會與操作系統(tǒng)交互,請求服務(wù),如讀寫文件或訪問網(wǎng)絡(luò)(6)程序執(zhí)行完畢后,操作系統(tǒng)回收其占用的資源背景-1:北京大學(xué)西門PART1.6本章小結(jié)本章回顧<68

>計算機系統(tǒng)包括硬件和軟件兩個部分,操作系統(tǒng)屬于系統(tǒng)軟件,是擴充硬件功能,提供軟件運行環(huán)境的一類重要系統(tǒng)軟件。操作系統(tǒng)是這樣一些程序模塊的集合——它們能有效地組織和管理計算機系統(tǒng)中的硬件及軟件資源,合理地組織計算機工作流程,控制程序的執(zhí)行,并向用戶提供各種服務(wù)功能,使得用戶能夠靈活、方便、有效地使用計算機,使整個計算機系統(tǒng)能高效地運行操作系統(tǒng)要實現(xiàn)進程管理、存儲管理、設(shè)備管理、文件管理、作業(yè)管理等系統(tǒng)功能,它具有并發(fā)、共享、隨機三個主要特征本章回顧<69

>根據(jù)在用戶界面的使用環(huán)境和功能特征的不同,操作系統(tǒng)可以分為多種類型:批處理操作系統(tǒng)分為簡單批處理系統(tǒng)和多道批處理系統(tǒng)。批處理操作系統(tǒng)的特點是成批處理,作業(yè)的運行通過作業(yè)控制說明書傳遞給監(jiān)控程序,資源利用率高,作業(yè)吞吐率高;缺點是用戶不能直接與計算機無交互。為了防止程序受到破壞,引入了處理器的特權(quán)模式和用戶模式的概念。SPOOLing技術(shù)的使用,導(dǎo)致了真正具有并發(fā)機制的多道程序設(shè)計系統(tǒng)的出現(xiàn),其基本思想是在內(nèi)存中同時保持多個作業(yè),主機通過交替的方式同時處理多個作業(yè),大大提高了處理器和各種外部設(shè)備的利用效率分時操作系統(tǒng)的出現(xiàn)是為了彌補批處理方式不能提供交互式快速服務(wù)的缺點,一臺計算機主機連接若干個終端,用戶通過終端交互式地向系統(tǒng)提出命令請求,系統(tǒng)采用時間片輪轉(zhuǎn)方式處理服務(wù)請求,并通過交互方式在終端上顯示結(jié)果,用戶根據(jù)結(jié)果發(fā)出下一道交互命令。分時操作系統(tǒng)具有多路性、交互性、獨占性和及時性的特點本章回顧<70

>實時操作系統(tǒng)使計算機能在規(guī)定的時間內(nèi),及時響應(yīng)外部事件的請求,同時完成對該事件的處理,并能夠控制所有實時設(shè)備和實時任務(wù)協(xié)調(diào)一致地工作的操作系統(tǒng)。其主要目標(biāo)是,在嚴(yán)格時間范圍內(nèi),對外部請求做出反應(yīng)。實時操作系統(tǒng)具備高度可靠性。實時操作系統(tǒng)主要有兩類,硬實時系統(tǒng)和軟實時系統(tǒng)個人計算機操作系統(tǒng)是一種單用戶的操作系統(tǒng),其主要特點是,為單個用戶服務(wù),交互式、友好的圖形界面,使用方便,用戶無需專門知識也能使用系統(tǒng)網(wǎng)絡(luò)操作系統(tǒng)是基于計算機網(wǎng)絡(luò)的,網(wǎng)絡(luò)有集中式模式和分布式模式。網(wǎng)絡(luò)操作系統(tǒng)是在各種計算機操作系統(tǒng)之上按網(wǎng)絡(luò)體系結(jié)構(gòu)協(xié)議標(biāo)準(zhǔn)設(shè)計開發(fā)的軟件,它包括網(wǎng)絡(luò)管理、通信、安全、資源共享和各種網(wǎng)絡(luò)應(yīng)用分布式操作系統(tǒng)是網(wǎng)絡(luò)操作系統(tǒng)的更高級形式,除了有網(wǎng)絡(luò)操作系統(tǒng)的功能之外,其特征是,系統(tǒng)中所有主機使用同一個操作系統(tǒng)、資源的深度共享、透明性和自治性本章回顧<71

>操作系統(tǒng)設(shè)計的困難之處在于系統(tǒng)復(fù)雜程度高、正確性難以保證和研制周期長。一個高質(zhì)量的操作系統(tǒng)應(yīng)具有可靠性、高效性、易維護性、易移植性、安全性和簡明性等特征。常見的操作系統(tǒng)體系結(jié)構(gòu)有:整體型操作系統(tǒng)、層次式操作系統(tǒng)和微內(nèi)核操作系統(tǒng)等知識點<72

>

計算機系統(tǒng)、硬件系統(tǒng)、軟件系統(tǒng)

●資源、資源管理的觀點

●操作系統(tǒng)、操作系統(tǒng)的地位和作用、操作系統(tǒng)的特征

●操作系統(tǒng)的發(fā)展歷程

●研究操作系統(tǒng)的觀點

●操作系統(tǒng)分類(工作方式、特點、追求目標(biāo)、與其他類型的區(qū)別)

●吞吐量、SPOOLing技術(shù)、時間片、響應(yīng)時間●操作系統(tǒng)的功能

●操作系統(tǒng)設(shè)計目標(biāo)(可靠性、高效性、易維護性、易移植性、安全性、簡明性)

●操作系統(tǒng)結(jié)構(gòu)設(shè)計方法(整體式結(jié)構(gòu)、層次式結(jié)構(gòu)、客戶/服務(wù)器結(jié)構(gòu))復(fù)習(xí)題<73

>什么是計算機系統(tǒng)?計算機系統(tǒng)是怎樣構(gòu)成的?什么是操作系統(tǒng)?請說明操作系統(tǒng)在計算機系統(tǒng)中的作用和地位操作系統(tǒng)管理計算機系統(tǒng)的哪些資源?請從資源管理的角度說明操作系統(tǒng)的主要功能操作系統(tǒng)有哪些基本特征?請敘述各類操作系統(tǒng)的工作方式及特點請比較批處理系統(tǒng)、分時系統(tǒng)以及實時操作系統(tǒng)之間的相同點和不同點請描述分時系統(tǒng)下響應(yīng)時間的含義在什么情況下應(yīng)該采用批處理方式?在什么情況下應(yīng)該考慮分時策略?現(xiàn)代的通用操作系統(tǒng)把批處理方式和分時方式二者結(jié)合起來,為什么要這樣做?這樣的結(jié)合有什么特點?復(fù)習(xí)題<74

>11.實時操作系統(tǒng)的有什么主要特征?12.在如下的應(yīng)用場合中,應(yīng)該選用什么類型的操作系統(tǒng)呢,并請說明為什么?(1)導(dǎo)彈控制(2)國家統(tǒng)計局軟件(3)汽車發(fā)動機點火控制(4)火車訂票系統(tǒng)(5)互聯(lián)網(wǎng)電子游戲13.請說明什么是SPOOLing技術(shù)?在現(xiàn)代操作系統(tǒng)中有沒有使用SPOOLing技術(shù)?14.網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)都是配置在計算機網(wǎng)絡(luò)上的操作系統(tǒng),它們之間有什么本質(zhì)上的不同?15.操作系統(tǒng)設(shè)計的過程包括哪些方面,在每個方面都要考慮什么問題?16.操作系統(tǒng)開發(fā)過程中面臨的主要問題是什么?17.操作系統(tǒng)的設(shè)計目標(biāo)是什么?18.影響操作系統(tǒng)正確性的因素有哪些?19.在進行操作系統(tǒng)結(jié)構(gòu)設(shè)計時應(yīng)考慮哪些問題?20.請說明模塊組合法、層次式結(jié)構(gòu)和客戶/服務(wù)器結(jié)構(gòu)的基本思想以及優(yōu)缺點感謝大家聆聽THANKSFORTHECAREFULGUIDANCE第2章操作系統(tǒng)運行環(huán)境學(xué)習(xí)目標(biāo)<77

>1.理解與操作系統(tǒng)相關(guān)的計算機硬件系統(tǒng)基本概念2.理解內(nèi)核態(tài)與用戶態(tài)的區(qū)別3.掌握重要寄存器的作用4.理解中斷/異常的概念和分類5.掌握中斷/異常處理過程6.掌握中斷響應(yīng)過程和中斷處理程序工作過程7.分析特定體系結(jié)構(gòu)的中斷響應(yīng)過程8.分析特定操作系統(tǒng)下系統(tǒng)調(diào)用的工作過程9.運用典型系統(tǒng)調(diào)用進程編程建議學(xué)時:4學(xué)時2.1計算機系統(tǒng)的層次結(jié)構(gòu)2.2中央處理器(CPU)2.3存儲系統(tǒng)2.4中斷機制2.5I/O技術(shù)2.6時鐘2.7系統(tǒng)調(diào)用2.8本章小結(jié)目錄CONTENTSPART2.1計算機系統(tǒng)的層次結(jié)構(gòu)計算機系統(tǒng)的層次結(jié)構(gòu)<80

>硬件系統(tǒng)軟件系統(tǒng)中斷機制I/O技術(shù)時鐘系統(tǒng)軟件支撐軟件應(yīng)用軟件存儲系統(tǒng)中央處理器操作系統(tǒng)編譯系統(tǒng)數(shù)據(jù)庫Windows、UNIX或Linux等C/C++、VB語言等SQL、Oracle、Sybase等網(wǎng)絡(luò)通信程序、多媒體支持軟件、硬件接口程序、實用軟件工具以及軟件開發(fā)工具多種多樣的軟件所有的子系統(tǒng)都可以包括在硬件(子)系統(tǒng)和軟件(子)系統(tǒng)這兩個層次中背景-2:北京大學(xué)圖書館PART2.2中央處理器(CPU)<82

>中央處理器(CPU)CPU的構(gòu)成與基本工作方式控制器寄存器高速緩存運算器點擊輸入內(nèi)容CPU指令中的算術(shù)和邏輯運算取指令、維護CPU狀態(tài)、CPU與內(nèi)存的交互指令的過程中暫存數(shù)據(jù)、地址以及指令信息匹配高速指令處理和低速內(nèi)存訪問計算核心訪問速度最快造價高、容量小快于內(nèi)存、慢于寄存器<83

>中央處理器(CPU)處理器中的寄存器提供了一定的存儲能力速度比主存儲器快得多造價很高,存儲容量一般都很小用戶可見寄存器:高級語言編譯器分配并使用,減少程序訪問主存儲器的次數(shù)控制和狀態(tài)寄存器:用于控制處理器操作。由特權(quán)操作系統(tǒng)代碼使用兩類寄存器<84

>中央處理器(CPU)用戶可見寄存器機器語言直接引用包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器又稱為通用寄存器,用于各種算術(shù)邏輯指令和訪存指令地址寄存器用于存儲數(shù)據(jù)及指令的地址,用于某種特定方式的尋址條件碼寄存器保存CPU操作結(jié)果的各種標(biāo)記位、符號等等<85

>中央處理器(CPU)控制和狀態(tài)寄存器用于控制處理器的操作大部分對于用戶是不可見的一部分可以在某種特權(quán)模式(由操作系統(tǒng)使用)下訪問程序計數(shù)器(PC:ProgramCounter),記錄將要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序狀態(tài)字(PSW:ProgramStatusWord),記錄處理器的運行模式信息等常見的控制和狀態(tài)寄存器<86

>中央處理器(CPU)指令執(zhí)行的基本過程兩個步驟:先從存儲器中讀取一條指令然后解釋并執(zhí)行這條指令

一個這樣的單條指令處理過程稱為一個指令周期 程序的執(zhí)行就是由不斷取指令和執(zhí)行指令的指令周期組成的 僅當(dāng)關(guān)機、出錯或者遇到停機指令時,程序才會停止開始開始取下一條指令執(zhí)行指令取指周期執(zhí)行周期<87

>中央處理器(CPU)指令執(zhí)行的基本過程1.每個取值周期先從存儲器中讀取一條指令2.在取指令完成后,根據(jù)指令類別將程序計數(shù)器的值變成下一條指令的地址,通常是自增1

3.取到的指令被放在處理器的指令寄存器中4.處理器解釋并執(zhí)行命令<88

>中央處理器(CPU)五類指令訪問存儲器指令:負(fù)責(zé)處理器和存儲器之間的數(shù)據(jù)傳送I/O指令:負(fù)責(zé)處理器和I/O模塊之間的數(shù)據(jù)傳送和命令發(fā)送算術(shù)邏輯指令(數(shù)據(jù)處理指令):用以執(zhí)行有關(guān)數(shù)據(jù)的算術(shù)和邏輯操作控制轉(zhuǎn)移指令:這種指令可以指定一個新的指令的執(zhí)行起點處理器控制指令:這種指令用于修改處理器狀態(tài),改變處理器工作方式<89

>中央處理器(CPU)實例如下面一段匯編程序,它將3340h地址單元的一個數(shù)自增1,假設(shè)那個地址的內(nèi)容是35,這段程序執(zhí)行以后,它變成了36。這個程序需要三條指令完成,包括三個取指周期和三個執(zhí)行周期。地址 指令2000h: MOVE [3340h], R12004h: ADD R1, 12008h: MOVE R1, [3340h]<90

>中央處理器(CPU)實例假設(shè)程序計數(shù)器PC正指向2000h地址處的指令,執(zhí)行過程如下面的描述:PC中第一條指令的地址2000h,指令MOVE被送入指令寄存器IR中,同時PC自增一個指令的長度,取指之后PC為2004h2.IR中存放著指令的編碼,經(jīng)過譯碼處理器發(fā)現(xià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的雙字存儲單元中<91

>中央處理器(CPU)特權(quán)指令和非特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令使用多道程序設(shè)計技術(shù)的計算機的指令系統(tǒng)必須區(qū)分為特權(quán)指令和非特權(quán)指令使用特權(quán)指令,一般將引起一次處理器狀態(tài)的切換處理器通過特殊的機制,將處理器狀態(tài)切換到操作系統(tǒng)運行的特權(quán)狀態(tài)然后將處理權(quán)移交給操作系統(tǒng)中的一段特殊代碼,這一個過程稱為陷入處理器解釋并執(zhí)行命令CPU如何知道當(dāng)前運行的是操作系統(tǒng)還是一般應(yīng)用軟件,則有賴于處理器狀態(tài)的標(biāo)識<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)管理程序運行的狀態(tài),具有較高的特權(quán)級別,又稱為管態(tài)、特權(quán)態(tài)、系統(tǒng)態(tài)或核心態(tài)用戶態(tài):一般指用戶程序運行時的狀態(tài),具有較低的特權(quán)級別,又稱為目態(tài)、普通態(tài)還有些系統(tǒng)將處理器工作狀態(tài)劃分多個系統(tǒng)狀態(tài),例如核心狀態(tài),管理狀態(tài)和用戶程序狀態(tài)(又稱目標(biāo)狀態(tài))三種<93

>中央處理器(CPU)實例英特爾公司出品的x86系列處理器提供四個特權(quán)級別,特權(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則介于兩者之間,它們能夠運行的指令集合具有包含關(guān)系<94

>中央處理器(CPU)實例各個級別有保護性檢查(例如地址校驗、I/O限制),特權(quán)級別之間的轉(zhuǎn)換方式也不盡相同四個級別被設(shè)計成運行不同類別的程序:R0運行操作系統(tǒng)核心代碼R1運行關(guān)鍵設(shè)備驅(qū)動程序和I/O處理例程R2運行其它受保護的共享代碼,例如語言系統(tǒng)運行環(huán)境R3運行各種用戶程序現(xiàn)有的基于x86處理器的操作系統(tǒng),包括多數(shù)的UNIX系統(tǒng)、Linux及Windows系列大都只用到了R0和R3兩個特權(quán)級別<95

>中央處理器(CPU)內(nèi)核態(tài)與用戶態(tài)的差別——當(dāng)處理器處于內(nèi)核態(tài)時:全部指令(包括特權(quán)指令)可以執(zhí)行可使用所有資源具有改變處理器狀態(tài)的能力——當(dāng)處理器處于用戶態(tài)時:

只有非特權(quán)指令能執(zhí)行特權(quán)級別不同,可以運行的指令集合也不相同特權(quán)級別越高,可以運行的指令集合也越大高特權(quán)級別對應(yīng)的可運行指令集合包含低特權(quán)級<96

>中央處理器(CPU)CPU狀態(tài)的轉(zhuǎn)換用戶態(tài)到內(nèi)核態(tài)的轉(zhuǎn)換

其轉(zhuǎn)換的唯一途徑是通過中斷

內(nèi)核態(tài)到用戶態(tài)的轉(zhuǎn)換

可通過設(shè)置PSW指令(修改程序狀態(tài)字)實現(xiàn)<97

>中央處理器(CPU)限制用戶程序執(zhí)行特權(quán)指令用戶程序中不能使用特權(quán)指令當(dāng)用戶程序占用CPU時,應(yīng)讓CPU在用戶態(tài)下工作若此刻有特權(quán)指令,則CPU將拒絕執(zhí)行該指令,并形成一個“非法操作”事件中斷機制識別到事件后,轉(zhuǎn)交操作系統(tǒng)處理,由操作系統(tǒng)通知用戶“程序中有非法指令”

<98

>中央處理器(CPU)程序狀態(tài)字PSW程序狀態(tài)字的作用是指示處理器狀態(tài),用程序計數(shù)器來指示下一條要執(zhí)行的指令,包括:CPU的工作狀態(tài)代碼——指明當(dāng)前CPU的工作狀態(tài)是內(nèi)核態(tài)還是用戶態(tài)條件碼——反映指令執(zhí)行后的結(jié)果特征中斷屏蔽碼——指出是否允許中斷

<99

>中央處理器(CPU)實例以微處理器系列的對應(yīng)程序狀態(tài)字寄存器中包含若干標(biāo)志位為例CF:進位標(biāo)志位

ZF:結(jié)果為零標(biāo)志位

SF:符號標(biāo)志位

OF:溢出標(biāo)志位——幾乎所有計算機的PSW中都有與這四個標(biāo)志位類似的標(biāo)志位,可稱為標(biāo)準(zhǔn)條件位TF:陷阱標(biāo)志位IF:中斷使能(中斷屏蔽)標(biāo)志位VIF:虛擬中斷標(biāo)志位VIP:虛擬中斷待決標(biāo)志位——VIF和VIP用于支持對一類可屏蔽的硬件中斷處理IOPL:IO特權(quán)級別背景-3:西門華表存儲系統(tǒng)PART2.3<101

>存儲系統(tǒng)中央處理器能直接訪問的唯一的存儲空間是主存儲器作業(yè)必須把它的程序和數(shù)據(jù)存放在主存儲器中才能運行多道程序系統(tǒng),就會有若干個程序和相關(guān)的數(shù)據(jù)要放到主存儲器中操作系統(tǒng)要管理、保護這些程序和數(shù)據(jù),使它們不至于受到破壞,互相影響操作系統(tǒng)本身也要存放在主存儲器中并運行<102

>存儲系統(tǒng)存儲器的類型兩類存儲器:讀寫型的存儲器,只讀型的存儲器讀寫型的存儲器把數(shù)據(jù)存入任一地址單元,在以后把數(shù)據(jù)讀出來,或者重新存入RAM主要用作存放隨機存取的程序的數(shù)據(jù)<103

>存儲系統(tǒng)存儲器的類型只讀型的存儲器只能從其中讀取數(shù)據(jù),但不能隨意地用普通的方法向其中寫入數(shù)據(jù)稱為只讀存儲器(ROM:ReadOnlyMemory)變型:PROM和EPROMPROM一種可編程的只讀存儲器,可由用戶使用特殊PROM寫入器向其中寫入數(shù)據(jù)EPROM是可用特殊的紫外線光照射擦去信息位,然后使用特殊EPROM寫入器寫入數(shù)據(jù)在微型計算機中,一些常駐內(nèi)存的模塊以微程序形式固化在ROM中,如BIOS和CBASIC解釋程序<104

>存儲系統(tǒng)存儲分塊存儲的最小單位稱為“二進位”,它包含的信息為0或1最小編址單位是字節(jié),一個字節(jié)一般包含八個二進位1024個字節(jié)稱為1KB,1024個1KB稱為1MB,1024個1MB稱為1GB,等等為簡化對存儲器的分配和管理,不少計算機系統(tǒng)中把存儲器分成塊,被稱為一個物理頁塊<105

>存儲系統(tǒng)存儲器的層次結(jié)構(gòu)存儲系統(tǒng)的設(shè)計主要考慮三個問題:容量、速度和成本容量:需求一般來說是無止境的速度:能匹配處理器的速度成本:其他部件相比應(yīng)該在一個合適的范圍之內(nèi)三個目標(biāo)不可能同時達到最優(yōu),需要作權(quán)衡

存取速度越快,平均每比特價格越高,容量越小

存取速度越慢,平均每比特價格越低,同時容量也增大<106

>存儲系統(tǒng)存儲器的層次結(jié)構(gòu)采用層次化的存儲體系結(jié)構(gòu)解決權(quán)衡問題:容量、速度和成本沿層次下降時,每比特的價格將下降,容量將增大,速度將變慢而處理器的訪問頻率也將下降較小較貴而快速的存儲設(shè)備由較大較便宜而慢速的存儲設(shè)備作后盾,通過對訪問頻率的控制來提高系統(tǒng)效能<107

>存儲系統(tǒng)存儲訪問局部性原理提高存儲系統(tǒng)效能的關(guān)鍵在于程序存儲訪問局部性原理程序執(zhí)行時,有很多的循環(huán)和子調(diào)用,這樣的程序段會重復(fù)存取相同的指令集合數(shù)據(jù)存取也有類似的局部性,它們在較短的時間內(nèi)能穩(wěn)定在一個局部區(qū)域處理器也主要和存儲器的這個局部打交道在經(jīng)過一段時間以后,使用到的代碼和數(shù)據(jù)的集合會改變<108

>存儲系統(tǒng)多級存儲的體系結(jié)構(gòu)原則:存取級別較低的存儲器的比率小于存取級別較高的存儲器的比率第I級包含1KB,存取時間為0.1μs第II級包含1MB,存取時間為1μs處理器直接存取I級中的內(nèi)容

II級首先被轉(zhuǎn)移到I級,然后再由處理器存取假定用于確定這個內(nèi)容所在位置的時間可以忽略,如果處理器在I級存儲器中發(fā)現(xiàn)存取對象的概率是95%,那么平均訪問時間為:(0.95)(0.1μs)+(0.05)(0.1μs+1μs)=0.15μs結(jié)果是非常接近I級存儲的存取時間<109

>存儲系統(tǒng)多級存儲的體系結(jié)構(gòu)01T1T1+T2僅僅涉及I級的存取部分的比例平均存取時間一個簡單二級存儲系統(tǒng)的性能T1是I級存儲器的存取時間T2是II級存儲器的存取時間<110

>存儲系統(tǒng)存儲保護對主存中的信息加以保護,使操作系統(tǒng)不被破壞,是其正確運行的基本條件之一要實現(xiàn)存儲保護,必須要有硬件的支持界地址寄存器(界限寄存器)存儲鍵<111

>存儲系統(tǒng)界地址寄存器(界限寄存器)界地址寄存器是被廣泛使用的一種存儲保護技術(shù)這種機制比較簡單,易于實現(xiàn)實現(xiàn)方法:設(shè)置一對界限寄存器來存放作業(yè)的下限和上限地址也可將一個寄存器作為基址寄存器,另一寄存器作為限長寄存器訪問主存時,硬件自動判斷是否越界如果未越界,則按此地址訪問主存,否則將產(chǎn)生程序中斷——越界中斷或存儲保護中斷<112

>存儲系統(tǒng)界地址寄存器(界限寄存器)界地址寄存器存儲保護技術(shù)訪問主存時,界地址寄存器自動判斷是否越界,越界時將產(chǎn)生程序中斷訪問主存時,界地址寄存器自動判斷是否越界,未越界則按該地址訪問主存<113

>存儲系統(tǒng)存儲鍵每個存儲塊都有與其相關(guān)的存儲保護鍵,附加在每個存儲塊上當(dāng)一個用戶作業(yè)進入主存時,操作系統(tǒng)分給它一個唯一的存儲鍵號將分配給該作業(yè)的各存儲塊的存儲鍵,也設(shè)置成同樣的鍵號當(dāng)該作業(yè)運行時,操作系統(tǒng)同時將該作業(yè)的存儲鍵號存放到程序狀態(tài)字的存儲鍵鑰匙域中每當(dāng)CPU訪問主存時,都將對主存塊的存儲鍵與PSW中的鑰匙進行比較如果相匹配,則允許訪問,否則,拒絕并報警背景-4:未名湖PART2.4中斷機制<115

>中斷機制中斷機制中斷機制是操作系統(tǒng)中極為重要的一個部分操作系統(tǒng)在管理輸入輸出設(shè)備,處理外部事件時,都需要中斷機制處理中斷機制的實現(xiàn)必須依靠相關(guān)的硬件支持中斷的實現(xiàn)是硬件中斷裝置和相應(yīng)的中斷處理軟件共同完成的<116

>中斷機制中斷的定義中斷是CPU對系統(tǒng)中或系統(tǒng)外發(fā)生的異步事件的響應(yīng)異步事件是指無一定時序關(guān)系的隨機發(fā)生的事件當(dāng)發(fā)生某個異步事件后,中斷處理器對當(dāng)前程序的執(zhí)行,而轉(zhuǎn)去處理該異步事件,處理完了之后,處理器再轉(zhuǎn)回原程序的中斷點繼續(xù)執(zhí)行<117

>中斷機制中斷的概念和定義用戶程序中斷處理程序12ii+1k中斷發(fā)生處<118

>中斷機制中斷的作用解決了主機和外設(shè)并行工作的問題消除了因外設(shè)的慢速而使得主機等待的現(xiàn)象為多機操作和實時處理提供了硬件基礎(chǔ)充分發(fā)揮處理器的使用效率提高系統(tǒng)的實時能力<119

>中斷機制中斷系統(tǒng)的概念中斷源向處理器發(fā)出的請求信號稱為中斷請求處理中斷事件的那段程序稱為中斷處理程序發(fā)生中斷時正在執(zhí)行的程序的暫停點叫做中斷斷點處理器暫停當(dāng)前程序轉(zhuǎn)而處理中斷的過程稱為中斷響應(yīng)中斷處理結(jié)束之后恢復(fù)原來程序的執(zhí)行被稱為中斷返回中斷源的有序集合一般被稱為中斷字為使中斷裝置找到恰當(dāng)?shù)闹袛嗵幚沓绦?,設(shè)計了中斷處理程序入口地址中斷向量表<120

>中斷機制中斷的分類強迫性中斷:程序所不期望發(fā)生的,具有隨機性程序性中斷:運行程序本身的中斷時鐘中斷輸入輸出(I/O)中斷:由I/O控制器產(chǎn)生控制臺中斷硬件故障中斷自愿性中斷:程序有意安排執(zhí)行的,通常由訪管指令引起,目的是要求操作系統(tǒng)提供系統(tǒng)服務(wù)<121

>中斷機制中斷的其他分類方式異步中斷:簡稱為中斷,對當(dāng)前程序而言的外部事件激發(fā)的,屬于外源性質(zhì),具有隨機性時鐘中斷輸入輸出(I/O)中斷控制臺中斷硬件故障中斷同步中斷:一般稱為異常由當(dāng)前程序的編碼決定,發(fā)生的位置可以準(zhǔn)確預(yù)言程序性中斷訪管指令異常<122

>中斷機制中斷系統(tǒng)中斷系統(tǒng)分為兩大組成部分:中斷系統(tǒng)的硬件中斷裝置和軟件中斷處理程序硬件中斷裝置負(fù)責(zé)捕獲中斷源發(fā)出的中斷請求,并響應(yīng)中斷源將處理器控制權(quán)移交給特定的中斷處理程序中斷處理程序針對中斷事件的性質(zhì)而執(zhí)行相應(yīng)的一系列操作<123

>中斷機制中斷請求的接收通過在計算機硬件的中斷邏輯線路和中斷寄存器實現(xiàn)中斷邏輯線路接收中斷信號,把收到的中斷信號寄存在硬件觸發(fā)器中中斷邏輯線路中有若干個接受中斷信號的觸發(fā)器,觸發(fā)器全體稱為中斷寄存器<124

>中斷機制中斷響應(yīng)何時響應(yīng)在每條指令執(zhí)行周期內(nèi)的最后時刻掃描中斷寄存器如何響應(yīng)保存中斷點的程序執(zhí)行上下文環(huán)境在一個專門的系統(tǒng)堆棧中,包括程序狀態(tài)字PSW、程序

計數(shù)器PC中的下一條指令位置和一些寄存器的值切換到內(nèi)核態(tài)根據(jù)中斷向量代號查詢中斷向量表,獲得與該中斷源相聯(lián)系的中斷處理程序的入口地址,

并將PC置成該地址控制權(quán)轉(zhuǎn)移到中斷處理程序<125

>中斷機制中斷響應(yīng)中斷請求響應(yīng)過程①處理器接收中斷信號②保護現(xiàn)場,將中斷斷點的程序狀態(tài)字PSW和程序計數(shù)器PC值存入系統(tǒng)堆棧③分析中斷向量,取得中斷處理程序的入口地址④將處理器的PC值置為中斷處理程序的入口地址⑤調(diào)用中斷處理程序<126

>中斷機制中斷響應(yīng)兩個問題:

一是CPU何時響應(yīng)中斷二是如何知道提出中斷請求的設(shè)備或中斷源解決方法:用軟件指令去查詢各設(shè)備接口,但比較費時使用“向量中斷”硬件設(shè)施,CPU接受某優(yōu)先級較高的中斷請求時,該設(shè)備接口給處理器發(fā)送一個具有唯一性的“中斷向量”,以標(biāo)識該設(shè)備<127

>中斷機制中斷向量表和中斷優(yōu)先級中斷向量表有的機器中,將主存的最低位的128個字保留作為中斷向量表,每個中斷向量占兩個字中斷請求的設(shè)備接口為了標(biāo)識自己,向處理器發(fā)送一個該設(shè)備在中斷向量表中表目地址指針中斷優(yōu)先級以機器故障中斷的優(yōu)先級最高程序中斷和訪問管理程序中斷次之外部中斷更次之輸入輸出的優(yōu)先級最低<128

>中斷機制中斷屏蔽有時在CPU上運行的程序,不希望其在執(zhí)行過程中被別的事件所中斷,這種情況稱為中斷屏蔽在程序狀態(tài)字PSW中設(shè)置中斷屏蔽碼以屏蔽某些指定的中斷類型如果其程序狀態(tài)字中的中斷禁止位建立后,則屏蔽中斷如果程序狀態(tài)字中的中斷禁止位未建立,則可以接受其中斷優(yōu)先級高于運行程序的中斷優(yōu)先級那些中斷各設(shè)備的接口中也有中斷禁止位可用以禁止該設(shè)備的中斷<129

>中斷機制中斷處理典型的處理過程:1.設(shè)備給處理器發(fā)了一個中斷信號2.處理器處理完當(dāng)前指令后響應(yīng)中斷,這個延遲非常短3.處理器處理完當(dāng)前指令后檢測到中斷,判斷出中斷來源并向發(fā)送中斷的設(shè)備發(fā)送了確認(rèn)中斷信號,確認(rèn)信號使得該設(shè)備將中斷信號恢復(fù)到一般狀態(tài)4.處理器開始為軟件處理中斷做準(zhǔn)備:保存中斷點的程序執(zhí)行上下文環(huán)境<130

>中斷機制中斷處理典型的處理過程(續(xù))5.處理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(lián)系的處理程序入口地址,處理器控

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論