版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、操作系統(tǒng)原理教程第1章 操作系統(tǒng)概述1.1 計算機系統(tǒng)1.2 操作系統(tǒng)的目標、作用和模型1.3 操作系統(tǒng)的形成與發(fā)展1.4 操作系統(tǒng)的特征與功能本章結(jié)束!1.1 計算機系統(tǒng)1.1.1 計算機硬件 計算機硬件是指組成計算機系統(tǒng)的設備或機器,它是組成計算機系統(tǒng)的基礎。 計算機硬件一般包括中央處理器(CPU)、主存儲器、外存儲器、輸入設備和輸出設備,其中CPU與主存儲器合稱為主機,外存儲器、輸入設備和輸出設備合稱為外部設備。 第1章 操作系統(tǒng)概述1.1 計算機系統(tǒng)1.1.1 計算機硬件 計算機硬件之間的關系如圖1-1所示。第1章 操作系統(tǒng)概述1.1 計算機系統(tǒng)1.1.2 計算機軟件 計算機軟件是指組
2、成計算機系統(tǒng)的程序、數(shù)據(jù)和文檔。程序是指令的有序集合,是根據(jù)一定的算法,采用相應的數(shù)據(jù)結(jié)構(gòu),用某種計算機語言進行的描述;數(shù)據(jù)是信息在計算機中的表示,是計算機處理的對象;文檔是各種說明文本,是軟件操作的輔助性資源。 計算機的所有工作都必須在軟件的控制下才能進行,沒有軟件的計算機稱為“裸機”,是任何工作都做不了的。 根據(jù)軟件的作用可以把軟件分為系統(tǒng)軟件和應用軟件。系統(tǒng)軟件是支持和管理計算機硬件的軟件,是服務于硬件的,它創(chuàng)立的是一個平臺;應用軟件是完成用戶某項要求的軟件,是服務于特定用戶的,它滿足某一個應用領域。 第1章 操作系統(tǒng)概述1.1 計算機系統(tǒng)1.1.2 計算機軟件 軟件的作用如圖1-2所示
3、。計算機用戶通過應用軟件讓計算機為自己服務,而應用軟件又是通過系統(tǒng)軟件來管理和使用計算機硬件。 第1章 操作系統(tǒng)概述1.1 計算機系統(tǒng)1.1.2 計算機軟件 系統(tǒng)軟件包括操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、計算機編譯語言和各種系統(tǒng)服務性程序。應用軟件包括計算機源程序和應用軟件包。所有這些軟件,操作系統(tǒng)是基礎,它是其他軟件的平臺。沒有操作系統(tǒng),其他軟件就無法工作。第1章 操作系統(tǒng)概述返回1.2 操作系統(tǒng)的作用、目標與模型1.2.1 操作系統(tǒng)的作用 1. 作用:操作系統(tǒng)是在計算機硬件上加載的第一層軟件,是對計算機硬件功能的首次擴充。其他軟件只有在操作系統(tǒng)的支持下,才能對計算機硬件工作。操作系統(tǒng)的作用如圖1-
4、4所示。 第1章 操作系統(tǒng)概述1.2 操作系統(tǒng)的作用、目標與模型1.2.1 操作系統(tǒng)的作用 2. 四種作用形式:用戶通過編寫的源程序,在數(shù)據(jù)庫管理系統(tǒng)(DBMS)或編譯系統(tǒng)的作用下,由操作系統(tǒng)控制和解釋給硬件去執(zhí)行;用戶通過服務性程序(也稱工具軟件),經(jīng)操作系統(tǒng)的作用,來完成對計算機的操作;用戶通過可執(zhí)行程序,經(jīng)操作系統(tǒng)的作用來實現(xiàn)對硬件的操作;用戶通過操作系統(tǒng)提供的命令來實現(xiàn)對硬件的操作。第1章 操作系統(tǒng)概述1.2 操作系統(tǒng)的作用、目標與模型1.2.2 操作系統(tǒng)的目標 1. 方便性:操作系統(tǒng)最終是要為用戶服務的。所以,設計操作系統(tǒng)時必須考慮用戶能否方便地操作計算機。用戶的操作包括直接使用命令
5、完成各種操作,也包括通過設計程序讓計算機完成各種操作。 2. 有效性:操作系統(tǒng)的主要工作是要支持和管理計算機硬件的,如何有效地利用計算機的硬件資源,充分發(fā)揮它們的使用效率是操作系統(tǒng)解決的主要問題。 3. 可擴充性:操作系統(tǒng)是為應用服務的,隨著應用環(huán)境的變化,操作系統(tǒng)自身的功能也必須不斷增加和完善。在設計操作系統(tǒng)的體系結(jié)構(gòu)時,要采用合理的結(jié)構(gòu)使其能夠不斷地擴充和完善。 4. 開放性:操作系統(tǒng)的主要功能是管理計算機硬件,隨著計算機硬件技術的發(fā)展,為了使這些硬件能夠正確、有效地協(xié)同工作,就必須實現(xiàn)應用程序的可移植性和互操作性,因而要求計算機系統(tǒng)具有統(tǒng)一的開放環(huán)境。 第1章 操作系統(tǒng)概述1.2 操作系
6、統(tǒng)的作用、目標與模型1.2.3 操作系統(tǒng)的層次模型 操作系統(tǒng)可以看成是一個層次結(jié)構(gòu),其最底層為操作系統(tǒng)的操作對象,中間層為管理操作對象的軟件集合,最高層為提供給用戶的系統(tǒng)接口,如圖1-5所示。 第1章 操作系統(tǒng)概述1.2 操作系統(tǒng)的作用、目標與模型1.2.3 操作系統(tǒng)的層次模型 1. 操作對象:主要是指操作系統(tǒng)所管理的各種軟硬件資源,包括處理器、存儲器、I/O設備、文件和作業(yè)。 2. 管理軟件:管理軟件是操作系統(tǒng)的核心,它集中了操作系統(tǒng)的主要功能。這些功能包括處理器管理、存儲器管理、設備管理、文件管理和作業(yè)管理。 3. 系統(tǒng)接口:系統(tǒng)接口是操作系統(tǒng)為方便用戶的使用提供給用戶的各種功能和服務,這
7、些接口包括命令接口和程序接口。 第1章 操作系統(tǒng)概述返回1.3 操作系統(tǒng)的形成與發(fā)展1.3.1 推動操作系統(tǒng)發(fā)展的動力 1不斷提高資源利用率的需要 :人們必須千方百計地提高計算機系統(tǒng)中各種資源的利用率 。 2方便用戶操作:人們想方設法改善用戶的上機和調(diào)試程序的環(huán)境 。 3 硬件的不斷更新?lián)Q代:計算機硬件的更新?lián)Q代,使得計算機的性能不斷提高,從而推動了操作系統(tǒng)的性能和功能也不斷發(fā)展。 4 計算機體系結(jié)構(gòu)的發(fā)展:計算機體系結(jié)構(gòu)的發(fā)展也不斷地推動著操作系統(tǒng)的發(fā)展,并且產(chǎn)生了新的操作系統(tǒng)。當計算機由單處理器系統(tǒng)發(fā)展為多處理器系統(tǒng)時,操作系統(tǒng)也從單處理器操作系統(tǒng)發(fā)展為多處理器操作系統(tǒng)。當計算機網(wǎng)絡出現(xiàn)后
8、,也就產(chǎn)生了網(wǎng)絡操作系統(tǒng)。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 1無操作系統(tǒng):其資源管理和控制由人工負責,它采用兩種方式:人工操作方式和脫機輸入輸出方式。 (1)人工操作方式:計算機資源的管理是由操作員采用人工方式直接控制的。其特點是:一個用戶獨占計算機系統(tǒng)的全部資源,計算機主機要等待人工操作,系統(tǒng)資源的利用率低。 (2)脫機輸入輸出方式:是指程序和數(shù)據(jù)的輸入輸出是在外圍機的控制下,而不是在主機的控制下完成的。其特點是:它減少了計算機主機的空閑等待時間,提高了I/O設備的處理速度。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)
9、展 2批處理系統(tǒng):批處理系統(tǒng)主要采用了批處理技術。批處理技術是計算機系統(tǒng)同時對一批作業(yè)自動進行處理的一種技術。批處理系統(tǒng)有單道批處理系統(tǒng)和多道批處理系統(tǒng)兩種形式。 (1)單道批處理系統(tǒng):其工作流程是:首先操作員將若干個待處理的作業(yè)合成一批輸入并傳輸?shù)酵獯?,然后將它們逐個送入主存并投入運行,當一個作業(yè)執(zhí)行結(jié)束后自動轉(zhuǎn)入下一個作業(yè)執(zhí)行。其特點是:其特點是:大大減少了人工操作的時間,提高了機器的利用率。但是,在單道批處理作業(yè)運行時,主存中僅存放了一道程序,每當程序發(fā)出I/O請求時,CPU便處于等待I/O完成狀態(tài),致使CPU空閑,特別是I/O設備的低速性,使CPU的利用率降低。 第1章 操作系統(tǒng)概述1
10、.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 2批處理系統(tǒng):批處理系統(tǒng)主要采用了批處理技術。批處理技術是計算機系統(tǒng)同時對一批作業(yè)自動進行處理的一種技術。批處理系統(tǒng)有單道批處理系統(tǒng)和多道批處理系統(tǒng)兩種形式。 (2)多道批處理系統(tǒng):多道程序設計技術是指同時把多個作業(yè)放入主存并且允許它們交替執(zhí)行,共享系統(tǒng)中的各類資源,當某個程序因某種原因而暫停執(zhí)行時,CPU立即轉(zhuǎn)去執(zhí)行另一道程序。 其優(yōu)點:一是資源利用率高,二是系統(tǒng)吞吐量大。不足:一是作業(yè)的平均周轉(zhuǎn)時間長,二是無交互能力。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 3分時操作系統(tǒng):在分時系統(tǒng)中,一臺計算機可
11、以和許多終端相連,每個用戶通過終端向系統(tǒng)發(fā)出命令,請求完成某項工作。而系統(tǒng)則分析從終端發(fā)來的命令,完成用戶提出的要求。然后,用戶可以根據(jù)系統(tǒng)提供的運行結(jié)果,向系統(tǒng)提出進一步的要求,這樣重復上述交互過程,直到用戶完成預計的全部工作。 分時系統(tǒng)必須解決兩個問題:一是及時接收,二是及時處理。 分時系統(tǒng)實現(xiàn)的方法:一是用戶作業(yè)直接進入主存,而不是先進入磁盤,再進入主存。二是不能讓一個作業(yè)長時間占用處理器,以便讓每個作業(yè)用戶能與自己的作業(yè)進行交互操作。 分時系統(tǒng)的實現(xiàn)方式:有單道分時系統(tǒng)、具有“前臺”和“后臺”的分時系統(tǒng)和多道分時系統(tǒng)。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系
12、統(tǒng)的發(fā)展 3分時操作系統(tǒng): (1)單道分時系統(tǒng) 在20世紀60年代初期,美國麻省理工學院建立了第一個單道分時系統(tǒng)CTSS。 在該系統(tǒng)中,主存只有一個作業(yè),其他作業(yè)仍在外存上。為使系統(tǒng)能及時響應用戶請求,規(guī)定每個作業(yè)在運行一個時間片后便暫停運行,由系統(tǒng)將它調(diào)至外存(調(diào)出),再從外存上選一個作業(yè)裝入主存(調(diào)入),作為下一個時間片的作業(yè)投入運行。若在不太長的時間內(nèi)能使所有的作業(yè)都運行一個時間片,即在指定的時間內(nèi)每個用戶作業(yè)都能運行一次,這就使終端用戶與自己的作業(yè)實現(xiàn)了交互,從而保證每個用戶請求都能及時獲得響應。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 3分時操作系
13、統(tǒng): (2)具有“前臺”和“后臺”的分時系統(tǒng) 在單道分時系統(tǒng)中,作業(yè)調(diào)入/調(diào)出時,CPU處于“空閑”狀態(tài);主存中的作業(yè)在執(zhí)行I/O請求時,CPU也處于“空閑”狀態(tài)。為了充分利用CPU而引入了“前臺”和“后臺”的概念。 在具有“前臺”和“后臺”的分時系統(tǒng)中,主存被固定地劃分為“前臺區(qū)”和“后臺區(qū)”兩部分?!扒芭_區(qū)”存放按時間片“調(diào)入”和“調(diào)出”的作業(yè)流,“后臺區(qū)”存放批處理作業(yè),僅當前臺調(diào)入/調(diào)出時(或前臺無作業(yè)可運行時),才能運行“后臺區(qū)”中的作業(yè),并且給它分配更長的時間片。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 3分時操作系統(tǒng): (3)多道分時系統(tǒng) 為了
14、進一步改善系統(tǒng)的性能,在分時系統(tǒng)中引入了多道程序設計技術。 在主存中可以同時裝入多道程序,每道程序無固定位置,對小作業(yè)可以裝入幾道程序,對一些較大的作業(yè)則少裝入幾道程序。系統(tǒng)把所有具備運行條件的作業(yè)排成一個隊列,使它們依次獲得一個時間片來運行。在系統(tǒng)中,既有終端用戶作業(yè),又有批處理作業(yè)時,應賦予終端作業(yè)較高的優(yōu)先權,并且將它們排成一個高優(yōu)先權隊列;而將批處理作業(yè)另外排成一個隊列。平時輪轉(zhuǎn)運行高優(yōu)先權隊列的作業(yè),以保證終端用戶請求能獲得及時響應。僅當該隊列為空時,才能運行批處理隊列中的作業(yè)。 由于切換的作業(yè)在主存中,不用花費調(diào)入、調(diào)出的開銷,故多道分時系統(tǒng)具有較好的系統(tǒng)性能?,F(xiàn)代的分時系統(tǒng)都屬于
15、多道分時系統(tǒng)。第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 3分時操作系統(tǒng): 分時系統(tǒng)的特征: 多路性。是指一臺計算機與若干臺終端相連接,終端上的用戶可以同時或基本上同時使用計算機。宏觀上,是多個用戶同時工作,共享系統(tǒng)資源;微觀上,則是每個用戶輪流運行一個時間片。多路性也稱為同時性,它提高了系統(tǒng)資源的利用率,從而促使計算機應用更廣。 獨立性。是指每個用戶占用一個終端,彼此獨立操作、互不影響。因此,每個用戶會感覺到自己“獨占”了主機資源。 及時性。是指用戶的請求能在很短的時間內(nèi)獲得響應。此時的時間間隔是根據(jù)人們能夠接受的等待時間來確定的,通常為23秒鐘。 交互性。用
16、戶可以通過終端與系統(tǒng)進行廣泛的對話。其廣泛性表現(xiàn)在:用戶可以請求系統(tǒng)提供各方面的服務,如文件編輯、數(shù)據(jù)處理和資源共享等。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 4實時操作系統(tǒng):實時系統(tǒng)是指系統(tǒng)能及時響應外部事件的請求,在規(guī)定的時間內(nèi),完成對該事件的處理,并且控制所有實時任務協(xié)調(diào)一致地運行。根據(jù)控制對象的不同,實時系統(tǒng)的類型分為實時控制系統(tǒng)和實時信息處理系統(tǒng)。 (1)實時控制系統(tǒng)是指以計算機為中心的生產(chǎn)過程控制系統(tǒng),又稱為計算機控制系統(tǒng)。系統(tǒng)要求能及時采集現(xiàn)場數(shù)據(jù),并且對采集的數(shù)據(jù)進行及時處理,進而自動控制相應的執(zhí)行機構(gòu),使某些參數(shù)能按照預定的規(guī)律變化,以保
17、證產(chǎn)品的質(zhì)量和產(chǎn)量。實時控制系統(tǒng)通常用于工業(yè)控制和軍事。 (2)實時信息處理系統(tǒng)是指對信息進行實時處理的系統(tǒng)。在該系統(tǒng)中,計算機能及時接收從遠程終端發(fā)來的服務請求,根據(jù)用戶提出的問題對信息進行檢索和處理,并且在很短的時間內(nèi)向用戶做出正確應答。典型的實時信息處理系統(tǒng)有機票訂購系統(tǒng)、情報檢索系統(tǒng)等。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 4實時操作系統(tǒng): 實時系統(tǒng)的特征: 多路性是指系統(tǒng)能對多個現(xiàn)場進行數(shù)據(jù)采集,并且對多個對象或多個執(zhí)行機構(gòu)進行控制。 獨立性是指信息的采集和對象的控制操作互不干擾。及時性是以控制對象所要求的開始時間和截止時間來確定的,高于分時系
18、統(tǒng),一般為秒級、毫秒級,甚至微秒級。 交互性是指用戶可以訪問系統(tǒng)中某些特定的專用服務程序,其交互性弱于分時系統(tǒng)。 可靠性是指采用多級容錯技術來保證系統(tǒng)的安全性和數(shù)據(jù)的安全性。其可靠性高于分時系統(tǒng)。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 4實時操作系統(tǒng): 實時系統(tǒng)與分時系統(tǒng)的主要區(qū)別。 一是,系統(tǒng)的設計目標不同。分時系統(tǒng)的設計目標是提供一種隨時可供多個用戶使用的通用性很強的系統(tǒng);而實時系統(tǒng)則大多數(shù)都是具有某種特殊用途的專用系統(tǒng)。 二是,響應時間的長短不同。分時系統(tǒng)的響應時間通常為秒級;而實時系統(tǒng)的響應時間通常為毫秒級,甚至微秒級。 三是,交互性的強弱不同。分
19、時系統(tǒng)的交互性強,而實時系統(tǒng)的交互性相對較弱。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 5微機操作系統(tǒng):微機操作系統(tǒng)是指配置在微機上的操作系統(tǒng)。最早出現(xiàn)的微機操作系統(tǒng)是CP/M操作系統(tǒng)。微機操作系統(tǒng)可以分為單用戶單任務操作系統(tǒng)、單用戶多任務操作系統(tǒng)和多用戶多任務操作系統(tǒng)。 (1)單用戶單任務操作系統(tǒng)是指只允許一個用戶上機,并且只允許一個用戶程序作為一個任務運行。這是一種最簡單的微機操作系統(tǒng),主要配置在8位微機和16位微機上。具有代表性的單用戶單任務操作系統(tǒng)是CP/M和MS-DOS。第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 5
20、微機操作系統(tǒng):(2)單用戶多任務操作系統(tǒng)是指只允許一個用戶上機,但允許一個用戶程序分為多個任務并發(fā)執(zhí)行,從而有效地改善系統(tǒng)的性能。它主要配置在32位微機上,具有代表性的單用戶多任務操作系統(tǒng)是OS/2和MS-Windows。 (3)多用戶多任務操作系統(tǒng)。多用戶多任務操作系統(tǒng)是指允許多個用戶通過各自的終端,使用同一臺主機,共享主機系統(tǒng)中的各類資源,而且每個用戶程序又可以分為多個任務并發(fā)執(zhí)行,從而提高資源的利用率和增加系統(tǒng)的吞吐量。它主要配置在大、中、小型計算機上,具有代表性的是UNIX。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 6多處理器操作系統(tǒng):為了增加系統(tǒng)的
21、吞吐量,節(jié)省投資,提高系統(tǒng)的可靠性,在20世紀70年代出現(xiàn)了多處理器系統(tǒng)(MPS:Multi-Processor System),試圖從計算機體系結(jié)構(gòu)上來改善系統(tǒng)的性能。在多處理器系統(tǒng)上配置的操作系統(tǒng)是多處理器操作系統(tǒng),它可以分為非對稱多處理器模式和對稱多處理器模式兩種。 (1)非對稱多處理器模式也稱為主從模式,在這種模式中,把處理器分為主處理器和從處理器兩類。主處理器只有一個,其上配置了操作系統(tǒng),用于管理整個系統(tǒng)的資源,并且負責為從處理器分配任務。從處理器有若干個,它們執(zhí)行預先規(guī)定的任務及由主處理器所分配的任務。這種模式易于實現(xiàn),但是資源利用率低,在早期的特大型系統(tǒng)中,較多地采用了這種模式。
22、第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 6多處理器操作系統(tǒng):為了增加系統(tǒng)的吞吐量,節(jié)省投資,提高系統(tǒng)的可靠性,在20世紀70年代出現(xiàn)了多處理器系統(tǒng)(MPS:Multi-Processor System),試圖從計算機體系結(jié)構(gòu)上來改善系統(tǒng)的性能。在多處理器系統(tǒng)上配置的操作系統(tǒng)是多處理器操作系統(tǒng),它可以分為非對稱多處理器模式和對稱多處理器模式兩種。 (2)在對稱多處理器模式中,所有處理器的地位都是相同的。在每個處理器上運行一個相同的操作系統(tǒng)拷貝,用它來管理本地資源,并且控制進程的運行以及計算機之間的通信。這種模式允許多個進程同時運行,但是,必須謹慎控制I/O設備
23、,以保證能將數(shù)據(jù)送至適當?shù)奶幚砥?,同時還必須使各處理器的負載平衡,以免有的處理器超載運行,而有的處理器空閑無事。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 7網(wǎng)絡操作系統(tǒng):計算機網(wǎng)絡是指通過通信線路和通信的控制設備,將相互獨立的計算機系統(tǒng)連成一個整體,在網(wǎng)絡軟件的控制下,實現(xiàn)信息傳遞和資源共享的系統(tǒng)。網(wǎng)絡操作系統(tǒng)的模式有:客戶機/服務器模式(C/S)和對等模式兩種。 (1)客戶機/服務器模式:在網(wǎng)絡中有兩種站點:服務器和客戶機。服務器是網(wǎng)絡的控制中心,它向客戶機提供一種或多種服務??蛻魴C是用于本地的處理和訪問服務器的站點。C/S模式具有分布處理和集中控制的特征
24、。 (2)對等模式:各站點的關系是對等的,既可以作為客戶機訪問其他站點,又可以作為服務器向其他站點提供服務。該模式具有分布處理和分布控制的特征。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 8分布式操作系統(tǒng):分布式處理系統(tǒng)是指由多個分散的處理單元經(jīng)互聯(lián)網(wǎng)的連接而形成的系統(tǒng)。系統(tǒng)的處理和控制功能,都分散在系統(tǒng)的各個處理單元上。系統(tǒng)的所有任務,也可以動態(tài)地分配到各個處理單元上,并且使它們并行執(zhí)行,實現(xiàn)分布處理。第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 8分布式操作系統(tǒng): 分布式操作系統(tǒng)具有以下特點: 分布性。分布式操作系統(tǒng)不是集中地
25、駐留在某一個站點上的,而是均勻地分布在各個站點上,它的處理和控制是分布式的。 并行性。分布式操作系統(tǒng)的任務是分配程序?qū)⒍鄠€任務分配到多個處理單元上,使這些任務能并行執(zhí)行,從而提高任務執(zhí)行的速度。 透明性。它可以很好地隱藏系統(tǒng)內(nèi)部的實現(xiàn)細節(jié),而對象的位置、并發(fā)控制、系統(tǒng)故障等對用戶是透明的。 共享性。分布在各個站點上的軟硬件資源,可以供全系統(tǒng)中的所有用戶共享,并且以透明的方式訪問它們。 健壯性。任何站點上的故障都不會給系統(tǒng)造成太大的影響。當某一設備出現(xiàn)故障時,可以通過容錯技術實現(xiàn)系統(tǒng)重構(gòu),從而保證系統(tǒng)的正常運行。 第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.2 操作系統(tǒng)的發(fā)展 8分布
26、式操作系統(tǒng): 分布式操作系統(tǒng)與網(wǎng)絡操作系統(tǒng)的主要區(qū)別: 一是,能否適用不同的操作系統(tǒng)。網(wǎng)絡操作系統(tǒng)可以構(gòu)架于不同的操作系統(tǒng)之上,也就是說,它可以在不同的本機操作系統(tǒng)上,通過網(wǎng)絡協(xié)議實現(xiàn)網(wǎng)絡資源的統(tǒng)一配置,在大范圍內(nèi)構(gòu)成網(wǎng)絡操作系統(tǒng);而分布式操作系統(tǒng)是由一種操作系統(tǒng)構(gòu)架的。 二是,對資源的訪問方式不同。網(wǎng)絡操作系統(tǒng)在訪問系統(tǒng)資源時,需要指明資源的位置和類型,對本地資源和異地資源的訪問要區(qū)別對待;而分布式操作系統(tǒng)對所有資源,包括本地資源和異地資源,都用同一方式進行管理和訪問,用戶不必關心資源在哪里,或資源是怎樣存儲的。第1章 操作系統(tǒng)概述1.3 操作系統(tǒng)的形成與發(fā)展1.3.3 操作系統(tǒng)的發(fā)展趨勢
27、1. 大型系統(tǒng):大型系統(tǒng)的典型代表是分布式操作系統(tǒng)和機群操作系統(tǒng)。機群操作系統(tǒng)是分布式系統(tǒng)的一種,一個機群通常由一群處理器密集構(gòu)成。它可以用低成本的微機和以太網(wǎng)設備構(gòu)造出性能相當于超級計算機性能的計算機機群。 2. 微型系統(tǒng):微型系統(tǒng)的典型代表是嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)是運行在嵌入式系統(tǒng)環(huán)境中,對整個嵌入式系統(tǒng)以及它所操作的各種部件裝置等資源進行統(tǒng)一調(diào)度和控制的系統(tǒng)軟件。 第1章 操作系統(tǒng)概述返回1.4 操作系統(tǒng)的特征與功能1.4.1 操作系統(tǒng)的特征 1并發(fā)性:是指兩個或多個事件在同一時間間隔內(nèi)發(fā)生,即宏觀上有多道程序同時執(zhí)行,而微觀上,在單處理器系統(tǒng)中每一個時刻僅能執(zhí)行一道程序。并發(fā)的
28、目的是改善系統(tǒng)的利用率和提高系統(tǒng)的吞吐量。 2共享性:是指系統(tǒng)中的資源可以供多個并發(fā)執(zhí)行的進程使用。 3虛擬性:是指通過某種技術把一個物理實體變成若干個邏輯實體。即物理上雖然只有一個實體,但是,用戶使用時感覺有多個實體可以供使用。 4異步性:是指在多道程序環(huán)境下,允許多個進程并發(fā)執(zhí)行。由于資源的限制,進程的執(zhí)行不是“一氣呵成”的,是“走走停?!钡?。但是,只要環(huán)境相同,一個作業(yè)經(jīng)過多次運行,都會得到相同的結(jié)果。 第1章 操作系統(tǒng)概述1.4 操作系統(tǒng)的特征與功能1.4.2 操作系統(tǒng)的功能 從資源管理角度而言,操作系統(tǒng)的功能主要: 1處理器管理:主要任務是對處理器進行分配,并且對其運行進行有效地控制
29、和管理。處理器管理的主要功能: (1)進程控制:為作業(yè)創(chuàng)建進程,撤消已結(jié)束的進程,以及控制進程在運行過程中的狀態(tài)轉(zhuǎn)換。 (2)進程同步:是對多個進程的運行進行協(xié)調(diào)。 (3)進程通信:是為了實現(xiàn)相互合作進程之間的通信。 (4)進程調(diào)度:是從進程就緒隊列中,按照一定的算法選擇一個進程,把處理器分配給它,并且為它設置運行現(xiàn)場,使進程投入運行。 第1章 操作系統(tǒng)概述1.4 操作系統(tǒng)的特征與功能1.4.2 操作系統(tǒng)的功能 從資源管理角度而言,操作系統(tǒng)的功能主要: 2存儲器管理:主要任務是對為多道程序的運行提供良好的主存環(huán)境,方便用戶使用主存儲器,提高主存儲器的利用率,并且能從邏輯上擴充主存儲器。存儲器管
30、理的主要功能有 : (1)主存分配:是為每道程序分配主存空間,提高主存空間的利用率。 (2)主存保護:是確保每道用戶程序都在自己的主存空間中運行,互不干擾。 (3)地址映射:是將程序的邏輯地址轉(zhuǎn)換為主存的物理地址 (4)主存擴充 :是讓小主存運行大程序。 第1章 操作系統(tǒng)概述1.4 操作系統(tǒng)的特征與功能1.4.2 操作系統(tǒng)的功能 從資源管理角度而言,操作系統(tǒng)的功能主要: 3設備管理:主要任務是完成用戶提出的I/O請求,為用戶分配I/O設備,提高CPU與I/O設備的利用率,提高I/O設備的運行速度,方便用戶使用I/O設備。設備管理的主要功能有 : (1)緩沖管理:是管理好各種類型的緩沖區(qū),提高系
31、統(tǒng)的效率。 (2)設備分配:是根據(jù)用戶的I/O請求,為之分配所需要的設備。 (3)設備處理:是實現(xiàn)CPU和設備控制器之間的通信。 (4)設備獨立性:是指應用程序獨立于物理設備,以使用戶編制的程序與實際使用的物理設備無關,從而提高分配的效率。 (5)虛擬設備:是指把每次允許一個進程使用的物理設備,改造為能同時供多個進程使用的設備,從而提高設備的利用率。 第1章 操作系統(tǒng)概述1.4 操作系統(tǒng)的特征與功能1.4.2 操作系統(tǒng)的功能 從資源管理角度而言,操作系統(tǒng)的功能主要: 4文件管理:主要任務是對用戶文件和系統(tǒng)文件進行管理,方便用戶使用,并且保證文件的安全性。文件管理的主要功能有: (1)文件存儲空
32、間管理:是為每個文件分配必要的外存空間,提高外存的利用率和文件系統(tǒng)的工作速度。 (2)目錄管理:是為每個文件建立目錄項,并且對眾多的目錄加以組織,以實現(xiàn)文件的按名存取,實現(xiàn)文件的共享,提供快速的目錄查詢手段,提高文件的檢索速度。 (3)文件讀寫管理:是根據(jù)用戶請求,從外存上讀取數(shù)據(jù)或把數(shù)據(jù)寫入外存。 (4)存取控制:是防止系統(tǒng)中的文件被非法竊取和破壞。 第1章 操作系統(tǒng)概述1.4 操作系統(tǒng)的特征與功能1.4.2 操作系統(tǒng)的功能 從資源管理角度而言,操作系統(tǒng)的功能主要: 5作業(yè)管理與系統(tǒng)接口: (1)作業(yè)管理:主要任務是完成用戶要求的全過程處理上的宏觀管理。作業(yè)管理的功能有作業(yè)注冊、作業(yè)調(diào)度、作
33、業(yè)運行、作業(yè)終止等。 (2)系統(tǒng)接口:主要任務是方便用戶使用操作系統(tǒng)。系統(tǒng)接口的主要功能有命令接口和程序接口。 第1章 操作系統(tǒng)概述1.4 操作系統(tǒng)的特征與功能1.4.2 操作系統(tǒng)的功能 從資源管理角度而言,操作系統(tǒng)的功能主要: 5處理器管理:主要任務是對處理器進行分配,并且對其運行進行有效地控制和管理。處理器管理的主要功能: (1)進程控制:為作業(yè)創(chuàng)建進程,撤消已結(jié)束的進程,以及控制進程在運行過程中的狀態(tài)轉(zhuǎn)換。 (2)進程同步:是對多個進程的運行進行協(xié)調(diào)。 (3)進程通信:是為了實現(xiàn)相互合作進程之間的通信。 (4)進程調(diào)度:是從進程就緒隊列中,按照一定的算法選擇一個進程,把處理器分配給它,并
34、且為它設置運行現(xiàn)場,使進程投入運行。 第1章 操作系統(tǒng)概述返回第2章 處理器管理2.1 處理器管理概述2.2 進程描述2.3 進程控制2.4 進程同步與互斥2.5 進程通信2.6 進程調(diào)度2.7 進程死鎖2.8 線程、超線程和雙核的基本概念本章結(jié)束!2.1 處理器管理概述2.1.1 處理器管理的功能 處理器管理的主要任務是對處理器進行分配,并對其運行進行有效的控制和管理。 在現(xiàn)代操作系統(tǒng)中,處理器的分配和運行都是以進程為基本單位的,因而對處理器的管理也可以視為對進程的管理。 進程是程序的一次執(zhí)行過程。 處理器管理包括以下功能: 1. 進程控制。在并發(fā)運行環(huán)境中,要使程序運行,必須先為它創(chuàng)建一個
35、或幾個進程,并給它分配必要的資源。程序運行結(jié)束時,要撤消這些進程,并回收這些進程所占用的各類資源。 進程控制的主要任務就是為程序創(chuàng)建進程,撤消已結(jié)束的進程,以及控制進程在運行過程中的狀態(tài)轉(zhuǎn)換。 第2章 處理器管理2.1 處理器管理概述2.1.1 處理器管理的功能 2. 進程同步。在并發(fā)環(huán)境中,進程是以異步方式工作的,并且以不可預知的速度向前推進。為了使多個進程能有條不紊地運行,系統(tǒng)中必須設置進程同步機制。 進程同步的主要任務是對眾多的進程運行進行協(xié)調(diào)。協(xié)調(diào)方式有兩種: (1) 進程互斥方式。進程在對臨界資源訪問時,應采用互斥方式,也就是當一個進程訪問臨界資源時,另一個要訪問該臨界資源的進程必須
36、等待;當獲取臨界資源的進程釋放臨界資源后,其他進程才能獲取臨界資源。這種進程之間的相互制約關系稱為互斥。 簡單地說,互斥就是“有我就沒你,有你就沒我”。 臨界資源是指一次只能被一個進程使用的資源。第2章 處理器管理2.1 處理器管理概述2.1.1 處理器管理的功能 2. 進程同步。 (2) 進程同步方式。相互合作的進程,由同步機構(gòu)對它們的執(zhí)行次序加以協(xié)調(diào)。也就是前一個進程結(jié)束,后一個進程才能開始;前一個進程沒有結(jié)束,后一個進程就不能開始。這種進程之間的相互合作關系稱為同步。 簡單地說,同步就是“有你才有我,沒你就沒我”。第2章 處理器管理2.1 處理器管理概述2.1.1 處理器管理的功能 3.
37、 進程通信。在系統(tǒng)中,經(jīng)常會有多個進程需要相互配合去完成一個共同的任務,而在這些進程之間,往往需要相互交換信息。進程通信的任務就是用來實現(xiàn)相互合作進程之間的信息交換。進程的通信方式有: (1)當相互合作的進程處于同一臺計算機系統(tǒng)時,通常采用直接通信方式。由源進程利用發(fā)送命令直接將消息發(fā)送到目標進程的消息隊列上,然后由目標進程利用接收命令從其消息隊列中取出消息。 (2)當相互合作的進程處于不同計算機系統(tǒng)時,通常采用間接通信方式。由源進程利用發(fā)送命令將信息發(fā)送到一個專門存放消息的中間實體中,然后由目標進程利用接收命令從中間實體中取出消息。這個中間實體通常稱為“郵箱”,相應的通信系統(tǒng)稱為電子郵件系統(tǒng)
38、。第2章 處理器管理2.1 處理器管理概述2.1.1 處理器管理的功能 4. 處理器調(diào)度。等待在后備隊列上的作業(yè),通常要經(jīng)過處理器調(diào)度才能執(zhí)行。處理器調(diào)度包括作業(yè)調(diào)度(也稱為高級調(diào)度)、進程調(diào)度(也稱為低級調(diào)度)和中級調(diào)度。 (1)作業(yè)調(diào)度的基本任務是從后備隊列中按照一定的算法,選擇出若干個作業(yè),為它們分配必要的資源,將它們調(diào)入主存,然后為它們建立進程,使之成為可能獲得處理器的就緒進程,并按照一定的算法將其插入到就緒隊列。作業(yè)調(diào)度將在第6章作業(yè)管理與系統(tǒng)接口中介紹。 (2)進程調(diào)度的基本任務是從進程的就緒隊列中,按照一定的調(diào)度算法選出一個進程,把處理器分配給它,并為它設置運行現(xiàn)場,使進程投入運
39、行。本章主要介紹進程調(diào)度。第2章 處理器管理2.1 處理器管理概述2.1.1 處理器管理的功能 4. 進程調(diào)度。 (3)中級調(diào)度的基本任務是把那些暫時不能運行的進程從主存移到外存上,釋放其所占有的寶貴資源,讓其他進程運行。當移到外存上的進程具備運行條件時,再由中級調(diào)度把它們重新調(diào)入主存,等待運行。 中級調(diào)度將在第3章存儲器管理的對換技術中詳細介紹,也可以參考本章2.2.4的內(nèi)容。 第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 程序執(zhí)行是指程序在計算機中的運行過程。程序的執(zhí)行可以用前趨圖表示,程序的執(zhí)行方式有順序執(zhí)行和并發(fā)執(zhí)行。 1.前趨圖。它是一個有向無循環(huán)圖。圖中的每個結(jié)點
40、可用于表示一條語句、一個程序段等;結(jié)點間的有向邊表示在兩個結(jié)點之間存在的前趨關系。如Pi Pj,稱Pi是Pj的前趨,而Pj是Pi的后繼。 在前趨圖中,沒有前趨的結(jié)點稱為初始結(jié)點,沒有后繼的結(jié)點稱為終止結(jié)點。應當注意的是,前趨圖中不能存在循環(huán)。第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 1.前趨圖。圖2-1所示的前趨圖。 在圖2-1所示的前趨圖中存在下述前趨關系: P1 P2,P1 P3,P2 P5,P3 P4,P4 P5,P5 P6第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 2.程序的順序執(zhí)行 。程序在執(zhí)行時,必須按照某種先后次序逐個執(zhí)行操作,只有當前一
41、個操作執(zhí)行完后,才能執(zhí)行后一個操作。例如:在進行計算時,總是先輸入需要的數(shù)據(jù),然后才能進行計算,計算完成后再將結(jié)果輸出。 如果用I代表輸入,C代表計算,P代表打印,則上述情況可用圖2-2所示的前趨圖表示。 第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 2.程序的順序執(zhí)行 。 程序的順序執(zhí)行通常表現(xiàn)出如下特征: 順序性。嚴格按照程序所規(guī)定的順序執(zhí)行。 封閉性。程序在封閉的環(huán)境下執(zhí)行。程序在運行時獨占所有資源,其執(zhí)行結(jié)果不受外界因素的影響。 可再現(xiàn)性。只要程序執(zhí)行的環(huán)境和初始條件相同,程序無論重復執(zhí)行多少次,按照何種方式執(zhí)行,都將獲得相同的結(jié)果。第2章 處理器管理2.1 處理器管
42、理概述2.1.2 程序的執(zhí)行 3.程序的并發(fā)執(zhí)行。是指在一個時間段內(nèi)執(zhí)行多個程序。 程序在并發(fā)執(zhí)行的特征:間斷性。在程序并發(fā)執(zhí)行時,由于它們之間共享資源或相互合作,致使它們之間形成了相互制約的關系,導致并發(fā)程序在執(zhí)行中因為受到影響,表現(xiàn)為“執(zhí)行暫停執(zhí)行執(zhí)行”的間斷性活動規(guī)律。失去封閉性。程序并發(fā)執(zhí)行時,多個程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)將由多個程序來改變,致使程序的運行失去了封閉性。這樣,程序在執(zhí)行時,必然會受到其他程序的影響。不可再現(xiàn)性。由于程序執(zhí)行時失去了封閉性,也將導致失去可再現(xiàn)性。既使并發(fā)程序執(zhí)行的環(huán)境和初始條件相同,程序的多次執(zhí)行或以不同的方式執(zhí)行,可能獲得不相同的結(jié)果
43、。 第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 3.程序的并發(fā)執(zhí)行?!纠?-1】程序A和程序B為并發(fā)執(zhí)行,它們共享變量M,假設M初值為3;程序A執(zhí)行M=M+1;程序B執(zhí)行print M;M=1。程序A和程序B執(zhí)行的順序若不相同,M的結(jié)果將產(chǎn)生不同的變化。 順序1M = M +1;print M;M = 1。M值依次為4、4、1。 順序2print M;M = M +1;M = 1。M值依次為3、4、1。 順序3print M;M = 1;M = M +1。M值依次為3、1、2。 按照順序1執(zhí)行,M的輸出結(jié)果為4;按照順序2執(zhí)行,M的輸出結(jié)果為3;按照順序3執(zhí)行,M的輸出結(jié)果
44、為3。所以,當執(zhí)行的條件不同時,并發(fā)程序有可能產(chǎn)生不同的執(zhí)行順序,也就會得到不同的執(zhí)行結(jié)果。這樣并發(fā)程序就形成了結(jié)果的不可再現(xiàn)性。 第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 3.程序的并發(fā)執(zhí)行。判斷程序并發(fā)執(zhí)行的方法有兩種:Bernstein條件和前趨圖。 (1) Bernstein條件。即不同運算(或程序)的讀集與寫集的交集和寫集與寫集的交集的并集為空集時,這幾個運算(或程序)可以并發(fā)執(zhí)行。運算的讀集是指在運算執(zhí)行期間引用的所有變量的集合,運算的寫集是指在運算執(zhí)行期間要改變的所有變量的集合。例如運算w=x+y,其讀集是x,y,其寫集是w。第2章 處理器管理2.1 處理器
45、管理概述2.1.2 程序的執(zhí)行(1) Bernstein條件。【例2-2】有四條語句,哪些語句可以并發(fā)執(zhí)行? s1:a=x+y; s2:b=z+1; s3:c=a-b; s4:d=c+1;【解】要先確定運算,然后寫出每個運算的讀集與寫集,最后兩兩判斷運算的讀集與寫集,寫集與寫集的交集的并集是否是空集;若是,則可以并發(fā),若不是空集,則不能并發(fā)。對于本題,四條語句的讀集與寫集分別是:讀集:R(s1)=x,y, R(s2)=z, R(s3)=a,b, R(s4)=c;寫集:W(s1)=a, W(s2)=b, W(s3)=c, W(s4)=d。 由Bernstein條件可知s1與s2可以并發(fā)執(zhí)行,s1
46、與s3,s2與s3,s3與s4不能并發(fā)執(zhí)行。第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 3.程序的并發(fā)執(zhí)行。(2)利用前趨圖。畫出程序執(zhí)行的前趨圖,根據(jù)該程序或運算在前趨圖中的位置關系,可以判斷其能否并發(fā)執(zhí)行。即在程序或運算的先后順序上,只有前后相鄰的程序或運算不能并發(fā)執(zhí)行,其余程序和運算都可以并發(fā)執(zhí)行?!纠?-3】已知一個求值公式(a2+3b)/(b+5a),若a、b已賦值,試畫出該公式求值過程的前趨圖,并判斷哪些求值過程可以并發(fā)執(zhí)行。 第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 3.程序的并發(fā)執(zhí)行?!窘狻堪压?a2+3b)/(b+5a)按照運算順序
47、分解,可以產(chǎn)生如下運算步驟:s1s6,如圖2-4(a)所示;根據(jù)分解的運算順序畫出它的前趨圖,如圖2-4(b)所示。第2章 處理器管理2.1 處理器管理概述2.1.2 程序的執(zhí)行 3.程序的并發(fā)執(zhí)行。 根據(jù)前趨圖,可以看出能夠并發(fā)執(zhí)行的運算是:s1與s2、s1與s3、s2與s3、s1與s5、s2與s5、s3與s4、s4與s5,其余運算不能并發(fā)執(zhí)行。 第2章 處理器管理返回2.2 進程描述2.2.1 進程的概念 1進程的定義。 “進程”這一術語,在20世紀60年代初期,首先出現(xiàn)在麻省理工學院的MULTICS系統(tǒng)和IBM公司的CTSS/360系統(tǒng)中。其后,人們對它不斷加以改進,從不同的方面對它進行
48、描述。關于進程的定義有以下一些描述: 進程是程序的一次執(zhí)行。 進程可以定義為一個數(shù)據(jù)結(jié)構(gòu)及能在其上進行操作的一個程序。 進程是程序在一個數(shù)據(jù)集合上的運行過程,是系統(tǒng)資源分配和調(diào)度的一個獨立單位。 第2章 處理器管理2.2 進程描述2.2.1 進程的概念 2進程的特征。進程的五個基本特征:(1)動態(tài)性。進程的動態(tài)性是進程的最基本特征,它表現(xiàn)為“進程因創(chuàng)建而產(chǎn)生,因調(diào)度而執(zhí)行,因得不到資源而暫停,以及因撤消而消亡”。因此,進程具有一定的生命周期,其狀態(tài)也會不斷發(fā)生變化,是一個動態(tài)實體。(2)并發(fā)性。進程的并發(fā)性是指多個進程在一段時間內(nèi)同時運行,交替使用處理器的情況。并發(fā)性是進程也是操作系統(tǒng)的重要特
49、征。(3)獨立性。進程的獨立性是指進程實體是一個能獨立運行的基本單位,同時也是獨立獲得資源和獨立調(diào)度的基本單位。沒有創(chuàng)建進程的程序,是不能參加運行的。(4)異步性。進程的異步性是指系統(tǒng)中的進程按照各自獨立的、不可預知的速度向前推進,即進程按照異步方式運行。(5)結(jié)構(gòu)性。進程的結(jié)構(gòu)性是指在結(jié)構(gòu)上進程實體由程序段、數(shù)據(jù)段和進程控制塊組成,這三部分也統(tǒng)稱為“進程映像”。 第2章 處理器管理2.2 進程描述2.2.1 進程的概念 2進程的特征。 舉一個例子來說明程序和進程。例如從北京西站發(fā)往長沙的T1次列車,它有自己的運行步驟:始發(fā)時間、站臺,中間??康能囌炯巴?繒r間,到達終點站的時間等,這相當于一個
50、程序。 而2007年3月18日從北京西站發(fā)往長沙的T1次列車就相當于一個進程,它是一個過程,15:00從北京西站出發(fā),第二天6:10到達長沙結(jié)束。第2章 處理器管理2.2 進程描述2.2.2 進程關系的表示 1進程關系。進程關系主要是指進程間執(zhí)行的次序關系 。在并發(fā)環(huán)境下,進程關系有三種:(1)串行。一個進程結(jié)束,下一個進程才能開始。這兩個進程的關系就是串行關系。(2)并行。多個進程可以同時開始,同時結(jié)束。這幾個進程之間的關系就是并行關系。(3)嵌套。在串行中包含并行,在并行中也包含串行。這種進程間的關系就是嵌套關系。第2章 處理器管理2.2 進程描述2.2.2 進程關系的表示 2進程關系的表
51、示方法。有三種:(1)圖示法??梢圆捎们摆厛D和進程流圖表示。前趨圖的表示已經(jīng)在上一節(jié)講過,這里不再贅述。進程流圖使用的圖素有:帶圈的“S”表示開始,帶圈的“F”表示結(jié)束,有向線段表示進程。進程的三種關系如圖2-5所示。 第2章 處理器管理2.2 進程描述2.2.2 進程關系的表示 2進程關系的表示方法。有三種:(2)數(shù)學法。就是利用數(shù)學函數(shù)來表示進程關系?!按小笔褂么泻瘮?shù)表示:S(p1,pn)。其中函數(shù)名“S”表示串行,函數(shù)參數(shù)“p1,pn”表示進程,中間用逗號分隔?!安⑿小笔褂貌⑿泻瘮?shù)表示:P(p1,pn) 。其中函數(shù)名“P”表示并行,函數(shù)參數(shù)“p1,pn”表示進程,中間用逗號分隔?!扒?/p>
52、套”使用串行函數(shù)和并行函數(shù)的組合表示。 圖2-5中的嵌套關系可以表示為:S(p1,P(p2,S(p3,P(p5,p6),p4),P(p7,p8)。 第2章 處理器管理2.2 進程描述2.2.2 進程關系的表示 2進程關系的表示方法。有三種:(3)程序法。以cobegin和coend結(jié)構(gòu)指明并行,其格式為:cobegin p1 ; p2 ; ; pn coend 或cobegin p1 / p2 / / pn coend其中pi為進程或一塊代碼或函數(shù)。函數(shù)間用“;”分隔表示串行,用“/”分隔表示并行。 圖2-5中的進程關系用程序法表示為:串行:cobegin p1 ; p2 ; p3 ; p4
53、coend 并行:cobegin p1 / p2 / p3 / p4 coend嵌套:cobegin p1 ; p2 / p3 ; p5/p6 / p4 ; p7/p8 coend第2章 處理器管理2.2 進程描述2.2.3 進程的狀態(tài)1進程的三種基本狀態(tài)(1)就緒狀態(tài)。當進程已分配到除處理器(CPU)以外的所有必要資源后,只要再獲得處理器就可以執(zhí)行的狀態(tài)稱為就緒狀態(tài)。在一個系統(tǒng)里,可以有多個進程同時處于就緒狀態(tài),通常把這些就緒進程排成一個或多個隊列,稱為就緒隊列。(2)執(zhí)行狀態(tài)。處于就緒狀態(tài)的進程一旦獲得了處理器,就可以運行,進程狀態(tài)也就處于執(zhí)行狀態(tài)。在單處理器系統(tǒng)中,只能有一個進程處于執(zhí)行
54、狀態(tài)。在多處理器系統(tǒng)中,可能有多個進程處于執(zhí)行狀態(tài)。(3)阻塞狀態(tài)。正在執(zhí)行的進程因為發(fā)生某些事件(如請求輸入/輸出、申請額外空間等)而暫停運行,這種受阻暫停的狀態(tài)稱為阻塞狀態(tài),也可以稱為等待狀態(tài)。通常將處于阻塞狀態(tài)的進程排成一個隊列,稱為阻塞隊列。在有些系統(tǒng)中,也會按照阻塞原因的不同將處于阻塞狀態(tài)的進程排成多個隊列。第2章 處理器管理2.2 進程描述2.2.3 進程的狀態(tài)2進程的其他兩種狀態(tài)(1)新狀態(tài)。當一個新進程剛剛建立,還未將其放入就緒隊列時的狀態(tài),稱為新狀態(tài)。(2)終止狀態(tài)。當一個進程已經(jīng)正常結(jié)束或異常結(jié)束,操作系統(tǒng)已將其從系統(tǒng)隊列中移出,但是,尚未撤消,這時稱為終止狀態(tài)。第2章 處
55、理器管理2.2 進程描述2.2.3 進程的狀態(tài)3進程狀態(tài)間的轉(zhuǎn)換。 (1)新狀態(tài)就緒狀態(tài)。當就緒隊列能夠接納新的進程時,操作系統(tǒng)就會把處于新狀態(tài)的進程移入就緒隊列,此時進程就從新狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)。(2)就緒狀態(tài)執(zhí)行狀態(tài)。處于就緒狀態(tài)的進程,當進程調(diào)度程序按照一定的算法為之分配了處理器后,該進程就可以獲得執(zhí)行,從而使進程狀態(tài)由就緒狀態(tài)變?yōu)閳?zhí)行狀態(tài)。處于執(zhí)行狀態(tài)的進程也稱為當前進程。(3)執(zhí)行狀態(tài)阻塞狀態(tài)。正在執(zhí)行的進程因為自身需求發(fā)生某種事件(如I/O請求或等待某一資源等)而無法繼續(xù)執(zhí)行時,只好暫停執(zhí)行,此時進程就由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài)。(4)執(zhí)行狀態(tài)就緒狀態(tài)。正在執(zhí)行的進程,如果因系統(tǒng)分配
56、給的時間片結(jié)束或優(yōu)先權較低,而暫停執(zhí)行時,該進程將會從執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)。第2章 處理器管理2.2 進程描述2.2.3 進程的狀態(tài)3進程狀態(tài)間的轉(zhuǎn)換。 (5)阻塞狀態(tài)就緒狀態(tài)。處于阻塞隊列中的進程,如果需要的資源得到滿足或完成輸入輸出響應,就會變?yōu)榫途w狀態(tài),進入就緒隊列,等待下一次調(diào)度。(6)執(zhí)行狀態(tài)終止狀態(tài)。當一個進程正常結(jié)束或出現(xiàn)異常錯誤結(jié)束時,進程將由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榻K止狀態(tài)。 第2章 處理器管理2.2 進程描述2.2.3 進程的狀態(tài)3進程狀態(tài)間的轉(zhuǎn)換。 圖2-6給出了具有五種基本狀態(tài)的進程狀態(tài)轉(zhuǎn)換圖。第2章 處理器管理2.2 進程描述2.2.4 進程的掛起狀態(tài)1進程掛起狀態(tài)的引入。
57、(1)用戶的需求。當用戶在進程運行期間,發(fā)現(xiàn)有可疑問題時,希望進程暫時停止下來,但是,并不終止進程。若進程處于執(zhí)行狀態(tài),則暫停執(zhí)行;若進程處于就緒狀態(tài),則暫時不接受調(diào)度,以便研究進程執(zhí)行情況或?qū)Τ绦蜻M行修改。這種靜止狀態(tài)稱為掛起狀態(tài)。(2)父進程的需求。父進程往往希望考查和修改子進程,或者協(xié)調(diào)各個子進程之間的活動,此時需要掛起自己的子進程。(3)操作系統(tǒng)的需求。操作系統(tǒng)有時需要掛起某些進程,然后檢查系統(tǒng)中資源的使用情況,進行記賬控制,以便改善系統(tǒng)運行的性能。(4)對換的需求。為了緩和主存與系統(tǒng)其他資源的緊張情況,并且提高系統(tǒng)性能,有些系統(tǒng)希望將處于阻塞狀態(tài)的進程從主存換到外存。而換到外存的進程
58、,當?shù)却氖录瓿?,它仍然不具備?zhí)行的條件,不能進入就緒隊列,所以需要一個有別于阻塞狀態(tài)的新狀態(tài)來表示,即掛起狀態(tài)。 第2章 處理器管理2.2 進程描述2.2.4 進程的掛起狀態(tài)2引入進程掛起狀態(tài)后進程狀態(tài)的轉(zhuǎn)換。 (1)執(zhí)行狀態(tài)靜止就緒。正在執(zhí)行的進程,如果用掛起原語將該進程掛起后,此時進程就暫停執(zhí)行,轉(zhuǎn)變?yōu)殪o止就緒狀態(tài)。(2)靜止就緒活動就緒。處于靜止就緒狀態(tài)的進程,若用激活原語將該進程激活后,進程狀態(tài)就由靜止就緒狀態(tài)變?yōu)榛顒泳途w狀態(tài),激活后的進程就可以被調(diào)度執(zhí)行了。(3)活動就緒靜止就緒。當進程處于未被掛起的就緒狀態(tài)時,稱之為活動就緒狀態(tài),在用掛起原語將該進程掛起后,此時進程就轉(zhuǎn)變?yōu)殪o止
59、就緒狀態(tài)。處于靜止就緒狀態(tài)的進程,不能再被調(diào)度執(zhí)行。第2章 處理器管理2.2 進程描述2.2.4 進程的掛起狀態(tài)2引入進程掛起狀態(tài)后進程狀態(tài)的轉(zhuǎn)換。 (4)活動阻塞靜止阻塞。當進程處于未被掛起的阻塞狀態(tài)時,稱之為活動阻塞狀態(tài)。在用掛起原語將該進程掛起后,此時進程就轉(zhuǎn)變?yōu)殪o止阻塞狀態(tài)。(5)靜止阻塞活動阻塞。處于靜止阻塞狀態(tài)的進程,若用激活原語將該進程激活,進程狀態(tài)就由靜止阻塞狀態(tài)變?yōu)榛顒幼枞麪顟B(tài)。(6)靜止阻塞靜止就緒。處于靜止阻塞狀態(tài)的進程,在其所需要的資源滿足或完成等待的事件后,就會變?yōu)殪o止就緒狀態(tài)。第2章 處理器管理返回2.3 進程控制2.3.1 進程控制塊PCB 1. 進程控制塊的概念
60、。進程控制塊PCB(Process Control Block)是進程實體的重要組成部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)。 在進程控制塊中記錄了操作系統(tǒng)所需要的、用于描述進程情況及控制進程運行所需要的全部信息。通過PCB,使得原來不能獨立運行的程序(數(shù)據(jù)),成為一個可以獨立運行的基本單位,一個能夠并發(fā)執(zhí)行的進程。換句話說,在進程的整個生命周期中,操作系統(tǒng)都要通過進程的PCB來對并發(fā)執(zhí)行的進程進行管理和控制。 由此看來,進程控制塊是系統(tǒng)對進程控制采用的數(shù)據(jù)結(jié)構(gòu)。系統(tǒng)是根據(jù)進程的PCB而感知進程存在的。所以,進程控制塊是進程存在的惟一標志。 第2章 處理器管理2.3 進程控制2.3.1 進程控制塊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東青年職業(yè)學院《數(shù)據(jù)結(jié)構(gòu)和算法》2023-2024學年第一學期期末試卷
- 廣東女子職業(yè)技術學院《護理傳染學》2023-2024學年第一學期期末試卷
- 不斷進取-助推事業(yè)成功:年度工作總結(jié)與自我提升
- 2025年中國農(nóng)業(yè)機械行業(yè)概述與產(chǎn)業(yè)鏈及發(fā)展歷程調(diào)研報告
- 《xx項目建議書》課件
- 【名師一號】2020-2021學年高中英語必修二-第二單元綜合測評
- 2021高考英語浙江義烏市課外訓練(9)及答案
- 湖北省黃石市陽新縣2024-2025學年八年級上學期數(shù)學期末考試題 含答案
- 《直腸癌術后的護理》課件
- 【名師一號】2020-2021學年高中英語(北師大版)必修1隨堂演練:期中測試
- 政府部門勞動合同范例
- 河南省平頂山市郟縣2023-2024學年八年級下學期期末測試英語試題
- 2024年遼寧經(jīng)濟職業(yè)技術學院單招職業(yè)傾向性測試題庫附答案
- JT∕T 1477-2023 系列2集裝箱 角件
- 啟明計劃工信部青年人才
- 乙酸鈉?;钒踩畔⒖ā⒅苤癕SDS-
- 人工造林項目與其他單位的協(xié)調(diào)配合
- 居家服侍老人協(xié)議書
- (高清版)DZT 0426-2023 固體礦產(chǎn)地質(zhì)調(diào)查規(guī)范(1:50000)
- 2024年-(多附件條款版)個人汽車租賃給公司合同電子版
- 文旅微電影項目策劃
評論
0/150
提交評論