版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章操作系統概述1.1操作系統的概念1.2操作系統的發(fā)展1.3操作系統分類1.4操作系統設計1.5操作系統啟動1.6本章小結目錄CONTENTS本章學習目標<3
>1)理解定義、特征和研究觀點2)掌握進程管理、存儲管理、文件管理、作業(yè)管理等核心功能3)掌握用戶態(tài)、核心態(tài)的定義和切換方式4)了解操作系統發(fā)展歷程5)掌握批處理操作系統的工作方式、特點及分類、設計思想、系統調用過程、一般指令、特權指令和SPOOLing技術6)理解分時操作系統、嵌入式操作系統和其他類型操作系統的概念和特點7)理解操作系統設計難點、設計過程和設計目標8)掌握整體式結構、層次式結構、微內核結構和外核結構9)理解Unix、Linux、鴻蒙、OpenEuler等系統的體系結構10)掌握引導方式、引導過程和啟動機制PART1.1操作系統的概念定義、特征、功能、運行級別及研究操作系統的幾種觀點<5
>計算機系統是一種按用戶的要求接收和存儲信息、自動進行數據處理并輸出結果信息的系統,包括硬件(子)系統和軟件(子)系統硬件系統是計算機系統賴以工作的實體軟件系統保證計算機系統協調工作,各種程序和數據組成了計算機軟件系統在計算機系統中,集中了資源管理功能和控制程序執(zhí)行功能的軟件,稱為操作系統1.1.1計算機系統1.1.2操作系統的定義<6
>具有各種功能的、大量程序模塊的集合,使整個計算機系統高效運行:有效組織和管理計算機系統中的硬件及軟件資源。通過表格或數據結構,登記保存資源名稱、類型、數量、用途、完好狀態(tài)、目前使用狀態(tài)等,并進行動態(tài)、實時更新根據用戶不同的要求、作業(yè)各自特點及緊急程度,合理組織計算機工作流程,控制程序執(zhí)行。“公平”對待不同的用戶程序,保證系統不發(fā)生“死鎖”和“饑餓”的現象向用戶提供各種服務功能。向程序開發(fā)和設計人員提供高效的程序設計接口;向使用計算機系統的用戶提供接口,使用戶能方便、有效地使用計算機1.1.3操作系統的特征<7
>系統中同時運行若干個程序,用戶程序與用戶程序之間并發(fā)執(zhí)行或用戶程序與操作系統程序之間并發(fā)執(zhí)行并發(fā)性系統程序與用戶程序共用系統中的資源,如:中央處理單元、內存儲器、外存儲器及外部設備。資源的共享分為互斥共享和同時共享共享性操作系統在隨機環(huán)境下運行,且不能對所運行的程序的行為以及硬件設備的情況做出事先的假定,操作系統設計需考慮各種可能性隨機性虛擬性是一種管理技術,該技術把物理上的一個實體變成邏輯上的多個對應物,或把物理上的多個實體變成邏輯上的一個對應物虛擬性多道程序環(huán)境下,多個程序并發(fā)執(zhí)行,但由于資源有限,進程的執(zhí)行是走走停停、以不可預知的速度向前推進異步性1.1.4研究操作系統的觀點<8
>對操作系統本質的不同觀點,會影響操作系統的設計思想軟件的觀點操作系統是一種大型軟件系統,集合多種功能程序,有軟件的外在特性和內在特性:外在特性:外部表現形式,即操作命令定義集和界面完全能確定操作系統的使用方式內在特性:具有一般軟件的結構特點,通過研討軟件結構上的特點,更好地把握操作系統的內部結構特點資源管理的觀點登記在用資源、空閑資源、當前響應資源、以及收回不再使用資源等。提供一系列機制協調程序間的競爭與同步,提供機制對資源進行合理使用、施加保護,以及采取虛擬技術來“擴充”資源等1.1.4研究操作系統的觀點<9
>服務提供者觀點從用戶的角度,即從外部觀察操作系統,操作系統被視為服務提供者,為用戶提供比裸機功能更強、服務質量更高、更方便靈活的虛擬機器進程的觀點操作系統可視為多個同時獨立運行的程序和一個對這些程序進行協調的核心所組成。進程分為用戶進程和系統進程,操作系統控制和協調進程的運行虛機器的觀點操作系統把計算機(裸機)擴充為功能強、使用方便的計算機系統,即虛擬計算機,而把操作系統的全部功能,包括系統調用、命令、作業(yè)控制語言等,統稱為操作系統虛機器1.1.5操作系統的功能-進程管理<10
>操作系統功能主要分為進程管理(處理器管理)、存儲管理、文件管理、作業(yè)管理和設備管理進程管理進程管理對中央處理器進行管理,協調多道程序之間的關系,解決處理器分配調度策略、分配的實施和回收等問題,提升CPU資源利用率(1)進程控制包括創(chuàng)建進程、撤銷結束的進程以及控制進程運行時的各種狀態(tài)轉換(2)進程同步操作系統提供進程同步機制,協調進程的執(zhí)行,包括互斥和同步兩種形式?;コ庵付鄠€進程對臨界資源訪問時采用互斥的形式;同步指相互協作共同完成任務的進程之間,用同步機制協調執(zhí)行順序(3)進程間通信進程間通信發(fā)生在相互協作的進程之間。由操作系統提供的進程間通信機制是協作的進程之間相互交換數據和消息的手段(4)調度調度又稱為處理器調度,包括線程調度、進程調度和作業(yè)調度等1.1.5操作系統的功能-存儲管理<11
>存儲管理存儲管理計算機內存的資源(1)內存的分配與回收操作系統為每個進程分配內存空間,回收已退出運行的進程所占據的內存空間并重新使用(2)存儲保護內存由多個程序共享,必須考慮程序越界問題。如程序自身可能存在一些錯誤、隱患或某個程序具有惡意,防止危害其他用戶和整個計算機系統(3)內存擴充借助虛擬存儲技術在邏輯上增加進程運行空間,操作系統通常將空間劃分為4K字節(jié)大小的頁面,以頁面為單位進行存儲空間的調度1.1.5操作系統的功能-文件管理<12
>文件管理文件管理的任務是有效支持文件的存儲、檢索和修改等操作,解決文件的共享、保密和保護問題,以使用戶方便、安全地訪問文件(1)文件存儲空間的管理文件系統設置專門的數據結構記錄文件存儲空間的使用情況。為提高空間利用率,通常采用離散分配方式(2)目錄管理目錄管理給出組織文件的方法,為每個文件建立目錄項,對目錄項進行有效組織,為用戶提供方便的按名存取(3)文件系統的安全性安全性包括文件的讀寫權限管理以及存取控制,防止未經核準的用戶存取文件,防止越權訪問文件,防止使用不正確的方式訪問文件1.1.5操作系統的功能-作業(yè)管理&設備管理<13
>作業(yè)管理作業(yè)管理為用戶提供一個使用系統的良好環(huán)境,使用戶能有效地組織自己的工作流程,并使整個系統高效運行設備管理設備管理指計算機系統中除了CPU和內存以外的所有輸入、輸出設備的管理。操作系統的設備管理功能負責外部設備的分配、啟動和故障處理1.1.6操作系統的運行特權級別-用戶態(tài)與內核態(tài)<14
>為了防止對操作系統進行危險操作帶來嚴重后果,操作系統支持應用程序運行的流程分為用戶態(tài)和內核態(tài)用戶態(tài)與內核態(tài)用戶態(tài):非特權的執(zhí)行狀態(tài)。操作系統內核禁止此狀態(tài)下的代碼進行潛在危險的操作,如寫入系統配置文件、銷毀其他用戶的進程、重啟系統等內核態(tài):操作系統內核運行的模式,運行在該模式的代碼,可無限制地對系統存儲、外部設備進行訪問1.1.6操作系統的運行特權級別-用戶態(tài)與內核態(tài)切換方式<15
>(1)系統調用:用戶態(tài)進程可主動發(fā)起系統調用切換到內核態(tài),用戶態(tài)進程通過系統調用申請使用操作系統提供的服務程序完成工作(2)異常:當CPU在執(zhí)行運行在用戶態(tài)下的程序時,發(fā)生事先不可知的異常,觸發(fā)由當前運行進程切換到處理此異常的內核相關程序中,即切換到內核態(tài)(3)外圍設備的中斷:當外圍設備完成用戶請求的操作后,向CPU發(fā)出相應的中斷信號,CPU會暫停執(zhí)行下一條即將執(zhí)行的指令轉而執(zhí)行與中斷信號對應的處理程序,如果先前執(zhí)行的指令是用戶態(tài)程序,此時就發(fā)生用戶態(tài)到內核態(tài)的切換背景-2:北京大學圖書館PART1.2操作系統的發(fā)展<17
>1.2操作系統的發(fā)展過程操作系統的基本概念在不同時期出現并逐步發(fā)展成熟,其發(fā)展歷程如下:1964第二代晶體管時代1957第一代電子管時代(1946年~1957年)1970第三代集成電路時代2018-03-24第四代大規(guī)模/超大規(guī)模集成電路時代(1965年~1970年)(1971年起至今)(1958年~1964年)1.2
操作系統的發(fā)展歷史線索<18
>1.手工操作:二戰(zhàn)時期對武器裝備設計的需要,美國、英國和德國等國家,陸續(xù)開始使用真空管建造數字電子計算機。通過在插板上的硬連線控制計算機的基本功能,程序設計全部采用機器語言,沒有程序設計語言(甚至沒有匯編語言)。20世紀50年代早期,出現穿孔卡片,可以將程序寫在卡片上,此階段特點是手工操作、獨占方式1.2
操作系統的發(fā)展歷史線索<19
>2.監(jiān)控程序(早期批處理):50年代晶體管的發(fā)明后,出現了FORTRAN、ALGOL以及COBOL等高級語言。要運行一個作業(yè)(JOB),程序員首先將程序寫在紙上,穿孔成卡片,將卡片盒帶到輸入室,交給操作員,計算結果從打印機上輸出,操作員到打印機上取下運算結果并送到輸出室,程序員取到結果。由于處理器速度提高,導致手工操作設備輸入/輸出信息與計算機計算速度不匹配,人們設計了監(jiān)督程序(或管理程序),來實現作業(yè)的自動轉換處理。操作員將作業(yè)“成批”地輸入到計算機中,由監(jiān)督程序識別一個作業(yè),進行處理后再取下一個作業(yè)。這種自動定序的處理方式稱為“批處理(BatchProcessing)”方式,由于是串行執(zhí)行作業(yè),因此稱為單道批處理1.2操作系統的發(fā)展歷史線索<20
>3.多道批處理:進入第三代計算機以后,硬件有了很大發(fā)展,通道使得輸入/輸出操作與CPU操作并行處理成為可能。與此同時軟件系統也隨之相應變化,實現了在硬件提供并行處理之上的多道程序設計所謂多道是指它允許多個程序同時存在于主存之中,由中央處理器以切換方式為之服務,使得多個程序可以同時執(zhí)行。計算機資源不再是“串行”地被一個個用戶獨占,而可以同時為幾個用戶共享,從而極大地提高了系統在單位時間內處理作業(yè)的能力。這時管理程序已迅速地發(fā)展成為一個重要的軟件分支——操作系統1.2操作系統的發(fā)展歷史線索<21
>4.分時與實時系統:批處理系統不適合交互式的作業(yè),對交互式工作方式的需求導致了分時系統(TimeSharingSystem)的出現。分時系統是指多個用戶通過終端設備與計算機交互作用來運行自己的作業(yè),并且共享一個計算機系統而互不干擾。由于調試程序的用戶常常只發(fā)出簡短的命令(如編譯一個五頁的源文件),而很少有長的費時命令(如上百萬條記錄的文件排序),所以計算機能夠為許多用戶提供交互式快速的服務,同時在CPU空閑時還能運行大的后臺作業(yè)1.2操作系統的發(fā)展歷史線索<22
>5.UNIX通用操作系統:20世紀60年代末,貝爾實驗室的KenThompson和DennisM.Ritchie設計了UNIX操作系統,以下是UNIX的特點:用C語言編寫,可移植世界上惟一能在筆記本計算機、PC機、工作站直至巨型機上運行的操作系統系統源代碼非常有效,系統容易適應特殊的需求良好的、通用的、多用戶、多任務、分時操作系統樹形文件系統和一定的安全機制簡潔的字符流文件和文件保護機制具備功能強大的shell,它既是命令解釋器,又是編程用高級語言,可用于擴充系統的功能1.2操作系統的發(fā)展歷史線索<23
>6.個人計算機操作系統:20世紀70年代末期出現了面向個人計算機的操作系統,例如微軟公司的MSDOS操作系統,屬于單用戶單任務操作系統1984年,蘋果推出交互式圖形功能的操作系統1992年,微軟推出交互式圖形功能的Windows3.11995年,Windows95出現,Windows成為個人計算機主流操作系統1991年,Linus公布Linux操作系統,繼承UNIX全部優(yōu)點,開放源碼,Linux極其健壯1.2.1操作系統的發(fā)展歷史線索<24
>分布式系統:多個連接的處理資源組成,在整個系統控制下合作執(zhí)行任務,最少依賴于集中的程序、數據或硬件,資源可物理上相鄰,也可地理上分散機群操作系統:適用于多臺計算機構成的機群嵌入式操作系統:在工業(yè)控制、家電、智能設備中廣泛使用陸火星飛行器“極地探路者”,采用了VxWorks嵌入式操作系統7.當代操作系統兩大發(fā)展方向——宏觀應用與微觀應用:大型系統:分布式操作系統、機群操作系統微型系統:嵌入式操作系統背景-3:西門華表操作系統分類PART1.3<26
>1.3操作系統分類按照用戶界面的使用環(huán)境和功能特征的不同,操作系統分為三種基本類型,批處理系統、分時系統和實時系統操作系統分類批處理系統實時系統分時系統個人計算機系統網絡系統分布式系統嵌入式系統1.3.1批處理操作系統<27
>基本工作方式收到一定數量的用戶作業(yè)后,組成一批作業(yè),輸入到計算機,在系統中形成一個連續(xù)的、自動轉接的作業(yè)流特點與分類優(yōu)點:成批處理、系統資源利用率高、作業(yè)吞吐率高、作業(yè)流程自動化較高、作業(yè)吞吐量大缺點:用戶不能直接與計算機交互,不適合調試程序分類:簡單批處理系統和多道批處理系統1.3.1批處理操作系統<28
>設計思想簡單批處理系統在操作系統發(fā)展早期出現,被稱為早期批處理系統,或監(jiān)控程序。在監(jiān)控程序啟動前,操作員有選擇地把若干作業(yè)合并成一批作業(yè),將這批作業(yè)安裝在輸入設備上。然后啟動監(jiān)控程序,監(jiān)控程序將自動控制這批作業(yè)的執(zhí)行,作業(yè)的運行以及作業(yè)之間的銜接都由監(jiān)控程序自動控制,有效地提高了作業(yè)運行的效率作業(yè)控制說明書在簡單批處理系統中,作業(yè)的運行步驟是由作業(yè)控制說明書傳遞給監(jiān)控程序。作業(yè)控制說明書是由作業(yè)控制語言編寫的一段程序,通常存放在被處理作業(yè)前面。在運行過程中,監(jiān)控程序讀入并解釋作業(yè)控制說明書中的語句,以控制各個作業(yè)步的執(zhí)行1.3.1批處理操作系統<29
>一般指令和特權指令運行模式:用戶模式和特權模式機器指令:一般指令和特權指令特權指令:輸入/輸出指令、停機指令,只有監(jiān)控程序能執(zhí)行特權指令,用戶程序只能執(zhí)行一般指令,用戶程序向操作系統請求功能,請求通過系統調用(廣義指令)完成系統調用的過程1.系統調用發(fā)生時,處理器通過一種特殊的機制,中斷或者異常處理,把控制流程轉移到監(jiān)控程序內的一些特定的位置,同時,處理器模式轉變成特權模式2.監(jiān)控程序執(zhí)行被請求的功能代碼3.結束之后,監(jiān)控程序恢復系統調用之前的現場,從特權模式恢復成為用戶方式,將控制權轉移回原來的用戶程序1.3.1批處理操作系統<30
>SPOOLing技術為了提高硬件資源的利用率,批處理系統發(fā)展為更加高級的多道批處理系統,關鍵技術就是多道程序運行、假脫機(SPOOLing)技術等假脫機技術,全稱是“同時的外部設備聯機操作”,借助硬件通道技術,實現了輸入輸出操作和處理器動作的自動并行處理。通道是指專門用來控制輸入輸出的硬件設備,可以看作是專門的I/O處理機。通道基本上是自主控制外設的,可以與CPU并行工作。假脫機技術為實現多道批處理系統中的多道程序設計思想提供了重要的基礎1.3.2分時系統<31
>分時操作系統出現在批處理操作系統之后,彌補批處理方式不能向用戶提供交互式快速服務的缺點基本工作方式用戶通過終端交互式地向系統提出命令請求,系統接受用戶的命令之后,采用時間片輪轉方式處理服務請求,并通過交互方式在終端上向用戶顯示結果。用戶根據系統送回的處理結果發(fā)出下一道交互命令設計思想將CPU的時間劃分成若干個小片段,稱時間片。操作系統以時間片為單位,輪流為每個終端用戶服務1.3.2分時系統<32
>特點分時操作系統具有多路性、交互性、獨占性和及時性的特點:多路性指有多個用戶在同時使用一臺計算機交互性指用戶根據系統響應的結果提出下一個請求,用戶直接干預操作每一步的進行獨占性指每個用戶感覺不到計算機為其他人服務及時性指系統能夠對用戶提出的請求及時給予響應通用操作系統結合了分時系統與批處理系統兩種系統的特點。對于分時與批處理的處理原則是:分時優(yōu)先,批處理在后。在通用操作系統中,一般把系統的分時和批處理運行狀態(tài),稱為前臺和后臺。在系統的“前臺”響應需頻繁交互的作業(yè),如大量終端的處理要求;而“后臺”則處理處理對時間性要求不強的作業(yè)1.3.3實時操作系統<33
>實時操作系統(RTOS:RealTimeOperatingSystem):在規(guī)定時間內,及時響應外部事件請求,完成事件處理,控制實時設備和實時任務協調一致工作分類:①硬實時:對關鍵事件的響應和處理時間嚴格要求,否則產生嚴重后果②軟實時:對事件響應和處理時間有一定要求,不滿足要求會影響服務質量,但不會引發(fā)嚴重后果1.3.3實時操作系統<34
>實時系統為實現硬實時或軟實時的要求,需要具備以下能力:(1)實時時鐘管理實時任務根據時間要求可以分為兩類:定時任務,它依據用戶的定時啟動并按照嚴格的時間間隔重復運行延時任務,它非周期地運行,允許被延后執(zhí)行,但是往往有一個嚴格的時間界限依據任務功能的不同,可分為主動式任務和從動式任務:主動式任務依據時間間隔主動運行,多用于實時監(jiān)控從動式任務依賴于外部事件的發(fā)生(2)過載防護實時任務的啟動時間和數量具有很大的隨機性,突發(fā)的大量實時任務極有可能超出系統的處理能力,從而發(fā)生過載。實時系統在出現過載現象時,要有能力迅速分析判斷并找出最重要的實時任務,通過拋棄或者延后次要任務以保證最重要任務成功執(zhí)行(3)高可靠性高可靠性是實時系統的設計目標之一,實時操作系統需要有很強的健壯性和堅固性1.3.4個人計算機操作系統<35
>個人計算機操作系統(PersonalComputerOperatingSystem)是一種單用戶的操作系統個人計算機操作系統的主要特點:計算機在某一時間內為單個用戶服務采用圖形界面人機交互的工作方式,界面友好使用簡單方便1.3.5網絡操作系統<36
>網絡操作系統(NetworkOperatingSystem)是基于計算機網絡的、在各種計算機操作系統之上按網絡體系結構協議標準設計開發(fā)的軟件計算機網絡的不同模式集中式模式運算處理在主計算機里發(fā)生,終端僅作為輸入/輸出設備使用,通過連接兩臺或更多主機的方式構成計算機網絡分布式模式
每臺計算機都有運算處理能力,多臺計算機通過網絡交換數據并共享資源和服務。在分布式模式中,網絡環(huán)境中的計算機不僅能共享數據、資源及服務,還能夠共享運算處理能力1.3.6分布式操作系統<37
>分布式系統(DistributedSystem)將大量的計算機通過網絡連結在一起,獲得極高的運算能力及廣泛的數據共享分布式操作系統(DistributedOperatingSystem)是網絡操作系統的更高級形式,分布式操作系統除了保持了網絡操作系統的各種功能之外,還具備如下的特征:(1)系統中的所有主機使用統一的操作系統(2)資源深度共享。通過統一的操作系統的調度,在某臺主機的一個計算任務可以遷移到另一臺主機上執(zhí)行(3)透明性。用戶不知道分布式系統運行在多少臺計算機上,各個主機地理位置上的差異對用戶透明(4)自治性。各個主機之間沒有主從關系,一個主機的失效一般不會影響整個分布式系統1.3.6分布式操作系統<38
>分布式系統把系統中的所有計算機構成一個完整的、功能更加強大的計算機系統,系統中的計算機相互協作,共同完成一個大型計算任務,一個計算任務可分解成若干可以并行執(zhí)行的子任務,每個子任務分別在不同的計算機上執(zhí)行分布式系統的優(yōu)點:分布式。以較低的成本獲得較高的運算性能可靠性。當一個計算機系統發(fā)生故障時,整個分布式系統仍舊能夠工作。適用于高可靠的環(huán)境1.3.6分布式操作系統<39
>機群(cluster)是分布式系統的一種,一個機群通常由一群處理器密集構成,機群操作系統專門服務于這樣的機群。在機群操作系統的指揮下,可以用低成本的微型計算機和以太網設備等產品,構造出性能相當于超級計算機運算性能的機群網絡操作系統與分布式操作系統在概念上的主要不同之處:網絡操作系統可以構架于不同的操作系統之上,可以在不同的本機操作系統上通過網絡協議實現網絡資源的統一配置分布式操作系統強調單一操作系統對整個分布式系統的管理、調度,無論本地、異地資源,都用同一方式管理與訪問,用戶不必關心資源所在的真正物理位置,或者是如何存儲1.3.7嵌入式操作系統<40
>嵌入式操作系統用于工業(yè)控制、交通管理、信息家電等嵌入式系統,設計緊湊、高效,只保留運行在其上的特定應用程序所需要的功能嵌入式操作系統的特點:(1)系統內核小。由于資源有限,嵌入式操作系統的內核要比傳統的操作系統小得多(2)專業(yè)性強。與硬件緊密結合,針對不同的任務和設備進行定制和移植,不能通用(3)系統精簡。不需要過于復雜的功能設計和實現,降低系統成本和提高系統安全性(4)高實時性。能夠及時響應外部事件和中斷,保證任務的執(zhí)行順序和完成時間(5)多任務的操作系統。能夠支持多任務的調度和管理,合理地分配和利用系統資源1.3.8其他類型操作系統<41
>(1)大型機操作系統,能夠處理海量的數據和事務,提供高度的安全性、可靠性和可伸縮性,通常用于銀行、政府、保險等行業(yè)(2)服務器操作系統,支持多個用戶和多個任務,提供網絡服務和資料共享。具有高效的內存管理、文件系統和安全機制,通常用于互聯網、企業(yè)等領域(3)多處理操作系統,利用多個處理器并行執(zhí)行多個任務,提高性能和吞吐量。具有復雜的調度算法、同步機制和通信協議,通常用于科學計算、圖形處理等領域(4)移動計算操作系統,支持移動通信、定位、傳感等功能,提供用戶友好的界面和應用。具有低功耗、小內存占用和高可移植性,通常用于智能手機、平板電腦等設備(5)傳感器節(jié)點操作系統,支持傳感器數據采集、處理和傳輸,提供無線網絡和自組織能力。具有極低的資源需求、高度的可配置性和實時性,通常用于物聯網、環(huán)境監(jiān)測等領域(6)智能卡操作系統,支持智能卡的存儲、計算和安全功能,提供身份認證和支付服務。具有高度的安全性、穩(wěn)定性和兼容性,通常用于金融、交通等領域1.3.9典型操作系統的特點<42
>單道批處理:自動:作業(yè)自動運行,無需干預批量:磁帶上的各個作業(yè)按順序地進入內存,先調入先完成單道:內存中僅有一道程序運行,可以看成是串行的CPU資源利用率和系統吞吐量低多道批處理:多道:內存同時存放多道程序宏觀上并行:進入系統的多道程序先后開始運行微觀上串行:內存中多道程序輪流占有CPU,交替執(zhí)行作業(yè)處理時間長,交互能力差,運行過程不確定1.3.9典型操作系統的特點<43
>分時系統:多路調制性:多用戶聯機使用同一臺計算機獨占性:用戶感覺獨占計算機交互性:及時響應用戶的請求無法在時間片更短時間內做出處理不可搶占實時系統:高精度計時:計時精度是影響實時性的重要因素,精確實時地操作某個設備或執(zhí)行某個任務多級中斷:建立多級中斷嵌套處理機制,確保緊迫程度較高的實時事件得到及時響應和處理實時調度:在調度策略和算法上保證優(yōu)先調度實時任務可搶占1.3.9典型操作系統的特點<44
>網絡操作系統:體系結構上具有所有操作系統的職能,如任務管理,緩沖區(qū)管理等多用戶共享資源允許存在于多種拓撲結構的網絡分布式系統:分布性:計算機物理上分布在不同的地理位置,通過網絡連接在一起并發(fā)性:計算機可同時處理多個任務,更快地完成工作缺乏全局時鐘:沒有統一的全局時鐘,只能通過時間戳等方式來實現事件的排序和同步故障獨立性:計算機可以獨立運行,即使其中一臺計算機出現故障,其他計算機仍然可以繼續(xù)工作可擴展性:通過增加計算機來擴展其處理能力,不會影響整個系統的性能透明性:通過各種機制實現透明性,包括訪問透明性、位置透明性、復制透明性、故障透明性等,用戶可以像使用單個計算機一樣使用分布式系統1.3.9典型操作系統的特點<45
>嵌入式系統:系統內核小專用性強運行環(huán)境差異大可靠性要求高系統精簡和高實時性操作系統嵌入式系統開發(fā)的專用環(huán)境1.3.9典型操作系統的特點<46
>典型操作系統特點劃分:根據應用領域,分為桌面操作系統、服務器操作系統、主機操作系統、嵌入式操作系統根據支持用戶數目,分為單用戶系統(MSDOS、OS/2)、多用戶系統(UNIX、MVS、Windows)根據源碼開放程度,分為開源操作系統(Linux、ChromeOS)和閉源操作系統(Windows、MacOS)根據硬件結構,分為網絡操作系統(Netware、WindowsNT)、分布式系統(Amoeba)、多媒體系統(Amiga)根據使用環(huán)境和作業(yè)處理方式,分為批處理系統(MVX、DOS/VSE)、分時系統(Linux、UNIX、XENIX、MacOS)、實時系統(iEMX、VRTX)背景-4:未名湖PART1.4操作系統設計1.4操作系統設計<48
>操作系統設計過程的主要困難:設計復雜程度高程序長、接口信息多、動態(tài)性強、并行性強,不同部分之間可以同時操作正確性難以保證操作系統包含很多功能成份,各種外部設備的接口復雜,導致操作系統源代碼的正確性較難以保證。操作系統的正確性依靠軟件工程的規(guī)范來保證研制周期長一般的軟件研制開發(fā)周期包括:需求分析,用戶提供軟件的需求,并根據需求制作軟件規(guī)格說明書設計者根據軟件規(guī)格說明書進行軟件設計實現者編寫程序,調試、測試并整理各種開發(fā)文檔,提交給用戶使用,在應用的過程中不斷改進和提高軟件的品質1.4.1操作系統的設計過程<49
>操作系統的設計過程可分為三個部分:功能設計、算法設計和結構設計。操作系統的三方面設計是互相滲透的,不能截然分開功能設計功能設計指根據系統的設計目標和使用要求,確定所設計的操作系統應具備哪些功能,以及操作系統的類型算法設計算法設計是根據計算機的性能和操作系統的功能,選擇和設計滿足系統功能的算法和策略,并分析和估算其效能結構設計結構設計是按照系統的功能和特性要求,選擇合適的結構,使用相應結構設計方法將系統逐步地分解、抽象和綜合,使操作系統結構清晰、簡明、可靠、易讀、易修改,而且使用方便,適應性強1.4.2操作系統設計目標<50
>一個高質量的操作系統應具有可靠性、高效性、易維護性、易移植性、安全性和簡明性等特征可靠性可靠性包括正確性和健壯性。正確性受并發(fā)、共享以及隨之帶來的不確定性影響,要求系統能動態(tài)地應付隨時發(fā)生的各種內部和外部事件高效性提高系統中各種資源的利用率易維護性易維護性包括易讀性、易擴充性、易剪裁性、易修改性等含義可移植性可移植性指,把一個程序系統從一個計算機系統環(huán)境中移到另一個計算機系統環(huán)境中并能正常運行的特性安全性操作系統的安全性是整個計算機系統安全性的基礎,為保護用戶的程序和數據提供了最基本的安全機制簡明性操作系統缺乏簡明性,那么在系統的修改和維護過程中,將會產生許多意想不到的困難1.4.3操作系統結構設計<51
>操作系統結構設計的重要性早期操作系統:結構簡單,規(guī)模小,邏輯關系簡單,只注重功能設計和效率,忽視結構設計隨計算機結構復雜化,應用范圍擴大,要求提高,需要較強的功能、可適應性和可靠性操作系統結構研究的目標(1)系統模塊化
將模塊看做一組數據結構以及定義在其上的一組操作(2)模塊標準化①標準設計,模塊規(guī)格劃一,遵循相同模塊構造準則和模塊(構件)標準
②總結、提煉基本成份并定型化(3)通信規(guī)范化
模塊之間接口清晰劃一,聯系方式統一1.4.4操作系統的體系結構-整體式結構<52
>常見的操作系統體系結構有整體式結構、層次式結構和微內核(客戶/服務器)結構、外核結構等整體式結構首先確定操作系統的總體功能,將總功能分解為若干個子功能,實現每個子功能的程序稱為模塊。按照功能將每個大模塊分解為若干個較小的模塊,直至每個模塊僅包含單一功能或緊密聯系的小功能為止,通過接口將所有模塊連接起來形成一個整體,稱之為模塊組合結構模塊組合法的優(yōu)點:1)結構緊密,接口簡單直接,系統效率較高2)系統中的模塊不是根據程序和數據本身的特性而是根據它們完成的功能來劃分的,數據基本上作為全程量使用3)不同模塊的程序之間可以不加控制地互相調用和轉移,信息的傳遞方式也可以根據需要隨意約定,因而可能造成模塊間的循環(huán)調用1.4.4操作系統的體系結構-整體式結構<53
>模塊組合法的缺點:1)模塊間轉接隨意,各模塊互相牽連,獨立性差,系統結構不清晰2)數據基本上作為全程量處理,系統內所有模塊的任一程序均可對其進行存取和修改,從而造成了各模塊間有著更為隱蔽的關系,要更換一個模塊或修改一個模塊都比較困難3)模塊組合結構常以大型表格為中心,為保證數據完整性,往往采用全局封中斷辦法,從而限制了系統的并發(fā)性1.4.4操作系統的體系結構-層次式結構<54
>層次式結構層次式結構力求使模塊間調用的無序性變?yōu)橛行蛐浴0巡僮飨到y的所有功能模塊,按功能流圖的調用次序,分別將這些模塊排列成若干層,各層之間的模塊只能是單向依賴或單向調用關系,結構清晰,且不構成循環(huán)層次式結構的優(yōu)點:各模塊之間的組織結構和依賴關系清晰明了。增加了系統的可讀性和可適應性,每一步都建立在可靠的基礎上,只要下層的各模塊設計是正確的,就為上層功能模塊的設計提供了可靠基礎,從而增加了系統的可靠性對操作系統增加或替換掉一層而不影響其他層次。層次結構法設計的操作系統具有易于調試、易于修改、易于擴充、易于維護、易于保證正確性等優(yōu)點1.4.4操作系統的體系結構-層次式結構<55
>模塊放在哪一層,共有多少層,依據功能流圖和數據流圖分層,原則如下:(1)為增加可適應性,方便移植,把與機器特點緊密相關的軟件,如中斷處理、輸入輸出管理等放在緊靠硬件的最低層。為便于修改移植,把與硬件有關和與硬件無關的模塊截然分開,把與硬件有關的BIOS(管理輸入輸出設備)放在最內層。當硬件環(huán)境改變時只需修改這一層(2)為便于一種操作方式轉變到另一種操作方式,把共同使用的基本部分放在內層,把改變部分放在外層(3)為給進程提供環(huán)境和條件,系統調用的各功能,為進程提供服務,這些功能構成操作系統內核,放在系統內層1.4.4操作系統的體系結構-微內核(客戶/服務器)結構<56
>微內核(客戶/服務器)結構客戶/服務器結構的操作系統適于應用在網絡環(huán)境下分布式處理的計算環(huán)境中,又稱為微內核體系結構,特點如下:(1)運行在內核態(tài)的內核:內核提供所有操作系統都具有的操作,如線程調度、虛擬存儲、消息傳遞、設備驅動以及內核的原語操作集和中斷處理等(2)運行在用戶態(tài)的并以客戶/服務器方式運行的進程層:除內核部分外,操作系統所有的其他部分被分成若干個相對獨立的進程,每一個進程實現一組服務,稱為服務進程。這些服務進程可以提供各種系統功能、文件系統服務以及網絡服務等。服務進程的任務是檢查是否有客戶機提出要求服務的請求,并在滿足客戶機進程的請求后將結果返回1.4.4操作系統的體系結構-微內核(客戶/服務器)結構<57
>優(yōu)點:分成若干小的自包含分支(服務進程),分支運行在獨立進程中,通過規(guī)范一致方式收發(fā)消息。內核中建立最小機制,策略留給服務進程,靈活性強(1)可靠:分支獨立自包含,某個服務器失敗,不會引起其他服務器崩潰(2)靈活:便于新功能,接口規(guī)范,修改服務器代碼不影響系統其他部分,可維護性好(3)適于分布式處理環(huán)境:不同服務運行在不同計算機上,具有分布式處理能力缺點:只能通過微內核通信,通信頻繁時,效率低1.4.4操作系統的體系結構-外核結構<58
>外核結構外核結構(Exokernel)是一種操作系統結構。在這種結構中,內核負責的主要工作僅僅為簡單的申請操作以及釋放和復用硬件資源,其由以往操作系統提供的抽象全部在用戶空間中運行。這種方式實現了應用級資源管理,即由應用程序而不是操作系統管理硬件資源1.4.4操作系統的體系結構-典型實例<59
>典型實例1)UnixUnix是一種多用戶、多任務的操作系統,具有很強的可移植性和開放性。它采用分層結構,內核負責管理硬件資源,提供系統調用接口給上層應用程序2)LinuxLinux是一種類似于Unix的操作系統,它采用了模塊化的設計方法,內核負責硬件驅動、進程調度、內存管理等基本功能,而其他功能則通過模塊化的方式實現3)WindowsWindows是微軟公司推出的一種操作系統,它采用了混合內核結構,內核負責硬件驅動、進程調度、內存管理等基本功能,同時也提供了圖形用戶界面和豐富的應用程序接口1.4.4操作系統的體系結構-典型實例<60
>典型實例4)AndroidAndroid是谷歌公司推出的一種基于Linux內核的移動操作系統,它采用虛擬機技術來運行應用程序,并提供了豐富的應用程序接口和開發(fā)工具5)鴻蒙操作系統鴻蒙操作系統(HarmonyOS)是華為推出的一款面向萬物互聯的全場景分布式操作系統,支持手機、平板、智能穿戴、智慧屏等多種終端設備運行,提供應用開發(fā)、設備開發(fā)的一站式服務的平臺。它采用微內核設計,僅包括了操作系統必要的功能模塊(任務管理、內存分配等)1.4.4操作系統的體系結構-典型實例<61
>典型實例6)OpenEuler操作系統。OpenEuler是開放原子開源基金會(OpenAtomFoundation)孵化及運營的開源項目。OpenEuler是一款面向數字基礎設施的操作系統,支持服務器、云計算、邊緣計算、嵌入式等應用場景,支持多樣性計算,致力于提供安全、穩(wěn)定、易用的操作系統7)銀河麒麟操作系統銀河麒麟是由天津麒麟信息技術有限公司開發(fā)和維護的一款國產操作系統。它支持以x86、x86_64、PowerPC、SPARC為代表的國際主流CPU和以飛騰為代表的國產CPU,并已經廣泛應用于國防、軍工、政務、電力、航天、金融、電信、教育、大中型企業(yè)等行業(yè)或領域8)中標麒麟操作系統中標麒麟是中國麒麟軟件有限公司基于Linux開發(fā)的商業(yè)操作系統,其社區(qū)版為UbuntuKylin。目前中標麒麟最新版本為V7.0,包括中標麒麟高級服務器操作系統軟件V7.0和中標麒麟桌面操作系統軟件V7.01背景-5:翻尾石魚PART1.5操作系統啟動1.5.1引導方式<63
>(1)BIOS引導。BIOS是存儲在BIOS芯片中的程序,當計算機啟動時,BIOS會執(zhí)行硬件自檢并初始化硬件配置,后根據CMOS中用戶指定的硬件啟動順序,讀取相應設備的啟動或引導記錄,引導相應設備上的操作系統啟動(2)UEIF引導。UEFI是一種新型的固件接口,采用模塊化、高級語言(主要是C語言)構建的一個小型化系統,直接利用加載EFI驅動的方式,識別系統硬件并完成硬件初始化1.5.2操作系統的引導過程<64
>計算機開機,BIOS自檢并檢測第一個能夠引導系統的設備,如硬盤或光驅運行MBR扇區(qū)的啟動程序,如GRUB引導程序GRUB引導程序讀取配置文件獲取內核和鏡像文件系統的設置以及路徑位置內核和鏡像文件系統加載到內存加載硬件驅動程序,初始化進程1.5.3操作系統的啟動機制<65
>操作系統的啟動過程:BIOS自檢、系統引導、啟動內核、初始化系統計算機開機,BIOS程序將存儲設備的引導記錄(BootRecord)載入內存,執(zhí)行引導記錄中的引導程序(Boot)引導程序將存儲設備中的操作系統內核載入內存,進入內核入口點開始執(zhí)行內核完成系統初始化,允許用戶進行交互1.5.4典型程序執(zhí)行流程<66
>一個程序的典型執(zhí)行流程:(1)用戶通過操作系統啟動程序(2)操作系統將程序從磁盤加載到內存中(3)操作系統為程序分配資源,如CPU時間、內存空間和輸入/輸出設備(4)程序開始執(zhí)行,由CPU按順序執(zhí)行指令(5)程序可能會與操作系統交互,請求服務,如讀寫文件或訪問網絡(6)程序執(zhí)行完畢后,操作系統回收其占用的資源背景-1:北京大學西門PART1.6本章小結本章回顧<68
>計算機系統包括硬件和軟件兩個部分,操作系統屬于系統軟件,是擴充硬件功能,提供軟件運行環(huán)境的一類重要系統軟件。操作系統是這樣一些程序模塊的集合——它們能有效地組織和管理計算機系統中的硬件及軟件資源,合理地組織計算機工作流程,控制程序的執(zhí)行,并向用戶提供各種服務功能,使得用戶能夠靈活、方便、有效地使用計算機,使整個計算機系統能高效地運行操作系統要實現進程管理、存儲管理、設備管理、文件管理、作業(yè)管理等系統功能,它具有并發(fā)、共享、隨機三個主要特征本章回顧<69
>根據在用戶界面的使用環(huán)境和功能特征的不同,操作系統可以分為多種類型:批處理操作系統分為簡單批處理系統和多道批處理系統。批處理操作系統的特點是成批處理,作業(yè)的運行通過作業(yè)控制說明書傳遞給監(jiān)控程序,資源利用率高,作業(yè)吞吐率高;缺點是用戶不能直接與計算機無交互。為了防止程序受到破壞,引入了處理器的特權模式和用戶模式的概念。SPOOLing技術的使用,導致了真正具有并發(fā)機制的多道程序設計系統的出現,其基本思想是在內存中同時保持多個作業(yè),主機通過交替的方式同時處理多個作業(yè),大大提高了處理器和各種外部設備的利用效率分時操作系統的出現是為了彌補批處理方式不能提供交互式快速服務的缺點,一臺計算機主機連接若干個終端,用戶通過終端交互式地向系統提出命令請求,系統采用時間片輪轉方式處理服務請求,并通過交互方式在終端上顯示結果,用戶根據結果發(fā)出下一道交互命令。分時操作系統具有多路性、交互性、獨占性和及時性的特點本章回顧<70
>實時操作系統使計算機能在規(guī)定的時間內,及時響應外部事件的請求,同時完成對該事件的處理,并能夠控制所有實時設備和實時任務協調一致地工作的操作系統。其主要目標是,在嚴格時間范圍內,對外部請求做出反應。實時操作系統具備高度可靠性。實時操作系統主要有兩類,硬實時系統和軟實時系統個人計算機操作系統是一種單用戶的操作系統,其主要特點是,為單個用戶服務,交互式、友好的圖形界面,使用方便,用戶無需專門知識也能使用系統網絡操作系統是基于計算機網絡的,網絡有集中式模式和分布式模式。網絡操作系統是在各種計算機操作系統之上按網絡體系結構協議標準設計開發(fā)的軟件,它包括網絡管理、通信、安全、資源共享和各種網絡應用分布式操作系統是網絡操作系統的更高級形式,除了有網絡操作系統的功能之外,其特征是,系統中所有主機使用同一個操作系統、資源的深度共享、透明性和自治性本章回顧<71
>操作系統設計的困難之處在于系統復雜程度高、正確性難以保證和研制周期長。一個高質量的操作系統應具有可靠性、高效性、易維護性、易移植性、安全性和簡明性等特征。常見的操作系統體系結構有:整體型操作系統、層次式操作系統和微內核操作系統等知識點<72
>
●
計算機系統、硬件系統、軟件系統
●資源、資源管理的觀點
●操作系統、操作系統的地位和作用、操作系統的特征
●操作系統的發(fā)展歷程
●研究操作系統的觀點
●操作系統分類(工作方式、特點、追求目標、與其他類型的區(qū)別)
●吞吐量、SPOOLing技術、時間片、響應時間●操作系統的功能
●操作系統設計目標(可靠性、高效性、易維護性、易移植性、安全性、簡明性)
●操作系統結構設計方法(整體式結構、層次式結構、客戶/服務器結構)復習題<73
>什么是計算機系統?計算機系統是怎樣構成的?什么是操作系統?請說明操作系統在計算機系統中的作用和地位操作系統管理計算機系統的哪些資源?請從資源管理的角度說明操作系統的主要功能操作系統有哪些基本特征?請敘述各類操作系統的工作方式及特點請比較批處理系統、分時系統以及實時操作系統之間的相同點和不同點請描述分時系統下響應時間的含義在什么情況下應該采用批處理方式?在什么情況下應該考慮分時策略?現代的通用操作系統把批處理方式和分時方式二者結合起來,為什么要這樣做?這樣的結合有什么特點?復習題<74
>11.實時操作系統的有什么主要特征?12.在如下的應用場合中,應該選用什么類型的操作系統呢,并請說明為什么?(1)導彈控制(2)國家統計局軟件(3)汽車發(fā)動機點火控制(4)火車訂票系統(5)互聯網電子游戲13.請說明什么是SPOOLing技術?在現代操作系統中有沒有使用SPOOLing技術?14.網絡操作系統和分布式操作系統都是配置在計算機網絡上的操作系統,它們之間有什么本質上的不同?15.操作系統設計的過程包括哪些方面,在每個方面都要考慮什么問題?16.操作系統開發(fā)過程中面臨的主要問題是什么?17.操作系統的設計目標是什么?18.影響操作系統正確性的因素有哪些?19.在進行操作系統結構設計時應考慮哪些問題?20.請說明模塊組合法、層次式結構和客戶/服務器結構的基本思想以及優(yōu)缺點感謝大家聆聽THANKSFORTHECAREFULGUIDANCE第2章操作系統運行環(huán)境學習目標<77
>1.理解與操作系統相關的計算機硬件系統基本概念2.理解內核態(tài)與用戶態(tài)的區(qū)別3.掌握重要寄存器的作用4.理解中斷/異常的概念和分類5.掌握中斷/異常處理過程6.掌握中斷響應過程和中斷處理程序工作過程7.分析特定體系結構的中斷響應過程8.分析特定操作系統下系統調用的工作過程9.運用典型系統調用進程編程建議學時:4學時2.1計算機系統的層次結構2.2中央處理器(CPU)2.3存儲系統2.4中斷機制2.5I/O技術2.6時鐘2.7系統調用2.8本章小結目錄CONTENTSPART2.1計算機系統的層次結構計算機系統的層次結構<80
>硬件系統軟件系統中斷機制I/O技術時鐘系統軟件支撐軟件應用軟件存儲系統中央處理器操作系統編譯系統數據庫Windows、UNIX或Linux等C/C++、VB語言等SQL、Oracle、Sybase等網絡通信程序、多媒體支持軟件、硬件接口程序、實用軟件工具以及軟件開發(fā)工具多種多樣的軟件所有的子系統都可以包括在硬件(子)系統和軟件(子)系統這兩個層次中背景-2:北京大學圖書館PART2.2中央處理器(CPU)<82
>中央處理器(CPU)CPU的構成與基本工作方式控制器寄存器高速緩存運算器點擊輸入內容CPU指令中的算術和邏輯運算取指令、維護CPU狀態(tài)、CPU與內存的交互指令的過程中暫存數據、地址以及指令信息匹配高速指令處理和低速內存訪問計算核心訪問速度最快造價高、容量小快于內存、慢于寄存器<83
>中央處理器(CPU)處理器中的寄存器提供了一定的存儲能力速度比主存儲器快得多造價很高,存儲容量一般都很小用戶可見寄存器:高級語言編譯器分配并使用,減少程序訪問主存儲器的次數控制和狀態(tài)寄存器:用于控制處理器操作。由特權操作系統代碼使用兩類寄存器<84
>中央處理器(CPU)用戶可見寄存器機器語言直接引用包括數據寄存器、地址寄存器以及條件碼寄存器又稱為通用寄存器,用于各種算術邏輯指令和訪存指令地址寄存器用于存儲數據及指令的地址,用于某種特定方式的尋址條件碼寄存器保存CPU操作結果的各種標記位、符號等等<85
>中央處理器(CPU)控制和狀態(tài)寄存器用于控制處理器的操作大部分對于用戶是不可見的一部分可以在某種特權模式(由操作系統使用)下訪問程序計數器(PC:ProgramCounter),記錄將要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序狀態(tài)字(PSW:ProgramStatusWord),記錄處理器的運行模式信息等常見的控制和狀態(tài)寄存器<86
>中央處理器(CPU)指令執(zhí)行的基本過程兩個步驟:先從存儲器中讀取一條指令然后解釋并執(zhí)行這條指令
一個這樣的單條指令處理過程稱為一個指令周期 程序的執(zhí)行就是由不斷取指令和執(zhí)行指令的指令周期組成的 僅當關機、出錯或者遇到停機指令時,程序才會停止開始開始取下一條指令執(zhí)行指令取指周期執(zhí)行周期<87
>中央處理器(CPU)指令執(zhí)行的基本過程1.每個取值周期先從存儲器中讀取一條指令2.在取指令完成后,根據指令類別將程序計數器的值變成下一條指令的地址,通常是自增1
3.取到的指令被放在處理器的指令寄存器中4.處理器解釋并執(zhí)行命令<88
>中央處理器(CPU)五類指令訪問存儲器指令:負責處理器和存儲器之間的數據傳送I/O指令:負責處理器和I/O模塊之間的數據傳送和命令發(fā)送算術邏輯指令(數據處理指令):用以執(zhí)行有關數據的算術和邏輯操作控制轉移指令:這種指令可以指定一個新的指令的執(zhí)行起點處理器控制指令:這種指令用于修改處理器狀態(tài),改變處理器工作方式<89
>中央處理器(CPU)實例如下面一段匯編程序,它將3340h地址單元的一個數自增1,假設那個地址的內容是35,這段程序執(zhí)行以后,它變成了36。這個程序需要三條指令完成,包括三個取指周期和三個執(zhí)行周期。地址 指令2000h: MOVE [3340h], R12004h: ADD R1, 12008h: MOVE R1, [3340h]<90
>中央處理器(CPU)實例假設程序計數器PC正指向2000h地址處的指令,執(zhí)行過程如下面的描述:PC中第一條指令的地址2000h,指令MOVE被送入指令寄存器IR中,同時PC自增一個指令的長度,取指之后PC為2004h2.IR中存放著指令的編碼,經過譯碼處理器發(fā)現這是一條訪問內存的指令,把立即
數3340h所指定的地址中的數據取到通用寄存器R1中3.CPU又從PC地址為2004h處取出指令ADD到IR中,PC變?yōu)?008h4.CPU根據指令將R1寄存器和立即數1相加5.2008h處的訪存指令MOVE被取到IR中,PC變?yōu)?00Ah6.R1寄存器內容被傳送到內存地址為3340h的雙字存儲單元中<91
>中央處理器(CPU)特權指令和非特權指令特權指令:只能由操作系統使用的指令使用多道程序設計技術的計算機的指令系統必須區(qū)分為特權指令和非特權指令使用特權指令,一般將引起一次處理器狀態(tài)的切換處理器通過特殊的機制,將處理器狀態(tài)切換到操作系統運行的特權狀態(tài)然后將處理權移交給操作系統中的一段特殊代碼,這一個過程稱為陷入處理器解釋并執(zhí)行命令CPU如何知道當前運行的是操作系統還是一般應用軟件,則有賴于處理器狀態(tài)的標識<92
>中央處理器(CPU)處理器的狀態(tài)根據程序對資源和指令的使用權限而將處理器設置為不同狀態(tài)多數系統將處理器工作狀態(tài)劃分為內核態(tài)和用戶態(tài)內核態(tài):一般指操作系統管理程序運行的狀態(tài),具有較高的特權級別,又稱為管態(tài)、特權態(tài)、系統態(tài)或核心態(tài)用戶態(tài):一般指用戶程序運行時的狀態(tài),具有較低的特權級別,又稱為目態(tài)、普通態(tài)還有些系統將處理器工作狀態(tài)劃分多個系統狀態(tài),例如核心狀態(tài),管理狀態(tài)和用戶程序狀態(tài)(又稱目標狀態(tài))三種<93
>中央處理器(CPU)實例英特爾公司出品的x86系列處理器提供四個特權級別,特權環(huán):R0、R1、R2和R3)從R0到R3特權能力依次降低R0相當于雙狀態(tài)系統的內核態(tài)R3相當于用戶態(tài)而R1和R2則介于兩者之間,它們能夠運行的指令集合具有包含關系<94
>中央處理器(CPU)實例各個級別有保護性檢查(例如地址校驗、I/O限制),特權級別之間的轉換方式也不盡相同四個級別被設計成運行不同類別的程序:R0運行操作系統核心代碼R1運行關鍵設備驅動程序和I/O處理例程R2運行其它受保護的共享代碼,例如語言系統運行環(huán)境R3運行各種用戶程序現有的基于x86處理器的操作系統,包括多數的UNIX系統、Linux及Windows系列大都只用到了R0和R3兩個特權級別<95
>中央處理器(CPU)內核態(tài)與用戶態(tài)的差別——當處理器處于內核態(tài)時:全部指令(包括特權指令)可以執(zhí)行可使用所有資源具有改變處理器狀態(tài)的能力——當處理器處于用戶態(tài)時:
只有非特權指令能執(zhí)行特權級別不同,可以運行的指令集合也不相同特權級別越高,可以運行的指令集合也越大高特權級別對應的可運行指令集合包含低特權級<96
>中央處理器(CPU)CPU狀態(tài)的轉換用戶態(tài)到內核態(tài)的轉換
其轉換的唯一途徑是通過中斷
內核態(tài)到用戶態(tài)的轉換
可通過設置PSW指令(修改程序狀態(tài)字)實現<97
>中央處理器(CPU)限制用戶程序執(zhí)行特權指令用戶程序中不能使用特權指令當用戶程序占用CPU時,應讓CPU在用戶態(tài)下工作若此刻有特權指令,則CPU將拒絕執(zhí)行該指令,并形成一個“非法操作”事件中斷機制識別到事件后,轉交操作系統處理,由操作系統通知用戶“程序中有非法指令”
<98
>中央處理器(CPU)程序狀態(tài)字PSW程序狀態(tài)字的作用是指示處理器狀態(tài),用程序計數器來指示下一條要執(zhí)行的指令,包括:CPU的工作狀態(tài)代碼——指明當前CPU的工作狀態(tài)是內核態(tài)還是用戶態(tài)條件碼——反映指令執(zhí)行后的結果特征中斷屏蔽碼——指出是否允許中斷
<99
>中央處理器(CPU)實例以微處理器系列的對應程序狀態(tài)字寄存器中包含若干標志位為例CF:進位標志位
ZF:結果為零標志位
SF:符號標志位
OF:溢出標志位——幾乎所有計算機的PSW中都有與這四個標志位類似的標志位,可稱為標準條件位TF:陷阱標志位IF:中斷使能(中斷屏蔽)標志位VIF:虛擬中斷標志位VIP:虛擬中斷待決標志位——VIF和VIP用于支持對一類可屏蔽的硬件中斷處理IOPL:IO特權級別背景-3:西門華表存儲系統PART2.3<101
>存儲系統中央處理器能直接訪問的唯一的存儲空間是主存儲器作業(yè)必須把它的程序和數據存放在主存儲器中才能運行多道程序系統,就會有若干個程序和相關的數據要放到主存儲器中操作系統要管理、保護這些程序和數據,使它們不至于受到破壞,互相影響操作系統本身也要存放在主存儲器中并運行<102
>存儲系統存儲器的類型兩類存儲器:讀寫型的存儲器,只讀型的存儲器讀寫型的存儲器把數據存入任一地址單元,在以后把數據讀出來,或者重新存入RAM主要用作存放隨機存取的程序的數據<103
>存儲系統存儲器的類型只讀型的存儲器只能從其中讀取數據,但不能隨意地用普通的方法向其中寫入數據稱為只讀存儲器(ROM:ReadOnlyMemory)變型:PROM和EPROMPROM一種可編程的只讀存儲器,可由用戶使用特殊PROM寫入器向其中寫入數據EPROM是可用特殊的紫外線光照射擦去信息位,然后使用特殊EPROM寫入器寫入數據在微型計算機中,一些常駐內存的模塊以微程序形式固化在ROM中,如BIOS和CBASIC解釋程序<104
>存儲系統存儲分塊存儲的最小單位稱為“二進位”,它包含的信息為0或1最小編址單位是字節(jié),一個字節(jié)一般包含八個二進位1024個字節(jié)稱為1KB,1024個1KB稱為1MB,1024個1MB稱為1GB,等等為簡化對存儲器的分配和管理,不少計算機系統中把存儲器分成塊,被稱為一個物理頁塊<105
>存儲系統存儲器的層次結構存儲系統的設計主要考慮三個問題:容量、速度和成本容量:需求一般來說是無止境的速度:能匹配處理器的速度成本:其他部件相比應該在一個合適的范圍之內三個目標不可能同時達到最優(yōu),需要作權衡
存取速度越快,平均每比特價格越高,容量越小
存取速度越慢,平均每比特價格越低,同時容量也增大<106
>存儲系統存儲器的層次結構采用層次化的存儲體系結構解決權衡問題:容量、速度和成本沿層次下降時,每比特的價格將下降,容量將增大,速度將變慢而處理器的訪問頻率也將下降較小較貴而快速的存儲設備由較大較便宜而慢速的存儲設備作后盾,通過對訪問頻率的控制來提高系統效能<107
>存儲系統存儲訪問局部性原理提高存儲系統效能的關鍵在于程序存儲訪問局部性原理程序執(zhí)行時,有很多的循環(huán)和子調用,這樣的程序段會重復存取相同的指令集合數據存取也有類似的局部性,它們在較短的時間內能穩(wěn)定在一個局部區(qū)域處理器也主要和存儲器的這個局部打交道在經過一段時間以后,使用到的代碼和數據的集合會改變<108
>存儲系統多級存儲的體系結構原則:存取級別較低的存儲器的比率小于存取級別較高的存儲器的比率第I級包含1KB,存取時間為0.1μs第II級包含1MB,存取時間為1μs處理器直接存取I級中的內容
II級首先被轉移到I級,然后再由處理器存取假定用于確定這個內容所在位置的時間可以忽略,如果處理器在I級存儲器中發(fā)現存取對象的概率是95%,那么平均訪問時間為:(0.95)(0.1μs)+(0.05)(0.1μs+1μs)=0.15μs結果是非常接近I級存儲的存取時間<109
>存儲系統多級存儲的體系結構01T1T1+T2僅僅涉及I級的存取部分的比例平均存取時間一個簡單二級存儲系統的性能T1是I級存儲器的存取時間T2是II級存儲器的存取時間<110
>存儲系統存儲保護對主存中的信息加以保護,使操作系統不被破壞,是其正確運行的基本條件之一要實現存儲保護,必須要有硬件的支持界地址寄存器(界限寄存器)存儲鍵<111
>存儲系統界地址寄存器(界限寄存器)界地址寄存器是被廣泛使用的一種存儲保護技術這種機制比較簡單,易于實現實現方法:設置一對界限寄存器來存放作業(yè)的下限和上限地址也可將一個寄存器作為基址寄存器,另一寄存器作為限長寄存器訪問主存時,硬件自動判斷是否越界如果未越界,則按此地址訪問主存,否則將產生程序中斷——越界中斷或存儲保護中斷<112
>存儲系統界地址寄存器(界限寄存器)界地址寄存器存儲保護技術訪問主存時,界地址寄存器自動判斷是否越界,越界時將產生程序中斷訪問主存時,界地址寄存器自動判斷是否越界,未越界則按該地址訪問主存<113
>存儲系統存儲鍵每個存儲塊都有與其相關的存儲保護鍵,附加在每個存儲塊上當一個用戶作業(yè)進入主存時,操作系統分給它一個唯一的存儲鍵號將分配給該作業(yè)的各存儲塊的存儲鍵,也設置成同樣的鍵號當該作業(yè)運行時,操作系統同時將該作業(yè)的存儲鍵號存放到程序狀態(tài)字的存儲鍵鑰匙域中每當CPU訪問主存時,都將對主存塊的存儲鍵與PSW中的鑰匙進行比較如果相匹配,則允許訪問,否則,拒絕并報警背景-4:未名湖PART2.4中斷機制<115
>中斷機制中斷機制中斷機制是操作系統中極為重要的一個部分操作系統在管理輸入輸出設備,處理外部事件時,都需要中斷機制處理中斷機制的實現必須依靠相關的硬件支持中斷的實現是硬件中斷裝置和相應的中斷處理軟件共同完成的<116
>中斷機制中斷的定義中斷是CPU對系統中或系統外發(fā)生的異步事件的響應異步事件是指無一定時序關系的隨機發(fā)生的事件當發(fā)生某個異步事件后,中斷處理器對當前程序的執(zhí)行,而轉去處理該異步事件,處理完了之后,處理器再轉回原程序的中斷點繼續(xù)執(zhí)行<117
>中斷機制中斷的概念和定義用戶程序中斷處理程序12ii+1k中斷發(fā)生處<118
>中斷機制中斷的作用解決了主機和外設并行工作的問題消除了因外設的慢速而使得主機等待的現象為多機操作和實時處理提供了硬件基礎充分發(fā)揮處理器的使用效率提高系統的實時能力<119
>中斷機制中斷系統的概念中斷源向處理器發(fā)出的請求信號稱為中斷請求處理中斷事件的那段程序稱為中斷處理程序發(fā)生中斷時正在執(zhí)行的程序的暫停點叫做中斷斷點處理器暫停當前程序轉而處理中斷的過程稱為中斷響應中斷處理結束之后恢復原來程序的執(zhí)行被稱為中斷返回中斷源的有序集合一般被稱為中斷字為使中斷裝置找到恰當的中斷處理程序,設計了中斷處理程序入口地址中斷向量表<120
>中斷機制中斷的分類強迫性中斷:程序所不期望發(fā)生的,具有隨機性程序性中斷:運行程序本身的中斷時鐘中斷輸入輸出(I/O)中斷:由I/O控制器產生控制臺中斷硬件故障中斷自愿性中斷:程序有意安排執(zhí)行的,通常由訪管指令引起,目的是要求操作系統提供系統服務<121
>中斷機制中斷的其他分類方式異步中斷:簡稱為中斷,對當前程序而言的外部事件激發(fā)的,屬于外源性質,具有隨機性時鐘中斷輸入輸出(I/O)中斷控制臺中斷硬件故障中斷同步中斷:一般稱為異常由當前程序的編碼決定,發(fā)生的位置可以準確預言程序性中斷訪管指令異常<122
>中斷機制中斷系統中斷系統分為兩大組成部分:中斷系統的硬件中斷裝置和軟件中斷處理程序硬件中斷裝置負責捕獲中斷源發(fā)出的中斷請求,并響應中斷源將處理器控制權移交給特定的中斷處理程序中斷處理程序針對中斷事件的性質而執(zhí)行相應的一系列操作<123
>中斷機制中斷請求的接收通過在計算機硬件的中斷邏輯線路和中斷寄存器實現中斷邏輯線路接收中斷信號,把收到的中斷信號寄存在硬件觸發(fā)器中中斷邏輯線路中有若干個接受中斷信號的觸發(fā)器,觸發(fā)器全體稱為中斷寄存器<124
>中斷機制中斷響應何時響應在每條指令執(zhí)行周期內的最后時刻掃描中斷寄存器如何響應保存中斷點的程序執(zhí)行上下文環(huán)境在一個專門的系統堆棧中,包括程序狀態(tài)字PSW、程序
計數器PC中的下一條指令位置和一些寄存器的值切換到內核態(tài)根據中斷向量代號查詢中斷向量表,獲得與該中斷源相聯系的中斷處理程序的入口地址,
并將PC置成該地址控制權轉移到中斷處理程序<125
>中斷機制中斷響應中斷請求響應過程①處理器接收中斷信號②保護現場,將中斷斷點的程序狀態(tài)字PSW和程序計數器PC值存入系統堆棧③分析中斷向量,取得中斷處理程序的入口地址④將處理器的PC值置為中斷處理程序的入口地址⑤調用中斷處理程序<126
>中斷機制中斷響應兩個問題:
一是CPU何時響應中斷二是如何知道提出中斷請求的設備或中斷源解決方法:用軟件指令去查詢各設備接口,但比較費時使用“向量中斷”硬件設施,CPU接受某優(yōu)先級較高的中斷請求時,該設備接口給處理器發(fā)送一個具有唯一性的“中斷向量”,以標識該設備<127
>中斷機制中斷向量表和中斷優(yōu)先級中斷向量表有的機器中,將主存的最低位的128個字保留作為中斷向量表,每個中斷向量占兩個字中斷請求的設備接口為了標識自己,向處理器發(fā)送一個該設備在中斷向量表中表目地址指針中斷優(yōu)先級以機器故障中斷的優(yōu)先級最高程序中斷和訪問管理程序中斷次之外部中斷更次之輸入輸出的優(yōu)先級最低<128
>中斷機制中斷屏蔽有時在CPU上運行的程序,不希望其在執(zhí)行過程中被別的事件所中斷,這種情況稱為中斷屏蔽在程序狀態(tài)字PSW中設置中斷屏蔽碼以屏蔽某些指定的中斷類型如果其程序狀態(tài)字中的中斷禁止位建立后,則屏蔽中斷如果程序狀態(tài)字中的中斷禁止位未建立,則可以接受其中斷優(yōu)先級高于運行程序的中斷優(yōu)先級那些中斷各設備的接口中也有中斷禁止位可用以禁止該設備的中斷<129
>中斷機制中斷處理典型的處理過程:1.設備給處理器發(fā)了一個中斷信號2.處理器處理完當前指令后響應中斷,這個延遲非常短3.處理器處理完當前指令后檢測到中斷,判斷出中斷來源并向發(fā)送中斷的設備發(fā)送了確認中斷信號,確認信號使得該設備將中斷信號恢復到一般狀態(tài)4.處理器開始為軟件處理中斷做準備:保存中斷點的程序執(zhí)行上下文環(huán)境<130
>中斷機制中斷處理典型的處理過程(續(xù))5.處理器根據中斷源查詢中斷向量表,獲得與該中斷相聯系的處理程序入口地址,處理器控
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全生產標準化評審標準(安全生產目標、職責、法律法規(guī)與安全管理制度、職業(yè)健康等各評定明細表)
- 材料堆放區(qū)5S管理現場執(zhí)行標準表
- 2024屆云南省通海縣第三中學高三下學期期中聯考數學試題文試題
- 2024年北京道路客運輸從業(yè)資格證考試
- 2024年重慶辦理客運從業(yè)資格證2024年試題
- 2024年寧波客運從業(yè)資格證理論考題
- 2024年海南c1客運從業(yè)資格證考試題庫
- 2024年南寧客運從業(yè)資格證實際操作考試內容是什么
- 2024年盤錦貨運資格證模擬考試題
- 2024年黨員學習黨章黨規(guī)黨紀知識競賽題庫及答案(共130題)
- 四年級數學上冊第七單元整數四則混合運算第1課時不含括號的混合運算教案蘇教版
- 維護國家安全 教案設計
- 非洲禮儀文化英語介紹
- 自發(fā)性氣胸的護理
- 白市鎮(zhèn)小學常規(guī)管理督導評估自查報告(正稿)
- 雙減分層書面作業(yè)設計案例 方案 (含評價與反思)人教版七年級數學上冊第二章 整式的加減
- 2023年中國融通集團招聘筆試題庫及答案解析
- 電線電纜穿管管徑選擇表
- GB 1903.33-2022食品安全國家標準食品營養(yǎng)強化劑5′-單磷酸胞苷(5′-CMP)
- GB/T 7909-2017造紙木片
- 主治醫(yī)師聘任述職報告課件
評論
0/150
提交評論