操作系統教案_第1頁
操作系統教案_第2頁
操作系統教案_第3頁
操作系統教案_第4頁
操作系統教案_第5頁
已閱讀5頁,還剩83頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機操作系統教 案備課教師: 晁妍 職稱: 助教 教學班級 計科 專業 09級 本科2班時 間: 2011年 9月 已教輪數: 1 計算機與信息學院2011-2012學年度第一學期課程教學目的及教學要求:本課程是計算機科學與技術專業的主要專業基礎課和主干課。本課程的學習目的在于使學生掌握 操作系統的基本概念、 基本原理、設計方法和實現技術, 具有初步分析實際操作系統的能力,為其今后在相關領域開展工作打下堅實的基礎。教學時數與學時分配:共51學時,周學時:17,(分單雙周,每次2個學時)章次標 題教學手段學時數第一章操作系統引論4第二章進程管理12第三章處理機調度與死鎖4第四章存儲管理10第五

2、章設備管理6第六章文件系統8第七章操作系統接口4第八章網絡操作系統1第九章系統安全性1第十章UNIX系統內核結構1教 材:計算機操作系統(第三版)湯小丹等推薦參考書:1 計算機操作系統(第二版)湯子瀛等 西安電子科技大學出版社2 計算機操作系統教程 張堯學 史美林 清華大學出版社3 UNIX教程(第2版)(美)Syed Mansoor Sarwar Robert Koretsky 張玉潔 孟祥武譯 機械工業出版社4 計算機操作系統.學習指導與題解 梁紅兵、湯小丹 西安電子科技大學出版社5操作系統實驗指導基于linux內核徐虹編 清華大學出版社第1、2講(周次:第2周)(注:線右側寫教學方法、實

3、驗演示、新增補內容、重要標注、時間分配等) 教學章節:1.1 操作系統的目標和作用(簡略)1.2 操作系統的發展過程(每種OS的不足與各自特點)教學目的及要求:目的:是使學生建立起 OS的基本概念。要求:了解OS的引入和發展;理解多道程序設計技術; 重點、難點:(注:重點和難點如果一致,則寫在一起,若不同則應分開寫):OS引入和發展、OS的基本特征和功能。教學內容:板書設計見PPT。(注:內容每節課1-2頁為宜)復習引入:首先說明對課程的成績如何評定,提出學習要求,以及教材的使用并推薦參考教材。然后介紹本課程的特點、性質和目的,以及如何學習,最后對本課程內容以及課時分配做簡單的介紹。新課講授:

4、操作系統在計算機系統中的地位:(結合課件中圖加以說明,由此引出目標和作用)計算機系統由硬件和軟件組成;操作系統在硬件基礎上的第一層軟件;是其他軟件和硬件之間的接口。操作系統在計算機系統中占據著特別重要的地位,是計算機中最重要的系統軟件,是其他系統軟件和應用軟件運行的基礎。1.1 操作系統的目標和作用1.1.1 操作系統的目標方便性(用戶的觀點):提供良好的、一致的用戶接口。無需了解許多有關硬件和系統軟件的細節。有效性(系統管理人員的觀點):合理地組織計算機的工作流程,管理和分配硬件、軟件資源,提高資源的利用率;提高系統的吞吐量。可擴充性(開放的觀點):操作系統必須能方便地開發、測試和引進新的系

5、統功能,以適應計算機硬件和體系結構的迅速發展以及應用不斷擴大的要求。給計算機系統的功能的擴展提供開放式的支撐平臺。開放性:可移植性和互操作性其中有效性和方便性是設計OS時最重要的兩個目標,設計現代OS的主要目標也是對提高資源利用率和方便用戶。1.1.2 操作系統的作用1. 從一般用戶的觀點來看,OS作為用戶與計算機硬件系統之間的接口(橋梁) 用戶并不直接與計算機硬件打交道,而是通過操作系統提供的命令、系統功能調用以及圖形化接口來使用計算機。2. 從資源管理的觀點來看,OS作為計算機系統資源的管理者(管家) 處理機的分配和控制,內存的分配和回收,I/O設備的分配和處理,文件的存取、共享和保護工作

6、都是由操作系統完成的。主要功能有: 處理機管理、 存儲管理、 設備管理、 文件管理3. 從虛擬機的觀點來看,OS用作擴充機器(實現了對計算機資源的抽象)(虛擬機或擴充機)硬件處在最底層,不附加任何軟件的物理計算機à“裸機”.操作系統是附加在裸機上的第一層,是對裸機的首次擴充,構成了一個比裸機更強,使用更方便的“虛擬計算機”。所有系統軟件以及更上層的用戶應用軟件在操作系統虛擬機上運行,它們受操作系統的統一管理和控制,通過操作系統使用各種資源來完成特定的任務。引出OS的定義(以提問的方式)操作系統的定義:是一組控制和管理計算機硬件和軟件資源、合理地對各類作業進行調度,以及方便用戶使用計算

7、機的程序的集合。1.1.3 推動操作系統發展主要動力(稍后補充)1.2 操作系統的發展過程(介紹OS的引入與發展,以及推動發展的主要動力)1.2.1 無操作系統的計算機系統1. 人工操作方式 1946-50年代中:電子管時代(第一代計算機),計算機速度慢,無操作系統,計算機資源昂貴;工作方式:用戶:既是程序員又是操作員;用戶是計算機專業人員;編程語言:機器語言;輸入輸出:紙帶或卡片;計算機的工作特點:用戶獨占全機,資源利用率極低;CPU等待用戶,計算前,手工裝入紙帶或卡片;計算完成后,手工卸取紙帶或卡片;CPU利用率低;主要矛盾:人機矛盾-人工操作嚴重降低了計算機資源的利用率提高效率的途徑:脫

8、機輸入/輸出技術。2. 脫機輸入/輸出(Off-Line I/O)方式: 脫機輸入方式是指在一臺外圍機(它是一臺專門用來管理I/O的、功能較簡單的計算機)的控制下,預先將程序和數據從低速輸入設備到磁帶,當CPU需要這些程序和數據時,再從磁帶高速地讀入內存。類似地,脫機輸出方式是指當CPU需要輸出時,先高速地將數據寫入磁帶,然后在一臺外圍機的控制下,通過低速輸出設備進行輸出。相反,在主機的直接控制下進行的I/O方式被稱為聯機I/O方式。脫機I/O方式的主要優點:減少了CPU的空閑時間、提高I/O速度(緩和了人機矛盾)1.2.2 單道批處理系統(Simple Batch Processing Sy

9、stem)1單道批處理系統處理過程晶體管時代(第二代計算機)批處理技術是在系統中配置一個監督程序,并在該監督程序的控制下,能夠對一批作業自動進行處理的一種技術。把一批作業以脫機方式輸入到磁帶或磁盤上,并在系統中配上監督程序(Monitor),在它的控制下使這批作業能一個接一個的連續處理。2. 單道批處理系統的特征:自動性:無需人工干預。順序性:作業完成的順序與它們進入內存的順序以及作業在磁帶上的順序一致。單道性:內存中僅能存放一道作業。不足:無法充分利用系統中的所有的資源1.2.3 多道批處理系統1多道程序設計技術是指在內存中同時存放若干個作業,使它們共享系統資源并同時運行的技術。在單處理機環

10、境下,這些作業僅在宏觀上同時運行,而在微觀上交替執行。2多道批處理系統 采用多道程序設計技術的批處理系統被稱作多道批處理系統。多道批處理系統中必須配置一組軟件(調度程序),來解決多道程序對系統資源的共享和爭用問題,并對作業進行合理的組織和調度。外存(后備隊列)>作業調度>內存 (共享CPU和系統中的各種資源)就形成了現代意義上的OS3具有的主要特征:(與單道批處理的特征對比)多道性:內存中可同時存放多個作業調度性:(作業調度、進程調度)需通過作業調度從外存中選取若干個作業裝入內存,還需通過進程調度在內存的多個作業中分配CPU。無序性:作業調度的次序與作業在外存中次序無關,作業完成的

11、次序與作業進入內存的次序也無關。4多道批處理系統需解決的問題(1)多道程序對OS的基本要求存儲管理-系統必須為若干作業分派空間 CPU調度-系統必須在就緒作業中選擇準備運行. 設備分配既方便用戶使用,又能提高設備利用率.(2)多道批處理系統需解決的問題:處理機管理問題、內存管理問題、設備管理問題、文件管理問題、作業管理問題5優缺點:優點:資源利用率高CPU和內存利用率較高;系統吞吐量大(單位時間內所完成的總工作量)缺點:平均周轉時間長(從作業進入系統開始,直至其完成并退出系統為止所經歷的時間),短作業的周轉時間顯著增長無交互能力整個作業完成后或中間出錯時,才與用戶交互,不利于調試和修改;1.2

12、.4 分時系統1分時系統的產生引入:為了解決批處理系統無法進行人機交互的問題,并使多個用戶(包括遠程用戶)能同時使用昂貴的主機資源,又引入了分時系統。分時系統:是指在一臺主機上連接了多個帶有顯示器和鍵盤的終端,同時允許多個用戶通過自己的終端,以交互方式使用計算機,共享主機中的資源。2分時系統的設計思想(1)采用了分時技術:既把處理機的時間劃分成很短的時間片(eg,幾百毫秒),輪流地分配給各個終端作業使用。(若在分配給它的時間片內,作業仍沒執行完,它也必須將CPU交給下一個作業使用,并等下一輪得到CPU時再繼續執行)(2)設計目標:系統能及時響應用戶的終端命令(3)實現中的最關鍵問題:使用戶能與

13、自己的作業進行交互。(及時接收、及時處理)響應時間RT(response time): 從鍵盤命令進入(按下回車鍵為準)到開始在終端上顯示應答的時間間隔.。在分時系統中,響應時間時間片×用戶數 . 改變批處理系統的運行方式: 作業直接進入內存 系統采用時間片輪轉方式處理服務請求4. 分時系統的特征多路性:多個用戶同時使用一臺計算機,共享CPU和其他資源,充分利用系統資源。宏觀上:是多個人同時使用一個CPU微觀上:多個人在不同時刻輪流使用CPU獨立性:用戶感覺不到計算機為其他人服務,各用戶獨立操作,互不干擾。及時性:通過時間片技術和輪轉調度算法保證及時響應。(指用戶能在很短的時間內獲得

14、系統的響應,是以人們所能接受的等待時間決定的,一般為23秒)交互性:能進行廣泛的人機交分時系統的關鍵問題是使用戶能與自己的作業進行交互,或者說它追求的主要目標是系統能及時響應用戶的終端命令。1.2.5 實時系統(實時:及時響應并快速處理!)引入:由于前幾種操作系統都不能很好的滿足在實時控制和實時信息處理領域的需要1實時系統及其類型(1)實時系統是指系統能及時(或即時)響應外部事件的請求,在規定的時間內完成對該事件的處理,并控制所有實時任務協調一致地運行。(2)可分成兩大類:實時控制系統:通常使指以計算機為中心的生產過程控制系統和武器控制系統。這類系統要求實時采集現場數據,并對數據進行及時處理,

15、進而自動地控制相應的執行機構。如工業自動控制、火炮自動控制、飛機自動駕駛、導彈制導等。實時信息處理系統:通常使指對信息進行實時處理的系統。這類系統要求及時接受從終端(包括遠程終端)發來的服務請求,按請求的內容對信息進行檢索和處理,并在很短的時間內為用戶做出正確的回答。如飛機訂票、情報檢索等。2. 實時任務的類型(1)按任務執行時是否呈現周期性來劃分周期性實時任務非周期性實時任務截止時間開始截止時間:某任務在某時間以前必須開始執行完成截止時間:某任務在某時間以前必須完成(2)根據對截止時間的要求來劃分(與截止時間聯系的是否嚴格)硬實時任務軟實時任務3三種基本操作系統的比較:多路性獨立性及時性交互

16、性可靠性批處理系統無無差差一般分時系統多終端服務有好好可靠實時系統多路采集、多路控制有最好一般高度可靠補充:推動批處理系統的形成與發展的主要動力:提高系統資源利用率;推動分時系統形成與發展的動力室方便是用戶;推動OS發展的主要動力:計算機硬件的不斷更新換代1.2.6 微機OS的發展1單用戶單任務OS:只允許用戶程序作為一個任務運行 eg. CP/M 、MS-DOS2單用戶多任務OS:允許用戶把程序分為若干個任務,使它們并發執行eg. MS-Windows3多用戶多任務OS :允許多個用戶通過各自的終端使用一臺機器。eg. UNIX、 LINUX教課小結:1、了解操作系統的目標,理解操作系統的作

17、用,了解推動操作系統發展的主要動力2、了解無操作系統的計算機系統和單道批處理系統。理解多道批處理系統、分時系統和實時系統的特征和優缺點。預習要求:作業布置: 1、作業: 2、補充習題: (若沒有可以刪去)推薦參考書目、網站及閱讀材料:(若沒有可以刪去)實驗一:LINUX入門第3講(第3周)(注:線右側寫教學方法、實驗演示、新增補內容、重要標注、時間分配等)教學章節:1.3 操作系統的特征1.4 操作系統的主要功能1.5 操作系統的結構設計教學目的及要求:1掌握操作系統的功能和特征。2了解分層式結構和微內核結構。重點、難點:(注:重點和難點如果一致,則寫在一起,若不同則應分開寫)OS的基本特征和

18、功能。教學內容:板書設計見PPT。(注:內容每節課1-2頁為宜)復習引入:上節課學習了OS的引論,介紹了OS的發展過程,其中主要功能小節也是對本書的簡要的概括,需要同學們掌握。OS是系統軟件,對于這種大型的軟件,在開發的過程中,其軟件的結構設計是怎么樣的發展過程,下面就來學習:新課講授:1.3 操作系統的特征采用多道程序設計技術的現代操作系統具有如下四個基本特征:并發、共享、虛擬、異步。其中并發和共享是OS的兩個最基本的特征。1并發并行性:兩個或多個事件在同一時刻發生并發性:兩個或多個事件在同一時間間隔內發生 在多道程序系統(單處理器)中,宏觀上并行,微觀上串行(交替執行)程序(靜態實體)不能

19、并發執行,為使多個程序并發執行,引入進程。進程在系統中能獨立運行并作為資源分配的基本單位,(是活動實體)。現代OS中還引入一個比進程更小的單位線程,此時,一個進程中可包含若干個線程,資源分配的基本單位雖仍然是進程,但獨立運行、獨立調度和分配處理機的基本單位卻是線程。2 共享在操作系統環境下,所謂共享是指系統中的資源可供內存中多個并發執行的進程(線程)共同使用共享方式:互斥共享方式:資源分配后到釋放前,不能被其他進程所用,如打印機、變量、隊列等。臨界資源(獨占資源):一段時間內只允許一個進程訪問的資源同時訪問方式:在同一段時間內可以被多個作業同時訪問。如可重入代碼,磁盤文件。宏觀并行微觀串行。并

20、發和共享是OS的兩個最基本的特征,又互為存在的條件。 虛擬(是以并發和資源共享為前提)虛擬通過某種技術把一個物理實體變為若干個邏輯上的對應物。虛擬是操作系統管理系統資源的重要手段,可提高資源利用率。用于實現虛擬的技術,稱為虛擬技術時分復用技術: 虛擬處理機、虛擬設備技術(分時使用方式)空分復用技術: 虛擬內存、虛擬磁盤技術異步性(是并發與共享的必然結果)指進程的執行順序和執行時間的不確定性;指進程以人們不可預知的速度向前推進。進程的運行速度不可預知:多個進程并發執行,“時走時停”,不可預知每個進程的運行推進快慢;無論快慢,結果應該相同。通過進程互斥和同步手段來保證;1.4 操作系統的主要功能包

21、括:處理機管理功能、存儲器管理功能、設備管理功能、文件管理功能、用戶接口1.4.1 處理機管理功能主要是對處理機的分配和運行進行管理。(創建和撤銷進程(線程),對諸進程(線程)的運行進行協調,實現進程(線程)之間的信息交換,以及按照一定的算法把處理機分配給進程(線程)。)主要功能包括:進程控制:為作業創建進程、撤銷已結束的進程,以及控制進程在運行過程中的狀態轉換進程同步:為多個進程(含線程)的運行進行協調(協調方式:互斥和同步)進程通信:用來實現在相互合作的進程之間的信息交換;調度:作業和進程的狀態切換,包括作業調度和進程調度1.4.2 存儲器管理功能存儲器管理為多道程序的運行提供良好的環境,

22、方便用戶使用存儲器,提高存儲器的利用率以及能從邏輯上擴充內存存儲器管理功能有: 內存分配:為每道程序分配內存空間,提高存儲器的利用率,允許正在運行的程序申請附加的內存空間;存儲保護:確保每道用戶程序都只在自己的內存空間中運行,彼此互不干擾;地址映射(變換):進程的邏輯地址到內存物理地址的映射。內存擴充:用虛擬存儲技術解決內存容量不足的問題;請求調入功能頁面置換功能1.4.3 設備管理功能設備管理的主要任務:完成用戶進程提出的I/O請求,為用戶進程分配其所需的I/O設備,提高CPU和I/O設備的利用率,提高I/O速度,方便用戶使用I/O設備。設備管理的功能有:緩沖管理:匹配CPU和外設的速度,提

23、高兩者的利用率和并行操作程度;設備分配:根據用戶進程的I/O請求、系統的現有資源情況以及按照某種設備分配策略,為之分配其所需的設備; 設備處理:設備驅動程序用于實現CPU和設備控制器之間的通信。設備獨立性和虛擬設備:1.4.4 文件管理功能文件系統管理的主要任務:對用戶文件和系統文件進行管理,以方便用戶使用,并保證文件的安全性。文件管理的功能有:文件存儲空間的管理:為每個文件分配必要的外存空間,提高外存的利用率,并能有助于提高文件系統的運行速度;解決如何存放信息的問題目錄管理: 為每個文件建立其目錄項,并對眾多的目錄項加以有效組織,實現方便的按名存取,能實現文件共享,提供快速的目錄查詢手段。(

24、通過目錄方式來組織文件,以實現文件的按名存取)解決信息檢索問題文件的讀/寫管理和保護:實現文件的讀寫操作,并提供有效的存取控制功能,保護文件的安全性。解決信息安全問題。1.4.5 OS與用戶之間的接口1. 用戶接口(提供給用戶使用)(1)命令接口:用戶可通過該接口向作業發出命令以控制作業的運行。 聯機用戶接口:由一組鍵盤操作命令和命令解釋程序組成 脫機用戶接口: 由一組作業控制語言JCL組成(2)圖形接口:2. 程序接口(提供給程序員在編程時使用) 為用戶程序在執行中訪問系統資源而設置,由一組系統調用組成。1.5 操作系統的結構設計操作系統的結構:整體式(無)結構、模塊化結構、層次式結構、微內

25、核結構1、整體式OS結構整體式系統是早期操作系統和一些較小的操作系統所采用的一種結構模型。整個系統是一堆過程的集合,每個過程都可以隨便調用任意其它過程。采用這種結構的操作系統不僅調試和維護不方便,而且其可讀性和可擴充性都較差。2、模塊化OS結構(關鍵問題:模塊的劃分和規定好模塊之間的接口)模塊化程序設計技術,是基于“分解”和“模塊化”原則來控制大型軟件的復雜度的。將OS按其功能劃分為若干個具有一定獨立性和大小的模塊。并規定好各模塊間的接口, 各模塊之間能通過該接口實現交互。衡量模塊獨立性的兩個標準:內聚性和耦合度。模塊化OS結構優缺點優點:提高設計的正確性、可理解性和可維護性增強可適應性;加速

26、開發過程缺點: 模塊的劃分和接口的規定較困難 模塊間還存在著復雜的依賴關系,是os結構變得不夠清晰。(在模塊化結構設計中,各模塊的設計齊頭并進,無法尋找到一個可靠的決定順序,造成各種決定的“無序性”)3、層次式結構為了將模塊化中的“決定順序”無序性變為有序性,引入了有序分層法,常采用自底向上法來鋪設這些中間層。層次式結構是對模塊化結構的一種改進。將一個操作系統分為若干個層次,每層又由若干個模塊組成,各層之間只存在著單向的依賴關系,即高層僅依賴于緊鄰它的底層。層次結構的優點:正確性有保證、便于系統維護、擴充層次結構的缺點:模塊間需要通信機制、系統開銷大、效率低在OS結構中,分層式結構是最為成熟的

27、一種OS結構,而20世紀90年代興起的微內核結構是最具有發展前途的OS結構。補充:分層式結構與模塊式結構的主要區別在于:分層結構中各模塊之間有序的。分層式結構將各個功能模塊按它們的功能流圖的調用次序安排成若干層,各層之間的模塊不能像模塊式結構那樣通過接口毫無規則地相互依賴、相互調用,而只能是單向調用,即每層中的模塊只能使用較低層模塊提供的功能和服務。因此在分層結構中,模塊間的組織結構和依賴關系更加清晰,這不僅增加系統的可讀性,同時還使每一層建立在可靠的基礎上,從而提高系統的可靠性。4、微內核 OS 結構微內核結構是指將C/S技術、面向對象技術用于基于微內核技術的OS中所形成的結構。微內核的主要

28、思想是:在操作系統內核中只留下一些最基本的功能,而將其他服務盡可能地從內核中分離出去。內核的基本組成:中斷處理、進程調度、同步機制用若干個運行在用戶態下的進程(即服務器進程)來實現,形成所謂的“客戶/服務器”模式。普通用戶進程(即客戶進程)可通過內核向服務器進程發送請求,以取得操作系統的服務。C/S技術把OS分為兩個部分:一部分是用于提供各種服務的服務器另一部分是用于實現os最基本功能的內核,其全部工作是處理C與S之間通信。優點: 易于擴充,易于移植、提高系統的可靠性、提供多種操作環境、適宜于分布計算模式、有助于多處理器系統的實現、 支持實時任務缺點: 消息傳遞方式增加開銷,使響應變慢幾個商品

29、化系統:Windows NT,NextStep XINU,OSF/1 1.3,Workspace OS,Chorus/Mix V.4,ac G3, QNX,CTOS舉例:微內核的開放式系統環境、一個分布式系統中的客戶服務器模型在現代OS的設計中,常常還融入面向對象的程序設計技術。面向對象技術,該技術是基于“抽象”和“隱蔽”原則來控制OS的復雜度。它利用被封裝的數據結構和一組對數據結構進行操作的過程來表示系統中的某個資源,這樣,可使資源的管理因一致而簡化。當前廣泛使用的Windows2000操作系統,就采用了微內核的結構,同時還融入了面向對象的程序設計技術。具有面向對象的特點 :封裝性、繼承性、

30、多態性微內核的基本功能:通常都是一些最基本的功能,如進程管理、存儲器管理、進程間通信、 低級I/O功能。教課小結:預習要求:作業布置: 第4講(第4周)(注:線右側寫教學方法、實驗演示、新增補內容、重要標注、時間分配等)教學章節:第2章 進程管理2.1 進程的基本概念2.1.1 程序的順序執行及其特征2.1.2 前趨圖2.1.3 程序的并發執行及其特征2.1.4 進程的特征與狀態2.1.5 進程控制塊教學目的及要求:學習目的是使學生建立起進程的概念。進程是OS中最重要的基本概念,本章是全書中最重要的一章。要求掌握進程的基本概念,重點、難點:(注:重點和難點如果一致,則寫在一起,若不同則應分開寫

31、)進程的引入、特征、基本狀態、進程控制塊教學內容:板書設計見PPT。(注:內容每節課1-2頁為宜)復習引入:通過第一章的學習,對操作系統有了整體上的認識,以后的章節就是對各個部分的功能加以詳細的論述。新課講授:第2章 進程管理思考問題:為什么要引入進程進程具有哪些基本特征進程具有哪些基本狀態進程控制塊的作用和內容2.1 進程的基本概念引入進程的目的是為了使多個程序能并發執行。2.1.1 程序的順序執行及其特征1. 程序的順序執行程序的順序執行是指若干個程序或程序段之間必須嚴格按照某種先后次序來執行,僅當前一程序或程序段執行完后,才能執行后面的程序或程序段。例: 每個程序有三個順序執行的操作 I

32、:輸入操作、C:計算操作、P:輸出操作2. 程序順序執行時的特征(1) 順序性 處理機的操作嚴格按照程序所規定的順序執行。(2) 封閉性 程序一旦開始執行,其計算結果不受外界因素的影響。即程序運行時獨占全機資源,資源的狀態(除初始)只有本程序才能改變它。(3) 可再現性 程序執行的結果與它的執行速度無關(即與時間無關),而只與初始條件有關。2.1.2前趨圖 為了描述一個程序的各部分(程序段、語句)間的依賴關系,或是一個大的計算的各子任務間的因果關系,采用前驅圖方式。 前趨圖是一個有向無循環圖(DAG),用于描述程序段或進程之間執行的先后次序關系。 結 點 : 描述一個程序段或進程,或一條語句。

33、 有 向 邊: 結點之間的偏序或前趨關系“®”®( Pi , Pj)|在Pj 開始前Pi 必須完成,若( Pi , Pj)®,可寫成Pi® Pj Pi® Pj :Pi 必須在 Pj 開始之前完成 則 Pi是Pj的直接前趨,Pj是Pi的直接后繼 初始結點: 沒有前趨的結點 終止結點: 沒有后繼的結點例:具有九個結點的前驅圖: 前趨關系:P1®P2, P1®P3, P1®P4, P2®P5, P3®P5, P4®P6, P4®P7, P5®P8, P6®P8,

34、 P7®P9, P8®P9注意:前趨圖中絕對不能出現循環2.1.3 程序的并發執行及其特征1. 程序的并發執行例: 在系統中有n個作業,每個作業都有三個處理步驟,輸入數據、處理、輸出,即Ii,Ci,Pi (i=1,2,3,.,n)。 這些作業在系統中執行時是對時間的偏序,有些操作必須在其它操作之前執行,這是有序的,但有些操作是可以同時執行的。2. 程序并發執行時的特征(1) 間斷性 在多道程序設計的環境下,程序是并發執行的,它們為完成一項任務而相互合作,這些程序之間要共享系統的資源,形成了相互制約的關系。 相互制約導致并發程序具有“執行暫停執行”這種間斷性的活動規律。(2)

35、 失去封閉性 程序在并發執行時,多道程序共享系統的資源,因而這些資源的狀態由多道程序來改變,程序運行失去封閉性。一程序的運行受到其他程序的影響。(3) 不可再現性 程序在并發執行時,失去封閉性導致其失去可再現性。重復執行時,雖執行環境和初始條件相同,但結果卻不同。(加入實例)2.1.4 進程的特征與狀態在計算機中,程序的并發執行具有不可再現性。那么,如何使程序既能并發執行,又具有可再現性呢?這就必須引入進程的概念,也就是說,引入進程的目的是為了使程序能夠正確地并發執行。(為什么進程實體卻能與其他進程并發執行?)1 進程的特征與定義(1)進程的特征結構性、動態性、并發性、獨立性、異步性 結構性進

36、程控制塊(PCB)+程序段+相關的數據段=進程實體。 動態性進程是程序在處理機上的一次執行過程。具有生命期,它必須由創建而產生,由調度而執行,由撤銷而消亡。是進程的一個最基本的特征。并發性多個進程實體同存于內存中,在一段時間內同時運行。以提高資源利用率。只有為程序創建進程后,多個程序才能正確地并發運行。并發是引入進程的目的,也是進程的另一個最基本的特征。 獨立性 進程實體是一個能獨立運行、獨立分配資源和獨立接受調度的基本單位,而程序則不是。 異步性 進程按各自獨立的、不可預知的速度向前推進。(2) 進程( Process )的定義進程是程序的一次執行。進程是一個程序及其數據在處理機上順序執行時

37、所發生的活動。進程是程序在一個數據集合上運行的過程,它是系統進行資源分配和調度的一個獨立單位。 進程的定義:進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位。(3) 進程與程序的區別進程是動態的,程序是靜態的進程是暫時的,程序是永久的進程與程序的組成不同:進程包括程序、數據和進程控制塊(即進程狀態信息)進程與程序的對應關系:不是一一對應。通過多次執行,一個程序可對應多個進程;通過調用關系,一個進程可包括多個程序。2進程的三種基本狀態就緒狀態(Ready):進程已獲得了除CPU之外的所有資源,處于就緒態的進程有多個,它們存放在就緒隊列中。執行狀態(Running):已獲得CPU的

38、進程進入執行狀態。阻塞狀態(Blocked):進程因發生某個事件(如請求I/O、申請緩沖空間)而暫停執行的狀態。即進程的執行受到阻塞進程的三種基本狀態以及各狀態之間的轉換關系對單個進程而言,任何時刻,它只能處于三種基本狀態之一,而隨著進程自身的推進和外界環境條件的變化,它的狀態可以動態地轉換:處于就緒狀態地進程,通過進程調度獲得CPU后,便從就緒狀態轉換成執行狀態;分時系統中,正在執行地進程由于時間片用完而暫停執行時,便從執行狀態轉換成就緒狀態;正在執行地程序,由于等待某種事件地完成而無法繼續執行時,便從執行狀態轉換成阻塞狀態;阻塞地進程所等待的事件完成后,便轉為就緒狀態。 對整個系統而言,每

39、個時刻允許同時有多個處于就緒和阻塞的進程,但對執行狀態的進程,每個處理機最多只允許有一個。3掛起狀態“掛起”的實質是使進程不能繼續執行,即使掛起后的進程處于就緒狀態,它也不能參與對CPU的競爭。因此,被掛起的進程處于靜止狀態,相反,沒被掛起的進程則處于活動狀態。而且,處于靜止狀態的進程只有通過“激活”動作,才能轉換成活動狀態。引起掛起狀態的原因: 終端用戶的請求、父進程請求、負荷調節的需要、操作系統的需要“掛起”常被用在進程對換中,此時,掛起(即換出)進程可以騰出內存空間給就緒進程使用;“掛起”還可用在其他場合,如用來調節系統的負荷、方便用戶考查自己的運行進程或父進程考查子進程、方便操作系統檢

40、查運行中的資源使用情況或進行記帳等。(2) 進程狀態的轉換活動就緒 靜止就緒(掛起、激活)活動阻塞 靜止阻塞(掛起、激活)執行®靜止就緒(掛起)4. 創建和終止狀態(1)創建狀態創建PCB,填寫必要的管理信息轉入就緒狀態并插入就緒隊列中一般而言,此時的進程已擁有了自己的PCB,但進程自身還未進入主存,即創建工作尚未完成,進程還不能被調度運行,其所處的狀態就是創建狀態。(2)終止狀態 等待OS進行善后處理 將其PCB清零,并將PCB空間返還系統。進入終止態的進程以后不能再執行,但在OS中依然保留一個記錄供其他進程收集,一旦其他進程完成了對終止狀態進程的信息的提取后,OS將刪除該進程。思

41、考問題:問題:PCB的作用,為什么說是進程存在的唯一標志?2.1.5 進程控制塊 為了描述和控制進程的運行,系統為每個進程定義了一個數據結構進程控制塊(PCB)。進程控制塊的作用 存放進程的管理和控制信息的數據結構稱為進程控制塊。它是進程管理和控制的最重要的數據結構。PCB是進程實體的一個組成部分,在其中記錄了OS所需的、用于描述進程的當前狀態以及控制進程的全部信息。其作用是將程序變成可并發執行的進程。系統根據進程的PCB感知到一進程的存在,并對它進行控制,因此,進程控制塊是進程存在的唯一標志。由于PCB要被系統頻繁訪問,它必須常駐內存。在創建時,建立PCB,并伴隨進程運行的全過程,直到進程撤

42、消而撤消。PCB就象我們的戶口。系統的所有PCB組織成鏈表或隊列,常駐內存的PCB區。2. 進程控制塊中的信息1) 進程標識符信息 每個進程都必須有一個唯一的標識符。另外,還可以用父進程的標識符、子進程的標識符來描述進程的家族關系。內部標識符:便于系統使用外部標識符:便于用戶使用2) 處理機狀態信息 處理機狀態信息主要由處理機的各種寄存器中的內容組成。處理機運行時的信息存放在寄存器中,當被中斷時這些信息要存放在PCB中。通用寄存器、指令計數器、程序狀態字PSW、用戶棧指針3) 進程調度和控制信息用于進程調度和控制。主要包括進程狀態、優先級、等待和使用CPU的時間總和、程序和數據的地址、進程同步

43、和通信信息、資源清單和進程隊列指針等。3. 進程控制塊的組織方式在一個系統中通常有許多PCB,稱為PCB集合。為了便于管理,系統必須用適當的方式將PCB組織起來,常用的方式有鏈接和索引方式。1) 鏈接方式把具有同一狀態的PCB用其中的鏈接字鏈接成一個隊列。就緒隊列 ; 若干個阻塞隊列; 空白隊列2) 索引方式 系統根據所有進程的狀態建立幾張索引表,把各表的內存首地址記錄在內存的專用單元中。索引表的表目中記錄了相應狀態的某個PCB在PCB表中的地址。其他方式:線性表或鏈表教課小結:預習要求:作業布置: 第5講(第4周) (注:線右側寫教學方法、實驗演示、新增補內容、重要標注、時間分配等)教學章節

44、:2.2 進程控制2.2.1 進程的創建2.2.2 進程的終止2.2.3 進程的阻塞與喚醒2.2.4 進程的掛起與激活2.3 進程同步2.3.1 進程同步的基本概念2.3.2 信號量機制教學目的及要求:1. 了解進程控制的過程2. 掌握進程間的相互關系,以及進程同步的有效機制-信號量機制。重點、難點: 信號量的物理意義教學內容:板書設計見PPT。復習引入:上次課提及到進程的幾種狀態以及之間如何轉換,本次課將詳細介紹引起進程各種狀態的原因,以及相應原語的創建過程。新課講授:2.2 進程控制進程控制是進程管理中最基本的功能,它用于創建和撤銷進程,并對進程在整個生命周期中各種狀態之間的轉換進行有效控

45、制。進程控制是OS的內核通過原語來實現的。 原語的作用是為了實現進程通信和控制,是由若干條指令組成的,用于完成一定功能的一個過程;原語的執行具有原子性,即原語在執行過程中不可分割,在執行過程中不允許被中斷。許多系統調用就是原語。 處理機運行時的兩種狀態:核心態和用戶態,(1)系統狀態:也叫管態或核心態,它具有較高的特權,能執行一切指令,訪問所有寄存器和存儲區。通常,OS內核就運行在系統態下。(2)用戶態:也叫目態,是一種具有較低特權的執行狀態。它只能執行規定的指令、訪問規定的寄存器和存儲區。通常用戶程序都運行在用戶態。用戶態時不可直接訪問受保護的OS代碼;核心態時執行OS代碼,可以訪問全部進程

46、空間通過這兩個狀態的劃分,可防止用戶程序破壞OS內核代碼和數據。2.2.1 進程的創建1. 進程圖 描述進程的家族關系的有向樹 (結點:代表進程,根結點為該家族的祖先;有向邊:父子關系;樹:表示一個家族) 進程Pi創建了進程Pj,則Pi是Pj的父進程, Pj是Pi的子進程,用一條由進程Pi指向進程Pj的有向邊來描述。 創建父進程的進程為祖先進程,由此形成進程樹,樹根為進程家族的祖先。提問:進程圖與前趨圖比較(1)前趨圖:描述的是任務之間的前趨關系,只有在前趨進程完成后,其后繼進程才能運行(2)進程圖:創建者和被創建者可以并發執行,也可以父進程等待其所有子進程結束后再執行,這完全取決于創建原語和

47、創建者的需要。2. 引起創建進程的事件 在多道程序環境中,只有進程才能在系統中運行。導致創建進程的典型事件有:(分時系統的)用戶登錄、(批處理系統中的)作業調度、提供服務這三種情況是由系統內核為其創建一個新進程。應用請求應用程序本身也可以根據需要去創建新的進程(自己創建一個新進程)3. 進程的創建 操作系統發現要求創建新進程的事件后,調用進程創建原語Creat()創建新進程。創建過程:(1) 申請空白PCB:申請進程標識符,并從PCB集合中索取一個空白PCB(2) 為新進程分配資源:為新進程的程序和數據以及用戶棧分配必要的內存空間。(3)初始化進程控制塊:初始化標識信息、處理機狀態信息、進程調

48、度和控制信息。(4)將新進程插入就緒隊列2.2.2 進程的終止當進程完成任務或遇到異常情況和外界干預需要結束時,應通過進程終止原語來終止進程。終止進程的實質是收回PCB。1. 引起進程終止的事件1) 正常結束用于表示進程已經運行完成的指示2) 異常結束運行間,某些錯誤和故障而迫使進程終止越界錯誤、保護錯、非法指令、特權指令錯、運行超時等3) 外界干預并非異常事件,而應外界的請求而終止運行操作員或操作系統干預、父進程請求、父進程中止2. 進程的終止過程(1) 找到要終止進程的PCB根據被終止進程的標識符,從PCB集合中檢索出該進程的PCB,從中讀出該進程的狀態。(2)若被終止進程正處于執行狀態,

49、應立即終止該進程的執行,置調度標志為真,用于指示該進程被終止后應重新進行調度。(3) 終止屬于該進程的所有子孫進程若該進程有子孫進程,應將其所有子孫進程予以終止,以防他們成為不可控的進程。(4) 釋放終止進程所擁有的全部資源將被終止進程所擁有的全部資源,或歸還其父進程,或歸還系統。(5) 將終止進程移出它所在的隊列并收回PCB將被終止進程的PCB從所在隊列或鏈表中移出,等待其他程序搜索信息2.2.3 進程的阻塞與喚醒1. 引起進程阻塞和喚醒的事件1) 新數據尚未到達2) 無新工作可做3) 請求系統服務4) 啟動某種操作當正在執行的進程需要等待某種事件的完成或本身無新工作可做時,應調用阻塞原語將

50、自己從執行狀態轉換為阻塞狀態2. 進程阻塞過程是進程本身的一種主動行為 調用阻塞原語阻塞自己,中止該進程的執行,將PCB中的狀態改為阻塞,并加入到阻塞隊列中;然后轉進程調度,將處理機分配給另一進程,并進行進程切換以及處理機狀態的保護與重新設置。3. 進程喚醒過程 阻塞進程等待的事件發生,有關進程調用喚醒原語把等待該事件的進程喚醒。 喚醒原語的執行:把阻塞進程從等待該事件的阻塞隊列中移出,將其PCB中的現行狀態改為就緒,將PCB插入到就緒隊列中。 阻塞原語與喚醒原語作用相反,成對使用。注意:阻塞是進程自己阻塞自己的,而進程喚醒不是自己喚醒自己,它需要另一進程來實現。2.2.4 進程的掛起與激活1

51、. 進程的掛起 當出現引起進程掛起的事件時,系統利用掛起原語將指定進程或處于阻塞的進程掛起。 掛起原語的執行:檢查被掛起進程的狀態,若處于活動就緒,則改為靜止就緒,若處于活動阻塞,則改為靜止阻塞,將該進程PCB復制到內存指定區域,若掛起的進程正在執行,則重新進行進程調度。 如果掛起是為了對換,則在掛起進程時還必須將它換出到外存中。2. 進程的激活過程 當發生激活進程的事件時,系統利用激活原語將指定進程激活。 激活原語先將進程從外存調入內存,檢查該進程的狀態,若處于靜止就緒,則改為活動就緒,若處于靜止阻塞,則改為活動阻塞。若進程轉換成活動就緒狀態,而系統又采用搶占調度策略,則應檢查該進程是否有權

52、搶占CPU,若有則應進行進程調度。同樣,若掛起是為了對換,則在激活被掛起的進程時還必須將它調入內存。2.3 進程同步思考問題:1) 引入進程同步的目的2) 臨界資源和臨界區引入進程同步:OS引入進程提高了資源利用率和系統吞吐量,但由于進程的異步性導致了系統混亂,尤其爭用臨界資源時,(引用實例:當多個進程去爭用一臺打印機時,有可能使多個進程的輸出結果交織在一起難于區分)。為此,OS必須引入某種機制,即進程的同步機制(進程同步)。 進程同步是指對多個相關進程在執行次序上進行協調,它的目的是使系統中諸進程之間能有效地共享資源和相互合作,從而使程序的執行具有可再現性。用來實現同步的機制被稱作同步機制。

53、2.3.1 進程同步的基本概念在多道程序的環境下:所有進程都是相互獨立的 、進程以異步方式并發執行,致使進程在活動中會相互制約1兩種制約關系直接: 相互制約關系源于進程合作,表現為: 進程-進程(同步)間接: 相互制約關系源于資源共享,表現為:進程-資源-進程(互斥)(1)同步 同步是進程間共同完成一項任務時直接發生相互作用的關系 同步舉例:輸入進程和計算進程通過單緩沖區來協調工作同步進程間具有合作關系 在執行時間上必須按一定的順序協調進行(2)互斥互斥是并發執行的多個進程由于競爭同一資源而產生的相互排斥的關系 互斥進程彼此在邏輯上是完全無關的 它們的運行不具有時間次序的特征2臨界資源 一次僅允許一個進程使用的共享資源,如果多個進程同時使用這些資源,則有可能造成系統的混亂,如:打印機,多個進程同時使用一臺打印機,將使其輸出結果交織在一起,難于區分;又如共享變量,多個進程同時使用一個共享變量,會使結果具有不可再現性。3臨界區 (如何保證諸進程互斥地訪問臨界資源)每個進程中訪問臨界資源的那段代碼叫臨界區。對欲訪問的臨界資源進行檢查, 進入區 若此刻未被訪問,設正在訪問的標志訪問

溫馨提示

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

評論

0/150

提交評論