《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解_第1頁
《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解_第2頁
《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解_第3頁
《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解_第4頁
《計(jì)算機(jī)操作系統(tǒng)》(第4版)筆記和課后習(xí)題(含考研真題)詳解_第5頁
已閱讀5頁,還剩162頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄

第1章操作系統(tǒng)引論...............................................................................5

1.1復(fù)習(xí)筆記..................................................................................5

1.2課后習(xí)題詳解..............................................................................7

1.3考研真題詳解.............................................................................12

第2章進(jìn)程的描述與控制.........................................................................13

2.1復(fù)習(xí)筆記..................................................................................13

2.2課后習(xí)題詳解.............................................................................19

2.3考研真題詳解.............................................................................24

第3章處理機(jī)調(diào)度與死鎖..........................................................................28

3.1復(fù)習(xí)筆記..................................................................................28

3.2課后習(xí)題詳解.............................................................................31

3.3考研真題詳解.............................................................................38

第4章存儲(chǔ)器管理................................................................................41

4.1復(fù)習(xí)筆記..................................................................................41

4.2課后習(xí)題詳解.............................................................................49

4.3考研真題詳解.............................................................................54

第5章虛擬存儲(chǔ)器................................................................................56

5.1復(fù)習(xí)筆記..................................................................................56

5.2課后習(xí)題詳解.............................................................................60

5.3考研真題解................................................................................66

第6章輸入輸出系統(tǒng).............................................................................68

6.1復(fù)習(xí)筆記..................................................................................68

6.2課后習(xí)題詳解.............................................................................80

6.3考研真題詳解.............................................................................87

第7章文件管理..................................................................................89

7.1復(fù)習(xí)筆記..................................................................................89

7.2課后習(xí)題詳解.............................................................................94

7.3考研真題詳解............................................................................101

第8章磁盤存儲(chǔ)器的管理........................................................................102

8.1復(fù)習(xí)筆記.................................................................................102

8.2課后習(xí)題詳解............................................................................107

8.3考研真題詳解............................................................................113

第9章操作系統(tǒng)接口.............................................................................115

9.1復(fù)習(xí)筆記.................................................................................115

9.2課后習(xí)題詳解............................................................................121

9.3考研真題詳解............................................................................127

第10章多處理機(jī)操作系統(tǒng)........................................................................128

10.1復(fù)習(xí)筆記.................................................................................128

10.2課后習(xí)題詳解............................................................................138

10.3考研真題詳解............................................................................145

第11章多媒體操作系統(tǒng)..........................................................................146

11.1復(fù)習(xí)筆記................................................................................146

11.2課后習(xí)題詳解............................................................................150

11.3考研真題詳解............................................................................158

第12章保護(hù)和安全..............................................................................159

12.1復(fù)習(xí)筆記.................................................................................159

12.2課后習(xí)題詳解............................................................................162

12.3考研真題詳解169

第1章操作系統(tǒng)引論

1.1復(fù)習(xí)筆記

一、操作系統(tǒng)的目標(biāo)和作用

1.操作系統(tǒng)的目標(biāo)

(1)方便性。

(2)有效性。

(3)可擴(kuò)充性。

(4)開放性。

2.操作系統(tǒng)的作用

(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口。

(2)OS作為計(jì)算機(jī)系統(tǒng)資源的管理者。

(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象。

二、操作系統(tǒng)的發(fā)展過程

1.未配置操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)

(1)人工操作方式。

(2)脫機(jī)輸入/輸出方式。

2.單道批處理系統(tǒng)

3.多道批處理系統(tǒng)

多道批處理系統(tǒng)特征:多道、宏觀上并行、微觀上串行。

4.分時(shí)系統(tǒng)

分時(shí)系統(tǒng)的特征:多路性、獨(dú)立性、及時(shí)性、交互性。

5.實(shí)時(shí)系統(tǒng)

(1)實(shí)時(shí)系統(tǒng)的類型

①工業(yè)(武器)控制系統(tǒng),如火炮的自動(dòng)控制系統(tǒng)、飛機(jī)的自動(dòng)駕駛系統(tǒng),以及導(dǎo)彈的制導(dǎo)系統(tǒng)等。

②信息查詢系統(tǒng),如飛機(jī)或火車的訂票系統(tǒng)等。

③多媒體系統(tǒng)。

④嵌入式系統(tǒng)。

(2)實(shí)時(shí)系統(tǒng)最主要的特征便是及時(shí)性與可靠性。

6.微機(jī)操作系統(tǒng)的發(fā)展

微機(jī)操作系統(tǒng)按運(yùn)行方式分為以下幾類:

(1)單用戶單任務(wù)操作系統(tǒng)。

(2)單用戶多任務(wù)操作系統(tǒng)。

(3)多用戶多任務(wù)操作系統(tǒng)。

三、操作系統(tǒng)的基本特性

I.并發(fā)(Concurrence)

區(qū)分并行與并發(fā)

(I)并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生;

(2)并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。

2.共享(Sharing)

目前實(shí)現(xiàn)資源共享的主要方式有以下兩種:

(1)互斥共享方式。

(2)同時(shí)訪問方式。

3.虛擬(Wtual)

4.異步(Asynchronism)

并發(fā)和共享是多用戶(多任務(wù))OS的兩個(gè)最基本的特征。

四、操作系統(tǒng)的主要功能

1.處理機(jī)管理功能

對(duì)處理機(jī)的管理可歸結(jié)為對(duì)進(jìn)程的管理。處理機(jī)管理的主要功能有:

(1)進(jìn)程控制。

(2)進(jìn)程同步。

(3)進(jìn)程通信。

(4)調(diào)度。

2.存儲(chǔ)器管理功能

(1)內(nèi)存分配。

(2)內(nèi)存保護(hù)。

(3)地址映射。

(4)內(nèi)存擴(kuò)充。

3.設(shè)備管理功能

(1)緩沖管理。

(2)設(shè)備分配。

(3)設(shè)備處理。

4.文件管理功能

(1)文件存儲(chǔ)空間的管理。

(2)目錄管理。

(3)文件的讀/寫管理和保護(hù)。

5.操作系統(tǒng)與用戶之間的接口

(1)用戶接口

用戶接口進(jìn)一步分為聯(lián)機(jī)用戶接口、脫機(jī)用戶接口和圖形用戶接口三種。

(2)程序接口

程序接口是由一組系統(tǒng)調(diào)用組成的,每一個(gè)系統(tǒng)調(diào)用都是一個(gè)能完成特定功能的子程序。

6.系統(tǒng)調(diào)用

(1)系統(tǒng)調(diào)用又被稱為廣義指令。

(2)系統(tǒng)調(diào)用的相關(guān)處理都是在核心態(tài)下進(jìn)行。

(3)系統(tǒng)調(diào)用按功能分類為:設(shè)備管理、文件管理、進(jìn)程控制、進(jìn)程通信、內(nèi)存管理。

五、操作系統(tǒng)的運(yùn)行環(huán)境

1.內(nèi)核態(tài)與用戶態(tài)

(1)操作系統(tǒng)的內(nèi)核是計(jì)算機(jī)上配置的底層軟件,是操作系統(tǒng)最基本、最核心的部分。

(2)操作系統(tǒng)內(nèi)核的核心功能包括時(shí)鐘管理,中斷處理,原語,進(jìn)程管理,存儲(chǔ)器管理,設(shè)備管理。

(3)用戶態(tài)也叫做目態(tài),核心態(tài)也叫做管態(tài).

2.操作系統(tǒng)的指令分為特權(quán)指令和非特權(quán)指令。

(1)特權(quán)指令是只能由操作系統(tǒng)才能執(zhí)行的指令,如1/O指令、內(nèi)存清零指令,只能在核心態(tài)下執(zhí)行。

(2)非特權(quán)指令是用戶可以去執(zhí)行的指令,在用戶態(tài)下執(zhí)行。

3.中斷與異常

(1)中斷分為內(nèi)中斷和外中斷。其中,內(nèi)中斷信號(hào)的來源是CPU內(nèi)部,與當(dāng)前執(zhí)行指令的有關(guān);外中斷信

號(hào)的來源是CPU外部,與當(dāng)前執(zhí)行指令的無關(guān)。

(2)內(nèi)中斷也稱為異常或者陷入(trap).

(3)外中斷就是狹義上的中斷。

(4)中斷可以使CPU從用戶態(tài)切換為核心態(tài)。

六、微內(nèi)核OS結(jié)構(gòu)

(1)基本概念

微內(nèi)核并非是一個(gè)完整的OS,而只是將操作系統(tǒng)中最基本的部分放入微內(nèi)核,微內(nèi)核通常包含以下幾部分:

①與硬件處理緊密相關(guān)的部分:

②一些較基本的功能;

③客戶和服務(wù)器之間的通信。

(2)微內(nèi)核的基本功能

①進(jìn)程(線程)管理。

②低級(jí)存儲(chǔ)器管理。

③中斷和陷入處理。

(3)微內(nèi)核操作系統(tǒng)的優(yōu)點(diǎn)

①提高了系統(tǒng)的可擴(kuò)展性。

②增強(qiáng)了系統(tǒng)的可靠性。

③可移植性強(qiáng)。

④提供了對(duì)分布式系統(tǒng)的支持。

⑤融入了面向?qū)ο蠹夹g(shù)。

(4)微內(nèi)核操作系統(tǒng)存在的問題

微內(nèi)核OS存在著潛在的缺點(diǎn)。其中最主要的是,較之早期OS,微內(nèi)核OS的運(yùn)行效率有所降低。

1.2課后習(xí)題詳解

1.設(shè)計(jì)現(xiàn)代OS的主要目標(biāo)是什么?

答:在計(jì)算機(jī)系統(tǒng)上配置操作系統(tǒng)的主要目標(biāo)是方便性、有效性、可擴(kuò)充性和開放性。

(1)方便性

配置操作系統(tǒng)后,系統(tǒng)可以使用編譯命令將用戶采用高級(jí)語言書寫的程序翻譯成機(jī)器代碼,用戶可以直接通

過OS所提供的各種命令操縱計(jì)算機(jī)系統(tǒng),使計(jì)算機(jī)變得易學(xué)易用。

(2)有效性

①提高系統(tǒng)資源利用率

能有效分配各種設(shè)備的工作狀態(tài),提高系統(tǒng)資源的利用率。

②提高系統(tǒng)的吞吐量

OS可以通過合理地組織計(jì)算機(jī)的工作流程,加速程序的運(yùn)行,縮短程序的運(yùn)行周期,從而提高系統(tǒng)的吞吐

量。

(3)可擴(kuò)充性

OS必須具有很好的可擴(kuò)充性,才能適應(yīng)計(jì)算機(jī)硬件、體系結(jié)構(gòu)以及應(yīng)用發(fā)展的要求。

(4)開放性

開放性是指系統(tǒng)能遵循世界標(biāo)準(zhǔn)規(guī)范,特別是遵循開放系統(tǒng)互連(OSI)國(guó)際標(biāo)準(zhǔn)。開放性是衡量一個(gè)新推

出系統(tǒng)或軟件能否被廣泛應(yīng)用的至關(guān)重要的因索。

2.OS的作用可表現(xiàn)在哪幾個(gè)方面?

答:OS的作用可表現(xiàn)在以下3個(gè)方面:

(1)OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的軟件接口

OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過OS來使用計(jì)算機(jī)系統(tǒng)。

(2)OS作為計(jì)算機(jī)系統(tǒng)資源的管理者

在計(jì)算機(jī)系統(tǒng)中,通常都包含硬件和軟件資源,歸納起來可將資源分為4類:處理器、存儲(chǔ)器、I/O設(shè)備以

及信息(數(shù)據(jù)和程序)。相應(yīng)地,OS的主要功能也正是針對(duì)這4類資源進(jìn)行有效的管理。為了管理好這些共享資

源(包括硬件和信息)的使用,操作系統(tǒng)必須記錄下各種資源的使用情況,對(duì)使用資源的請(qǐng)求進(jìn)行授權(quán),協(xié)調(diào)諸

用戶對(duì)共享資源的使用,避免發(fā)生沖突,并計(jì)算使用資源的費(fèi)用等。

(3)OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象

在裸機(jī)上覆蓋上一層1/0設(shè)備管理軟件得到擴(kuò)充機(jī)器(虛擬機(jī)),它向用戶(進(jìn)程)提供了一個(gè)對(duì)硬件操作

的抽象模型,用戶可利用抽象模型提供的接口使用計(jì)算機(jī),而無需了解物理接口實(shí)現(xiàn)的細(xì)節(jié),從而使用戶更容易

地使用計(jì)算機(jī)硬件資源。

3.為什么說OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象?

答:OS是鋪設(shè)在計(jì)算機(jī)硬件上的多層系統(tǒng)軟件,它不僅增強(qiáng)了系統(tǒng)的功能,而且還隱藏了對(duì)硬件操作的細(xì)

節(jié),實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的多個(gè)層次的抽象。

(1)在裸機(jī)上覆蓋上一層1/0設(shè)備管理軟件,由它來實(shí)現(xiàn)對(duì)I/O設(shè)備操作的細(xì)節(jié),并向上提供一組I/O命令,

用戶可利用它來進(jìn)行數(shù)據(jù)輸入或輸出,而無需關(guān)心I/O是如何實(shí)現(xiàn)的。該軟件實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的第一層

次的抽象。

(2)在第一層次的抽象上再覆蓋上一層用于文件的管理軟件,同樣由它來實(shí)現(xiàn)文件操作的細(xì)節(jié),并向上提

供一組對(duì)文件進(jìn)行存取操作的命令,用戶可利用這組命令進(jìn)行文件的存取。該層軟件實(shí)現(xiàn)了對(duì)硬件資源操作的第

二層次的抽象。

4.試說明推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁础?/p>

答:不斷提高計(jì)算機(jī)資源的利用率和系統(tǒng)吞吐量是推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿Α?/p>

5.何謂脫機(jī)I/O和聯(lián)機(jī)I/O?

答:(1)脫機(jī)I/O

為了解決人機(jī)矛盾及CPU和I/O設(shè)備之間速度不匹配的矛盾,20世紀(jì)50年代末出現(xiàn)了脫機(jī)輸入/輸出

(Off-LineI/O)技術(shù)。該技術(shù)是事先將裝有用戶程序和數(shù)據(jù)的紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片機(jī)),在

一臺(tái)外圍機(jī)的控制下,把紙帶(卡片)上的數(shù)據(jù)(程序)輸入到磁帶上。當(dāng)CPU需要這些程序和數(shù)據(jù)時(shí),再?gòu)?/p>

磁帶上將其高速地調(diào)入內(nèi)存。類似地,當(dāng)CPU需要輸出時(shí),可由CPU直接高速地把數(shù)據(jù)從內(nèi)存送到磁帶上,然

后再在另一臺(tái)外圍機(jī)的控制下,將磁帶上的結(jié)果通過相應(yīng)的輸出設(shè)備輸出。即脫機(jī)I/O方式指的是程序和數(shù)據(jù)的

輸入和輸出都是在外圍機(jī)的控制下完成的,或者說,它們是在脫離主機(jī)的情況下進(jìn)行的。

(2)聯(lián)機(jī)I/O

和脫機(jī)I/O方式相反,聯(lián)機(jī)I/O方式指的是在主機(jī)的直接控制下進(jìn)行輸入/輸出的方式。

6.試說明推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁矗?/p>

答:進(jìn)一步提高計(jì)算機(jī)資源的利用率、更好的滿足人機(jī)交互是推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿Α?/p>

7.實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是什么?應(yīng)如何解決?

答:(1)實(shí)現(xiàn)分時(shí)系統(tǒng)的關(guān)鍵問題是如何使用戶能與自己的作業(yè)進(jìn)行交互,即當(dāng)用戶在自己的終端上鍵入命

令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處理該命令,再將結(jié)果返回給用戶。

(2)解決方案

①及時(shí)接收問題

針對(duì)及時(shí)接收問題,解決辦法是在系統(tǒng)中配置一個(gè)多路卡,多路卡的作用是使主機(jī)能同時(shí)接收不同用戶從終

端上輸入的數(shù)據(jù)。此外,還須為每個(gè)終端配置一個(gè)緩沖區(qū),用來暫存用戶鍵入的命令(或數(shù)據(jù))。

②及時(shí)處理問題

針對(duì)及時(shí)處理問題,各個(gè)用戶的作業(yè)應(yīng)該直接進(jìn)入內(nèi)存,并且規(guī)定每個(gè)作業(yè)只運(yùn)行一個(gè)很短的時(shí)間片,然后

暫停該作業(yè)的運(yùn)行,并立即調(diào)度下一個(gè)作業(yè)運(yùn)行。

8.為什么要引入實(shí)時(shí)OS?

答:引入實(shí)時(shí)OS是為了滿足實(shí)時(shí)應(yīng)用的需求,更好地滿足實(shí)時(shí)控制領(lǐng)域和實(shí)時(shí)信息處理領(lǐng)域的需要。

9.什么是硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)?試舉例說明。

答:在實(shí)時(shí)操作系統(tǒng)中,根據(jù)對(duì)截止時(shí)間的要求來分類,實(shí)時(shí)任務(wù)可分為硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)兩種。

(1)硬實(shí)時(shí)任務(wù)及其舉例

硬實(shí)時(shí)任務(wù)是系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測(cè)的結(jié)果,在一里高科技領(lǐng)域,如

運(yùn)載火箭的控制等。

(2)軟實(shí)時(shí)任務(wù)及其舉例

軟實(shí)時(shí)任務(wù)是它也聯(lián)系著一個(gè)截止時(shí)間,但并不嚴(yán)格,若偶爾錯(cuò)過了任務(wù)的截止時(shí)間,對(duì)系統(tǒng)產(chǎn)生的影響也

不會(huì)太大,比如網(wǎng)頁的更新等。

10.試從交互性、及時(shí)性以及可靠性方面將分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)進(jìn)行比較。

答:(1)交互性

實(shí)時(shí)信息處理系統(tǒng)雖然也具有交互性,但這里人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序。

它不像分時(shí)系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)處理和資源共享等服務(wù)。

(2)及時(shí)性

實(shí)時(shí)信息處理系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人所能接受的等待時(shí)間來確定的;而實(shí)時(shí)控制系

統(tǒng)的及時(shí)性,則是以控制對(duì)象所要求的開始截止時(shí)間或完成截止時(shí)間來確定的,一般為秒級(jí)到毫秒級(jí),甚至有的

要低于100微秒。

(3)可靠性

分時(shí)系統(tǒng)雖然也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)對(duì)可靠性的要求更高。因?yàn)槿魏尾铄e(cuò)都可能帶來巨大

的經(jīng)濟(jì)損失,甚至是無法預(yù)料的災(zāi)難性后果,所以在實(shí)時(shí)系統(tǒng)中,往往都采取了多級(jí)容錯(cuò)措施來保障系統(tǒng)的安全

性及數(shù)據(jù)的安全性。

11.OS有哪幾大特征?其最基本的特征是什么?

答:(1)操作系統(tǒng)具備四種共同的基本特征,即并發(fā)、共享、虛擬和異步。

(2)并發(fā)和共享是OS兩大最基本的特征。

12.在多道程序技術(shù)的OS環(huán)境下的資源共享與一般情況下的資源共享有何不同?對(duì)獨(dú)占資源應(yīng)采取何種共

享方式?

答:(1)OS環(huán)境下與一般情況下的資源共享間的不同點(diǎn)

①一般情況下的共享

一般情況下的共享只是說明某種資源能被大家使用,對(duì)于這樣的資源共享方式,只要通過適當(dāng)?shù)陌才牛脩?/p>

之間并不會(huì)產(chǎn)生對(duì)資源的競(jìng)爭(zhēng),因此資源管理是比較簡(jiǎn)單的。

②OS環(huán)境下的共享

OS環(huán)境下的資源共享或稱為資源復(fù)用,是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用。這里

在宏觀上既限定了時(shí)間(進(jìn)程在內(nèi)存期間),也限定了地點(diǎn)(內(nèi)存)。對(duì)于這種資源共享方式,其管理就要復(fù)雜得

多,因?yàn)橄到y(tǒng)中的資源少于多道程序需求的總和,會(huì)形成它們對(duì)共享資源的爭(zhēng)奪。所以,系統(tǒng)必須對(duì)資源共享進(jìn)

行妥善管理。

(2)獨(dú)占資源應(yīng)采取的共享方式

對(duì)獨(dú)占資源應(yīng)采用互斥共享方式,該共享方式僅當(dāng)占有該資源的進(jìn)程訪問并釋放資源后,才允許另一進(jìn)程對(duì)

該資源進(jìn)行訪問。

13.什么是時(shí)分復(fù)用技術(shù)?舉例說明它能提高資源利用率的根本原因是什么。

答:(1)時(shí)分復(fù)用技術(shù)是將不同的信號(hào)相互交織在不同的時(shí)間段內(nèi),沿著同?個(gè)信道傳輸;在接收端再用某

種方法,將各個(gè)時(shí)間段內(nèi)的信號(hào)提取出來還原成原始信號(hào)的通信技術(shù)。這種技術(shù)可以在同一個(gè)信道上傳輸多路信

號(hào)。

(2)時(shí)分復(fù)用技術(shù)能提高資源利用率的根本原因在于,它利用某設(shè)備為一用戶服務(wù)的空閑時(shí)間,乂轉(zhuǎn)去為

其他用戶服務(wù),使設(shè)備得到最充分的利用。

14.是什么原因使操作系統(tǒng)具有異步性特征?

答:由于各用戶程序性能的不同,不同程序?qū)?nèi)存的使用開始時(shí)間、結(jié)束時(shí)間、中斷時(shí)間是不可預(yù)知的,或

者說,進(jìn)程是以人們不可預(yù)知的速度向前推進(jìn),導(dǎo)致了進(jìn)程的異步性。

15.處理機(jī)管理有哪些主要功能?其主要任務(wù)是什么?

答:處理機(jī)管理的主要功能是進(jìn)程控制、進(jìn)程同步、進(jìn)程通信和調(diào)度。

(1)進(jìn)程控制

為作業(yè)創(chuàng)建進(jìn)程,并為之分配必要的資源;進(jìn)程結(jié)束時(shí)撤銷進(jìn)程,及時(shí)回收該進(jìn)程所占用的各類資源:以及

控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換。

(2)進(jìn)程同步

為多個(gè)進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào),協(xié)調(diào)分為進(jìn)程互斥方式和進(jìn)程同步方式。

(3)進(jìn)程通信

用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。

(4)處理機(jī)調(diào)度

在后備隊(duì)列上等待的每個(gè)作業(yè)都必須經(jīng)過調(diào)度才能執(zhí)行,在傳統(tǒng)的操作系統(tǒng)中,包括作業(yè)調(diào)度和進(jìn)程調(diào)度兩

步。

①作業(yè)調(diào)度

從后備隊(duì)里按照一定的算法,選擇出若干個(gè)作業(yè),為它們分配運(yùn)行所需的資源(首先是分配內(nèi)存)。

②進(jìn)程調(diào)度

從進(jìn)程的就緒隊(duì)列中,按照一定算法選出一個(gè)進(jìn)程,把處理機(jī)分配給它,并為它設(shè)置運(yùn)行現(xiàn)場(chǎng),使進(jìn)程投入

執(zhí)行。

16.內(nèi)存管理有哪些主要功能?其主要任務(wù)是什么?

答:內(nèi)存管理的主要功能有內(nèi)存分配、內(nèi)存保護(hù)、地址映射和內(nèi)存擴(kuò)充。

(1)內(nèi)存分配

內(nèi)存分配的主要任務(wù)是為每道程序分配內(nèi)存空間,使它們“各得其所”;提高存儲(chǔ)器的利用率,減少不可用

的內(nèi)存空間;允許正在運(yùn)行的程序申請(qǐng)附加的內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)動(dòng)態(tài)增長(zhǎng)的需要。

(2)內(nèi)存保護(hù)

內(nèi)存保護(hù)的主要任務(wù)是確保每道用戶程序都只在自己的內(nèi)存空間內(nèi)運(yùn)行,彼此互不干擾;絕不允許用戶程序

訪問操作系統(tǒng)的程序和數(shù)據(jù);也不允許用戶程序轉(zhuǎn)移到非共享的其他用戶程序中去執(zhí)行。

(3)地址映射

為使程序能正確運(yùn)行,存儲(chǔ)器管理必須提供地址映射功能,以將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與

之對(duì)應(yīng)的物理地址,該功能應(yīng)在硬件的支持下完成。

(4)內(nèi)存擴(kuò)充

借助于虛擬存儲(chǔ)技術(shù),從邏輯上去擴(kuò)充內(nèi)存容量,使用戶所感覺到的內(nèi)存容量比實(shí)際內(nèi)存容量大得多,以便

讓更多的用戶程序并發(fā)運(yùn)行。

17.設(shè)備管理有哪些主要功能?其主要任務(wù)是什么?

答:設(shè)備管理的主要功能有緩沖管理、設(shè)備分配和設(shè)備處理。設(shè)備管理的主要任務(wù)是完成用戶進(jìn)程提出的1/0

請(qǐng)求,為用戶進(jìn)程分配其所需的1/0設(shè)備:提高CPU和1/0設(shè)備的利用率;提高I/O設(shè)備處理速度:方便用戶使

用I/O設(shè)備。

18.文件管理有哪些主要功能?其主要任務(wù)是什么?

答:文件管理主要功能有文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫管理和保護(hù)。文件管理的主要任務(wù)

是對(duì)用戶文件和系統(tǒng)文件進(jìn)行管理,以方便用戶使用,并保證文件的安全性。

19.試說明推動(dòng)傳統(tǒng)0S演變?yōu)楝F(xiàn)代OS的主要因素是什么?

答:推動(dòng)傳統(tǒng)OS演變?yōu)楝F(xiàn)代OS的主要因素如下:

(1)不斷提高計(jì)算機(jī)資源的利用率

在計(jì)算機(jī)發(fā)展初期,計(jì)算機(jī)系統(tǒng)特別昂貴,因此,必須千方百計(jì)地提高計(jì)算機(jī)各種資源的利用率,這是OS

最初發(fā)展的推動(dòng)力。

(2)方便用戶

當(dāng)資源利用率不高的問題得到基本解決后,用戶在上機(jī)、調(diào)試程序時(shí)的不方便性又成為了繼續(xù)推動(dòng)OS發(fā)展

的主要因素。

(3)器件的不斷更新?lián)Q代

隨著微機(jī)芯片的不斷更新?lián)Q代,使得計(jì)算機(jī)的性能快速提高,從而推動(dòng)了OS功能和性能的迅速增強(qiáng)和提高。

(4)計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展

計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展,不斷推動(dòng)著OS的發(fā)展,也促進(jìn)了新的OS類型的產(chǎn)生。

(5)不斷提出新的應(yīng)用需求

不斷提出的新的應(yīng)用需求是推動(dòng)OS迅速發(fā)展的另一個(gè)重要原因。

20.什么是微內(nèi)核OS?

答:微內(nèi)核操作系統(tǒng)結(jié)構(gòu)是20世紀(jì)80年代后期發(fā)展起來的。它能有效地支持多處理機(jī)運(yùn)行,非常適用于分

布式系統(tǒng)環(huán)境,微內(nèi)核OS主要有以下四個(gè)方面的特征:

(1)足夠小的內(nèi)核

能實(shí)現(xiàn)現(xiàn)代OS最基本的核心功能的部分,微內(nèi)核并非是一個(gè)完整的OS,而只是操作系統(tǒng)中最基本的部分。

(2)基于客戶/服務(wù)器模式

將操作系統(tǒng)中最基本的部分放入內(nèi)核中,而把操作系統(tǒng)的絕大部分功能都放在微內(nèi)核外面的一組服務(wù)器(進(jìn)

程)中實(shí)現(xiàn)。

(3)應(yīng)用“機(jī)制與策略分離”原理

在傳統(tǒng)的OS中,將機(jī)制放在OS的內(nèi)核的較低層,把策略放在內(nèi)核的較高層次中。而在微內(nèi)核操作系統(tǒng)中,

通常將機(jī)制放在OS的微內(nèi)核中。正因?yàn)槿绱?,才有可能將?nèi)核做得很小。

(4)采用面向?qū)ο蠹夹g(shù)

確保操作系統(tǒng)的“正確性”“可靠性”“易修改性”“易擴(kuò)展性”等,并提高操作系統(tǒng)的設(shè)計(jì)速度。

21.微內(nèi)核操作系統(tǒng)具有哪些優(yōu)點(diǎn)?它為何能有這些優(yōu)點(diǎn)?

答:(1)微內(nèi)核操作系統(tǒng)的優(yōu)點(diǎn)

①提高了系統(tǒng)的可擴(kuò)展性。

②增強(qiáng)了系統(tǒng)的可靠性。

③可移植性強(qiáng)。

④提供了對(duì)分布式系統(tǒng)的支持。

⑤融入了面向?qū)ο蠹夹g(shù)。

(2)微內(nèi)核操作系統(tǒng)具有上述優(yōu)點(diǎn)的原因

微內(nèi)核OS結(jié)構(gòu)是建立在模塊化、層次化結(jié)構(gòu)的基礎(chǔ)上的,并采用了客戶/服務(wù)器模式和面向?qū)ο蟮某绦蛟O(shè)計(jì)

技術(shù)。

22.現(xiàn)代操作系統(tǒng)較之傳統(tǒng)操作系統(tǒng)又增加J'哪些功能和特征?

答:(1)現(xiàn)代操作系統(tǒng)增加的功能

傳統(tǒng)的OS具有處理機(jī)管理、存儲(chǔ)器管理、設(shè)備管理、文件管理和提供友好的用戶接口這五大功能,現(xiàn)代

OS中還增加了面向安全、面向網(wǎng)絡(luò)和面向多媒體等功能。

(2)現(xiàn)代操作系統(tǒng)增加的特征

現(xiàn)代操作系統(tǒng)較傳統(tǒng)的多道批處理系統(tǒng)、實(shí)時(shí)操作系統(tǒng)以及分時(shí)操作系統(tǒng)增加并發(fā)性、資源共享性、虛擬

性和異步性四大特征。

23.在微內(nèi)核OS中,為什么要采用客戶/服務(wù)器模式?

答:由于客戶/服務(wù)器模式具有數(shù)據(jù)的分布處理和存儲(chǔ);便于集中管理;靈活性和可擴(kuò)充性:易于改編應(yīng)用

軟件等優(yōu)點(diǎn)。故在單機(jī)微內(nèi)核操作系統(tǒng)中幾乎無一例外地都采用客戶/服務(wù)器模式,將操作系統(tǒng)中最基本的部分

放入內(nèi)核中,而把操作系統(tǒng)的絕大部分功能都放在微內(nèi)核外面的?組服務(wù)器(進(jìn)程)中實(shí)現(xiàn)。

24.在基于微內(nèi)核結(jié)構(gòu)的OS中,應(yīng)用了哪些新技術(shù)?

答:在設(shè)計(jì)微內(nèi)核OS時(shí),采用了面向?qū)ο蟮募夹g(shù),其中的“封裝”,“繼承”,“對(duì)象類”和“多態(tài)性”,

以及在對(duì)象之間采用消息傳遞機(jī)制等,都有利于提高系統(tǒng)的“正確性”“可靠性”“易修改性”“易擴(kuò)展性”,

而且還能顯著地減少開發(fā)系統(tǒng)所付出的開銷。

25.何謂微內(nèi)核技術(shù)?在微內(nèi)核中通常提供了哪些功能?

答:(1)微內(nèi)核技術(shù)的定義

把操作系統(tǒng)中更多的成分和功能放到更高的層次(即用戶模式)中去運(yùn)行,而留下一個(gè)盡量小的內(nèi)核,用它

來完成操作系統(tǒng)最基本的核心功能,這種技術(shù)被稱為微內(nèi)核技術(shù)。

(2)微內(nèi)核技術(shù)提供的功能

在微內(nèi)核中通常提供了進(jìn)程(線程)管理、低級(jí)存儲(chǔ)器管理、中斷和陷入處理功能。

1.3考研真題詳解

1.在單處理機(jī)系統(tǒng)中,可并行的是()?[2009年統(tǒng)考]

1.進(jìn)程與進(jìn)程

II.處理機(jī)與設(shè)備

UL處理機(jī)與通道

IV.設(shè)備與設(shè)備

A.I、H和出

B.I、II和IV

C.1、阿W

D.IRIV

【答案】D

【解析】單處理機(jī)即只有一個(gè)處理機(jī)(此處不包含多核的情況),某時(shí)刻處理機(jī)只能執(zhí)行一個(gè)進(jìn)程,所以進(jìn)程

與進(jìn)程之間不能并行執(zhí)行。處理機(jī)、通道、設(shè)備都能并行執(zhí)行,比如同時(shí)打印(設(shè)備)、計(jì)算(處理機(jī))、傳輸數(shù)據(jù)

(通道控制內(nèi)存與外存間數(shù)據(jù)交換)。換個(gè)角度來想,進(jìn)程的執(zhí)行必須要依賴處理機(jī),而一個(gè)處理機(jī)同時(shí)只能處理

一個(gè)進(jìn)程,所以單處理機(jī)系統(tǒng)中進(jìn)程就不可以并行;而其他選項(xiàng)依賴的是不同部件,因此可以并行。明確一個(gè)概

念,即使是采用了多道程序設(shè)計(jì)技術(shù)的系統(tǒng),只要是單處理機(jī),進(jìn)程就不可以并行,而只是并發(fā)。因此如果題目

改成“采用多道程序設(shè)計(jì)技術(shù)的單處理機(jī)系統(tǒng)”,答案依然不變。

2.舉例說明為什么操作系統(tǒng)起到了擴(kuò)展機(jī)器的作用?[北大2004年研]

答:把真實(shí)的硬件情況在程序員面前隱藏起來,而表現(xiàn)為一組友好的、簡(jiǎn)單的、可以被讀/寫的命名文件的

程序就是操作系統(tǒng)。就如同隱藏磁盤硬件,表現(xiàn)為一個(gè)簡(jiǎn)單的面向文件的接口一樣,操作系統(tǒng)還隱藏了很多令人

厭煩的中斷、定時(shí)器、內(nèi)存管理以及其他一些底層特性。在這種情況下,操作系統(tǒng)所提供的對(duì)硬件的抽象更簡(jiǎn)單,

更容易使用。例如,對(duì)于最基本的命令read與write,每個(gè)read及write命令都需要13個(gè)參數(shù),這些參數(shù)被組合

在一個(gè)9字節(jié)的數(shù)據(jù)中。這些參數(shù)給出了需要讀的磁盤塊的地址、每磁道的扇區(qū)數(shù)、物理介質(zhì)上所使用的記錄模

式、扇區(qū)間的間隔以及遇到數(shù)據(jù)刪除標(biāo)志時(shí)需要做些什么。當(dāng)操作完成的時(shí)候,控制芯片會(huì)返回23個(gè)狀態(tài)以及

錯(cuò)誤碼,它們會(huì)被組合到7個(gè)字節(jié)長(zhǎng)的數(shù)據(jù)中。不僅如此,編寫軟盤驅(qū)動(dòng)程序的程序員還必須隨時(shí)留意驅(qū)動(dòng)器的

電動(dòng)機(jī)是開著的還是關(guān)著的。如果電動(dòng)機(jī)是關(guān)著的,在讀/寫數(shù)據(jù)前,它必須被打開(伴隨很長(zhǎng)一段啟動(dòng)延時(shí))。

電動(dòng)機(jī)也不能長(zhǎng)時(shí)間開著,否則會(huì)使軟磁盤因磨損過度而損壞。這就要求程序員必須在長(zhǎng)啟動(dòng)延時(shí)及磁盤磨損度

(磨損會(huì)使磁盤上的數(shù)據(jù)丟失)之間尋找一種平衡。這對(duì)程序員來說是非常困難的。程序員所想要的,是一種簡(jiǎn)單

的、高級(jí)的抽象。對(duì)于這一問題,一個(gè)典型的抽象就是磁盤上包含一組已被命名的文件,每一個(gè)文件都可能被打

開來寫或讀,最后,文件會(huì)被關(guān)閉。諸如記錄信息是否需要調(diào)整頻率、電動(dòng)機(jī)的當(dāng)前狀態(tài)等細(xì)節(jié)問題在這一抽象

中就不會(huì)再出現(xiàn)在用戶的面前。

在這種觀點(diǎn)中,操作系統(tǒng)的功能在用戶面前就等同于是一臺(tái)擴(kuò)展了的機(jī)器或者說是虛擬的機(jī)器,它使得在硬

件上面的編程更加容易。

第2章迸程的描述與控制

2.1復(fù)習(xí)筆記

一、前趨圖和程序執(zhí)行

1.前趨圖

(1)定義

前趨圖是指一個(gè)有向無循環(huán)圖,可記為DAG,它用于描述進(jìn)程之間執(zhí)行的先后順序。

(2)圖形表示

前趨圖如圖2-1所示。

2.程序的執(zhí)行

(1)程序順序執(zhí)行時(shí)的特征

①順序性。

②封閉性。

③可再現(xiàn)性。

(2)程序并發(fā)執(zhí)行時(shí)的特征

①間斷性。

②失去封閉性。

③不可再現(xiàn)性。

二、進(jìn)程的描述

1.進(jìn)程的定義和特征

(1)進(jìn)程的定義

對(duì)于進(jìn)程的定義,從不同的角度可以有不同的定義,其中較典型的定義有:

①進(jìn)程是程序的一次執(zhí)行。

②進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)。

③進(jìn)程是具有獨(dú)立功能的程序在?個(gè)數(shù)據(jù)集合上運(yùn)行的過程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單

位。

(2)進(jìn)程的特征

①動(dòng)態(tài)性

動(dòng)態(tài)性是進(jìn)程的最基本的特征。

②并發(fā)性。

③獨(dú)立性。

④異步性。

(3)進(jìn)程實(shí)體

通常,進(jìn)程實(shí)體由程序控制塊(PCB)、程序段、數(shù)據(jù)段三部分組成。

2.進(jìn)程的狀態(tài)及轉(zhuǎn)換

(1)進(jìn)程有三種基本狀態(tài):就緒狀態(tài)、執(zhí)行狀態(tài)、阻塞(等待)狀態(tài)。圖2-2示出了基本狀態(tài)的轉(zhuǎn)換圖。

圖2-3進(jìn)程的五種狀態(tài)及轉(zhuǎn)換

3.掛起操作和進(jìn)程狀態(tài)的轉(zhuǎn)換

(1)當(dāng)掛起操作作用于某個(gè)進(jìn)程時(shí),該進(jìn)程將被掛起,意味著此時(shí)該進(jìn)程處于靜止?fàn)顟B(tài)。如果進(jìn)程正在執(zhí)

行,它將暫停執(zhí)行。若原本處于就緒狀態(tài),則該進(jìn)程此時(shí)暫不接受調(diào)度。與掛起操作對(duì)應(yīng)的操作是激活操作。

(2)引入掛起原語操作后三個(gè)進(jìn)程狀態(tài)的轉(zhuǎn)換

①活動(dòng)就緒一靜止就緒。

②活動(dòng)阻塞一靜止阻塞。

③靜止就緒一活動(dòng)就緒。

④靜止阻塞T活動(dòng)阻塞。

(3)引入掛起操作后五個(gè)進(jìn)程狀態(tài)的轉(zhuǎn)換如圖2-4所示。

圖2-4具有創(chuàng)建、終止和掛起狀態(tài)的進(jìn)程狀態(tài)圖

4.進(jìn)程控制塊(PCB)

(1)概念

PCB是一記錄型數(shù)據(jù)結(jié)構(gòu),它作為進(jìn)程實(shí)體的一部分,記錄了操作系統(tǒng)所需的、用于描述進(jìn)程的當(dāng)前情況

以及管理進(jìn)程運(yùn)行的全部信息。

(2)進(jìn)程控制塊中的信息

處理機(jī)狀態(tài)進(jìn)程調(diào)度信息進(jìn)程控制信息

通用寄存器進(jìn)程狀態(tài)程序和數(shù)據(jù)的地址

指令計(jì)數(shù)器進(jìn)程優(yōu)先級(jí)進(jìn)程同步和通信機(jī)制

程序狀態(tài)字進(jìn)程調(diào)度所需的其它信息資源清單

用戶棧指針事件涯接指針

(3)進(jìn)程控制塊的組織方式

①線性方式。

②鏈接方式。

③索引方式。

三、進(jìn)程控制

進(jìn)程控制是進(jìn)程管理中最基本的功能,主要包括創(chuàng)建新進(jìn)程、終止已完成的進(jìn)程、將因發(fā)生異常情況而無法

繼續(xù)運(yùn)行的進(jìn)程置于阻塞狀態(tài)、負(fù)責(zé)進(jìn)程運(yùn)行中的狀態(tài)轉(zhuǎn)換等功能。

四、進(jìn)程同步

1.進(jìn)程同步的基本概念

(1)進(jìn)程同步機(jī)制的主要任務(wù)

對(duì)多個(gè)相關(guān)進(jìn)程在執(zhí)行次序上進(jìn)行協(xié)調(diào),使并發(fā)執(zhí)行的諸進(jìn)程之間能按照一定的規(guī)則(或時(shí)序)共享系統(tǒng)資

源,并能很好地相互合作,從而使程序的執(zhí)行具有可再現(xiàn)性。

(2)臨界資源

一次僅允許一個(gè)進(jìn)程使用的資源稱為臨界資源。

(3)臨界區(qū)

將在每個(gè)進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)。

(4)同步機(jī)制應(yīng)遵循的規(guī)則

①空閑讓進(jìn)。

②忙則等待。

③有限等待。

④讓權(quán)等待。

2.硬件同步機(jī)制

(1)關(guān)中斷。

(2)利用Test-and-Set指令實(shí)現(xiàn)互斥。

(3)利用Swap指令實(shí)現(xiàn)進(jìn)程互斥。

3.信號(hào)量機(jī)制

(1)整型信號(hào)量

①定義

把整型信號(hào)量定義為一個(gè)用于表示資源數(shù)目的整型量S。

②描述

通過兩個(gè)標(biāo)準(zhǔn)的原子操作wail(S)和signal(S)來訪問S,兩個(gè)操作一直被分別稱為P、V操作。wail和

signal操作可描述如下:

wait(S)

while(S<=0);/*dono-op*/

S??;

)

signal(S)

i

S++;

)

(2)記錄型信號(hào)量

①定義

記錄型信號(hào)量機(jī)制采用了記錄型的數(shù)據(jù)結(jié)構(gòu),是一種不存在“忙等”現(xiàn)象的進(jìn)程同步機(jī)制。

②描述

typedefstruct

(

intvalue;〃代表資源數(shù)目的整型變量

structprocess_control_block*list;〃一個(gè)鏈接所有等待進(jìn)程的進(jìn)程鏈表指針

}semaphore;

wait(S)和signal(S)操作可描述如下:

wait(semaphore*S)

(

S->value—;

if(S->value<0)

block(S->list);

)

signal(semaphore*S)

(

S->value++;

if(S->value<=0)

wakeup(S->list);

)

4.經(jīng)典同步問題-生產(chǎn)者-消費(fèi)者問題

問題描述:一組生產(chǎn)者進(jìn)程和一組消費(fèi)者進(jìn)程共享一個(gè)初始為空、大小為n個(gè)單元的緩沖區(qū)。只有當(dāng)緩沖區(qū)

沒滿時(shí),生產(chǎn)者才可以把消息放入緩沖區(qū),否則必須等待;只有當(dāng)緩沖區(qū)不空時(shí),消費(fèi)者才可以從中取出消息,

否則必須等待。由于緩沖區(qū)是臨界資源,只允許一個(gè)生產(chǎn)者放入消息或者一個(gè)消費(fèi)者從中取出消息,不允許同時(shí)

訪問緩沖區(qū)。

信號(hào)量設(shè)置:定義信號(hào)量mutex為互斥信號(hào)量,初值為1,用于表示互斥訪問緩沖區(qū);信號(hào)量empty用于表

示當(dāng)前緩沖區(qū)中可用空間大小,初值為n;信號(hào)量full用于表示當(dāng)前緩沖區(qū)中已用空間大小,初值為0。

程序描述:

semaphoremutex=1;

semaphoreempty=n;

semaphorefull=0;

producer()

{〃生產(chǎn)者進(jìn)程

while(true)

(

〃生產(chǎn)一個(gè)消息

p(empty);〃申請(qǐng)緩沖區(qū)中的一個(gè)空單元

p(mutex);〃中請(qǐng)?jiān)L問緩沖區(qū)

〃將消息放入緩沖區(qū)

v(mutex);〃釋放互斥信號(hào)量

v(full);〃緩沖區(qū)中滿單元數(shù)加一

}

)

consumer()

(〃消費(fèi)者進(jìn)程

while(true)

(

p(full);〃申請(qǐng)從緩沖區(qū)中的滿單元取出消息

p(mulex);〃申請(qǐng)?jiān)L問緩沖區(qū)

〃將消息取出緩沖區(qū)

v(mutex);〃釋放互斥信號(hào)量

v(empty);〃緩沖區(qū)中空單元數(shù)加一

5.管程機(jī)制

(1)定義

一個(gè)管程定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)和能為并發(fā)進(jìn)程所執(zhí)行(在該數(shù)據(jù)結(jié)構(gòu)上)的一組操作,這組操作能同步進(jìn)程

和改變管程中的數(shù)據(jù)。

(2)組成

①管程的名稱:

②局部于管程的共享數(shù)據(jù)結(jié)構(gòu)說明;

③對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過程;

④對(duì)局部于管程的共享數(shù)據(jù)設(shè)置初始值的語句。

五、進(jìn)程通信

I.進(jìn)程通信的概念

(1)進(jìn)程通信的定義

進(jìn)程通信是指進(jìn)程之間的信息交換。

(2)進(jìn)程通信的分類

進(jìn)程通信可分為高級(jí)進(jìn)程通信和低級(jí)進(jìn)程通信兩利、

2.高級(jí)進(jìn)程通信的類型

(1)共享存儲(chǔ)器系統(tǒng)

①基于共享數(shù)據(jù)結(jié)構(gòu)的通信方式。

②基于共享存儲(chǔ)區(qū)的通信方式。

(2)管道通信系統(tǒng)

(3)消息傳遞系統(tǒng)(Messagepassingsystem)

①直接通信方式。

②問接通信方式。

(4)客戶機(jī)-服務(wù)器系統(tǒng)(Client-Serversystem)

六、線程的基本概念

1.線程的引入

(1)進(jìn)程的兩個(gè)基本屬性

①進(jìn)程是一個(gè)可擁有資源的獨(dú)立單位;

②進(jìn)程同時(shí)又是一個(gè)可獨(dú)立調(diào)度和分派的基本單位。

(2)線程引入原因

減少程序并發(fā)執(zhí)行所需付出的時(shí)空開銷,使操作系統(tǒng)具有更好的并發(fā)性。

2.線程與進(jìn)程的比較

(1)調(diào)度的基本單位

①在傳統(tǒng)的OS中,進(jìn)程是作為獨(dú)立調(diào)度和分派的基本單位,因而進(jìn)程是能獨(dú)立運(yùn)行的基本單位。

②而在引入線程的OS中,已把線程作為調(diào)度和分派的基本單位,因而線程是能獨(dú)立運(yùn)行的基本單位。

(2)并發(fā)性

不同進(jìn)程之間、在一個(gè)進(jìn)程中的多個(gè)線程之間或者不同進(jìn)程中的線程之間都能并發(fā)執(zhí)行。

(3)擁有資源

①進(jìn)程是系統(tǒng)中擁有資源的一個(gè)基本單位。

②線程本身并不擁有系統(tǒng)資源,而是僅有一點(diǎn)必不可少的、能保證獨(dú)立運(yùn)行的資源。

(4)獨(dú)立性

在同一進(jìn)程中的不同線程之間的獨(dú)立性要比不同進(jìn)程之間的獨(dú)立性低得多。

(5)系統(tǒng)開銷

①創(chuàng)建或撤消進(jìn)程時(shí)所付出的開銷明顯大于線程創(chuàng)建或撤消時(shí)所付出的開銷。

②線程的切換代價(jià)也遠(yuǎn)低于進(jìn)程的切換代價(jià)。

3.線程的狀態(tài)和線程控制塊

(1)線程運(yùn)行的三個(gè)狀態(tài):執(zhí)行狀態(tài),就緒狀態(tài),阻塞狀態(tài)。

(2)線程控制塊TCB

線程控制塊通常有這樣幾項(xiàng)信息:

①線程標(biāo)識(shí)符;

②一組寄存器;

③線程運(yùn)行狀態(tài);

④優(yōu)先級(jí);

⑤線程專有存儲(chǔ)區(qū);

⑥信號(hào)屏蔽;

⑦堆棧指針。

【說明】在多線程OS中,線程作為獨(dú)立運(yùn)行(或稱調(diào)度)的基本單位;而進(jìn)程仍是資源分配的基本單位。

七、線程的實(shí)現(xiàn)方式

1.內(nèi)核支持線程KST

2.用戶級(jí)線程ULT

3.組合方式

組合方式下包括三種不同的模型,如圖2-5所示。

用戶線程

(a)多對(duì)一模型(b)一對(duì)一模型(c)多對(duì)多模型

圖2-5多線程模型

2.2課后習(xí)題詳解

1.什么是前趨圖?為什么要引入前趨圖?

答:(1)前趨圖的定義

前趨圖是一個(gè)有向無循環(huán)圖,記為DAG,用于描述進(jìn)程之間執(zhí)行的前后關(guān)系。圖中的每個(gè)結(jié)點(diǎn)可用于描述

一個(gè)程序段或進(jìn)程,乃至一條語句;結(jié)點(diǎn)間的有向邊則用于表示兩個(gè)結(jié)點(diǎn)之間存在的偏序或前趨關(guān)系。

(2)引入前趨圖的原因

引入前趨圖可以形象的表示進(jìn)程之間的前后關(guān)系和順序,可以更好地描述程序的順序和并發(fā)執(zhí)行情況。

2.試畫出下面四條語句的前趨圖:

SI:a=x+y;

S2:b=z+1;

S3:c=a-b;

S4:w=c+l;

答:S3語句中的操作涉及SI中的a和S2中的b,因此,S3的前趨是S1和S2;S4中的語句涉及S3中的c,

因此,S4的前趨是S3,所以畫出前趨圖如圖2-6所示。

3.為什么程序并發(fā)執(zhí)行會(huì)產(chǎn)生間斷性特征?

答:程序在并發(fā)執(zhí)行時(shí),由于它們共享系統(tǒng)資源,以及為完成同一項(xiàng)任務(wù)而相互合作,致使在這些并發(fā)執(zhí)行

的程序之間,形成了相互制約的關(guān)系,從而產(chǎn)生間斷性特征。簡(jiǎn)而言之,相互制約將導(dǎo)致并發(fā)程序具有“執(zhí)行-

暫停-執(zhí)行”這種間斷性的活動(dòng)規(guī)律。

4.程序并發(fā)執(zhí)行時(shí)為什么會(huì)失去封閉性和可再現(xiàn)性?

答:程序在并發(fā)執(zhí)行時(shí),是多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)將由多個(gè)程序來改變,致

使程序的運(yùn)行失去了封閉性。這樣,某程序在執(zhí)行時(shí),必然會(huì)受到其他程序的影響,而這也將導(dǎo)致其再失去可再

現(xiàn)性,亦即程序經(jīng)過多次執(zhí)行后,雖然它們執(zhí)行時(shí)的環(huán)境和初始條件相同,但得到的結(jié)果卻各不相同。

5.在操作系統(tǒng)中為什么要引入進(jìn)程的概念?它會(huì)產(chǎn)生什么樣的影響?

答:(1)引入進(jìn)程的原因

在多道程序環(huán)境下,程序的執(zhí)行屬于并發(fā)執(zhí)行,此時(shí)它們將失去其封閉性,并具有間斷性及不可再現(xiàn)性的特

征。這決定了通常的程序是不能參與并發(fā)執(zhí)行的,因?yàn)槌绦驁?zhí)行的結(jié)果是不可再現(xiàn)的。這樣,程序的運(yùn)行也就失

去了意義。為使程序能并發(fā)執(zhí)行,且為了對(duì)并發(fā)執(zhí)行的程序加以描述和控制,人們引入了“進(jìn)程”的概念。

(2)引入進(jìn)程的影響

進(jìn)程的引入使程序的并發(fā)執(zhí)行得以實(shí)現(xiàn)。

6.試從動(dòng)態(tài)性、并發(fā)性和獨(dú)立性上比較進(jìn)程和程序。

答:(1)動(dòng)態(tài)性

進(jìn)程的實(shí)質(zhì)是進(jìn)程實(shí)體的一次執(zhí)行過程,因此,動(dòng)態(tài)性是進(jìn)程的最基本的特征。動(dòng)態(tài)性還表現(xiàn)在:“它由創(chuàng)

建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡”。可見,進(jìn)程實(shí)體有一定的生命期,而程序則只是一組有序指令的集

合,并存放于某種介質(zhì)上,其本身并不具有運(yùn)動(dòng)的含義,因而是靜態(tài)的。

(2)并發(fā)性

這是指多個(gè)進(jìn)程實(shí)體共同存于內(nèi)存中,且能在一段時(shí)間內(nèi)同時(shí)運(yùn)行。并發(fā)性是進(jìn)程的重要特征,同時(shí)也成為

OS的重要特征。引入進(jìn)程的目的也正是為了使其進(jìn)程實(shí)體能和其他進(jìn)程實(shí)體并發(fā)執(zhí)行;而程序(沒有建立PCB)

是不能并發(fā)執(zhí)行的。

(3)獨(dú)立性

在傳統(tǒng)的OS中,進(jìn)程是一個(gè)能獨(dú)立運(yùn)行、獨(dú)立分配資源和獨(dú)立接受調(diào)度的基本單位,具有高度的獨(dú)立性。

但凡未建立PCB的程序都不能作為一個(gè)獨(dú)立的單位參與運(yùn)行。

7.試說明PCB的作用具體表現(xiàn)在哪幾個(gè)方面,為什么說PCB是進(jìn)程存在的唯一標(biāo)識(shí)?

答:(1)PCB作用的具體表現(xiàn)

①進(jìn)程控制塊PCB是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)中最重要的記錄型數(shù)據(jù)結(jié)構(gòu)。

②PCB中記錄了操作系統(tǒng)所需的、用于描述進(jìn)程的當(dāng)前情況以及控制進(jìn)程運(yùn)行的全部信息。

③進(jìn)程控制塊使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù)),成為一個(gè)能獨(dú)立運(yùn)行的基本單位,

一個(gè)能與其他進(jìn)程并發(fā)執(zhí)行的進(jìn)程。

(2)PCB是進(jìn)程存在的唯一標(biāo)識(shí)的原因

在進(jìn)程的整個(gè)生命期中,系統(tǒng)總是通過PCB對(duì)進(jìn)程進(jìn)行控制,即系統(tǒng)是根據(jù)進(jìn)程的PCB而非其他感知到該

進(jìn)程的存在的。所以說,PCB是進(jìn)程存在的唯一標(biāo)識(shí)。

8.PCB提供了進(jìn)程管理和進(jìn)程調(diào)度所需要的哪些信息?

答:在進(jìn)程控制塊中,主要包括下述四個(gè)方面的信息:

(1)進(jìn)程標(biāo)識(shí)符:進(jìn)程標(biāo)識(shí)符用于唯一標(biāo)識(shí)一個(gè)進(jìn)程。

(2)處理機(jī)狀態(tài);處理機(jī)狀態(tài)信息也稱為處理機(jī)的上下文,主要由處理機(jī)的各種寄存器中的內(nèi)容組成。

(3)進(jìn)程調(diào)度信息:進(jìn)程調(diào)度信息包括進(jìn)程狀態(tài)、進(jìn)程優(yōu)先級(jí)、進(jìn)程調(diào)度所需的其他信息、事件四個(gè)方面。

(4)進(jìn)程控制信息:進(jìn)程控制信息包括程序和數(shù)據(jù)的地址、進(jìn)程同步和通信機(jī)制、資源清單和鏈接指針。

9.進(jìn)程控制塊的組織方式有哪幾種?

答:(1)線性方式:將系統(tǒng)中所有的PCB都組織在一張線性表中,將該表的首址存放在內(nèi)存的一個(gè)專用區(qū)

域中。

(2)鏈接方式:把具有相同狀態(tài)進(jìn)程的PCB分別通過PCB中的鏈接字鏈接成一個(gè)隊(duì)列。

(3)索引方式:系統(tǒng)根據(jù)所有進(jìn)程狀態(tài)的不同,建立幾張索引表,在每個(gè)索引表的表目中,記錄具有相應(yīng)

狀態(tài)的某個(gè)PCB在PCB表中的地址。

10.何謂操作系統(tǒng)內(nèi)核??jī)?nèi)核的主要功能是什么?

答:(1)操作系統(tǒng)內(nèi)核的定義

操作系統(tǒng)內(nèi)核是指大多數(shù)操作系統(tǒng)的核心部分。它由操作系統(tǒng)中用于管理存儲(chǔ)器、文件、外設(shè)和系統(tǒng)資源的

那些部分組成。操作系統(tǒng)內(nèi)核通常運(yùn)行進(jìn)程,并提供進(jìn)程間的通信。

(2)操作系統(tǒng)內(nèi)核的主要功能

①支撐功能

該功能是提供給OS其他眾多模塊所需要的一些基本功能,以便支撐這些模塊工作。其中三種最基本的支撐

功能是:中斷處理、時(shí)鐘管理和原語操作。

a.中斷處理

中斷處理是內(nèi)核最基本的功能,是整個(gè)操作系統(tǒng)賴以活動(dòng)的基礎(chǔ),OS中許多重要的活動(dòng)。

b.時(shí)鐘管理

時(shí)鐘管理是內(nèi)核的一項(xiàng)基本功能,在OS中的許多活動(dòng)都需要得到它的支撐。

c.原語操作

原語(Primitive),就是由若干條指令組成的,用于完成一定功能的一個(gè)過程,是一個(gè)不可分割的基本單位,

在內(nèi)核中可能有許多原語。

②資源管理功能

a.進(jìn)程管理

在進(jìn)程管理中,或者由于各個(gè)功能模塊的運(yùn)行頻率較高,通常都將它們放在內(nèi)核中,以提高OS的性能。

b.存儲(chǔ)器管理

存儲(chǔ)器管理軟件的運(yùn)行頻率也比較高,通常也將它們放在內(nèi)核中,以保證存儲(chǔ)器管理具有較高的運(yùn)行速度。

c.設(shè)備管理

由于設(shè)備管理與硬件(設(shè)備)緊密相關(guān),因此其中很大部分也都設(shè)置在內(nèi)核中。

11.試說明進(jìn)程在三個(gè)基本狀態(tài)之間轉(zhuǎn)換的典型原因。

答:進(jìn)程的三種基本狀態(tài)是就緒狀態(tài)、執(zhí)行狀態(tài)和阻塞狀態(tài),這三種基本狀態(tài)之間轉(zhuǎn)換的典型原因如圖2-7

所示,具體如下:

(1)就緒狀態(tài)-執(zhí)行狀態(tài)進(jìn)程通過調(diào)度分配到CPU資源;

(2)執(zhí)行狀態(tài)-就緒狀態(tài)時(shí)間片用完;

(3)執(zhí)行狀態(tài)-阻塞狀態(tài)I/O設(shè)備請(qǐng)求;

(4)阻塞狀態(tài)-就緒狀態(tài)I/O設(shè)備請(qǐng)求完成。

圖2-7進(jìn)程狀態(tài)轉(zhuǎn)換圖

12.為什么要引入掛起狀態(tài)?該狀態(tài)有哪些性質(zhì)?

答:(1)引入掛起狀態(tài)的原因

①終端用戶的請(qǐng)求:當(dāng)終端用戶在自己的程序運(yùn)行期間發(fā)現(xiàn)有可疑問題時(shí),希望暫時(shí)使自己的程序靜止下來。

②父進(jìn)程請(qǐng)求:父進(jìn)程希望掛起自己的某個(gè)子進(jìn)程,以便考查和修改該子進(jìn)程,或者協(xié)調(diào)各子進(jìn)程間的活動(dòng)。

③負(fù)荷調(diào)節(jié)的需要:當(dāng)實(shí)時(shí)系統(tǒng)中的工作負(fù)荷較重,已可能影響到對(duì)實(shí)時(shí)任務(wù)的控制時(shí),可由系統(tǒng)把一些不

重要的進(jìn)程掛起,以保證系統(tǒng)能正常運(yùn)行。

④操作系統(tǒng)的需要:操作系統(tǒng)有時(shí)希望掛起某些進(jìn)程,以便檢查運(yùn)行中的資源使用情況或進(jìn)行記賬。

(2)掛起狀態(tài)的性質(zhì)

①當(dāng)進(jìn)程處于未被掛起的就緒狀態(tài)時(shí),稱此為活動(dòng)就緒狀態(tài),表示為Readya。當(dāng)用掛起原語Suspend將該

進(jìn)程掛起后,該進(jìn)程便轉(zhuǎn)變?yōu)殪o止就緒狀態(tài),表示為Readys,處于Readys狀態(tài)的進(jìn)程不再被調(diào)度執(zhí)行。

②當(dāng)進(jìn)程處于未被掛起的阻塞狀態(tài)時(shí),稱它是處于活動(dòng)阻塞狀態(tài),表示為Blockeda?當(dāng)用Suspend原語將它

掛起后,進(jìn)程便轉(zhuǎn)變?yōu)殪o止阻塞狀態(tài),表示為Blockeds。處于該狀態(tài)的進(jìn)程在其所期待的事件出現(xiàn)后,將從靜止

阻塞變?yōu)殪o止就緒。

13.在進(jìn)行進(jìn)程切換時(shí),所要保存的處理機(jī)狀態(tài)信息有哪些?

答:處理機(jī)狀態(tài)信息主要是由處理機(jī)的各種寄存器中的內(nèi)容組成的。處理機(jī)在運(yùn)行時(shí),許多信息都放在寄存

器中。當(dāng)處理機(jī)被中斷時(shí),所有這些信息都必須保存在PCB中,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論