《操作系統原理與實踐教程(第四版)》全套教學課件_第1頁
《操作系統原理與實踐教程(第四版)》全套教學課件_第2頁
《操作系統原理與實踐教程(第四版)》全套教學課件_第3頁
《操作系統原理與實踐教程(第四版)》全套教學課件_第4頁
《操作系統原理與實踐教程(第四版)》全套教學課件_第5頁
已閱讀5頁,還剩746頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第1章操作系統概論1.1操作系統的概念1.2操作系統的形成和發展1.3操作系統的結構1.4常用操作系統簡介全套可編輯PPT課件

1.1操作系統的概念為了將部分關鍵的操作封裝,同時也達到簡化程序員工作的目的,計算機體系中出現了操作系統(OperatingSystem,OS)這個軟件層次。操作系統能在管理并正確使用一個或多個處理器、主存、外存、網絡接口以及多種不同的輸入/輸出設備的同時,為程序員提供一個通用的、相對簡單的、能夠驅動硬件工作的軟件接口。本課件是可編輯的正常PPT課件1.1.1操作系統的定義操作系統是硬件之上的第一層軟件,在操作系統之上的則是各種應用程序操作系統的層次結構本課件是可編輯的正常PPT課件1.1.1操作系統的定義操作系統的層次結構硬件層從底向上可分為物理設備、由各種寄存器和數據通道組成的微體系層以及主要由指令集組成的機器語言層,提供的是基本的計算資源。應用程序層軟件則通常是基于特定操作系統的、滿足特定功能的直接面向用戶的軟件,這些軟件能夠根據用戶的具體需求申請特定資源,并按照應用程序規定的方法來使用這些資源。操作系統處于這兩個層次之間,用來協調與控制應用程序對硬件的使用。本課件是可編輯的正常PPT課件1.1.1操作系統的定義每個人看待操作系統的角度不同,使用操作系統的目的不同,看到的操作系統也就表現出不同的特征:資源管理角度:操作系統可以被視為資源管理與分配器用戶觀點:操作系統是用戶與計算機硬件系統之間的接口機器擴充角度:操作系統是一個專門用來隱藏硬件的實際工作細節,并提供一個可以讀寫的、簡潔的命名文件視圖的軟件層次本課件是可編輯的正常PPT課件1.1.1操作系統的定義定義:操作系統就是一組管理與控制計算機軟硬件資源并對各項任務進行合理化調度,且附加了各種便于用戶操作的工具的軟件層次。本課件是可編輯的正常PPT課件1.1.2操作系統的特征現代操作系統都具有并發、共享、虛擬和異步特性,其中并發性是操作系統最重要的特征,其它三個特性均基于并發性而存在。本課件是可編輯的正常PPT課件1.1.2操作系統的特征1.并發性區分兩個概念:并發和并行。若在一個時間段內發生了一個以上的事件,則稱這幾個事件具有并發性而并行性指的是多個事件在同一時刻點發生在單處理機系統中,每個特定時刻只能有一個程序在CPU中運行。但一個較長的時間段可以被分為多個小的時間碎片,這些碎片可以按照一定的原則發放給多個不同的程序,使得在這個時間段內有多個程序得到一定程度的執行。這些程序是具有并發性,不具有并行性的。本課件是可編輯的正常PPT課件1.1.2操作系統的特征2.共享性操作系統中的共享,指的是多個并發執行的程序按照一定的規則共同使用操作系統所管理的軟硬件資源。操作系統所管理的軟硬件資源按照使用方式可以分為同時訪問方式和互斥訪問方式同時訪問方式指的是在一段時間內允許多個程序并發訪問。互斥訪問方式指的是在一段時間內只允許一個程序訪問的資源,這類資源被稱為臨界資源。本課件是可編輯的正常PPT課件1.1.2操作系統的特征3.虛擬性虛擬性是將計算機體系結構中的各種物理設備映射為多個邏輯設備。這種映射通常是利用分時共享的方式實現的,被映射的物理設備有多種。工作模式不同的各個設備所使用的映射方法不同。虛擬存儲器技術虛擬處理器技術虛擬設備技術虛擬特性的實現主要依靠分時共享和多道程序設計技術,在它們的幫助下,操作系統可以將一個設備映射為多個,將一個設備的能力均分到不同的邏輯設備上,以便多用戶共享資源。虛擬方法不會造成多個用戶長期等待其他用戶操作完成,同時能夠極大地提高資源利用率。本課件是可編輯的正常PPT課件1.1.2操作系統的特征4.異步性異步性指的是操作系統中的各個程序的推進次序無法預知。異步性的產生是由現代操作系統的并發性引起的。在并發執行的多個進程間,何時能夠獲得所需資源,在什么時刻等待哪些進程釋放資源,以及當前占有資源的進程何時釋放資源等因素都是不確定的,因此用戶是無法預知各個進程的執行時間。本課件是可編輯的正常PPT課件1.1.3操作系統的功能現代操作系統的主要任務就是維護一個優良的運行環境,以便多道程序能夠有序地、高效地獲得執行,而在運行的同時,還要盡可能地提高資源利用率和系統響應速度,并保證用戶操作的方便性。操作系統的基本功能處理器管理存儲器管理設備管理文件管理。友好的人機接口本課件是可編輯的正常PPT課件1.1.3操作系統的功能1.處理器管理功能創建、撤銷進程按照一定的算法為進程分配所需資源還要管理和控制各用戶的多個進程間的協調運行確保各個進程可以正確的通信在多道程序OS中,這些管理功能最終通過對進程的控制和管理來實現,而在具有線程機制的OS中,這些功能的實現還依賴于對線程的管理和控制。本課件是可編輯的正常PPT課件1.1.3操作系統的功能2.存儲器管理功能存儲器管理的主要任務就是將各種存儲器件統一管理,保證多道程序的良好運行環境,同時還要兼顧內存利用率、邏輯上擴充內存的需求以及用戶的感受,提供優良的控制、存取功能,為用戶提供操控存儲器的手段。為實現上述要求,存儲器管理應具有以下功能:內存分配內存回收內存保護地址映射虛擬內存本課件是可編輯的正常PPT課件1.1.3操作系統的功能(1)內存分配內存分配指的是為每道程序分配合適的內存空間,使其能在運行期間將運行所需數據放置在內存指定區域,以保證CPU能夠順利地獲取指令并存取指定數據。分配內存空間時應盡量提高內存空間的利用率,減少不可用內存空間。此外還應能響應正在運行的程序發出的動態空間申請,以便滿足新增指令和數據對新空間的需求。內存分配通常采用的方式有動態和靜態兩種方式。靜態分配方式指的是程序在裝入內存時需要估計所需空間,一旦進入內存開始運行,就不能再申請新的空間,也不能將該程序所占空間“搬運”到其它位置。動態分配方式指的是盡管程序裝入內存時申請了一定的空間,但在程序運行期間還可以為運行過程中所需的新的程序和數據再申請額外的空間,以滿足程序空間動態增長的需要。本課件是可編輯的正常PPT課件1.1.3操作系統的功能(2)內存回收內存回收指的是當程序運行完畢后,將各程序在裝入內存時所分配的空間重新置為空閑分區,并交由OS統一管理,以備其它程序申請使用。在內存的分配和回收過程中,為了記錄當前內存使用和分配情況,OS中通常還要配置內存分配數據結構,以便為后期分配和回收提供依據。本課件是可編輯的正常PPT課件1.1.3操作系統的功能(3)內存保護多道程序環境中,為了保證每個用戶的各個程序獨立運行,不會相互影響,需要提供內存保護機制。該機制的主要任務就是確保每道程序都在自己的內存空間運行,決不允許任何程序訪問或存取其它程序的非共享程序和數據。常見保護方法是利用上下界限寄存器。這兩個寄存器中存放的數值是當前進程的內存空間的起始地址和終止地址,每當CPU要求訪問某個地址的程序或數據時,OS會先利用上下界限寄存器與之比較,若在這兩個界限內,則可以正確訪問,否則就拒絕此次的內存訪問。通過這種方式,可以確保在進程運行期間不會誤訪問無權限空間。

本課件是可編輯的正常PPT課件1.1.3操作系統的功能(4)地址映射在多道程序環境中,每個程序的獨立空間分布于內存的不同位置,但程序員在編碼時并不知道自己的程序進入內存后會被放置在什么位置,因此也不可能在程序中直接使用內存單元地址來操作所需的指令或數據。為了解決這個問題,當前的OS都提供了地址映射機制。基本思想:將用戶與內存分隔,即程序員編碼時直接以“0”作為程序中出現的其它任何地址的初始位置,該位置被稱為邏輯基址。該程序被編譯和連接過后,形成可裝入的可執行文件。根據內存的當前使用情況,OS會在可執行文件真正裝入內存時為其分配合適大小的空閑空間,此空間的初始位置稱為物理基址。當程序運行時,CPU需要查詢某位置的數據或指令時只需給出相對于邏輯基址的偏移量,OS會根據邏輯空間內容的分布情況自動將該邏輯地址轉換為內存中對應的物理地址。地址映射功能需要硬件機構的協助,以保證數據的快速定位與存取。本課件是可編輯的正常PPT課件1.1.3操作系統的功能(5)虛擬內存虛擬內存是利用特殊技術將磁盤的一部分空間實現較快的存取,從邏輯上擴充內存容量,使用戶感覺到的內存容量比物理內存實際所提供的空間大。這種方式可以提高多道程序程度,提升系統吞吐量,獲得更好的系統性能。該機制的核心內容是請求調入功能和置換功能。請求調入功能允許程序僅向內存裝入保證啟動的必需數據和指令,當程序在運行過程中若需要新的數據和程序時,先中斷自身運行,并向OS提出調入請求,由其從磁盤將所需數據和指令調入內存,然后繼續從被中斷的地方執行。置換功能指的是在OS將所需新數據或指令調入內存時,若發現內存空間不足,需要從現處于內存中的數據或程序中選擇部分暫時不用的調出到磁盤上,騰出的空間則用來調入當前的急需數據。本課件是可編輯的正常PPT課件1.1.3操作系統的功能3.設備管理功能

設備管理的主要作用是使用統一的方式控制、管理和訪問種類繁多的外圍設備。根據設備管理模塊的功能要求,可以將其功能分為:設備分配緩沖管理設備處理虛擬設備本課件是可編輯的正常PPT課件1.1.3操作系統的功能(1)設備分配根據用戶的I/O請求和系統的設備分配策略,從系統當前空閑資源中選擇所需類型設備,并將其使用權限交付給用戶。若I/O子系統中還包括通道和設備控制器,則設備分配還要負責選擇空閑通道和控制器并交付用戶使用。本課件是可編輯的正常PPT課件1.1.3操作系統的功能(2)緩沖管理合理組織I/O設備與CUP間的緩沖區,并提供獲得和釋放緩沖區的有效手段。OS中常見的緩沖區機制有單緩沖機制、雙緩沖機制、緩沖池機制等。本課件是可編輯的正常PPT課件1.1.3操作系統的功能(3)設備處理設備處理程序即設備驅動程序,是CPU和I/O設備之間的通信程序。工作過程為:當設備驅動程序接收到上層軟件發送來的I/O請求時,要先檢查其合法性,然后查看設備是否空閑、設備的工作方式等信息,接著按照要求的參數格式向設備控制器發送具體的I/O命令,指揮控制器啟動設備按照順序完成指定動作。為了保證通信,設備驅動程序還應能接收從控制器發來的中斷請求,分析該中斷請求的類型,接著啟動處理該中斷類型的相應中斷處理程序,由其完成最終的處理過程。若是具有通道的OS,設備處理程序中還要配備根據用戶請求構造通道程序的功能。本課件是可編輯的正常PPT課件1.1.3操作系統的功能(4)虛擬設備通過SPOOLing虛擬技術實現,該技術可將一臺物理設備虛擬為多臺邏輯設備,每個用戶使用一臺邏輯設備,即將獨占的物理I/O設備交由多個用戶共享使用。這種方法能夠大大提高I/O速度,改善設備利用率,對每個用戶而言也感覺自身具有一臺獨享的物理設備,改善了用戶請求的響應感受。本課件是可編輯的正常PPT課件1.1.3操作系統的功能4.文件管理功能程序運行所需的代碼和數據以文件形式存儲在外部介質上,只有在程序運行需要時才通過文件管理機制調入內存。該機制能有效保護文件安全,提高資源利用率,為用戶提供快速檢索和使用文件的手段,是OS不可或缺的組成部分。文件管理的主要功能:管理外存上的靜態文件,提供存取、共享和保護文件的手段,以方便用戶使用;禁止無權限用戶對他人資源的誤訪問或有權限用戶對資源的誤操作;管理外存空閑區域,根據文件的大小為其分配和回收空閑區;為了滿足用戶對響應時間的要求,文件管理機制還應實現目錄管理,以便快速地定位文件。本課件是可編輯的正常PPT課件1.1.3操作系統的功能5.人機接口為了更大程度地減少操作人員的次要工作、方便用戶使用系統功能,操作系統應配備用戶界面,即所謂“用戶與操作系統的接口”。分類:圖形用戶接口命令接口程序接口本課件是可編輯的正常PPT課件1.1.4操作系統的設計目標為滿足用戶使用需求,現代操作系統在設計時均注重有效性、方便性、開放性、可擴展性等特性。有效性指的是OS應能有效地提高系統資源利用率和系統吞吐量。方便性指的是配置了OS后的計算機應該更容易使用。這兩個性有效和方便的特性是操作系統最重要的設計目標。開放性指的是OS應遵循世界標準規范。可擴展性指的是要提供對系統軟硬件組成以及功能的擴充保證。本課件是可編輯的正常PPT課件1.1.5操作系統的性能指標操作系統性能的優劣顯著地影響用戶工作的效率和成本,而衡量其性能優劣的指標有系統吞吐量、資源利用率、響應速度等。系統吞吐量指的是在單位時間內系統所能處理的數據量,該指標可以用來衡量系統的處理效率。資源利用率指的是各類資源在單位時間內為用戶工作所服務的比例,它表明資源能力利用是否合理。響應速度指的是系統從接收到用戶請求到完成請求處理、反饋響應信息的完整過程的速度,它的優劣大大影響到用戶感受。性能優良的OS應具有更大的系統吞吐量、更高的資源利用率和更快的響應速度本課件是可編輯的正常PPT課件1.2操作系統的形成與發展人工操作階段單道批處理系統多道批處理系統分時系統個人機系統實時系統網絡操作系統分布式系統本課件是可編輯的正常PPT課件1.2.1人工操作階段在操作系統軟件出現之前,體積龐大且處理速度緩慢的計算機硬件就已經出現并投入使用了。每個用戶均使用人工操作方式直接使用計算機硬件系統,將寫有程序的穿孔卡片裝入專用的輸入設備后,再手動啟動將其輸入計算機,最后再啟動計算機處理數據。缺點:計算機由一個用戶獨占,除非該用戶工作完成,下一個用戶總是需要長期等待。CPU利用率低。用戶在安裝卡片、啟動輸入設備進行輸入時,CPU并沒有工作,而是等待數據輸入。本課件是可編輯的正常PPT課件1.2.2單道批處理系統上世紀50年代,使用功耗低、可靠性高的晶體管構造的計算機量產并可以長時間運行,完成一些有用的工作匯編語言和FORTRAN語言的出現和流行,也使得很多編程人員開始使用它們來編寫自己的工作程序,這些程序中包含了一些特殊的程序,它們專用于完成批量作業的處理。這些程序就是現代操作系統的前身,被稱為單道批處理系統。工作過程:多個用戶任務利用外圍機輸入磁帶后,啟動批處理系統自動按順序讀入并處理全部任務,同時依序將結果輸出到另一個磁帶上,直到全部任務完成,工作人員再將結果利用輸出外圍機輸出即可特性:順序執行、自動運行、單道運行優點:盡可能地將CPU的等待時間降低,在一定程度上緩解了人機矛盾,提高了CPU利用率和系統吞吐量。缺點:資源利用率仍然不高本課件是可編輯的正常PPT課件1.2.3多道批處理系統20世紀60年代,使用小規模集成電路制造的第三代計算機上首先出現了多道批處理系統多道批處理系統工作過程:所有用戶的作業先在外存排隊等待裝入內存,此時形成的作業隊列被稱為“后備隊列”。接著由作業調度程序按照選定的調度算法從后備隊列中選擇一個或多個作業裝入內存的不同分區,這些分區相互不重疊。在作業運行期間,各作業僅能訪問分配給自己的內存空間中的程序和數據,每次要求訪問指定地址的信息時,操作系統要主動檢查其是否超出本作業的內存空間,以防止越界訪問和操作。本課件是可編輯的正常PPT課件1.2.3多道批處理系統優點提高CPU利用率。多道批處理系統中,一個作業需要轉向I/O執行時,可以將CPU交給另一個作業使用,只要內存中作業達到一定數量,就可以保證CPU始終處于忙碌狀態,其利用率甚至可以接近100%。提高內存和I/O設備利用率。多個程序共處內存可以盡量減少內存的空間浪費。多個I/O設備同時被多個不同程序使用,在單位時間內,每個設備的利用率都得到了提升。增加系統吞吐量。當CPU和I/O設備都不斷忙碌的情況下,單位時間內系統所處理的數據量必然會大幅增加本課件是可編輯的正常PPT課件1.2.3多道批處理系統缺點平均周轉時間(作業進入系統到其完成任務退出系統所經歷的平均時間)長無交互能力用戶任務響應時間大大延長修改和調試程序均需要等待本批作業處理完成才能進行本課件是可編輯的正常PPT課件1.2.4分時操作系統設計動機:該系統的出現起因于多數程序員對于多道批處理系統需要與他人爭搶機時的痛苦感受,用戶希望可以獨占一臺機器比較長的時間,以便集中完成自己的工作,同時也希望隨時與機器交互,以便對自己的程序做出及時的調整。

設計思想分時系統將CPU處理時間進行分割,形成多個特定大小的時間片段,這些片段被稱為時間片。而分時系統中的每個用戶在獲取CPU控制權后,最長只能執行一個時間片長度,然后就必須讓出CPU,交給其他等待用戶使用。本課件是可編輯的正常PPT課件1.2.4分時操作系統特點多路性:指的是多個用戶終端同時聯接在一臺主機之上,系統按照時間片輪轉的方式將CPU輪流交予各個用戶進程使用。用戶:單位時間內每個用戶都感覺自己獨占終端并得到響應系統:每個小時間片內及時性:指的是用戶請求的響應時間要短。獨立性:指的是每個用戶均感覺自己獨占了一臺終端,且不知道其他用戶的存在,即每個用戶均獨立運作自己的程序,相互之間不干擾。交互性:指的是用戶使用終端與系統進行對話,以便向系統請求各種不同的系統服務,這些服務可以幫助用戶完成不同類型的需求。本課件是可編輯的正常PPT課件1.2.5個人計算機操作系統上世紀80年代初,大規模集成電路構成的微型計算機(個人計算機)問世,它具有極低廉的價格卻能夠做到原來由大型機才能完成的工作。微型計算機上配置的操作系統被稱為微機操作系統,根據其運行方式,可以將整個發展過程中出現的微機操作系統分為以下幾類:單用戶單任務操作系統:一段時間內只能有一位用戶使用微型計算機,且這個用戶一次只能運行一個用戶程序。單用戶多任務操作系統:一段時間內由一個用戶獨享計算機,但這個用戶可以合理利用這段機時,一次運行多個任務,使它們并發執行。這種做法通過提高多道程序度來增加系統吞吐量和資源利用率,縮短用戶任務的響應時間,從而大幅提高系統性能。多用戶多任務操作系統:多個用戶同時登錄主機,但每個用戶要使用自己的終端來共享系統資源;在每個終端上,各個用戶可以同時運作多個并發任務,以進一步提高系統吞吐量和資源利用率。本課件是可編輯的正常PPT課件1.2.6實時操作系統在工業應用領域,實時操作系統(RealTimeSystem)更為常見。特征:時間是關鍵參數,即系統應能及時獲取用戶請求,并在指定時間內開始或完成規定任務,同時還要保證所有任務協調一致地工作。實時操作系統通常被用于進行實時控制或實時信息處理。實時控制:生產過程的控制均需要依賴計算機對數據的快速組織處理能力,由硬件采樣裝置采集上來的樣本值被及時(或即時)傳送到控制主機中,由主機根據事先制定的控制規則自動指定相關硬件動作,以完成產品的加工。實時信息處理:此類系統所管理的數據均放在服務器上,由多個終端通過網絡關聯,服務器接收各終端發來的遠程服務請求,分析請求后對信息進行檢索和處理,然后將處理結果返回給提出申請的用戶。本課件是可編輯的正常PPT課件1.2.6實時操作系統分類按周期性分類周期性實時任務:由外部設備按照設備周期定期發送信號來啟動,主機收到信號后為該設備進行某些特定工作的執行。非周期性實時任務:根據任務對截止時間的要求以及當前系統中資源使用情況選擇合適的時機啟動,該時機必須能保證任務滿足截止時間要求。按對截止時間要求的嚴格程度分類截止時間分為開始截止時間和完成截止時間兩種。前者要求實時任務在指定時刻(或之前)必須開始運作,后者要求實時任務在指定時刻(或之前)必須結束。硬實時:任務必須在指定截止時間(或之前)開始或完成軟實時:要求不是十分嚴格,偶爾可以超出時限,對系統正確性和安全性不會有太大的影響本課件是可編輯的正常PPT課件1.2.7網絡操作系統網絡操作系統(NetworkOperatingSystem,NOS)是網絡用戶和網絡之間的接口,除實現通用操作系統功能外,還需要管理網絡中的共享資源,實現用戶之間的通信,同時還要向用戶提供多種系統服務。網絡操作系統的基本功能:基本操作系統功能數據通信資源共享網絡管理本課件是可編輯的正常PPT課件1.2.7網絡操作系統網絡操作系統的基本功能:數據通信:建立與解除除應用層外的所有各網絡層次間為保障數據通信所設立的各種連接。正確拆分和組裝報文。實現傳輸控制。做到流量控制。提供差錯的檢測與糾正功能。本課件是可編輯的正常PPT課件1.2.7網絡操作系統網絡操作系統的基本功能:資源共享:對硬盤空間共享:既可以使用虛擬軟盤方式將服務器硬盤分區后分配給各用戶,也可以使用文件服務方式要求系統將服務器的文件系統中特定目錄或文件的存取權限交付給用戶。對網絡打印機共享:使用SPOOLing(假脫機)技術將網絡中的打印機共享給工作站或其它所有的計算機,每個工作站或服務器發送給打印機的任務將在打印機所在地進行排隊等待,直到全部打印工作完成。網絡資源的共享利于提高資源利用率,降低成本。本課件是可編輯的正常PPT課件1.2.7網絡操作系統網絡操作系統的基本功能:網絡管理:網絡管理軟件負責監視網絡及其組件的運行情況它向不同設備不定時發送特定信息,并接收和分析響應信息,以確定該設備甚至整個網絡是否正常運作。網絡操作系統部署于單機,其運行性能取決于本地計算機。本課件是可編輯的正常PPT課件1.2.8分布式操作系統分布式系統是一個邏輯上的全局操作系統,由若干個獨立的計算機構成,這些不同的處理器通過互聯網構成一個統一的系統。在該系統中使用了分布式計算結構,將原來單機系統CPU的任務分散給不同的處理器,這些處理器可以用來實現不同的功能,它們協調工作,共享系統軟硬件資源,共同控制分布式程序(進程)的運行。分布式系統能夠給用戶提供統一的界面、標準的接口,以便利用系統的各種資源實現所需要的全部操作。組成分布式系統的各個主機體系(包括處理器、存儲器、外設)既可以獨立處理本地任務,又可以合作完成大型工作。本課件是可編輯的正常PPT課件1.2.8分布式操作系統與網絡操作系統的區別系統透明性:分布式系統對用戶而言是透明的。不同主機的用戶可以看到統一的界面,每個用戶均認為整個系統運行于本地計算機,當用戶要求使用某資源時,無須了解資源位置和操作執行的位置,只需使用本機的操作指令即可,分布式系統將自動解析用戶申請,選擇相應位置的主機運作指定操作,并利用相應位置的指定類型資源。在網絡操作系統對用戶而言是不透明的。用戶需要顯式給出所申請資源位置,要求用戶對整個網絡布局有深刻的了解。系統耦合度:分布式操作系統除了具有一般計算機網絡的模塊性、并行性、通信性等特征外,還有進一步的發展。為了完成某些大型工作,多個主機需要合作,因此分布式系統是邏輯上緊密耦合的系統。網絡操作系統中,各主機均有自己的一套處理機制,僅僅依靠通信鏈路上的消息傳遞為用戶提供一些服務,邏輯上并未構成一個整體,因此網絡操作系統是邏輯上松散耦合的系統。

本課件是可編輯的正常PPT課件1.2.8分布式操作系統特征:多機合作:多個處理器共同協作,由操作系統自動對任務進行分配和協調。分布式系統具有多機合作功能,使得其具有響應時間短、系統吞吐量高、可靠性高等優點。健壯性:當系統中的一個甚至多個處理器出現故障時,剩余的處理器仍能自動重新構成一個新的基于較少處理器的操作系統,該系統仍能繼續工作,甚至在配置了冗余處理器的分布式系統中,重構的新系統可以繼續失效部分的全部工作。一旦故障排除,系統將自動恢復為原來的狀態。本課件是可編輯的正常PPT課件1.2.9操作系統的進一步發展集群式系統兩個或多個獨立的系統單元組成的大型系統,這里的單元可以是單處理器系統,也可以是多處理器系統。多處理器系統指的是通過通信信道緊密通信的多個處理器組成的系統,它分為對稱多處理器系統和非對稱多處理器系統對稱多處理器系統:系統中每個處理器均安裝有一個操作系統的副本,它們相互通信,共享總線、時鐘等系統資源,在系統中的地位相同。非對稱多處理器系統:系統中每個處理器的地位不同,有一個主處理器和多個協處理器,主處理器主控全局,協處理器向主處理器要任務或執行預先設定的任務。特點:具有較高的性價比。提供優秀的容錯能力。能及時檢測到故障的產生,并恢復故障節點的運作。本課件是可編輯的正常PPT課件1.2.9操作系統的進一步發展嵌入式系統在各種數字化設備中設置類似微型機的硬件構成,并將嵌入式系統植入這些硬件中,使其為各種用戶級嵌入式軟件提供支持,同時控制整個系統的各項操作,合理管理和分配系統資源除了具有操作系統的基本功能外,還具有實時性、微型化、可裁剪、高可靠性和高可移植性等特點。最典型的復雜嵌入式系統是Linux。本課件是可編輯的正常PPT課件1.3操作系統的結構使用軟件工程思想設計操作系統時,除了要滿足操作系統的基本設計目標外,還要根據用戶需求分析采用哪種形式的操作系統結構更適用。較有代表性的OS結構整體結構分層結構虛擬機結構外核結構客戶機/服務器結構。本課件是可編輯的正常PPT課件1.3.1整體結構整體結構又稱為模塊化結構,它采用結構化程序設計技術,將復雜的OS需求分解后根據相關性分類,每個類別使用一個或幾個模塊實現。模塊-接口法:整體結構OS的各模塊分別具有特定管理功能,且相互之間使用規定好的接口通信。各模塊進一步劃分為子模塊和通信接口。子模塊還可以進一步細分為更小的模塊。本課件是可編輯的正常PPT課件1.3.1整體結構特點內聚度低耦合度高新加入的系統功能可以獨立設計、編碼和調試后再與原系統連接形成新的整體各模塊獨立開發,縮短系統開發周期獨立開發的各模塊無法基于確定前趨模塊完成,這種無序性將會導致設計的基礎無法保證可靠本課件是可編輯的正常PPT課件1.3.1整體結構簡單的整體結構操作系統結構模型本課件是可編輯的正常PPT課件1.3.2分層結構將整體結構OS中的各個模塊按照決定次序分層,即每層都是在其下層的基礎上構建的。在裸機之上,根據模塊功能與系統硬件的相關性以及各模塊之間的調用關系,構建多個層次的軟件,最終形成完備的OS。分層結構實現過程通常采用自底向上的方法進行,以保證系統模塊按照設計過程中的決策次序鋪設。該結構的系統具有層次特性,每個層次由多個模塊構成,且只依賴于其緊鄰下層。本課件是可編輯的正常PPT課件1.3.2分層結構特點便于保證系統正確性便于進行功能擴充和系統維護。各層間都要定義通信機制,這樣當一個用戶請求需要使用較低層次的功能時,需要多次穿越層邊界,這樣的做法會增加通信開銷,導致系統效率降低。層號功能5操作員4用戶程序3I/O管理2操作員-進程通信1存儲器和磁盤管理0處理器分配和多道程序設計第一個分層結構OS——THE系統結構

1.3.3虛擬機結構第一個真正意義上的虛擬機結構OS是VM/370,它的設計初衷是實現兩個功能:提供多道程序環境和實現一個比裸機更方便的可擴展的虛擬計算機。VM/370的核心程序為虛擬機監控器(virtualmachinemonitor),它運行于裸機之上并提供多道程序功能。該系統向上層提供多個對裸機硬件精確復制的虛擬機,這些復制品均具有真實機器的全部功能。由于在一臺物理裸機上運行的操作系統均可以出現在一個特定虛擬機上,因此分配給各用戶的不同虛擬機上可以隨用戶的個人愛好和操作習慣不同而采用不同的操作系統。所有虛擬機都是對整個物理裸機的精確復制,因此其可用空間均從0到最大編號,為確保正確定位用戶的實際文件所在地,虛擬機監控器必須設置和維護一張地址重映射表。本課件是可編輯的正常PPT課件1.3.3虛擬機結構在VM/370的各虛擬機中,除了用來實現批處理和事務處理的系統功能程序外,還有用來保證分時共享的單用戶、交互式系統——會話監控系統(ConversationalMonitorSystem,CMS)。本課件是可編輯的正常PPT課件1.3.4外核從虛擬機發展而來該系統為每個虛擬機指定連續空間,其核心程序稱為外核(exokernel),它在核心態運行,為虛擬機分配資源,并對虛擬機發送來的資源訪問申請進行檢查,以保證沒有任何虛擬機能訪問其他虛擬機(用戶)的空間。這種方法可以將每個用戶層虛擬機限定在已分配給它的指定資源環境中,保證各虛擬機的獨立性。優點可以減少映射次數可以將外核內的多道程序設計環境與用戶空間的操作系統代碼有效隔離外核處理虛擬機沖突的開銷較小本課件是可編輯的正常PPT課件1.3.5客戶機/服務器結構現代操作系統普遍采用的方法是將操作系統的大部分功能盡量從核心態中移出,只將最基本的操作組成一個很小的微內核,這就形成了所謂客戶機/服務器結構(C/S結構)的操作系統。它將處理本地業務的用戶進程放在具有一定獨立處理能力的客戶機上,形成客戶機進程;而把網絡之上所有用戶同時共享的信息以及完成客戶機與服務器通信功能的微內核放在服務器上,形成服務器進程。

用戶提出訪問系統資源申請時,客戶機進程先發送請求給服務器進程,由后者將請求轉發給能完成指定服務的客戶機,待其完成要求工作后將結果發送給服務器進程,再由服務器進程將結果回送給發出申請的客戶機進程。本課件是可編輯的正常PPT課件1.3.5客戶機/服務器結構優點數據可以分布式處理和存儲重要數據可放在受到嚴密保護的服務器所在的局域網內,便于集中管理,以保證數據安全C/S結構有較好的靈活性和可擴充性易于修改用戶程序本課件是可編輯的正常PPT課件1.4常用操作系統簡介Windows系列操作系統個人桌面系統領域應用范圍最廣的操作系統UNIX和Linux系統UNIX:技術成熟度、穩定性、可靠性好,是唯一被專業人士認可的、能在從巨型機到微型機甚至是嵌入式硬件平臺上穩定運行的多用戶、多任務操作系統Linux:起源于UNIX社區,是首要的開源類UNIX系統。在教育領域,對Linux的學習也有助于學生理解內核工作方式。該系統本質上只提供一個操作系統內核,其它的擴展功能(尤其是直接面向用戶的shell層次的各種功能)則由分布在全球的各類公司、研究機構、大專院校等單位或個人根據自身或客戶需要自主開發,是真正的定制系統。本課件是可編輯的正常PPT課件本章學習目標掌握操作系統的定義及其在計算機系統中的作用。掌握操作系統的特征與功能。了解操作系統的形成過程及其發展趨勢,掌握批處理系統、分時系統和實時系統的特點。了解操作系統的設計結構。了解常見操作系統的特點。本課件是可編輯的正常PPT課件第2章操作系統的界面2.1用戶工作環境2.2操作系統的用戶接口2.3操作系統提供的服務2.1用戶工作環境用戶環境指的是用戶以自己的賬號和密碼登錄到系統后所見到的整體操作環境,這個環境應該由操作系統和用戶自身設定綜合而成。操作系統會在用戶賬號下關聯一個操作偏好設置的記錄,當某用戶以自身賬號和相應密碼登錄系統后,操作系統將自動按照該記錄設置默認的用戶操作環境。對普通用戶而言,圖形化的環境更容易上手和操作對特殊應用領域的用戶而言,使用命令行形式能獲得更好的響應效率本課件是可編輯的正常PPT課件2.1.1用戶環境在設定用戶環境前,通常要求系統先啟動,即先將所有用戶的公共服務和基本的系統操作環境設置好,然后再根據各用戶的個人設定進行細微的調整。以linux為例,看到如下圖像表示系統正在開機自檢并配置基本操作環境。本課件是可編輯的正常PPT課件2.1.2系統的生成與引導操作系統需要完成生成與引導兩個步驟后才能為用戶提供正確的服務,確保用戶任務的順利完成。系統生成(SystemGeneration,SYSGEN):在為用戶建立工作環境前,需要先檢測硬件情況,并在特定硬件之上配置和構造操作系統。系統引導指的是將操作系統內核裝入內存并啟動系統的過程。本課件是可編輯的正常PPT課件2.1.2系統的生成與引導系統生成當裸機被啟動時,為了生成正確的操作系統,需要根據硬件平臺的狀況進行一系列重要的安裝工作,為此需要設計一個特殊的程序來自動進行系統生成。系統生成程序從指定文件中讀取硬件系統的配置信息,或從操作人員處獲取這些信息,甚至在某些系統采用硬件直接檢測的信息獲取方式。配置信息用來幫助系統記錄硬件配置信息,以便能根據硬件選擇合適的操作系統模塊組。本課件是可編輯的正常PPT課件2.1.2系統的生成與引導系統生成時參考的重要配置信息CPU類型內存大小當前關聯設備的類型和數量操作系統的重要功能選項和參數本課件是可編輯的正常PPT課件2.1.2系統的生成與引導系統生成方法表驅動法:所有的系統代碼(尤其是實現核心功能的內核代碼)以文件形式出現在外存的指定位置。當系統實際運行時,根據自身當前運行需要選擇相應的功能模塊裝入內存。這種方法的好處是能以最小的內存空間保證最基本的系統功能運作,同時也加速了啟動速度。本課件是可編輯的正常PPT課件2.1.2系統的生成與引導系統生成方法其他方法:為了實現專有硬件平臺對實時性、快速性等特殊性能的更高要求,可根據用戶的特定需求定制操作系統,并將其完全編譯,形成專用系統。此類系統將一些與用戶需求無關的功能直接裁掉,以犧牲全面性能的方式換取更快速響應。本課件是可編輯的正常PPT課件2.1.2系統的生成與引導系統引導系統引導由位于系統ROM中的啟動引導程序完成,整個系統引導過程包括定位內核代碼在外存的具體位置、按照要求正確裝入內核至內存并最終使內核運行起來。初始引導內核初始化全系統初始化本課件是可編輯的正常PPT課件2.1.2系統的生成與引導

初始引導計算機BIOS完成,包括中斷服務程序、系統設置程序、上電自檢(PowerOnSelfTest,POST)和系統啟動自舉程序等中斷服務程序是系統軟硬件間的一個可編程接口,用于完成硬件初始化系統設置程序用來設置CMOSRAM中的各項參數上電自檢POST在通電后自動對系統中各關鍵和主要外設進行檢查,一旦在自檢中發現問題就通過鳴笛或提示信息警告用戶系統啟動自舉程序按照系統CMOS設置中保存的啟動順序搜索有效的硬件驅動器,讀入操作系統引導程序,接著將系統控制權交給引導程序,并由引導程序裝入內核代碼,以便完成系統的順序啟動本課件是可編輯的正常PPT課件2.1.2系統的生成與引導內核初始化引導程序將系統內核裝入內存后就將CPU控制權交給內核內核執行對硬件、電路邏輯等的初始化操作,以及對內核數據結構的初始化本課件是可編輯的正常PPT課件2.1.2系統的生成與引導全系統初始化該步驟的主要任務是啟動用戶接口,使系統處于等待命令輸入狀態此時操作系統做的主要工作是為用戶創建基本工作環境,接收、解釋和執行用戶程序與指令。全系統初始化完成后,各用戶看到的接口表現會根據用戶自身設定顯示Linux用戶命令行登錄界面Linux用戶圖形登錄界面本課件是可編輯的正常PPT課件2.1.3實例分析:Linux系統啟動Linux的啟動過程需要多個環節的配合,首先需要由BIOS加載操作系統引導程序,由其加載操作系統內核,內核裝入時需要先進行代碼的解壓縮,然后才能開始初始化過程,初始化過程完成后陸續生成各終端進程,以便為用戶提供所需系統服務。BIOS初始化裝載啟動引導程序內核初始化啟動系統本課件是可編輯的正常PPT課件2.1.3實例分析:Linux系統啟動BIOS初始化硬件配置檢測:檢查并獲取外設數量、類型、工作方式等重要的管控信息硬件初始化:可避免硬件設備操作不會造成硬件沖突,同時顯示系統中所有PCI設備列表裝入引導程序:根據用戶預定義次序依次訪問軟盤、硬盤和CD-ROM的第一個扇區,并將搜索過程中遇到的第一個引導程序裝入內存轉向引導程序:引導程序裝載完成后,復制主引導扇區到內存起始位置為0x7C000處,并將此地址存放在指令指針寄存器里,此時下一條要執行的就是該寄存器所指向單元處的指令,即系統啟動引導程序的第一條指令本課件是可編輯的正常PPT課件2.1.3實例分析:Linux系統啟動裝載啟動引導程序Linux中當前最流行的啟動引導程序為GRUBGRUB占用空間較大,無法一次性全部放入MBR,因此在BIOS初始化時裝入的只是最初的部分內容(stage1)Stage1的工作是將GRUB的剩余功能代碼(Stage2)裝入內存,Stage2將匯編語言環境轉化為C語言環境,接著顯示一個界面讓用戶選擇想要啟動的操作系統用戶選擇了要啟動的系統后,相應內核將被裝入內存RedHatEnterpriseLinux5的啟動菜單本課件是可編輯的正常PPT課件2.1.3實例分析:Linux系統啟動內核初始化(

Setup.S程序)首先從BIOS中獲取有關內存、磁盤以及其它設備的重要參數等數據,并將這些數據放到內存的特定空間對讀入的內核信息進行檢測檢測并配置內存、鍵盤、磁盤等各種設備,設置中斷描述符表、全局描述符表等表格以及中斷向量等數據結構啟動startup_32()函數裝入各數據段寄存器、初始化頁表、建立0號進程的內核堆棧,重新設置中斷描述符表、全局描述符表,拷貝系統參數啟動init()函數(1號進程)。本課件是可編輯的正常PPT課件2.1.3實例分析:Linux系統啟動啟動系統啟動系統過程由init()函數完成,因此它又被稱為初始化進程,負責創建并初始化其它所有的新進程工作過程讀取設置文件/etc/inittab執行系統初始化腳本、對系統進行基本設置、掛載根文件系統和其它文件系統確定啟動后進入的運行級別順序啟動并初始化系統重要服務工作啟動虛擬終端,并在運行級別5上運行X-windowLinux的圖形界面服務軟件本課件是可編輯的正常PPT課件2.1.3實例分析:Linux系統啟動Linux啟動過程實際上是一個CPU控制權的傳遞過程本課件是可編輯的正常PPT課件2.2操作系統的用戶接口操作系統是用戶程序執行的平臺,為用戶進程提供系統服務操作系統的關鍵性、重要性要求用戶不能隨意直接訪問和調用系統功能模塊在現代計算機體系中,用戶使用系統服務必須通過規定好的接口本課件是可編輯的正常PPT課件2.2操作系統的用戶接口操作系統為用戶提供的接口有圖形接口、命令接口和程序接口幾種形式本課件是可編輯的正常PPT課件2.2操作系統的用戶接口命令接口使用方法:在終端上輸入命令,指定要獲取的系統服務名稱、具體服務內容和被操作對象等信息,這些信息將被傳輸給服務程序,以便滿足用戶要求命令接口是交互式接口,由終端處理程序、命令解釋程序和指令集合組成終端處理程序:接收用戶輸入的命令,并將其顯示在屏幕上命令解釋程序:用戶核查無誤后,使用回車鍵通知該程序開始分析指令和發送解析結果,并等待服務程序的處理反饋指令集合:機器語言編寫的機器動作指令,由計算機硬件體系的各部件合作完成,該集合表征了計算機的功能本課件是可編輯的正常PPT課件2.2操作系統的用戶接口命令接口批處理文件可被視為特殊的命令接口使用方式批處理文件的特點以“行”為單位順序保存了一個指令序列,該指令序列可以幫助用戶完成一個例行任務的快速執行簡化操作、減少輸入次數、節省時間可對指令流進行簡單有效的定制適合專業用戶使用:用戶必須按照指定格式和名稱申請系統服務,還要了解文件系統的目錄結構以確定被操作對象的具體位置批處理文件用于執行例行性任務本課件是可編輯的正常PPT課件2.2操作系統的用戶接口圖形用戶接口便于非專業用戶正確、方便的使用操作系統使用圖形用戶界面的操作系統在執行程序時,首先創建一個新的顯示區域,該區域稱為窗口,然后在該窗口中進行指定程序的執行用戶在使用窗口時可以根據喜好自定義窗口屬性,并在窗口中使用鼠標選擇所需操作,此時的鼠標動作相當于命令接口中的各種功能指令本課件是可編輯的正常PPT課件2.2操作系統的用戶接口圖形用戶接口特點可以簡單、便捷、直觀地使用操作系統的各項系統服務拉近了計算機與普通用戶的距離,極大地促進了計算機應用的發展縮短指令學習周期幫助專業人員將更多的精力和時間放在更為重要的工作上去本課件是可編輯的正常PPT課件2.2操作系統的用戶接口命令接口與圖形接口的比較命令接口:優勢在于對計算機資源的控制更為直接有效、系統與用戶的互動性更強、占用資源少、響應時間短,可以用于實現更為復雜和特殊的計算機操控要求圖形接口:具有美觀性、易用性、便捷性,利于非專業人士和無需控制系統環境的專業人士使用命令接口與圖形接口均用于人機交互本課件是可編輯的正常PPT課件2.2操作系統的用戶接口程序接口用戶程序中需要使用系統服務時必須使用OS提供的應用程序接口(API)系統程序:用于管理和分配系統資源,為用戶提供服務用戶程序:用于完成用戶自身任務,需要向系統提出資源申請并等待系統的審核分配,是服務的申請者操作系統的程序接口由一組能請求操作系統內核完成特定功能的專用過程調用組成,用戶程序必須使用這種方式獲取核心態的系統服務本課件是可編輯的正常PPT課件2.3操作系統提供的服務操作系統提供的基本服務控制程序運行進行I/O操作操作文件系統實現通信錯誤處理操作系統提供的公共函數資源分配統計管理和控制數據提供系統資源保護本課件是可編輯的正常PPT課件2.3.1操作系統提供的基本服務控制程序運行系統通過服務將用戶程序裝入內存并運行控制程序在規定時間內結束將執行過程中出現的錯誤和異常及時地報告給用戶或系統的其他錯誤處理程序進行I/O操作為保證各用戶合理、安全地共享設備資源,用戶不能直接控制設備,只能通過向系統發送設備申請來請求系統代其處理,因此系統應具有接收并解析設備請求、完成請求工作、反饋設備工作結果給請求用戶等一系列的I/O控制功能本課件是可編輯的正常PPT課件2.3.1操作系統提供的基本服務操作文件系統文件系統是OS用來管理、存取文件的機制,支持”按名存取“OS為用戶提供根據文件名稱創建、訪問、修改、刪除文件的方法,以確保文件數據的安全可靠以及正確存取對于多個用戶,操作系統可將不同用戶的文件分別保護實現通信當多個程序合作完成一個大型任務時,通常需要借助通信來控制程序的執行順序,該通信任務由OS提供的服務完成本課件是可編輯的正常PPT課件2.3.1操作系統提供的基本服務錯誤處理在系統運行期間,各種級別的程序都有可能出現錯誤情況,嚴重者能造成系統崩潰操作系統通常都要設置錯誤檢查和處理機制,以便及時發現錯誤并采取正確的處理步驟,避免損害系統的正確性和統一性本課件是可編輯的正常PPT課件2.3.2操作系統提供的公共函數系統內核中還提供大量公共基礎函數,用來幫助系統高效運行,確保用戶合理共享資源,并提高系統效率資源分配:管理特殊系統資源,確保用戶和系統之間、用戶之間不會產生資源共享沖突,并能完成資源的及時回收統計管理和控制數據:OS要保存每個用戶的資源使用情況,以便建立系統管理和控制所需的統計數據。統計結果需要經過細致地分析,并根據分析結果設計一系列系統服務的改進措施提供系統資源保護:系統資源是操作系統的重要管理對象,其安全使用決定系統本身的安全性,系統資源保護函數根據用戶的角色要求管理資源,以保證用戶不會相互打擾,也不會訪問重要系統資源本課件是可編輯的正常PPT課件本章學習目標了解操作系統用戶的不同工作環境。掌握操作系統的生成和引導過程。了解操作系統為用戶提供的各種用戶接口的使用方法。了解系統調用的特點和用法本課件是可編輯的正常PPT課件第3章處理器管理3.1進程的引入3.2進程的概念3.3進程控制3.4線程3.5處理器調度3.6調度算法3.7多處理器調度和實時調度3.8Linux的進程管理3.1進程的引入3.1.1程序的順序執行在早期的單道程序計算機系統中,一次只能運行一個程序,當有多個程序需要運行時,程序的執行方式必須是順序的,即必須在一個程序執行完成之后,才允許執行另一個程序。程序段的順序執行示意圖:本課件是可編輯的正常PPT課件3.1.1程序的順序執行程序順序執行的特征如下:順序性。處理機在執行程序時,嚴格按照程序所規定的順序執行,即每一操作都必須在下一操作開始之前完成。封閉性。程序一旦開始運行就獨占系統資源,只有本程序才能改變資源的狀態,執行結果不受外界條件的影響。可再現性。只要初始條件和運行環境相同,多次執行同一程序,都會得到相同的結果。本課件是可編輯的正常PPT課件3.1.2

程序的并發執行程序的順序執行降低了計算機系統的整體處理能力,使系統資源得不到充分利用,效率低下。為了提高計算機系統的資源利用率,現代計算機普遍采用并發操作,即若干個程序段同時在系統中運行,這些程序段的執行在時間上是重疊的,當一個程序還未執行結束時,另一個可能已經開始運行了。本課件是可編輯的正常PPT課件3.1.2

程序的并發執行程序的并發執行可以大大提高系統的吞吐量,具有以下三方面的特征:間斷性。為了完成同一項任務而相互合作的多個程序并發執行時,由于互相協調、相互制約會導致“暫停—執行—暫停”的間斷性運行規律。失去封閉性。程序在并發執行時,多個程序需要共享系統中的多種資源。所以,這些資源的狀態是由多個程序改變的,從而使程序的運行失去了封閉性。不可再現性。程序在并發執行時,由于失去了封閉性,從而導致其失去可再現性。本課件是可編輯的正常PPT課件3.2進程的概念3.2.1進程的定義引入“進程”的原因是為了使程序能夠并發執行,并且能對并發的程序加以描述和控制而引入的。一般把進程理解為:“可并發執行且具有獨立功能的程序在一個數據集合上的運行過程,它是操作系統進行資源分配和調度的基本單位”。進程是一個程序運行的動態過程,而且該程序必須具有并發運行的程序結構;

運行過程必須依賴一個數據集合而獨立運行,從而形成了系統中的一個單位。本課件是可編輯的正常PPT課件3.2.1進程的定義進程的五大特性:動態性。進程的實質是程序的一次執行過程,是個動態的概念,有一定的生命周期,要經歷創建、執行、撤銷過程。結構性。它由進程控制塊、程序段和數據段組成。并發性。指在一個系統內可以同時存在多個進程,它們通過交替使用處理器,從而實現并發執行。異步性。指進程之間在交替使用計算機資源時沒有強制的順序,按各自獨立的、不可預知的速度向前推進。獨立性。指進程在系統中是一個可獨立運行的、具有獨立功能的基本單位,也是系統分配資源和進行調度的獨立單位。本課件是可編輯的正常PPT課件3.2.1進程的定義進程的分類:系統進程:它們是執行操作系統核心代碼的進程,起到對系統資源的管理和控制作用。用戶進程:主要是執行用戶程序的進程。系統進程和用戶進程的區別:(1)系統進程可以獨占分配給它們的資源,也能以最高優先級運行;而用戶進程需要通過系統服務請求(系統調用)的方式來競爭使用系統資源。(2)用戶進程不能直接執行I/O操作,而系統進程可以。(3)系統進程在內核態(管態)下活動,而用戶進程則是在用戶態(目態)下活動。本課件是可編輯的正常PPT課件3.2.1進程的定義進程和程序既有區別也有聯系,主要體現在以下幾個方面:(1)程序是指令集合,是靜態概念。進程是程序在處理機上的一次執行的過程,是動態的概念。(2)進程是一個獨立的運行單位,能與其它進程并發(并行)執行。而程序則不可以并發執行。(3)進程是進行計算機資源分配的基本單位,也是進行處理機調度的基本單位。(4)一個程序可以作為多個進程的運行程序,這些進程可以同時存在,而它們使用的是同一程序。本課件是可編輯的正常PPT課件3.2.2進程的狀態在系統中有多個進程存在時,它們是交替運行的,即進程會執行一段時間、暫停一下、然后再執行一段時間,重復該過程直到執行完畢。進程運行的間斷性決定了進程可能具有多種狀態。本課件是可編輯的正常PPT課件3.2.2進程的狀態進程在運行過程中通常有三種基本狀態,分別是:(1)就緒狀態(Ready)

進程已獲取到除CPU之外的所有必要資源,只要再得到CPU,就可以馬上投入運行,這時進程所處的狀態為就緒狀態。(2)運行狀態(Running)

處于就緒狀態的進程得到CPU控制權后,就可以使用處理器進行數據運算和處理,而其所處的狀態稱為運行狀態。(3)

阻塞狀態(Wait)

當一個進程正在等待某個事件的發生(如等待I/O的完成)而暫停執行,這時,即使分配有CPU時間,它也無法執行,則稱該進程處于阻塞狀態,又稱等待狀態。本課件是可編輯的正常PPT課件3.2.2進程的狀態進程在執行過程中的狀態會不斷變化,三種基本狀態之間的轉換關系如下圖所示:本課件是可編輯的正常PPT課件3.2.2進程的狀態在引入掛起狀態的操作系統中,又增加了靜止就緒和靜止阻塞兩個新的進程狀態。進程狀態之間的轉換關系如下圖所示:本課件是可編輯的正常PPT課件3.2.3進程控制塊進程控制塊(ProcessControlBlock,PCB)是操作系統為了管理進程而設置的一個專門的數據結構,用它來記錄進程的外部特征,描述進程的運動變化過程。系統利用PCB來控制和管理進程,所以PCB是系統感知進程存在的唯一標志。進程與PCB是一一對應的。本課件是可編輯的正常PPT課件3.2.3進程控制塊不同的操作系統對進程的控制和管理機制不同,PCB中的信息多少也不一樣。PCB通常包含如下信息:(1)進程標識符。每個進程都必須有一個唯一的標識符。(2)進程當前狀態。(3)進程相應的程序和數據地址,以便把PCB與其程序和數據聯系起來。(4)進程資源清單。(5)進程優先級。(6)CPU現場保護區。(7)進程同步與通信機制。(8)進程所在隊列PCB的鏈接字。

(9)與進程有關的其它信息。如進程記賬信息、進程占用CPU的時間等。

本課件是可編輯的正常PPT課件3.3進程控制3.3.1進程控制的概念進程控制是進程管理中的最基本功能。是對系統中所有進程從創建到消亡的全過程實施有效的控制,不但要完成對運行過程中狀態轉換的控制,還需要能夠創建新進程,或者撤銷已經執行完畢的進程。進程控制一般由操作系統內核來完成。本課件是可編輯的正常PPT課件3.3.2進程控制機構進程的控制機構是由操作系統內核實現的。通常將與硬件密切相關的模塊放在緊挨硬件的軟件層中,并使它們常駐內存,以提高操作系統的運行效率,通常將這部分稱為操作系統內核。操作系統內核為系統對進程進行控制、對存儲器進行管理提供了有效的控制機制。本課件是可編輯的正常PPT課件3.3.2進程控制機構不同的操作系統內核所包含的功能不同,但大多數操作系統內核都包含支撐功能和資源管理功能。支撐功能:(1)中斷處理。操作系統的各種重要活動最終都依賴于中斷。(2)時鐘處理。(3)原語操作。內核在執行某些操作時,往往是通過原語操作實現的。原語是由若干條機器指令構成的、用于完成特定功能的一段程序。原語在執行過程中是不可分割的。進程控制原語主要有:創建原語、撤銷原語、掛起原語、激活原語、阻塞原語以及喚醒原語。本課件是可編輯的正常PPT課件3.3.2進程控制機構資源管理功能:(1)進程管理。進程管理的大部分或者全部功能都放在內核中,如進程的調度與分配、進程的創建和撤銷。(2)存儲器管理。內存的分配和回收、內存保護和對換等功能模塊都放在內核中。(3)設備管理:設備驅動程序、緩沖區管理、設備分配等功能都放在內核中。內核中包含的原語主要有:進程控制、進程通信、資源管理以及其它原語。本課件是可編輯的正常PPT課件3.3.3進程創建一個進程在執行的過程中可以創建新的進程,通常將這樣的進程稱為父進程,而將被創建的新進程稱為父進程的子進程。子進程還可以再創建子進程,被子進程新創建的進程被稱為孫子進程,從而形成進程樹,樹的根結點是整個進程家族的祖先。本課件是可編輯的正常PPT課件3.3.3進程創建當子進程被創建時,它可以直接向操作系統申請資源,也可以繼承父進程所擁有的資源。當子進程被撤銷時,應該把從父進程那里獲得的資源還給父進程。當撤銷父進程時,應當把它創建的所有子進程也一同撤銷。不論是系統還是用戶,創建進程的操作必須調用創建原語來實現。本課件是可編輯的正常PPT課件3.3.3進程創建創建原語的主要功能:新進程申請獲得惟一的數字標示符,并從PCB集合中獲取一個空白PCB;為新進程的程序和數據以及用戶棧分配必要的內存空間;對PCB進程初始化;將新進程插入就緒隊列中,等待被調度執行。本課件是可編輯的正常PPT課件3.3.4進程撤銷當進程完成任務或在執行的過程中發生異常時,系統將調用進程終止原語來終止該進程。終止進程的過程如下:根據被終止進程的標示符從PCB集合中查找到該進程的PCB,從中讀出該進程的狀態,終止該進程的執行;如果該進程還有子孫進程,應該將它的所有子孫進程終止,防止它們成為不可控進程;然后回收進程所擁有的資源;最后將被終止進程(它的PCB)從所在隊列(或鏈表)中移出,等待其它程序來搜集信息。本課件是可編輯的正常PPT課件3.3.5進程阻塞正在運行的進程由于提出系統服務請求(如I/O操作),但因為某種原因而未得到操作系統的立即響應,或者需要從其它合作進程獲得的數據尚未到達等原因,該進程只能調用阻塞原語把自己阻塞,等待相應的事件出現后才被喚醒。可以看出,進程的阻塞是進程自身的一種主動行為。本課件是可編輯的正常PPT課件3.3.6進程喚醒當阻塞進程所等待的事件出現時,比如所需的數據已到達,或者等待的I/O操作已經完成,則由另外的與阻塞進程相關的進程(如用完并釋放該I/O設備的進程)調用喚醒原語,將等待該事件的進程喚醒。阻塞進程不能喚醒自己。喚醒原語執行的過程為:首先把被阻塞的進程從等待該事件的隊列中移出,將其PCB中的狀態由阻塞修改為就緒,然后將該PCB插入到就緒隊列中。本課件是可編輯的正常PPT課件3.4線程自20世紀60年代推出進程概念后,在操作系統中都是以進程作為獨立運行的基本單位。直到20世紀80年代中期,人們又提出了比進程更小的能獨立運行的基本單位—線程。目的是提高系統內程序并發執行的程度,從而進一步提高系統的吞吐量。本課件是可編輯的正常PPT課件3.4.1線程的概念傳統的進程有兩個基本屬性:可擁有資源的獨立單位、可處理器調度和分配的基本單位。引入線程以后,將傳統進程的兩個基本屬性分開,線程作為處理器調度和運行的基本單位,進程作為分配資源的基本單位,可以通過創建線程來完成任務,以減少程序并發執行時付出的時空開銷。線程是由線程ID、程序計數器、寄存器集合和堆棧組成。它與同屬一個進程的其它線程共享其代碼段、數據段和其它操作系統資源(如打開文件和信號)。一個傳統的進程只有一個控制線程。如果進程有多個控制線程,那么它就能同時做多個任務。本課件是可編輯的正常PPT課件3.4.2線程的特點與狀態線程是程序中一個單一的順序控制流程。在單個程序中可以同時運行多個線程完成不同的工作,稱為多線程。多線程是為了同步完成多項任務,通過提高資源使用效率來提高系統的效率。多線程是在同一時間需要完成多項任務的時候實現的。本課件是可編輯的正常PPT課件3.4.2線程的特點與狀態多線程編程具有以下優點:(1)響應程度高。如果對一個交互式應用程序采用多線程,即使它部分阻塞或執行較冗長的操作,那么,該程序仍然能繼續工作,從而提高對用戶的響應程度。(2)資源共享。線程默認共享自身所屬進程的內存和資源。(3)經濟。創建進程所需要的內存和資源的分配比較昂貴,而由于線程允許共享自身所屬進程的資源,所以,創建線程和上下文切換會更經濟。(4)多處理器體系結構的利用。多線程的優點之一是能充分使用多處理器體系結構,以便每個線程能夠并行運行在不同的處理器上。本課件是可編輯的正常PPT課件3.4.3線程的實現許多現代操作系統都已實現了線程,但各系統的實現方式并不完全相同.主要分為兩種方式:用戶級線程和內核級線程。本課件是可編輯的正常PPT課件3.4.3線程的實現用戶級線程僅存在于用戶空間中。用戶級線程的創建、撤銷、線程間的同步與通信等功能都無需通過系統調用來實現。用戶級線程的切換,常常發生在一個應用進程的諸多線程之間,同樣也無需內核的支持。由于切換的規則遠比進程調度簡單,所以線程間的切換速度非常快。可以看出,用戶級線程是與內核無關的。在一個應用程序中的線程個數可以達到數百甚至數千個。由于這些線程的PCB設置在用戶空間,而線程執行的操作也無須內核幫助,所以,內核完全不知道用戶級線程的存在。值得注意的是,在設置了用戶級線程的操作系統中,仍然是以進程為單位進行調度的。本課件是可編輯的正常PPT課件3.4.3線程的實現內核級線程是在內核的支持下運行的。內核線程的創建和管理要慢于用戶線程的創建和管理。內核為每個內核級線程設置了一個PCB,內核根據該PCB感知線程的存在,并對其進行控制。本課件是可編輯的正常PPT課件3.4.4多線程模型1.多對一模型多對一模型將許多用戶級線程映射到一個內核線程。線程管理是在用戶空間進行的,因此效率比較高。如果一個線程執行了阻塞系統調用,那么,整個進程就會阻塞,而且,由于任何時刻只允許一個線程訪問內核,因此多個線程不能并行運行在多處理器上。在這種模型中,處理器調度的單位仍然是進程。本課件是可編輯的正常PPT課件3.4.4多線程模型2.一對一模型一對一模型將每個用戶線程映射到一個內核線程。當一個線程執行阻塞時,該線程模型能夠允許另一個線程繼續執行,所以,它提供了比多對一模型更好的并發功能。該模型也允許多個線程運行在多處理器系統上。這種模型的缺點是每創建一個用戶線程就需要創建一個相應的內核線程。由于創建內核線程的開銷會影響應用程序的性能,所以,這種模型的絕大多數實現限制了系統所支持的線程數量。WindowsNT/2000/XP和OS/2實現了一對一模型。本課件是可編輯的正常PPT課件3.4.4多線程模型2.一對一模型一對一模型將每個用戶線程映射到一個內核線程。當一個線程執行阻塞時,該線程模型能夠允許另一個線程繼續執行,所以,它提供了比多對一模型更好的并發功能。該模型也允許多個線程運行在多處理器系統上。這種模型的缺點是每創建一個用戶線程就需要創建一個相應的內核線程。由于創建內核線程的開銷會影響應用程序的性能,所以,這種模型的絕大多數實現限制了系統所支持的線程數量。WindowsNT/2000/XP和OS/2實現了一對一模型。本課件是可編輯的正常PPT課件3.4.4多線程模型3、多對多模型多對多模型使用多路復用技術,使許多用戶級線程映射到同樣數量或更小數量的內核線程上。多對多模型克服了前兩種模型的缺點,開發人員可以創建任意多個必要的線程,并且相應的內核線程能夠在多處理器系統上并行運行。當一個線程執行阻塞系統調用時,內核能夠調度另一個線程來執行。Solaris2、IRIX、HP-UX和Tru64Unix都支持這種模型。本課件是可編輯的正常PPT課件3.4.4多線程模型線程實現模型:本課件是可編輯的正常PPT課件3.4.5線程池線程池的實現原理類似于操作系統中的緩沖區概念。它的流程如下:預先創建若干數量的線程,并讓這些線程都處于睡眠狀態,不消耗CPU資源,當客戶端有一個新請求時,就會喚醒線程池中的某一個睡眠線程,讓它來處理客戶端的這個請求,當處理完這個請求后,線程又處于睡眠狀態。本課件是可編輯的正常PPT課件3.4.5線程池基于這種預創建技術,線程池將線程創建和銷毀所帶來的開銷均攤到各個具體的任務上,執行次數越多,每個任務分擔到的線程自身開銷就越小。線程池具有以下優點:(1)用現有線程處理請求通常比等待創建新線程快.(2)線程池限定了任何時候可存在線程的數量。本課件是可編輯的正常PPT課件3.5處理器調度處理器調度的過程就是為待處理的作業或進程分配處理器的過程。在多道程序系統中,一個任務提交后,必須經過處理器調度,方能獲得處理器而執行。處理器調度的具體過程是由調度程序來完成的。不同的操作系統采用的調度方式也不相同。有的系統中僅采用一級調度,而有的系統采用兩級或三級,并且所用的調度算法也可能完全不同。通常,一個較為完善的操作系統會提供三級調度。本課件是可編輯的正常PPT課件3.5.1處理器調度的層次按照一個作業從進人系統的后備隊列,直到最后執行完畢,可能要經歷調度過程,可以把處理器調度的層次分為三級調度:高級調度、中級調度和低級調度。本課件是可編輯的正常PPT課件3.5.1處理器調度的層次

三級調度示意圖:本課件是可編輯的正常PPT課件3.5.1處理器調度的層次1.高級調度一對一模型將每個用戶線程映射到一個內核線程。高級調度又稱宏觀調度或者作業調度。它需要做出兩個決定,一個是要從駐留在外存后備隊列中調入多少個作業,二是要調入哪幾個作業;為被選中的作業創建進程,并分配必要的系統資源,如內存、外設等;把新創建的進程放入就緒隊列中,等待被調度執行。高級調度的時間尺度通常是分鐘、小時或天。

溫馨提示

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

評論

0/150

提交評論