




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)操作系統(tǒng)教案備課教師: 晁妍 職稱:助教教學(xué)班級 計(jì)科 專業(yè)09級本科2班時(shí) 間:2011年9月已教輪數(shù):J計(jì)算機(jī)與信息學(xué)院2011-2012學(xué)年度第一學(xué)期課程教學(xué)目的及教學(xué)要求:本課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的主要專業(yè)基礎(chǔ)課和主干課。本課程的學(xué)習(xí)目的在于使學(xué)生掌握操作系統(tǒng)的基本概念、基本原理、設(shè)計(jì)方法和實(shí)現(xiàn)技術(shù), 具有初步分析實(shí)際操作系統(tǒng)的能力,為其今后在相關(guān)領(lǐng)域開展工作打下堅(jiān)實(shí)的基 礎(chǔ)。教學(xué)時(shí)數(shù)與學(xué)時(shí)分配:共51學(xué)時(shí),周學(xué)時(shí):17,(分單雙周,每次2個(gè)學(xué)時(shí))章次標(biāo)題教學(xué)手段學(xué)時(shí)數(shù)第一章操作系統(tǒng)引論4弟早進(jìn)程管理12第三章處理機(jī)調(diào)度匕死鎖4第四章存儲管理10弟五早設(shè)備管理6第八章文件系統(tǒng)
2、8第七章操作系統(tǒng)接口4第八章網(wǎng)絡(luò)操作系統(tǒng)1第九章系統(tǒng)安全性1第十章UNIX系統(tǒng)核結(jié)構(gòu)1教計(jì)算機(jī)操作系統(tǒng)(第三版)湯小丹等推薦參考書:1計(jì)算機(jī)操作系統(tǒng)(第二版)湯子瀛等電子科技大學(xué)2計(jì)算機(jī)操作系統(tǒng)教程堯?qū)W史美林清華大學(xué)3UNIX教程(第 2 版)(美)Syed Mansoor Sarwar Robert Koretsky 玉潔 孟祥武譯機(jī)械工業(yè)4計(jì)算機(jī)操作系統(tǒng).學(xué)習(xí)指導(dǎo)與題解梁紅兵、湯小丹電子科技大學(xué)5操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)一基于linux核徐虹編清華大學(xué)w第1、2講(周次:第2周)(注:線右側(cè)寫教學(xué)方法、實(shí)驗(yàn)演示、新增補(bǔ)容、重要標(biāo)注、時(shí)間分配等 )教學(xué)章節(jié):1.1 操作系統(tǒng)的目標(biāo)和作用(簡略)1.2
3、 操作系統(tǒng)的發(fā)展過程(每種OS的不足與各自特點(diǎn))教學(xué)目的及要求:目的:是使學(xué)生建立起 OS的基本概念。要求:了解OS的引入和發(fā)展;理解多道程序設(shè)計(jì)技術(shù);重點(diǎn)、難點(diǎn):(注:重點(diǎn)和難點(diǎn)如果一致、則寫在一起,若不同則應(yīng)分開寫):OS引入和發(fā)展、OS的基本特征和功能。教學(xué)容:板書設(shè)計(jì)見PPT (注:容每節(jié)課1-2頁為宜)復(fù)習(xí)引入:首先說明對課程的成績?nèi)绾卧u定,提出學(xué)習(xí)要求,以及教材的使用并推薦參考教 材。然后介紹本課程的特點(diǎn)、性質(zhì)和目的,以及如何學(xué)習(xí),最后對本課程容以及課時(shí) 分配做簡單的介紹。新課講授:操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地位:(結(jié)合課件中圖加以說明,由此引出目標(biāo)和作用)計(jì)算機(jī)系統(tǒng)由硬件和軟件組成
4、;操作系統(tǒng)在硬件基礎(chǔ)上的第一層軟件;是其他軟件和 硬件之間的接口。操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中占據(jù)著特別重要的地位,是計(jì)算機(jī)中最重要的系統(tǒng)軟件,是 其他系統(tǒng)軟件和應(yīng)用軟件運(yùn)行的基礎(chǔ)。1.1 操作系統(tǒng)的目標(biāo)和作用1.1.1 操作系統(tǒng)的目標(biāo)方便性(用戶的觀點(diǎn)):提供良好的、一致的用戶接口。無需了解許多有關(guān)硬件和系統(tǒng) 軟件的細(xì)節(jié)。有效性(系統(tǒng)管理人員的觀點(diǎn) 廣合理地組織計(jì)算機(jī)的工作流程,管理和分配硬件、軟 件資源,提高資源的利用率;提高系統(tǒng)的吞吐量。可擴(kuò)充性(開放的觀點(diǎn)):操作系統(tǒng)必須能方便地開發(fā)、測試和引進(jìn)新的系統(tǒng)功能,以適應(yīng)計(jì)算機(jī)硬件和體系結(jié)構(gòu)的迅速發(fā)展以及應(yīng)用不斷擴(kuò)大的要求。給計(jì)算機(jī)系統(tǒng)的功能的擴(kuò)展
5、提供開放式的支撐平臺。開放性:可移植性和互操作性其中有效性和方便性是設(shè)計(jì) OS時(shí)最重要的兩個(gè)目標(biāo), 設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)也是對批處理技術(shù)是在系統(tǒng)中配置一個(gè)監(jiān)督程序,并在該監(jiān)督程序的控制下,能夠?qū)σ慌鳂I(yè)自動(dòng)進(jìn)行處理的一種技術(shù)。把一批作業(yè)以脫機(jī)方式輸入到磁帶或磁盤上,并在系統(tǒng)中配上監(jiān)督程序(Monitor),在它的控制下使這批作業(yè)能一個(gè)接一個(gè)的連續(xù)處理。2.單道批處理系統(tǒng)的特征:2 .從資源管理的觀點(diǎn)來看,OS作為計(jì)算機(jī)系統(tǒng)資源的管理者(管家)處理機(jī)的分配和控制,存的分配和回收,I/O設(shè)備的分配和處理, 文件的存取、共享和保護(hù)工作都是由操作系統(tǒng)完成的。主要功能有:處理機(jī)管理、存儲管理、設(shè)備管理
6、、文件管理3 .從虛擬機(jī)的觀點(diǎn)來看,OS用作擴(kuò)充機(jī)器(實(shí)現(xiàn)了對計(jì)算機(jī)資源的抽象)(虛擬機(jī)或擴(kuò)充機(jī))硬件處在最底層,不附加任何軟件的物理計(jì)算機(jī)“裸機(jī)”.操作系統(tǒng)是附加在裸機(jī)上的第一層,是對裸機(jī)的首次擴(kuò)充,構(gòu)成了一個(gè)比裸機(jī)更強(qiáng), 使用更方便的“虛擬計(jì)算機(jī)”。所有系統(tǒng)軟件以及更上層的用戶應(yīng)用軟件在操作系統(tǒng)虛擬機(jī)上運(yùn)行,它們受操作系統(tǒng)的統(tǒng)一管理和控制,通過操作系統(tǒng)使用各種資源來完成特定的任務(wù)。引出OS的定義(以提問的方式)操作系統(tǒng)的定義:是一組控制和管理計(jì)算機(jī)硬件和軟件資源、合理地對各類作業(yè)進(jìn)行 調(diào)度,以及方便用戶使用計(jì)算機(jī)的程序的集合。1.1.3 推動(dòng)操作系統(tǒng)發(fā)展主要?jiǎng)恿Γㄉ院笱a(bǔ)充)1.2 操作系統(tǒng)
7、的發(fā)展過程(介紹OS的引入與發(fā)展,以及推動(dòng)發(fā)展的主要?jiǎng)恿Γ?.2.1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1 .人工操作方式1946-50年代中:電子管時(shí)代(第一代計(jì)算機(jī)),計(jì)算機(jī)速度慢,無操作系統(tǒng),計(jì)算機(jī) 資源昂貴;工作方式:用戶:既是程序員又是操作員;用戶是計(jì)算機(jī)專業(yè)人員;編程語言:機(jī)器語言;輸入輸出:紙帶或卡片;計(jì)算機(jī)的工作特點(diǎn):用戶獨(dú)占全機(jī),資源利用率極低;CPU等待用戶,計(jì)算前,手工裝入紙帶或卡片;計(jì)算完成后,手工卸取紙帶或卡片;CPUJ用率低;主要矛盾:人機(jī)矛盾-人工操作嚴(yán)重降低了計(jì)算機(jī)資源的利用率 提高效率的途徑:脫機(jī)輸入 /輸出技術(shù)。2 .脫機(jī)輸入/輸出(Of-Line I/O) 方式:脫機(jī)輸
8、入方式是指在一臺 外圍機(jī)(它是一臺專門用來管理 I/O的、功能較簡單的計(jì) 算機(jī))的控制下,預(yù)先將程序和數(shù)據(jù)從低速輸入設(shè)備到磁帶,當(dāng)CPU要這些程序和數(shù)據(jù)時(shí),再從磁帶高速地讀入存。類似地,脫機(jī)輸出方式是指當(dāng)CPU要輸出時(shí),先高速地將數(shù)據(jù)寫入磁帶,然后在一臺外圍機(jī)的控制下,通過低速輸出設(shè)備進(jìn)行輸出。相反,在主機(jī)的直接控制下進(jìn)行的 I/O方式被稱為聯(lián)機(jī)I/O方式。脫機(jī)I/O方式的主要優(yōu)點(diǎn):減少了 CPU的空閑時(shí)間、提高I/O速度(緩和了人機(jī)矛盾)1.2.2 單道批處理系統(tǒng)(Simple Batch Processing System)1 .單道批處理系統(tǒng)處理過程晶體管時(shí)代(第二代計(jì)算機(jī))自動(dòng)性:無需
9、人工干預(yù)。順序性:作業(yè)完成的順序與它們進(jìn)入存的順序以及作業(yè)在磁帶上的順序一致。單道性:存中僅能存放一道作業(yè)。不足:無法充分利用系統(tǒng)中的所有的資源2 .2.3 多道批處理系統(tǒng)3 .多道程序設(shè)計(jì)技術(shù)是指在存中同時(shí)存放若干個(gè)作業(yè),使它們共享系統(tǒng)資源并同時(shí)運(yùn)行的技術(shù)。在單處理機(jī)環(huán)境下,這些作業(yè)僅在宏觀上同時(shí)運(yùn)行,而在微觀上交替執(zhí)行。4 .多道批處理系統(tǒng)采用多道程序設(shè)計(jì)技術(shù)的批處理系統(tǒng)被稱作多道批處理系統(tǒng)。多道批處理系統(tǒng)中必須配置一組軟件(調(diào)度程序),來解決多道程序?qū)ο到y(tǒng)資源的共享和爭用問題,并對作業(yè)進(jìn)行合理的組織和調(diào)度。外存(后備隊(duì)列)一一 作業(yè)調(diào)度一一 存(共享CPlffi系統(tǒng)中的各種資源)就形成了
10、現(xiàn)代意義上的 OS5 .具有的主要特征:(與單道批處理的特征對比)多道性:存中可同時(shí)存放多個(gè)作業(yè)調(diào)度性:(作業(yè)調(diào)度、進(jìn)程調(diào)度)需通過作業(yè)調(diào)度從外存中選取若干個(gè)作業(yè)裝入存,還需通過進(jìn)程調(diào)度在存的多個(gè)作業(yè)中分配CPU無序性:作業(yè)調(diào)度的次序與作業(yè)在外存中次序無關(guān),作業(yè)完成的次序與作業(yè)進(jìn)入存的次序也無關(guān)。6 .多道批處理系統(tǒng)需解決的問題(1)多道程序?qū)?OS的基本要求存儲管理-系統(tǒng)必須為若干作業(yè)分派空間CP則度-系統(tǒng)必須在就緒作業(yè)中選擇準(zhǔn)備運(yùn)行.設(shè)備分配一既方便用戶使用,又能提高設(shè)備利用率(2)多道批處理系統(tǒng)需解決的問題:處理機(jī)管理問題、存管理問題、設(shè)備管理問題、文件管理問題、作業(yè)管理問題7 .優(yōu)缺點(diǎn)
11、:優(yōu)點(diǎn):資源利用率高一一 CPU存利用率較高;系統(tǒng)吞吐量大一一(單位時(shí)間所完成的總工作量)缺點(diǎn):平均周轉(zhuǎn)時(shí)間長一一(從作業(yè)進(jìn)入系統(tǒng)開始,直至其完成并退出系統(tǒng)為止所經(jīng)歷的時(shí)間),短作業(yè)的周轉(zhuǎn)時(shí)間顯著增長無交互能力一一整個(gè)作業(yè)完成后或中間出錯(cuò)時(shí),才與用戶交互,不利于調(diào)試和修改;1.2.4 分時(shí)系統(tǒng)1.分時(shí)系統(tǒng)的產(chǎn)生引入:為了解決批處理系統(tǒng)無法進(jìn)行人機(jī)交互的問題,并使多個(gè)用戶(包括遠(yuǎn)程用戶)能同時(shí)使用昂貴的主機(jī)資源,又引入了分時(shí)系統(tǒng)。分時(shí)系統(tǒng):是指在一臺主機(jī)上連接了多個(gè)帶有顯示器和鍵盤的終端,同時(shí)允許多個(gè)用w戶通過自己的終端,以交互方式使用計(jì)算機(jī),共享主機(jī)中的資源。2.分時(shí)系統(tǒng)的設(shè)計(jì)思想(1)采用了
12、分時(shí)技術(shù):既把處理機(jī)的時(shí)間劃分成很短的時(shí)間片( eg,幾百毫秒),輪流地分配給各個(gè)終端作業(yè)使用。(若在分配給它的時(shí)間片,作業(yè)仍沒執(zhí)行完,它也必須將CPU給下一個(gè)作業(yè)使用,并等下一輪得到CPU寸再繼續(xù)執(zhí)行)(2)設(shè)計(jì)目標(biāo):系統(tǒng)能及時(shí)響應(yīng)用戶的終端命令(3)實(shí)現(xiàn)中的最關(guān)鍵問題: 使用戶能與自己的作業(yè)進(jìn)行交互。(及時(shí)接收、及時(shí)處理)響應(yīng)時(shí)間RT(response time):從鍵盤命令進(jìn)入(按下回車鍵為準(zhǔn))到開始在終端上顯示應(yīng)答的時(shí)間間隔.。在分時(shí)系統(tǒng)中,響應(yīng)時(shí)間時(shí)間片x用戶數(shù) .改變批處理系統(tǒng)的運(yùn)行方式:作業(yè)直接進(jìn)入存系統(tǒng)采用時(shí)間片輪轉(zhuǎn)方式處理服務(wù)請求4.分時(shí)系統(tǒng)的特征多路性:多個(gè)用戶同時(shí)使用一臺
13、計(jì)算機(jī),共享CPU其他資源,充分利用系統(tǒng)資源。宏觀上:是多個(gè)人同時(shí)使用一個(gè)CPU微觀上:多個(gè)人在不同時(shí)刻輪流使用CPU獨(dú)立性:用戶感覺不到計(jì)算機(jī)為其他人服務(wù),各用戶獨(dú)立操作,互不干擾。及時(shí)性:通過時(shí)間片技術(shù)和輪轉(zhuǎn)調(diào)度算法保證及時(shí)響應(yīng)。(指用戶能在很短的時(shí)間獲得系統(tǒng)的響應(yīng),是以人們所能接受的等待時(shí)間決定的,一般為 23秒)交互性:能進(jìn)行廣泛的人機(jī)交分時(shí)系統(tǒng)的關(guān)鍵問題是使用戶能與自己的作業(yè)進(jìn)行交互,或者說它追求的主要目標(biāo)是系統(tǒng)能及時(shí)響應(yīng)用戶的終端命令。1.2.5 實(shí)時(shí)系統(tǒng)(實(shí)時(shí):及時(shí)響應(yīng)并快速處理?。┮耄河捎谇皫追N操作系統(tǒng)都不能很好的滿足在實(shí)時(shí)控制和實(shí)時(shí)信息處理領(lǐng)域的需要1 .實(shí)時(shí)系統(tǒng)及其類型(
14、1)實(shí)時(shí)系統(tǒng)是指系統(tǒng)能及時(shí) (或即時(shí))響應(yīng)外部事件的請求,在規(guī)定的時(shí)間完成對 該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。(2)可分成兩大類:實(shí)時(shí)控制系統(tǒng):通常使指以計(jì)算機(jī)為中心的生產(chǎn)過程控制系統(tǒng)和武器控制系統(tǒng)。這類 系統(tǒng)要時(shí)采集現(xiàn)場數(shù)據(jù),并對數(shù)據(jù)進(jìn)行及時(shí)處理,進(jìn)而自動(dòng)地控制相應(yīng)的執(zhí)行機(jī)構(gòu)。 如工業(yè)自動(dòng)控制、火炮自動(dòng)控制、飛機(jī)自動(dòng)駕駛、導(dǎo)彈制導(dǎo)等。實(shí)時(shí)信息處理系統(tǒng):通常使指對信息進(jìn)行實(shí)時(shí)處理的系統(tǒng)。這類系統(tǒng)要求及時(shí)接受從 終端(包括遠(yuǎn)程終端)發(fā)來的服務(wù)請求,按請求的容對信息進(jìn)行檢索和處理,并在很 短的時(shí)間為用戶做出正確的回答。如飛機(jī)訂票、情報(bào)檢索等。2 .實(shí)時(shí)任務(wù)的類型(1)按任務(wù)執(zhí)行時(shí)是
15、否呈現(xiàn)周期性來劃分周期性實(shí)時(shí)任務(wù)非周期性實(shí)時(shí)任務(wù)一一截止時(shí)間開始截止時(shí)間:某任務(wù)在某時(shí)間以前必須開始執(zhí)行完成截止時(shí)間:某任務(wù)在某時(shí)間以前必須完成(2)根據(jù)對截止時(shí)間的要求來劃分(與截止時(shí)間聯(lián)系的是否嚴(yán)格)硬實(shí)時(shí)任務(wù)軟實(shí)時(shí)任務(wù)w3.三種基本操作系統(tǒng)的比較:多路性獨(dú)立性及時(shí)性交互性可靠性批處理系統(tǒng)無無差差分時(shí)系統(tǒng)多終端服務(wù)有好好可靠實(shí)時(shí)系統(tǒng)多路采集、多路控制有最好高度 可靠補(bǔ)充:推動(dòng)批處理系統(tǒng)的形成與發(fā)展的主要?jiǎng)恿Γ禾岣呦到y(tǒng)資源利用率;推動(dòng)分時(shí)系統(tǒng)形成與發(fā)展的動(dòng)力室方便是用戶;推動(dòng)OS發(fā)展的主要?jiǎng)恿Γ河?jì)算機(jī)硬件的不斷更新?lián)Q代1.2.6 微機(jī)OS的發(fā)展1 .單用戶單任務(wù) OS只允許用戶程序作為一個(gè)任
16、務(wù)運(yùn)行eg. CP/M 、MS-DOS2 .單用戶多任務(wù)OS允許用戶把程序分為若干個(gè)任務(wù),使它們并發(fā)執(zhí)行eg.MS-Wndows3 .多用戶多任務(wù) OS :允許多個(gè)用戶通過各自的終端使用一臺機(jī)器。eg. UNIX、LINUX教課小結(jié):1、了解操作系統(tǒng)的目標(biāo),理解操作系統(tǒng)的作用,了解推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?2、了解無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)和單道批處理系統(tǒng)。理解多道批處理系統(tǒng)、分時(shí)系 統(tǒng)和實(shí)時(shí)系統(tǒng)的特征和優(yōu)缺點(diǎn)。預(yù)習(xí)要求:作業(yè)布置:1 、作業(yè):2、補(bǔ)充習(xí)題:(若沒有可以刪去)推茬參考書目、及閱讀材料:(若沒有可以刪去)實(shí)驗(yàn)一:LINUX入門w第3講(第3周)(注:線右側(cè)寫教學(xué)方法、實(shí)驗(yàn)演示、新增
17、補(bǔ)容、重要標(biāo)注、時(shí)間分配等)教學(xué)章節(jié):1.3 操作系統(tǒng)的特征1.4 操作系統(tǒng)的主要功能1.5 操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)教學(xué)目的及要求:1 .掌握操作系統(tǒng)的功能和特征。2 . 了解分層式結(jié)構(gòu)和微核結(jié)構(gòu)。重點(diǎn)、難點(diǎn):(注:重點(diǎn)和難點(diǎn)如果一致,則寫在一起,若不同則應(yīng)分開寫)OS的基本特征和功能。教學(xué)容:板書設(shè)計(jì)見PPT (注:容每節(jié)課1-2頁為宜)復(fù)習(xí)引入:上節(jié)課學(xué)習(xí)了 OS的引論,介紹了 OS的發(fā)展過程,其中主要功能小節(jié)也是對本書的簡 要的概括,需要同學(xué)們掌握。OS是系統(tǒng)軟件,對于這種大型的軟件, 在開發(fā)的過程中, 其軟件的結(jié)構(gòu)設(shè)計(jì)是怎么樣的發(fā)展過程,下面就來學(xué)習(xí):新課講授:3 .3 操作系統(tǒng)的特征采用
18、多道程序設(shè)計(jì)技術(shù)的現(xiàn)代操作系統(tǒng)具有如下四個(gè)基本特征:并發(fā)、共享、虛擬、 異步。其中并發(fā)和共享是 OS的兩個(gè)最基本的特征。1 .并發(fā)并行性:兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生并發(fā)性:兩個(gè)或多個(gè)事件在同一時(shí)間間隔發(fā)生在多道程序系統(tǒng)(單處理器)中,宏觀上并行,微觀上串行(交替執(zhí)行)程序(靜態(tài)實(shí)體)不能并發(fā)執(zhí)行,為使多個(gè)程序并發(fā)執(zhí)行,引入進(jìn)程。進(jìn)程一一在系統(tǒng)中能獨(dú)立運(yùn)行并作為資源分配的基本單位,(是活動(dòng)實(shí)體)?,F(xiàn)代OS中還引入一個(gè)比進(jìn)程更小的單位一一線程,此時(shí),一個(gè)進(jìn)程中可包含若干個(gè)線程,資 源分配的基本單位雖仍然是進(jìn)程,但獨(dú)立運(yùn)行、獨(dú)立調(diào)度和分配處理機(jī)的基本單位卻 是線程。2 日章在操作系統(tǒng)環(huán)境下,所謂共
19、享是指系統(tǒng)中的資源可供存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用 共享方式:互斥共享方式:資源分配后到釋放前,不能被其他進(jìn)程所用,如打印機(jī)、變量、隊(duì)列 等。臨界資源(獨(dú)占資源):一段時(shí)間只允許一個(gè)進(jìn)程訪問的資源同時(shí)訪問方式:在同一段時(shí)間可以被多個(gè)作業(yè)同時(shí)訪問。如可重入代碼,磁盤文件。宏觀并行微觀串行。并發(fā)和共享是OS的兩個(gè)最基本的特征,又互為存在的條件。3 .虛擬(是以并發(fā)和資源共享為前提)虛擬一一通過某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對應(yīng)物。虛擬是操作系統(tǒng)管理系統(tǒng)資源的重要手段,可提高資源利用率。用于實(shí)現(xiàn)虛擬的技術(shù),稱為虛擬技術(shù)時(shí)分復(fù)用技術(shù):虛擬處理機(jī)、虛擬設(shè)備技術(shù)(分時(shí)使用方式)空分復(fù)用
20、技術(shù):虛擬存、虛擬磁盤技術(shù)4 .異步性(是并發(fā)與共享的必然結(jié)果)指進(jìn)程的執(zhí)行順序和執(zhí)行時(shí)間的不確定性;指進(jìn)程以人們不可預(yù)知的速度向前推進(jìn)。進(jìn)程的運(yùn)行速度不可預(yù)知:多個(gè)進(jìn)程并發(fā)執(zhí)行,“時(shí)走時(shí)?!?,不可預(yù)知每個(gè)進(jìn)程的 運(yùn)行推進(jìn)快慢;無論快慢,結(jié)果應(yīng)該相同。通過進(jìn)程互斥和同步手段來保證;1.4 操作系統(tǒng)的主要功能包括:處理機(jī)管理功能、存儲器管理功能、設(shè)備管理功能、文件管理功能、用戶接口1.4.1 處理機(jī)管理功能主要是對處理機(jī)的分配和運(yùn)行進(jìn)行管理。(創(chuàng)建和撤銷進(jìn)程(線程),對諸進(jìn)程(線程)的運(yùn)行進(jìn)行協(xié)調(diào),實(shí)現(xiàn)進(jìn)程 (線程)之間的信息交換,以及按照一定的算法把處理機(jī)分配給進(jìn)程(線程)。)主要功能包括:進(jìn)
21、程控制:為作業(yè)創(chuàng)建進(jìn)程、撤銷已結(jié)束的進(jìn)程,以及控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換進(jìn)程同步:為多個(gè)進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào)(協(xié)調(diào)方式:互斥和同步)進(jìn)程通信:用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換;調(diào)度:作業(yè)和進(jìn)程的狀態(tài)切換,包括作業(yè)調(diào)度和進(jìn)程調(diào)度1.4.2 存儲器管理功能存儲器管理為多道程序的運(yùn)行提供良好的環(huán)境,方便用戶使用存儲器,提高存儲器的利用率以及能從邏輯上擴(kuò)充存存儲器管理功能有:存分配:為每道程序分配存空間,提高存儲器的利用率,允許正在運(yùn)行的程序申請附加的存空間;存儲保護(hù):確保每道用戶程序都只在自己的存空間中運(yùn)行,彼此互不干擾;地址映射(變換):進(jìn)程的邏輯地址到存物理地址的映射。存擴(kuò)充:
22、用虛擬存儲技術(shù)解決存容量不足的問題;請求調(diào)入功能頁面置換功能1.4.3 設(shè)備管理功能設(shè)備管理的主要任務(wù):完成用戶進(jìn)程提出的I/O請求,為用戶進(jìn)程分配其所需的I/O設(shè)備,提高CPU和I/O設(shè)備的利用率,提高I/O速度,方便用戶使用I/O設(shè)備。設(shè)備管理的功能有:緩沖管理:匹配 CPU外設(shè)的速度,提高兩者的利用率和并行操作程度;設(shè)備分配:根據(jù)用戶進(jìn)程的I/O請求、系統(tǒng)的現(xiàn)有資源情況以及按照某種設(shè)備分配策略,為之分配其所需的設(shè)備 ;設(shè)備處理:設(shè)備驅(qū)動(dòng)程序用于實(shí)現(xiàn)CPlffi設(shè)備控制器之間的通信。設(shè)備獨(dú)立性和虛擬設(shè)備:1.4.4 文件管理功能文件系統(tǒng)管理的主要任務(wù):對用戶文件和系統(tǒng)文件進(jìn)行管理,以方便用
23、戶使用,并保 證文件的安全性。文件管理的功能有:文件存儲空間的管理:為每個(gè)文件分配必要的外存空間,提高外存的利用率,并能有助于提高文件系統(tǒng)的運(yùn)行速度 ;解決如何存放信息的問題目錄管理:為每個(gè)文件建立其目錄項(xiàng),并對眾多的目錄項(xiàng)加以有效組織,實(shí)現(xiàn)方便的按名存取,能實(shí)現(xiàn)文件共享,提供快速的目錄查詢手段。(通過目錄方式來組織文件,以實(shí)現(xiàn)文件的按名存?。┙鉀Q信息檢索問題文件的讀/寫管理和保護(hù):實(shí)現(xiàn)文件的讀寫操作,并提供有效的存取控制功能,保護(hù)文件的安全性。一一解決信息安全問題。1.4.5 OS 與用戶之間的接口1 .用戶接口 (提供給用戶使用)(1)命令接口:用戶可通過該接口向作業(yè)發(fā)出命令以控制作業(yè)的運(yùn)
24、行。聯(lián)機(jī)用戶接口:由一組鍵盤操作命令和命令解釋程序組成脫機(jī)用戶接口:由一組作業(yè)控制語言 JCL組成(2)圖形接口:2 .程序接口 (提供給程序員在編程時(shí)使用)為用戶程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置,由一組系統(tǒng)調(diào)用組成。3 .5操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)操作系統(tǒng)的結(jié)構(gòu):整體式(無)結(jié)構(gòu)、模塊化結(jié)構(gòu)、層次式結(jié)構(gòu)、微核結(jié)構(gòu)1、整體式OS結(jié)構(gòu)整體式系統(tǒng)是早期操作系統(tǒng)和一些較小的操作系統(tǒng)所采用的一種結(jié)構(gòu)模型。整個(gè)系統(tǒng)是一堆過程的集合,每個(gè)過程都可以隨便調(diào)用任意其它過程。采用這種結(jié)構(gòu)的操作系 統(tǒng)不僅調(diào)試和維護(hù)不方便,而且其可讀性和可擴(kuò)充性都較差。2、模塊化OS結(jié)構(gòu)(關(guān)鍵問題:模塊的劃分和規(guī)定好模塊之間的接口)模塊化
25、程序設(shè)計(jì)技術(shù), 是基于“分解”和“模塊化”原則來控制大型軟件的復(fù)雜度的。將OS按其功能劃分為若干個(gè)具有一定獨(dú)立性和大小的模塊。并規(guī)定好各模塊間的接 口,各模塊之間能通過該接口實(shí)現(xiàn)交互。衡量模塊獨(dú)立性的兩個(gè)標(biāo)準(zhǔn):聚性和耦合 度。模塊化。面構(gòu)優(yōu)缺點(diǎn)優(yōu)點(diǎn):提高設(shè)計(jì)的正確性、可理解性和可維護(hù)性增強(qiáng)可適應(yīng)性;加速開發(fā)過程缺點(diǎn):模塊的劃分和接口的規(guī)定較困難模塊間還存在著復(fù)雜的依賴關(guān)系,是os結(jié)構(gòu)變得不夠清晰。(在模塊化結(jié)構(gòu)設(shè)計(jì)中,各模塊的設(shè)計(jì)齊頭并進(jìn),無法尋找到一個(gè)可靠的決定順序,造成各種決定的“無序性”)3、層次式結(jié)構(gòu)為了將模塊化中的“決定順序”無序性變?yōu)橛行蛐?,引入了有序分層法,常采用自底向上法來鋪設(shè)
26、這些中間層。層次式結(jié)構(gòu)是對模塊化結(jié)構(gòu)的一種改進(jìn)。將一個(gè)操作系統(tǒng)分為若干個(gè)層次,每層又由若干個(gè)模塊組成,各層之間只存在著單向的依賴關(guān)系,即高層僅依賴于緊鄰它的底層。層次結(jié)構(gòu)的優(yōu)點(diǎn):正確性有保證、便于系統(tǒng)維護(hù)、擴(kuò)充層次結(jié)構(gòu)的缺點(diǎn):模塊間需要通信機(jī)制、系統(tǒng)開銷大、效率低在OS結(jié)構(gòu)中,分層式結(jié)構(gòu)是最為成熟的一種OS結(jié)構(gòu),而20世紀(jì)90年代興起的微核結(jié)構(gòu)是最具有發(fā)展前途的 OS結(jié)構(gòu)。補(bǔ)充:分層式結(jié)構(gòu)與模塊式結(jié)構(gòu)的主要區(qū)別在于:分層結(jié)構(gòu)中各模塊之間有序的。分層式結(jié)構(gòu)將各個(gè)功能模塊按它們的功能流圖的調(diào)用次序安排成若干層, 各層之間的模塊不能像模塊式結(jié)構(gòu)那樣通過接口毫無規(guī)則地相互 依賴、相互調(diào)用,而只能是單向
27、調(diào)用,即每層中的模塊只能使用較低層模塊提供的功 能和服務(wù)。因此在分層結(jié)構(gòu)中,模塊間的組織結(jié)構(gòu)和依賴關(guān)系更加清晰,這不僅增加 系統(tǒng)的可讀性,同時(shí)還使每一層建立在可靠的基礎(chǔ)上,從而提高系統(tǒng)的可靠性。4、微核OS結(jié)構(gòu)微核結(jié)構(gòu)是指將C/S技術(shù)、面向?qū)ο蠹夹g(shù)用于基于微核技術(shù)的OS中所形成的結(jié)構(gòu)。微核的主要思想是:在操作系統(tǒng)核中只留下一些最基本的功能,而將其他服務(wù)盡可能 地從核中分離出去。核的基本組成:中斷處理、進(jìn)程調(diào)度、同步機(jī)制用若干個(gè)運(yùn)行在用戶態(tài)下的進(jìn)程(即服務(wù)器進(jìn)程)來實(shí)現(xiàn),形成所謂的“客戶/服務(wù)器”模式。普通用戶進(jìn)程(即客戶進(jìn)程)可通過核向服務(wù)器進(jìn)程發(fā)送請求,以取得操 作系統(tǒng)的服務(wù)。C/S技術(shù)把O
28、S分為兩個(gè)部分:一部分是用于提供各種服務(wù)的服務(wù)器另一部分是用于實(shí)現(xiàn) os最基本功能的核,其全部工作是處理C與S之間通信。優(yōu)點(diǎn):易于擴(kuò)充,易于移植、提高系統(tǒng)的可靠性、提供多種操作環(huán)境、適宜于分布計(jì)算模式、有助于多處理器系統(tǒng)的實(shí)現(xiàn)、支持實(shí)時(shí)任務(wù)缺點(diǎn):消息傳遞方式增加開銷,使響應(yīng)變慢幾個(gè)商品化系統(tǒng): Windows NT,NextStep XINU,OSF/1 1.3,Workspace OS,Chorus/Mix V.4 , ac G3, QNX,CTOS舉例:微核的開放式系統(tǒng)環(huán)境、一個(gè)分布式系統(tǒng)中的客戶服務(wù)器模型在現(xiàn)代OS的設(shè)計(jì)中,常常還融入面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)。面向?qū)ο蠹夹g(shù),該技術(shù)是基于“抽
29、象”和“隱蔽”原則來控制OS的復(fù)雜度。它利用被封裝的數(shù)據(jù)結(jié)構(gòu)和一組對數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的過程來表示系統(tǒng)中的某個(gè)資源,這樣,可使資源的管理因一 致而簡化。當(dāng)前廣泛使用的 Windows2000操作系統(tǒng),就采用了微核的結(jié)構(gòu),同時(shí)還融 入了面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)。具有面向?qū)ο蟮奶攸c(diǎn):封裝性、繼承性、多態(tài)性微核的基本功能:通常都是一些最基本的功能,如進(jìn)程管理、存儲器管理、進(jìn)程間通w信、低級I/O功能。教課小結(jié):預(yù)習(xí)要求:作業(yè)布置:第4講(第4周)(注:線右側(cè)寫教學(xué)方法、實(shí)驗(yàn)演示、新增補(bǔ)容、重要標(biāo)注、時(shí)間分配等 )教學(xué)章節(jié):第2章進(jìn)程管理2.1 進(jìn)程的基本概念2.1.1 程序的順序執(zhí)行及其特征2.1.2
30、前趨圖2.1.3 程序的并發(fā)執(zhí)行及其特征2.1.4 進(jìn)程的特征與狀態(tài)2.1.5 進(jìn)程控制塊教學(xué)目的及要求:學(xué)習(xí)目的是使學(xué)生建立起進(jìn)程的概念。進(jìn)程是OS中最重要的基本概念,本章是全書中最重要的一章。要求掌握進(jìn)程的基本概念,重點(diǎn)、難點(diǎn):(注:重點(diǎn)和難點(diǎn)如果一致,則寫在一起,若不同則應(yīng)分開寫)進(jìn)程的引入、特征、基本狀態(tài)、進(jìn)程控制塊教學(xué)容:板書設(shè)計(jì)見PPT (注:容每節(jié)課1-2頁為宜)復(fù)習(xí)引入:通過第一章的學(xué)習(xí),對操作系統(tǒng)有了整體上的認(rèn)識,以后的章節(jié)就是對各個(gè)部分的功 能加以詳細(xì)的論述。新課講授:第2章進(jìn)程管理思考問題:為什么要引入進(jìn)程進(jìn)程具有哪些基本特征進(jìn)程具有哪些基本狀態(tài)進(jìn)程控制塊的作用和容2.1
31、 進(jìn)程的基本概念引入進(jìn)程的目的是為了使多個(gè)程序能并發(fā)執(zhí)行。2.1.1 程序的順序執(zhí)行及其特征1 .程序的順序執(zhí)行程序的順序執(zhí)行是指若干個(gè)程序或程序段之間必須嚴(yán)格按照某種先后次序來執(zhí)行,僅當(dāng)前一程序或程序段執(zhí)行完后,才能執(zhí)行后面的程序或程序段。例:每個(gè)程序有三個(gè)順序執(zhí)行的操作一一I :輸入操作、C:計(jì)算操作、P:輸出操作2 .程序順序執(zhí)行時(shí)的特征順序性處理機(jī)的操作嚴(yán)格按照程序所規(guī)定的順序執(zhí)行。(2)封閉性程序一旦開始執(zhí)行,其計(jì)算結(jié)果不受外界因素的影響。即程序運(yùn)行時(shí)獨(dú)占全機(jī)資源,資源的狀態(tài)(除初始)只有本程序才能改變它。可再現(xiàn)性程序執(zhí)行的結(jié)果與它的執(zhí)行速度無關(guān)(即與時(shí)間無關(guān)),而只與初始條件有關(guān)。
32、2.1.2 前趨圖為了描述一個(gè)程序的各部分(程序段、語句)間的依賴關(guān)系,或是一個(gè)大的計(jì)算的各子任務(wù)間的因果關(guān)系,采用前驅(qū)圖方式。前趨圖是一個(gè)有向無循環(huán)圖(DAG),用于描述程序段或進(jìn)程之間執(zhí)行的先后次序關(guān)系。結(jié) 點(diǎn):描述一個(gè)程序段或進(jìn)程,或一條語句。有 向邊:結(jié)點(diǎn)之間的偏序或前趨關(guān)系“”=( P i,P)|在P開始前P必須完成,若(Pi,P) C ,可寫成PiPjP i P : R必須在Pj開始之前完成則P i是R的直接前趨,Pj是P的直接后繼初始結(jié)點(diǎn):沒有前趨的結(jié)點(diǎn)終止結(jié)點(diǎn):沒有后繼的結(jié)點(diǎn)例:具有九個(gè)結(jié)點(diǎn)的前驅(qū)圖:前趨關(guān)系:P1 P2, P1 P3, P1 P4, P2 P5, P3 P5,
33、 P4 P6, P4 P7, P5 P8, P6 P8, P7 P9, P8 P9注意:前趨圖中絕對不能出現(xiàn)循環(huán)2.1.3 程序的并發(fā)執(zhí)行及其特征(1) 序的并發(fā)執(zhí)行例:在系統(tǒng)中有n個(gè)作業(yè),每個(gè)作業(yè)都有三個(gè)處理步驟,輸入數(shù)據(jù)、處理、輸出,即 Ii,Ci,Pi (i=1,2,3,.,n)。w這些作業(yè)在系統(tǒng)中執(zhí)行時(shí)是對時(shí)間的偏序,有些操作必須在其它操作之前執(zhí)行,這是有序的,但有些操作是可以同時(shí)執(zhí)行的。2.程序并發(fā)執(zhí)行時(shí)的特征 間斷性在多道程序設(shè)計(jì)的環(huán)境下,程序是并發(fā)執(zhí)行的,它們?yōu)橥瓿梢豁?xiàng)任務(wù)而相互合作,這些程序之間要共享系統(tǒng)的資源,形成了相互制約的關(guān)系。相互制約導(dǎo)致并發(fā)程序具有“執(zhí)行一一暫停一一執(zhí)
34、行”這種間斷性的活動(dòng)規(guī)律。(2) 失去封閉性程序在并發(fā)執(zhí)行時(shí),多道程序共享系統(tǒng)的資源,因而這些資源的狀態(tài)由多道程序來改變,程序運(yùn)行失去封閉性。一程序的運(yùn)行受到其他程序的影響。(3) 不可再現(xiàn)性程序在并發(fā)執(zhí)行時(shí),失去封閉性導(dǎo)致其失去可再現(xiàn)性。重復(fù)執(zhí)行時(shí),雖執(zhí)行環(huán)境和初始條件相同,但結(jié)果卻不同。(加入實(shí)例)2.1.4 進(jìn)程的特征與狀態(tài)在計(jì)算機(jī)中,程序的并發(fā)執(zhí)行具有不可再現(xiàn)性。那么,如何使程序既能并發(fā)執(zhí)行,又 具有可再現(xiàn)性呢?這就必須引入進(jìn)程的概念,也就是說,引入進(jìn)程的目的是為了使程 序能夠正確地并發(fā)執(zhí)行。(為什么進(jìn)程實(shí)體卻能與其他進(jìn)程并發(fā)執(zhí)行?)1進(jìn)程的特征與定義(1)進(jìn)程的特征結(jié)構(gòu)性、動(dòng)態(tài)性、并
35、發(fā)性、獨(dú)立性、異步性結(jié)構(gòu)性進(jìn)程控制塊(PCB)+程序段+相關(guān)的數(shù)據(jù)段=進(jìn)程實(shí)體。動(dòng)態(tài)性一一進(jìn)程是程序在處理機(jī)上的一次執(zhí)行過程。具有生命期,它必須由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡。是進(jìn)程的一個(gè)最基本的特征。并發(fā)性一一多個(gè)進(jìn)程實(shí)體同存于存中,在一段時(shí)間同時(shí)運(yùn)行。以提高資源利用率。只有為程序創(chuàng)建進(jìn)程后,多個(gè)程序才能正確地并發(fā)運(yùn)行。并發(fā)是引入進(jìn)程的目的,也是進(jìn)程的另一個(gè)最基本的特征。獨(dú)立性一一進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行、獨(dú)立分配資源和獨(dú)立接受調(diào)度的基本單 位,而程序則不是。異步性一一進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)。(2) 進(jìn)程(Process )的定義進(jìn)程是程序的一次執(zhí)行。進(jìn)程是一個(gè)程
36、序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)。進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。進(jìn)程的定義:進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。(3)進(jìn)程與程序的區(qū)別進(jìn)程是動(dòng)態(tài)的,程序是靜態(tài)的進(jìn)程是暫時(shí)的,程序是永久的進(jìn)程與程序的組成不同:w進(jìn)程包括程序、數(shù)據(jù)和進(jìn)程控制塊(即進(jìn)程狀態(tài)信息) 進(jìn)程與程序的對應(yīng)關(guān)系: 不是一一對應(yīng)。通過多次執(zhí)行,一個(gè)程序可對應(yīng)多個(gè)進(jìn)程;通過調(diào)用關(guān)系,一個(gè)進(jìn)程可 包括多個(gè)程序。2 .進(jìn)程的三種基本狀態(tài)就緒狀態(tài)(Ready):進(jìn)程已獲得了除 CPU之外的所有資源,處于就緒態(tài)的進(jìn)程有多個(gè), 它們存放在就緒隊(duì)列中。
37、執(zhí)行狀態(tài)(Running):已獲得CPU的進(jìn)程進(jìn)入執(zhí)行狀態(tài)。阻塞狀態(tài)(Blocked):進(jìn)程因發(fā)生某個(gè)事件(如請求I/O、申請緩沖空間)而暫停執(zhí)行的狀態(tài)。即進(jìn)程的執(zhí)行受到阻塞進(jìn)程的三種基本狀態(tài)以及各狀態(tài)之間的轉(zhuǎn)換關(guān)系對單個(gè)進(jìn)程而言,任何時(shí)刻,它只能處于三種基本 狀態(tài)之一,而隨著進(jìn)程自身的推進(jìn)和外界環(huán)境條件的變 化,它的狀態(tài)可以動(dòng)態(tài)地轉(zhuǎn)換:處于就緒狀態(tài)地進(jìn)程,通 過進(jìn)程調(diào)度獲得 CPU后,便從就緒狀態(tài)轉(zhuǎn)換成執(zhí)行狀態(tài); 分時(shí)系統(tǒng)中,正在執(zhí)行地進(jìn)程由于時(shí)間片用完而暫停執(zhí)行 時(shí),便從執(zhí)行狀態(tài)轉(zhuǎn)換成就緒狀態(tài);正在執(zhí)行地程序,由 于等待某種事件地完成而無法繼續(xù)執(zhí)行時(shí),便從執(zhí)行狀態(tài)轉(zhuǎn)換成阻塞狀態(tài);阻塞地進(jìn)程
38、所等待的事件完成后,便轉(zhuǎn)為就緒狀態(tài)。對整個(gè)系統(tǒng)而言,每個(gè)時(shí)刻允許同時(shí)有多個(gè)處于就緒和阻塞的進(jìn)程,但對執(zhí)行狀態(tài)的進(jìn)程,每個(gè)處理機(jī)最多只允許有一個(gè)。3 .掛起狀態(tài)“掛起”的實(shí)質(zhì)是使進(jìn)程不能繼續(xù)執(zhí)行,即使掛起后的進(jìn)程處于就緒狀態(tài),它也不能參 與對CPU的競爭。因此,被掛起的進(jìn)程處于靜止?fàn)顟B(tài),相反,沒被掛起的進(jìn)程則處于活 動(dòng)狀態(tài)。而且,處于靜止?fàn)顟B(tài)的進(jìn)程只有通過“激活”動(dòng)作,才能轉(zhuǎn)換成活動(dòng)狀態(tài)。引起掛起狀態(tài)的原因:終端用戶的請求、父進(jìn)程請求、負(fù)荷調(diào)節(jié)的需要、操作系統(tǒng)的聿亞“掛起”常被用在進(jìn)程對換中,此時(shí),掛起(即換出)進(jìn)程可以騰出存空間給就緒進(jìn)程 使用;“掛起”還可用在其他場合,如用來調(diào)節(jié)系統(tǒng)的負(fù)荷、
39、方便用戶考查自己的運(yùn)行 進(jìn)程或父進(jìn)程考查子進(jìn)程、方便操作系統(tǒng)檢查運(yùn)行中的資源使用情況或進(jìn)行記帳等。4 2) 進(jìn)程狀態(tài)的轉(zhuǎn)換活動(dòng)就緒靜止就緒(掛起、激活)活動(dòng)阻塞靜止阻塞(掛起、激活)執(zhí)行 靜止就緒(掛起)4.創(chuàng)建和終止?fàn)顟B(tài)(1)創(chuàng)建狀態(tài)創(chuàng)建PCB填寫必要的管理信息轉(zhuǎn)入就緒狀態(tài)并插入就緒隊(duì)列中一般而言,此時(shí)的進(jìn)程已擁有了自己的PCB,但進(jìn)程自身還未進(jìn)入主存,即創(chuàng)建工作尚未完成,進(jìn)程還不能被調(diào)度運(yùn)行,其所處的狀態(tài)就是創(chuàng)建狀態(tài)。(2)終止?fàn)顟B(tài)等待OS進(jìn)行善后處理 將其PCB青零,并將PCB空間返還系統(tǒng)。進(jìn)入終止態(tài)的進(jìn)程以后不能再執(zhí)行,但在OS中依然保留一個(gè)記錄供其他進(jìn)程收集,旦其他進(jìn)程完成了對終止?fàn)?/p>
40、態(tài)進(jìn)程的信息的提取后,OS將刪除該進(jìn)程。思考問題:問題:PCB的作用,為什么說是進(jìn)程存在的唯一標(biāo)志?2.1.5 進(jìn)程控制塊為了描述和控制進(jìn)程的運(yùn)行,系統(tǒng)為每個(gè)進(jìn)程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)一一進(jìn)程控制 塊(PCB。 進(jìn)程控制塊的作用存放進(jìn)程的管理和控制信息的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程控制塊。它是進(jìn)程管理和控制的最重要的數(shù)據(jù)結(jié)構(gòu)。 PCB是進(jìn)程實(shí)體的一個(gè)組成部分,在其中記錄了 OS所需的、用于描述進(jìn)程的當(dāng)前狀態(tài)以及控制進(jìn)程的全部信息。其作用是將程序變成可并發(fā)執(zhí)行的進(jìn)程。系統(tǒng)根據(jù)進(jìn)程的 PCB感知到一進(jìn)程的存在,并對它進(jìn)行控制,因此,進(jìn)程控制 塊是進(jìn)程存在的唯一標(biāo)志。由于PC期被系統(tǒng)頻繁訪問,它必須常駐存。在創(chuàng)建時(shí)
41、,建立 PCB并伴隨進(jìn)程運(yùn)行的全過程,直到進(jìn)程撤消而撤消。PCB就象我們的戶口。系統(tǒng)的所有 PC訓(xùn)織成鏈表或隊(duì)列, 常駐存的PCB區(qū)。 2.進(jìn)程控制塊中的信息 1)進(jìn)程標(biāo)識符信息每個(gè)進(jìn)程都必須有一個(gè)唯一的標(biāo)識符。另外,還可以用父進(jìn)程的標(biāo)識符、子進(jìn)程的 標(biāo)識符來描述進(jìn)程的家族關(guān)系。部標(biāo)識符:便于系統(tǒng)使用 外部標(biāo)識符:便于用戶使用 2)處理機(jī)狀態(tài)信息處理機(jī)狀態(tài)信息主要由處理機(jī)的各種寄存器中的容組成。處理機(jī)運(yùn)行時(shí)的信息 存放在寄存器中,當(dāng)被中斷時(shí)這些信息要存放在PCB中。通用寄存器、指令計(jì)數(shù)器、程序狀態(tài)字PSW用戶棧指針3)進(jìn)程調(diào)度和控制信息一一用于進(jìn)程調(diào)度和控制。 主要包括進(jìn)程狀態(tài)、優(yōu)先級、等待和
42、使用CPU的時(shí)間總和、程序和數(shù)據(jù)的地址、進(jìn)程同步和通信信息、資源清單和進(jìn)程隊(duì)列指針等。 3.進(jìn)程控制塊的組織方式 在一個(gè)系統(tǒng)常有許多 PCB稱為PCB集合。為了便于管理,系統(tǒng)必須用適當(dāng)?shù)姆绞綄?PCB組織起來,常用的方式有和索引方式。 1)方式 把具有同一狀態(tài)的 PCB用其中的字成一個(gè)隊(duì)列。 就緒隊(duì)列;若干個(gè)阻塞隊(duì)列;空白隊(duì)列2)索引方式系統(tǒng)根據(jù)所有進(jìn)程的狀態(tài)建立幾索引表,把各表的存首地址記錄在存的專用單 元中。索引表的表目中記錄了相應(yīng)狀態(tài)的某個(gè)PC騎PC砧中的地址。其他方式:線性表或鏈表w教課小結(jié):預(yù)習(xí)要求:作業(yè)布置:w功能的一個(gè)過程;原語的執(zhí)行具有原子性,即原語在執(zhí)行過程中不可分割,在執(zhí)行
43、過程中不允許被中斷。許多系統(tǒng)調(diào)用就是原語。處理機(jī)運(yùn)行時(shí)的兩種狀態(tài):核心態(tài)和用戶態(tài),(1)系統(tǒng)狀態(tài):也叫管態(tài)或核心態(tài),它具有較高的特權(quán),能執(zhí)行一切指令,訪問所有寄存器和存儲區(qū)。通常,0年就運(yùn)行在系統(tǒng)態(tài)下。2.2 進(jìn)程控制2.2.1 進(jìn)程的創(chuàng)建2.2.2 進(jìn)程的終止2.2.3 進(jìn)程的阻塞與喚醒2.2.4 進(jìn)程的掛起與激活2.3 進(jìn)程同步2.3.1 進(jìn)程同步的基本概念2.3.2 信號量機(jī)制教學(xué)目的及要求:1 . 了解進(jìn)程控制的過程2 .掌握進(jìn)程間的相互關(guān)系,以及進(jìn)程同步的有效機(jī)制信號量機(jī)制。重點(diǎn)、難點(diǎn):信號量的物理意義教學(xué)容:板書設(shè)計(jì)見PPT復(fù)習(xí)引入:上次課提及到進(jìn)程的幾種狀態(tài)以及之間如何轉(zhuǎn)換,本次
44、課將詳細(xì)介紹引起進(jìn)程各種狀態(tài)的原因,以及相應(yīng)原語的創(chuàng)建過程。新課講授:2.2 進(jìn)程控制進(jìn)程控制是進(jìn)程管理中最基本的功能,它用于創(chuàng)建和撤銷進(jìn)程,并對進(jìn)程在整個(gè)生命周期中各種狀態(tài)之間的轉(zhuǎn)換進(jìn)行有效控制。進(jìn)程控制是OS的核通過原語來實(shí)現(xiàn)的。原語的作用是為了實(shí)現(xiàn)進(jìn)程通信和控制,是由若干條指令組成的,用于完成一定(2)用戶態(tài):也叫目態(tài),是一種具有較低特權(quán)的執(zhí)行狀態(tài)。它只能執(zhí)行規(guī)定的指令、 訪問規(guī)定的寄存器和存儲區(qū)。通常用戶程序都運(yùn)行在用戶態(tài)。 用戶態(tài)時(shí)不可直接訪問受保護(hù)的OS代碼;核心態(tài)時(shí)執(zhí)行OS代碼,可以訪問全部進(jìn)程空間 通過這兩個(gè)狀態(tài)的劃分,可防止用戶程序破壞0年代碼和數(shù)據(jù)。2.2.1 進(jìn)程的創(chuàng)建
45、1. 進(jìn)程圖描述進(jìn)程的家族關(guān)系的有向樹(結(jié)點(diǎn):代表進(jìn)程,根結(jié)點(diǎn)為該家族的祖先;有向邊:父子關(guān)系;樹:表示一個(gè)家族)進(jìn)程P創(chuàng)建了進(jìn)程 Pj,則P是Pj的父進(jìn)程,Pj是Pi的子進(jìn)程,用一條由進(jìn)程 R指向進(jìn)程P的有向邊來描述。創(chuàng)建父進(jìn)程的進(jìn)程為祖先進(jìn)程,由此形成進(jìn)程樹,樹根為進(jìn)程家族的祖先。 提問:進(jìn)程圖與前趨圖比較(1)前趨圖:描述的是任務(wù)之間的前趨關(guān)系,只有在前趨進(jìn)程完成后,其后繼進(jìn)程 才能運(yùn)行(2)進(jìn)程圖:創(chuàng)建者和被創(chuàng)建者可以并發(fā)執(zhí)行,也可以父進(jìn)程等待其所有子進(jìn)程結(jié) 束后再執(zhí)行,這完全取決于創(chuàng)建原語和創(chuàng)建者的需要。2.引起創(chuàng)建進(jìn)程的事件在多道程序環(huán)境中,只有進(jìn)程才能在系統(tǒng)中運(yùn)行。導(dǎo)致創(chuàng)建進(jìn)程的
46、典型事件有: (分時(shí)系統(tǒng)的)用戶登錄、(批處理系統(tǒng)中的)作業(yè)調(diào)度、提供服務(wù)這三種情況是由系統(tǒng)核為其創(chuàng)建一個(gè)新進(jìn)程。應(yīng)用請求一一應(yīng)用程序本身也可以根據(jù)需要去創(chuàng)建新的進(jìn)程(自己創(chuàng)建一個(gè)新進(jìn)程) 3. 進(jìn)程的創(chuàng)建操作系統(tǒng)發(fā)現(xiàn)要求創(chuàng)建新進(jìn)程的事件后,調(diào)用進(jìn)程創(chuàng)建原語Creat()創(chuàng)建新進(jìn)程。 創(chuàng)建過程: (1)申請空白PCR申請進(jìn)程標(biāo)識符,并從 PCBI!合中索取一個(gè)空白 PCB (2)為新進(jìn)程分配資源:為新進(jìn)程的程序和數(shù)據(jù)以及用戶棧分配必要的存空間。 (3)初始化進(jìn)程控制塊:初始化標(biāo)識信息、處理機(jī)狀態(tài)信息、進(jìn)程調(diào)度和控制信息。 (4)將新進(jìn)程插入就緒隊(duì)列 2.2.2 進(jìn)程的終止當(dāng)進(jìn)程完成任務(wù)或遇到異
47、常情況和外界干預(yù)需要結(jié)束時(shí),應(yīng)通過進(jìn)程終止原語來終止進(jìn)程。終止進(jìn)程的實(shí)質(zhì)是收回PCB1.引起進(jìn)程終止的事件 1) 正常結(jié)束一一用于表示進(jìn)程已經(jīng)運(yùn)行完成的指示 2) 異常結(jié)束一一運(yùn)行間,某些錯(cuò)誤和故障而迫使進(jìn)程終止 越界錯(cuò)誤、保護(hù)錯(cuò)、非法指令、特權(quán)指令錯(cuò)、運(yùn)行超時(shí)等 3) 外界干預(yù)一一并非異常事件,而應(yīng)外界的請求而終止運(yùn)行 操作員或操作系統(tǒng)干預(yù)、父進(jìn)程請求、父進(jìn)程中止w2.3進(jìn)程同步思考問題:1)引入進(jìn)程同步的目的2) 臨界資源和臨界區(qū)引入進(jìn)程同步:OS引入進(jìn)程提高了資源利用率和系統(tǒng)吞吐量,但由于進(jìn)程的異步(3)終止屬于該進(jìn)程的所有子進(jìn)程一一若該進(jìn)程有子進(jìn)程,應(yīng)將其所有子進(jìn)程予以終止,以防他們成
48、為不可控的進(jìn)程。(4)釋放終止進(jìn)程所擁有的全部資源一一將被終止進(jìn)程所擁有的全部資源,或歸還其父進(jìn)程,或歸還系統(tǒng)。(5)將終止進(jìn)程移出它所在的隊(duì)列并收回PCB-將被終止進(jìn)程的 PCB從所在隊(duì)列或鏈表中移出,等待其他程序搜索信息2.2.3進(jìn)程的阻塞與喚醒1 .引起進(jìn)程阻塞和喚醒的事件1)新數(shù)據(jù)尚未到達(dá)2)無新工作可做3)請求系統(tǒng)服務(wù)4)啟動(dòng)某種操作當(dāng)正在執(zhí)行的進(jìn)程需要等待某種事件的完成或本身無新工作可做時(shí),應(yīng)調(diào)用阻塞原語將自己從執(zhí)行狀態(tài)轉(zhuǎn)換為阻塞狀態(tài)2 .進(jìn)程阻塞過程一一是進(jìn)程本身的一種主動(dòng)行為調(diào)用阻塞原語阻塞自己,中止該進(jìn)程的執(zhí)行,將PCB中的狀態(tài)改為阻塞,并加入到阻塞隊(duì)列中;然后轉(zhuǎn)進(jìn)程調(diào)度,將
49、處理機(jī)分配給另一進(jìn)程,并進(jìn)行進(jìn)程切換以及處 理機(jī)狀態(tài)的保護(hù)與重新設(shè)置。3 . 進(jìn)程喚醒過程阻塞進(jìn)程等待的事件發(fā)生,有關(guān)進(jìn)程調(diào)用喚醒原語把等待該事件的進(jìn)程喚醒。喚醒原語的執(zhí)行:把阻塞進(jìn)程從等待該事件的阻塞隊(duì)列中移出,將其 PCB中的現(xiàn) 行狀態(tài)改為就緒,將 PCB插入到就緒隊(duì)列中。阻塞原語與喚醒原語作用相反,成對使用。注意:阻塞是進(jìn)程自己阻塞自己的,而進(jìn)程喚醒不是自己喚醒自己,它需要另一進(jìn)程 來實(shí)現(xiàn)。2.2.4進(jìn)程的掛起與激活1 .進(jìn)程的掛起當(dāng)出現(xiàn)引起進(jìn)程掛起的事件時(shí),系統(tǒng)利用掛起原語將指定進(jìn)程或處于阻塞的進(jìn)程 掛起。掛起原語的執(zhí)行:檢查被掛起進(jìn)程的狀態(tài),若處于活動(dòng)就緒,則改為靜止就緒,若處于活動(dòng)
50、阻塞,則改為靜止阻塞,將該進(jìn)程PCB復(fù)制到存指定區(qū)域,若掛起的進(jìn)程正在執(zhí)行,則重新進(jìn)行進(jìn)程調(diào)度。如果掛起是為了對換,則在掛起進(jìn)程時(shí)還必須將它換出到外存中。2 .進(jìn)程的激活過程當(dāng)發(fā)生激活進(jìn)程的事件時(shí),系統(tǒng)利用激活原語將指定進(jìn)程激活。激活原語先將進(jìn)程從外存調(diào)入存,檢查該進(jìn)程的狀態(tài),若處于靜止就緒,則改為 活動(dòng)就緒,若處于靜止阻塞,則改為活動(dòng)阻塞。若進(jìn)程轉(zhuǎn)換成活動(dòng)就緒狀態(tài),而系統(tǒng) 又采用搶占調(diào)度策略,則應(yīng)檢查該進(jìn)程是否有權(quán)搶占CPU若有則應(yīng)進(jìn)行進(jìn)程調(diào)度。同樣,若掛起是為了對換,則在激活被掛起的進(jìn)程時(shí)還必須將它調(diào)入存。性導(dǎo)致了系統(tǒng)混亂,尤其爭用臨界資源時(shí),(引用實(shí)例:當(dāng)多個(gè)進(jìn)程去爭用一臺打印機(jī)時(shí),有可
51、能使多個(gè)進(jìn)程的輸出結(jié)果交織在一起難于區(qū)分)。為此,OS必須引入某種機(jī)制,即進(jìn)程的同步機(jī)制(進(jìn)程同步) 。進(jìn)程同步是指對多個(gè)相關(guān)進(jìn)程在執(zhí)行次序上進(jìn)行協(xié)調(diào),它的目的是使系統(tǒng)中諸進(jìn)程之間能有效地共享資源和相互合作,從而使程序的執(zhí)行具有可再現(xiàn)性。用來實(shí)現(xiàn)同 步的機(jī)制被稱作同步機(jī)制。2.3.1進(jìn)程同步的基本概念在多道程序的環(huán)境下:所有進(jìn)程都是相互獨(dú)立的、進(jìn)程以異步方式并發(fā)執(zhí)行,致使進(jìn)程在活動(dòng)中會(huì)相互制約1 .兩種制約關(guān)系直接: 相互制約關(guān)系源于進(jìn)程合作,表現(xiàn)為:進(jìn)程一進(jìn)程(同步)間接: 相互制約關(guān)系源于資源共享 ,表現(xiàn)為:進(jìn)程-資源一進(jìn)程(互斥)(1)同步同步是進(jìn)程間共同完成一項(xiàng)任務(wù)時(shí)直接發(fā)生相互作用的
52、關(guān)系同步舉例:輸入進(jìn)程和計(jì)算進(jìn)程通過單緩沖區(qū)來協(xié)調(diào)工作同步進(jìn)程間具有合作關(guān)系在執(zhí)行時(shí)間上必須按一定的順序協(xié)調(diào)進(jìn)行(2)互斥互斥是并發(fā)執(zhí)行的多個(gè)進(jìn)程由于競爭同一資源而產(chǎn)生的相互排斥的關(guān)系互斥進(jìn)程彼此在邏輯上是完全無關(guān)的它們的運(yùn)行不具有時(shí)間次序的特征2 .臨界資源一次僅允許一個(gè)進(jìn)程使用的共享資源,如果多個(gè)進(jìn)程同時(shí)使用這些資源,則有可 能造成系統(tǒng)的混亂,如:打印機(jī),多個(gè)進(jìn)程同時(shí)使用一臺打印機(jī),將使其輸出結(jié)果交 織在一起,難于區(qū)分;又如共享變量,多個(gè)進(jìn)程同時(shí)使用一個(gè)共享變量,會(huì)使結(jié)果具 有不可再現(xiàn)性。3 .臨界區(qū)(如何保證諸進(jìn)程互斥地訪問臨界資源)每個(gè)進(jìn)程中訪問臨界資源的那段代碼叫臨界區(qū)。對欲訪問的臨
53、界資源進(jìn)行檢查,進(jìn)入?yún)^(qū)若此刻未被訪問,設(shè)正在訪問的標(biāo)志訪問臨界資源臨界區(qū)將正在訪問的標(biāo)志恢復(fù)為未被訪問的標(biāo)志退出區(qū)其余部分剩余區(qū)為了使多個(gè)進(jìn)程能有效地共享臨界資源,并使程序的執(zhí)行具有可再現(xiàn)性,系統(tǒng)必須保 證它們互斥地使用臨界資源,即保證它們互斥地進(jìn)入自己地臨界區(qū)。如果一進(jìn)程已進(jìn) 入臨界區(qū)使用臨界資源,另一企圖進(jìn)入臨界區(qū)使用同一臨界資源的進(jìn)程便必須等待, 直到前一進(jìn)程退出臨界區(qū)為止。不難看出,互斥的實(shí)質(zhì)就是同步,互斥是同步的一種 特殊形式。w4.同步機(jī)制應(yīng)遵循的規(guī)則為實(shí)現(xiàn)進(jìn)程互斥地進(jìn)入自己地臨界區(qū),采用同步機(jī)制來協(xié)調(diào)各進(jìn)程間地運(yùn)行。空閑讓進(jìn)一臨界資源空閑時(shí),應(yīng)允許一個(gè)請求進(jìn)入臨界區(qū)的進(jìn)程立即進(jìn)入
54、自己的臨界區(qū),以便有效地利用資源。忙則等待一一當(dāng)臨界資源正被訪問時(shí),其他要求進(jìn)入臨界區(qū)地進(jìn)程必須等待,以保證 對臨界資源地互斥使用。有限等待一一任何要求訪問臨界資源的進(jìn)程應(yīng)能在有限的時(shí)間進(jìn)入自己的臨界區(qū),以免“死等”讓權(quán)等待一一不能進(jìn)入臨界區(qū)的進(jìn)程應(yīng)立即釋放CPU以免“忙等”2.3.2信號量機(jī)制思考問題:信號量的含義(信號量的P、V操作如何實(shí)現(xiàn);各種信號量機(jī)制的特點(diǎn))為了實(shí)現(xiàn)同步,OS引入多種管理機(jī)制,其號量機(jī)制是最有效的。1965年荷蘭Dijkstra提出的進(jìn)程同步工具。(這個(gè)Dijkstra ,就是那個(gè)提出“goto 有害論”的Dijkstra ,就是那個(gè)提出信號量和PV原語,解決了有趣的“哲學(xué)家聚餐”問題的Dijkstra ,那個(gè)Dijkstra 最短路徑算法的創(chuàng)造者。曾在1972年獲得過素有計(jì)算機(jī)科學(xué)界的諾貝爾獎(jiǎng)之稱的圖靈獎(jiǎng))信號量代表可用資源實(shí)體的數(shù)量。信號量又叫信號燈( semaphore ),是表示資 源的實(shí)體,是一個(gè)與隊(duì)列有關(guān)的整型變量,除初值外其值僅能由P、V原語操作來改變。操作系統(tǒng)利用信號量對進(jìn)程和資源進(jìn)行控
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度美容院美容美發(fā)服務(wù)入股協(xié)議
- 2025年度電線電纜綠色包裝與供貨合同
- 股權(quán)代持協(xié)議書標(biāo)準(zhǔn)模板:2025年度股權(quán)收購執(zhí)行范本
- 二零二五年度交通事故車輛損失保險(xiǎn)理賠協(xié)議
- 二零二五年度汽車展覽會(huì)參展商環(huán)保責(zé)任合同
- Unit 1 Going to Beijing 單元基礎(chǔ)知識復(fù)習(xí)(含答案)
- 2025年度溫室大棚承包與農(nóng)業(yè)科技成果轉(zhuǎn)化合作協(xié)議
- 二零二五年度手車過戶買賣與車輛上牌服務(wù)協(xié)議
- 兒童國畫入門課堂
- 中級消防設(shè)施操作員速記口訣
- 學(xué)校安全一崗雙責(zé)工作制度(一)
- 航空機(jī)載設(shè)備履歷本
- 企業(yè)風(fēng)險(xiǎn)管理-戰(zhàn)略與績效整合(中文版)
- ESAP法律英語教程全冊配套優(yōu)質(zhì)教學(xué)課件
- 道路清掃保潔-組織機(jī)構(gòu)框架圖、內(nèi)部分工
- HG20519-2009化工工藝設(shè)計(jì)施工圖內(nèi)容和深度統(tǒng)一規(guī)定
- 降水預(yù)報(bào)思路和方法
- 標(biāo)準(zhǔn) DB37T 3690.1-2019 液體菌種制備技術(shù)規(guī)程 第1部分:香菇規(guī)范
- 2021五年級道德與法治培優(yōu)輔差計(jì)劃3篇
- 工程分包管理計(jì)劃
- 靜脈藥物配置中心課件
評論
0/150
提交評論