操作系統(tǒng)期末復(fù)習(xí)題_第1頁
操作系統(tǒng)期末復(fù)習(xí)題_第2頁
操作系統(tǒng)期末復(fù)習(xí)題_第3頁
操作系統(tǒng)期末復(fù)習(xí)題_第4頁
操作系統(tǒng)期末復(fù)習(xí)題_第5頁
已閱讀5頁,還剩78頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

3學(xué)時(shí)(自學(xué)學(xué)時(shí):6學(xué)時(shí))

1.1操作系統(tǒng)概況

v操作系統(tǒng)的虛擬機(jī)觀點(diǎn)

操作系統(tǒng)是添加在硬件上的第一層軟件,是對(duì)硬件功能的首次擴(kuò)充和延伸.

軟件:系統(tǒng)軟件和應(yīng)用軟件.系統(tǒng)軟件用來管理計(jì)算機(jī)本身及應(yīng)用軟件;應(yīng)用軟件

用來完成用戶所要求的實(shí)際任務(wù).

硬件:指未配置任何軟件的計(jì)算機(jī).裸機(jī)乂分為物理器件,微程序與機(jī)器語言三個(gè)

層次.

v操作系統(tǒng)的資源管理觀點(diǎn)

資源分硬件資源和軟件資源.

硬件資源是計(jì)算機(jī)硬件系統(tǒng)的總和,包括中央處理機(jī),主/輔助存儲(chǔ)器,輸入/輸出

設(shè)備等.

軟件資源是系統(tǒng)中各種程序和數(shù)據(jù)的總和,這些程序和數(shù)據(jù)均以文件的形式保存

在計(jì)算機(jī)系統(tǒng)中.

V操作系統(tǒng)的用戶服務(wù)觀點(diǎn)

操作系統(tǒng)是用戶與計(jì)算機(jī)之間的一個(gè)接口.它為用戶提供了兩種使用操作系統(tǒng)的

方式:命令方式,系統(tǒng)調(diào)用方式.

命令方式:是指操作系統(tǒng)提供了一組聯(lián)機(jī),用戶通過鍵盤或鼠標(biāo)使用這些命令,并

直接操縱計(jì)算機(jī)系統(tǒng).

系統(tǒng)調(diào)用方式:是指操作系統(tǒng)提供了一組系統(tǒng)調(diào)用,用戶可在自己的程序中通過

調(diào)用來相應(yīng)的系統(tǒng)操縱計(jì)算機(jī).

V定義

操作系統(tǒng):是計(jì)算機(jī)系統(tǒng)中的?個(gè)系統(tǒng)軟件,用來管理和控制計(jì)算機(jī)系統(tǒng)中的軟

硬件資源,合理地組織計(jì)算機(jī)工作流程,提供用戶和計(jì)算機(jī)之間的軟件接口,方便

用戶使用計(jì)算機(jī).

V操作系統(tǒng)目標(biāo)

目前存在著多種類型的操作系統(tǒng),不同類型的操作系統(tǒng)其目標(biāo)各有側(cè)重.但般

來說都包括:方便性,有效性,可擴(kuò)充性和開放性.

V操作系統(tǒng)的特征

并發(fā):指兩個(gè)或兩個(gè)以上事件在同一時(shí)間間隔內(nèi)發(fā)生.

共享:指系統(tǒng)中硬件和軟件資源可為多個(gè)用戶同時(shí)使用(互斥共享,同時(shí)訪問)

虛擬:指物理上的一個(gè)實(shí)體變成邏輯上的多個(gè)對(duì)應(yīng)物.

異步性:指內(nèi)存中的多個(gè)進(jìn)程均按照各自獨(dú)立的,不可預(yù)知的速度向前推進(jìn).

1.2操作系統(tǒng)的形成和發(fā)展

v操作系統(tǒng)的歷史

操作系統(tǒng)的發(fā)展經(jīng)歷了以下幾個(gè)階段:手工存在階段(無操作系統(tǒng)),脫機(jī)輸入輸

出技術(shù)階段,批處理技術(shù)階段,多道程序設(shè)計(jì)技術(shù)階段.

1.3操作系統(tǒng)的基本類型

v分類

最常用分類方法(按照操作系統(tǒng)的用戶服務(wù)方式分)主要有:多道批處理系統(tǒng);分

時(shí)系統(tǒng);實(shí)時(shí)系統(tǒng).其它操作系統(tǒng)還包括:通用操作系統(tǒng),網(wǎng)絡(luò)操作系統(tǒng),并發(fā)操作

系統(tǒng),面向?qū)ο蟛僮飨到y(tǒng).

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

運(yùn)行方式(了解)

特征:多道性,無序性,調(diào)度性

優(yōu)缺點(diǎn):優(yōu)點(diǎn):資源利用率高,系統(tǒng)吞吐量大.缺點(diǎn):平均周轉(zhuǎn)時(shí)間長(zhǎng),無交互能力.

在設(shè)計(jì)批處理系統(tǒng)時(shí),首先要考慮的是周轉(zhuǎn)時(shí)間和系統(tǒng)的吞吐量.

V分時(shí)系統(tǒng)

實(shí)現(xiàn)基本方法;設(shè)立時(shí)間片

特性:多路性,獨(dú)立性,及時(shí)性,交互性.

響應(yīng)時(shí)間:指從終端用戶發(fā)出--條命令開始,到系統(tǒng)處理完這條命令并做出回答

為止所需的最大時(shí)間間隔.

影響響應(yīng)時(shí)間的因素:系統(tǒng)開銷,用戶數(shù)目,時(shí)間片,信息對(duì)換量.

改善響應(yīng)時(shí)間的辦法:一種可行的辦法是減少信息對(duì)換量.而減少信息對(duì)換量可

采用重入碼技術(shù)和虛擬存儲(chǔ)技術(shù).

設(shè)計(jì)分時(shí)操作系統(tǒng)時(shí),首先要考慮的是交互性和響應(yīng)時(shí)間.

V實(shí)時(shí)系統(tǒng)

定義:是指系統(tǒng)對(duì)特定輸入做出反應(yīng)速度足以控制發(fā)出實(shí)時(shí)信號(hào)的對(duì)象的一種操

作系統(tǒng).

實(shí)時(shí)系統(tǒng)的類型:1實(shí)時(shí)控制系統(tǒng);2實(shí)時(shí)信息處理系統(tǒng)

特征:多路性,獨(dú)立性,及時(shí)性,交互性,高可靠性.

設(shè)計(jì)實(shí)時(shí)操作系統(tǒng)時(shí),首先要考慮的是實(shí)時(shí)性和可靠性.

v微機(jī)操作系統(tǒng)

單用戶單任務(wù)OS:只允許一個(gè)用戶上機(jī),且只允許用戶程序作為一個(gè)任務(wù)運(yùn)行.

最具代表性的是CP/M和MS-DOS.

單用戶多任務(wù)OS:只允許一個(gè)用戶上機(jī),但允許將一個(gè)用戶程序分為若干個(gè)任務(wù),

使它們并發(fā)執(zhí)行.最具代表性的是OS/2和MS-WINDOWS.

多用戶多任務(wù)OS:允許多個(gè)用戶通過各自的終端使用同一臺(tái)主機(jī),共享主機(jī)的各

類資源,同時(shí)用戶程序又可進(jìn)?步分成兒個(gè)任務(wù),使它們并發(fā)執(zhí)行.最具代表性的

是UNIXOS.

1.4操作系統(tǒng)的服務(wù)與功能

v操作系統(tǒng)的服務(wù)

操作系統(tǒng)公共服務(wù)類型:程序執(zhí)行,I/O操作,文件系統(tǒng)管理,通信,資源分配,差錯(cuò)

處理

操作系統(tǒng)的服務(wù)方式:系統(tǒng)調(diào)用,系統(tǒng)程序.

系統(tǒng)調(diào)用的類型:進(jìn)程管理,設(shè)備管理,文件管理,信息維護(hù)和通訊五大類.

v操作系統(tǒng)功能

從資源管理和用戶接口的觀點(diǎn)看,操作系統(tǒng)的基本功能為:①處理機(jī)管理;②存儲(chǔ)

管理;③設(shè)備管理;④信息管理(文件系統(tǒng)管理);⑤用戶接口.其中硬件資源為處

理機(jī),存儲(chǔ)器和設(shè)備三類,軟件資源為信息或文件(程序和數(shù)據(jù)的通稱).

V用戶接口

命令接口:又分聯(lián)機(jī)命令接口:為聯(lián)機(jī)用戶提供的,由一組鍵盤命令和命令解釋程

序組成;脫機(jī)命令接口:為批處理作業(yè)的用戶提供,由一組作業(yè)控制語言JCL(job

controllanguage)組成.

程序接口:是為用戶程序在運(yùn)行過程中訪問系統(tǒng)資源而設(shè)定的,也是用戶取得操

作系統(tǒng)服務(wù)的唯一途徑,由一組系統(tǒng)調(diào)用組成.

圖形接口

v處理機(jī)管理

處理機(jī)管理功能可歸結(jié)為進(jìn)程管理,主要功能:進(jìn)程控制;進(jìn)程同步;進(jìn)程通訊;進(jìn)

程調(diào)度.

V存儲(chǔ)管理

存儲(chǔ)管理應(yīng)具備的功能,為:內(nèi)存分配;內(nèi)存保護(hù);地址映射;內(nèi)存擴(kuò)充.

V設(shè)備管理

設(shè)備管理應(yīng)具備的功能,為:緩沖管理;設(shè)備分配;設(shè)備處理;虛擬設(shè)備管理.

V文件管理

文件管理的主要功能包括:文件存儲(chǔ)空間管理;目錄管理;文件讀寫管理;文件保

護(hù);文件系統(tǒng)的安全性;文件接口.

1.5操作系統(tǒng)結(jié)構(gòu)

v分類

從操作系統(tǒng)的內(nèi)部結(jié)構(gòu)來看,操作系統(tǒng)可分為三種主要類型:整體式系統(tǒng)(無結(jié)

構(gòu));層次式系統(tǒng);客戶/服務(wù)器系統(tǒng).

V整體式結(jié)構(gòu)

整個(gè)系統(tǒng)是一堆過程的集合,每過程都有一個(gè)定義好的接口,包括入口參數(shù)和

返回值,過程間可以相互調(diào)用而不受約束,UNIX的系統(tǒng)核心層是典型的沒有層次

的無結(jié)構(gòu)型.

v層次式系統(tǒng)

按照操作系統(tǒng)中模塊的功能和相互依存關(guān)系把它們劃分為若干個(gè)層次:

最底層:OS對(duì)象;

中間層:對(duì)對(duì)象進(jìn)行管理和控制的軟件集合;

最高層:os提供給用戶使用的用戶接口.

v客戶/服務(wù)器系統(tǒng)

在客戶/服務(wù)器結(jié)構(gòu)中,需要把操作系統(tǒng)的服務(wù)功能分為若干個(gè)服務(wù)器,而用戶進(jìn)

程則稱為客戶進(jìn)程.操作系統(tǒng)由微內(nèi)核和核外服務(wù)器進(jìn)程組成.微內(nèi)核提供最基

本的,最必要的服務(wù),而OS的其他功能由運(yùn)行在核外的服務(wù)器完成.

主要優(yōu)點(diǎn):提高了系統(tǒng)的可靠性;適合于分布式系統(tǒng)中的應(yīng)用.

練習(xí)題:

1:下面8個(gè)系統(tǒng)中,必須是實(shí)時(shí)操作系統(tǒng)的有一一個(gè).

1計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng);2航空定票系統(tǒng);3過程捽制系統(tǒng);4機(jī)器翻譯系統(tǒng);

5辦公自動(dòng)化系統(tǒng);6計(jì)算機(jī)激光照排系統(tǒng);7情報(bào)檢索系統(tǒng);8導(dǎo)彈的制導(dǎo)系統(tǒng)

2:在分時(shí)系統(tǒng)中為使多個(gè)用戶能夠同時(shí)與系統(tǒng)交互,最關(guān)鍵的問題是―⑴—,當(dāng)

用戶數(shù)目為100時(shí),為保證響應(yīng)時(shí)間不超過2秒,此時(shí)時(shí)間片最大應(yīng)為—⑵

⑴:A.計(jì)算機(jī)具有足夠高的運(yùn)行速度B.內(nèi)存容量應(yīng)足夠大C.系統(tǒng)能及時(shí)地接收

多個(gè)用戶輸入D,能在一最短的時(shí)間內(nèi),使所有的用戶都能運(yùn)行E.能快速地進(jìn)行

內(nèi)外存交換⑵:A存。msB.20msC.50msD.100msE.200ms

3:OS/2操作系統(tǒng)是由—⑴—開發(fā)的,它屬于—⑵一類操作系統(tǒng);UNIX操作系

統(tǒng)是由—⑶—推出的,它屬于_(4)_類操作系統(tǒng).

(1),(3):A.IBM公司B.Microsoft公司C.Microsoft和IBM聯(lián)合D.Bell實(shí)驗(yàn)

⑵,⑷:A.單用戶單任務(wù)B.單用戶多任務(wù)C.多處理機(jī)D.多用戶多任務(wù)

4:分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ鞘裁?/p>

5:操作系統(tǒng)中實(shí)現(xiàn)虛擬的關(guān)鍵技術(shù)是什么并加以說明.

6:設(shè)計(jì)實(shí)時(shí)環(huán)境的操作系統(tǒng)的主要困難是什么

7:?個(gè)分層結(jié)構(gòu)操作系統(tǒng)有:i裸機(jī);(用戶;(CPU調(diào)度和P,V操作;(文件管理;

(作業(yè)管理;(內(nèi)存管理;(設(shè)備管理;(命令管理等組成,請(qǐng)按層次結(jié)構(gòu)的原則從內(nèi)

到外將各部分重新排列.

8:操作系統(tǒng)是一種—⑴根據(jù)其服務(wù)對(duì)象,常用的單處理機(jī)操作系統(tǒng)可分為三

種類型:允許多個(gè)用戶在其終端上同時(shí)交互方式使用計(jì)算機(jī)的操作系統(tǒng),稱為—

⑵_;允許多用戶將若干個(gè)作業(yè)提交給計(jì)算機(jī)系統(tǒng)集中處理的操作系統(tǒng)稱為—

⑶一;在一⑷一的控制下,計(jì)算機(jī)系統(tǒng)能及時(shí)處理由過程控制反饋的數(shù)據(jù),并做

出響應(yīng);設(shè)計(jì)⑷時(shí),首先應(yīng)考慮系統(tǒng)的—⑸

⑴:A.通用軟件B.應(yīng)用軟件C.系統(tǒng)軟件D.操作的軟件

(2)-(4):A.批處理操作系統(tǒng)B.分時(shí)操作系統(tǒng)C.實(shí)時(shí)操作系統(tǒng)D.微機(jī)操作系統(tǒng)

E.多處理機(jī)操作系統(tǒng)F.分布式操作系統(tǒng)G.網(wǎng)絡(luò)操作系統(tǒng)

⑸:A,可靠性和靈活性B.實(shí)時(shí)性和可靠性C.優(yōu)先權(quán)分配D.時(shí)間片輪轉(zhuǎn)

E.短作業(yè)優(yōu)先F.時(shí)間片加分配

9:操作系統(tǒng)的基本特征有哪些

10:什么是操作系統(tǒng)

11:操作系統(tǒng)有哪幾種基本類型它們的主要特征有那些

12:分時(shí)系統(tǒng)的響應(yīng)時(shí)間是什么它與哪些因素有關(guān)

13:實(shí)時(shí)系統(tǒng)可分哪幾類

14:多道程序和多重處理有何區(qū)別

參考答案:

1解:1,2,3,7,8

2解:1D;2B

3解:1c;2b;3d;4d

4答:主要?jiǎng)恿κ菫榱烁玫貪M足用戶的需要.主要表現(xiàn)在:1)縮短了作業(yè)的周轉(zhuǎn)

時(shí)間;2)提供人機(jī)交互能力;3)多個(gè)用戶共享?臺(tái)計(jì)算機(jī).

(批處理系統(tǒng)的主要推動(dòng)力是不斷提高系統(tǒng)的資源利用率和提高系統(tǒng)的吞吐量.)

5答:是分時(shí)技術(shù).例如,將?臺(tái)物理處理機(jī)虛擬為多臺(tái)邏輯上的處理機(jī),是靠多道

程序分時(shí)地使用同一臺(tái)物理處理機(jī)來實(shí)現(xiàn)的.微觀上,該處理機(jī)在每一時(shí)刻只運(yùn)

行一道程序,它們分時(shí)地運(yùn)行;然而在宏觀上,系統(tǒng)中確有兒道程序在同時(shí)運(yùn)行,從

而給用戶的感覺是系統(tǒng)中同時(shí)同時(shí)有多臺(tái)處理機(jī)在為其中的每一道程序服務(wù),顯

然用戶所感覺到的處理機(jī)并不實(shí)際存在.

6答:是在實(shí)時(shí)環(huán)境規(guī)定的時(shí)間限額內(nèi)對(duì)用戶作出相應(yīng)的反應(yīng),否則就有可能導(dǎo)致

系統(tǒng)的崩潰.因此,在設(shè)計(jì)時(shí)必須保證所采用的調(diào)度策略及相關(guān)技術(shù)不會(huì)使響應(yīng)

時(shí)間超過實(shí)時(shí)環(huán)境所規(guī)定的時(shí)間限額.

7答:重新排列后順序?yàn)?(裸機(jī);(CPU調(diào)度和P,V操作;(內(nèi)存管理;(作業(yè)管理;

(設(shè)備管理;(文件管理;(命令管理.

8解:⑴C(2)B(3)A(4)C(5)B

9答:1并發(fā):指兩個(gè)或兩個(gè)以上事件在同一時(shí)間間隔內(nèi)發(fā)生;2共享:指系統(tǒng)中

硬件和軟件資源可為多個(gè)用戶同時(shí)使用(互斥共享,同時(shí)訪問);3虛擬:指物理上

的一個(gè)實(shí)體變成邏輯上的多個(gè)對(duì)應(yīng)物;4異步性:指內(nèi)存中的多個(gè)進(jìn)程均按照各

自獨(dú)立的,不可預(yù)知的速度向前推進(jìn).10答:操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的?個(gè)系

統(tǒng)軟件,用來管理和控制計(jì)算機(jī)系統(tǒng)中的軟硬件資源,合理地組織計(jì)算機(jī)工作流

程,提供用戶和計(jì)算機(jī)之間的軟件接口,方便用戶使用計(jì)算機(jī).

11答;操作系統(tǒng)的基本類型

有:1多道批處理系統(tǒng);2分時(shí)系統(tǒng);3實(shí)時(shí)系統(tǒng).其中多道批處理系統(tǒng)的特征:多

道性,無序性,調(diào)度性;分時(shí)系統(tǒng)的特征:多路性,獨(dú)立性,及時(shí)性,交互性.實(shí)時(shí)系統(tǒng)

的特征:多路性,獨(dú)立性,及時(shí)性,交互性,高可靠性.

12答:分時(shí)系統(tǒng)的響應(yīng)時(shí)間指從終端用戶發(fā)出一條命令開始,到系統(tǒng)處理完這條

命令并做出回答為止所需的最大時(shí)間間隔.它與下列因素有:系統(tǒng)開銷,用戶數(shù)目,

時(shí)間片,信息對(duì)換量.

13答:實(shí)時(shí)系統(tǒng)的類型實(shí)時(shí)控制系統(tǒng);2實(shí)時(shí)信息處理系統(tǒng)

14答:多道程序multiprogramming是作業(yè)之間自動(dòng)調(diào)度執(zhí)行,共享系統(tǒng)資源,

并不是真正地同時(shí)執(zhí)行多個(gè)作業(yè);而多重處理multiprocessing系統(tǒng)配置多個(gè)

CPU,能真正同時(shí)執(zhí)行多道程序.要有效使用多重處理,必須采用多道程序設(shè)計(jì)技

術(shù),而多道程序設(shè)計(jì)原則上不一定要求多重處理系統(tǒng)的支持.

第二章用戶接口

教學(xué)內(nèi)容

1.作業(yè)的基本概念

2.用戶接口概述

3.命令接口

4.程序接口

5.圖形接口

教學(xué)要求

了解作業(yè)的基本概念;了解操作系統(tǒng)提供給用戶的接口類型及各種接口的實(shí)現(xiàn)方

法;熟悉命令接口在不同工作方式下的主要功能,作業(yè)和作業(yè)管理的基本概念;掌

握系統(tǒng)調(diào)用的定義及其執(zhí)行過程.

自學(xué)要點(diǎn)

重點(diǎn)是嘉業(yè)的基本概念和建立;用戶接口的概念和類型;系統(tǒng)調(diào)用的概念和過程

學(xué)時(shí)分配

3學(xué)時(shí)(自學(xué)學(xué)時(shí):6學(xué)時(shí))

2.1作業(yè)的基本概念

v作業(yè)

作業(yè)。ob)是用戶提交給計(jì)算機(jī)進(jìn)行加工的個(gè)任務(wù),由三部分組成,即程序,數(shù)

據(jù)及作業(yè)說明書.通常一個(gè)作業(yè)又可分為若干個(gè)順序處理的作業(yè)步,其中每個(gè)作

業(yè)步又可細(xì)分為若干個(gè)作業(yè)步任務(wù).

v作業(yè)的類型

根據(jù)調(diào)度和控制的需要,可對(duì)作業(yè)進(jìn)行分類.

從調(diào)度的角度,可把作業(yè)分成:①計(jì)算型作業(yè),指任務(wù)中包含大量的計(jì)算,而其I/O

較少的作業(yè),如通常的科學(xué)計(jì)算;②I/O型作業(yè),要求少量的計(jì)算而需大量I/O的

作業(yè),如通常的事務(wù)處理.

從控制的角度,可把作業(yè)分成:①脫機(jī)作業(yè),在整個(gè)作業(yè)的運(yùn)行過程中,只需根據(jù)作

業(yè)說明書中的說明對(duì)作業(yè)進(jìn)行控制,脫機(jī)作業(yè)通常是在批處理操作環(huán)境下運(yùn)行,

故也稱為批量型作業(yè);②聯(lián)機(jī)作業(yè),通常是用鍵盤命令直接控制作業(yè)的運(yùn)行,聯(lián)機(jī)

作業(yè)通常在分時(shí)操作環(huán)境下運(yùn)行,故也稱為終端型作業(yè).

v作業(yè)的建立過程

一個(gè)作業(yè)的建立過程包括兩個(gè)子過程,即作業(yè)的輸入方式和JCB的建立.

作業(yè)的輸入指將作業(yè)的程序,數(shù)據(jù)和作業(yè)說明書從輸入設(shè)備(如鍵盤)輸入到外存,

并形成有關(guān)的初始信息.其輸入方式主要有:①聯(lián)機(jī)輸入方式②脫機(jī)輸入方式③

直接耦合方式④SPOOLing系統(tǒng)⑤網(wǎng)絡(luò)輸入方式.

v作業(yè)的組織

程序,數(shù)據(jù)和作業(yè)說明書.程序和數(shù)據(jù)完成用戶所要求的業(yè)務(wù)處理工作的具體內(nèi)

容,作業(yè)處理的說明是用戶要求計(jì)算機(jī)所作的步驟.

v作業(yè)的狀態(tài)及其轉(zhuǎn)換

作業(yè)從提交給系統(tǒng)直到它完成后離開系統(tǒng)前的整個(gè)活動(dòng)過程,可分為:提交狀態(tài);

后備狀態(tài);運(yùn)行狀態(tài);完成狀態(tài).

2.2用戶接口概述

操作系統(tǒng)是用戶和計(jì)算機(jī)之間的接口,用戶通過操作系統(tǒng)的幫助可以快速,有效

和安全可靠地使用計(jì)算機(jī)各類資源.通常操作系統(tǒng)為用戶控制其作業(yè)提供命令接

口,程序接口和圖形接口.

2.3命令接口

v命令接口

命令接口是操作系統(tǒng)為用戶提供的各種操作命令,用戶利用它來組織作業(yè)的工作

流程和控制作業(yè)的運(yùn)行.類型有:脫機(jī)命令接口;聯(lián)機(jī)命令接口.

V脫機(jī)命令接口

脫機(jī)命令接口是操作系統(tǒng)為脫機(jī)工作方式下的用戶提供的一種接口.利用JCL語

言將用戶對(duì)作業(yè)的控制耍求寫成作業(yè)控制卡或作業(yè)說明書的形式.

JCL:作業(yè)控制語言,是一種用來表達(dá)申請(qǐng)作業(yè)控制意圖和步驟的語言.JCL的語

句就是作業(yè)控制命令.不同批處理提供不同的JCL.

v聯(lián)機(jī)命令接口

聯(lián)機(jī)命令接口指用戶通過控制臺(tái)或終端,采用人一機(jī)會(huì)話的方式,直接控制作業(yè)

的運(yùn)行.又分為:1鍵盤命令方式;2命令文件方式.

鍵盤命令方式:是通過逐條輸入鍵盤命令語句,經(jīng)解釋后執(zhí)行,以控制作業(yè)運(yùn)行的

?種方式,通常包括:1系統(tǒng)管理;2環(huán)境設(shè)置;3編輯修改,編譯,連接和運(yùn)行命

令;4文件管理命令;5操作員專用命令(執(zhí)行權(quán)限管理);6通信;7資源要求.

命令文件方式:是用鍵盤命令語言編寫的一個(gè)鍵盤命令語言程序一一命令文件.

一旦建立命令文件后,系統(tǒng)可連續(xù)執(zhí)行若干條命令并且可以多次重復(fù)執(zhí)行.命令

文件中可以進(jìn)行參數(shù)傳遞,也可以嵌套的方式調(diào)用其他的命令文件.

2.4程序接口(系統(tǒng)調(diào)用)

v程序接口

程序接口是OS專門為用戶程序設(shè)置的,也是用戶程序取得OS服務(wù)的唯一途徑,

程序接口通常由各種各樣的系統(tǒng)調(diào)用所組成.

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

系統(tǒng)調(diào)用的基本概念:是OS提供給編程人員的唯一接口,是由操作系統(tǒng)中的?段

程序來完成特定功能的,屬于一種特殊的過程調(diào)用.有的計(jì)算機(jī)系統(tǒng)中,把它稱為

廣義指令.

調(diào)用的方式:采用訪管方式來實(shí)現(xiàn).通過產(chǎn)生一個(gè)訪管中斷,使處理機(jī)由目態(tài)(用

戶態(tài))轉(zhuǎn)為管態(tài)(系統(tǒng)態(tài)).(當(dāng)中央處理器處于目態(tài)時(shí)不允許執(zhí)行特權(quán)指令;而處

于管態(tài)時(shí)可這些包括特權(quán)指令在內(nèi)的一切機(jī)器指令)

常用的訪管指令的形式:SVCN

v系統(tǒng)調(diào)用與一般過程調(diào)用的主要區(qū)別

系統(tǒng)調(diào)用本質(zhì)上一種過程調(diào)用,但它是一種特殊的過程調(diào)用,主要區(qū)別有:

①運(yùn)行狀態(tài)不同:一般的過程調(diào)用,其調(diào)用和被調(diào)用過程或者都是子程序,或者

都是系統(tǒng)程序,故運(yùn)行在同?系統(tǒng)狀態(tài)下:系統(tǒng)態(tài)或用戶態(tài).系統(tǒng)調(diào)用的調(diào)用過程

是用戶程序,它運(yùn)行在用戶態(tài);其被調(diào)用過程是系統(tǒng)過程,運(yùn)行在系統(tǒng)態(tài)下.

②進(jìn)入的方式不同:般過程調(diào)用可以直接通過過程調(diào)用語句將控制轉(zhuǎn)移到被

調(diào)用的過程;而執(zhí)行系統(tǒng)調(diào)用時(shí),由于調(diào)用和被調(diào)用過程處于不同的系統(tǒng)狀態(tài),必

須通過訪管中斷進(jìn)入.

③代碼層次不同:一般的過程調(diào)用中的被調(diào)用程序是用戶級(jí)程序,而系統(tǒng)調(diào)用是

操作系統(tǒng)中的代碼程序,是系統(tǒng)級(jí)程序.

V系統(tǒng)調(diào)用的實(shí)現(xiàn)過程

用戶在源程序中使用系統(tǒng)調(diào)用,給出系統(tǒng)調(diào)用名和函數(shù)后,即產(chǎn)生一條相應(yīng)的陷

入指令,通過陷入處理機(jī)制調(diào)用服務(wù),引起處理機(jī)中斷,然后保護(hù)處理機(jī)現(xiàn)場(chǎng),取系

統(tǒng)調(diào)用功能號(hào)并尋找子程序入口,通過入口地址表來調(diào)用系統(tǒng)子程序.執(zhí)行完畢

后,退出中斷,返回到用戶程序的斷點(diǎn),恢復(fù)現(xiàn)場(chǎng),繼續(xù)執(zhí)行用戶程序.

2.5圖形接口

v圖形用戶接口

圖形用戶接口的引入:主要是在使用命令接口時(shí),要求用戶熟悉并記住系統(tǒng)所提

供各種命令的名稱,功能和格式;此外還要求用戶按照規(guī)定的格式準(zhǔn)確的鍵入,這

不僅不方便,而且需花費(fèi)較多的時(shí)間;同時(shí)利用命令接口來進(jìn)行文字處理,圖形的

繪制和編輯也是極為不便的.

圖形用戶接口元素:窗口;圖標(biāo);菜單;對(duì)話框

圖形用戶接口元素的基本操作:菜單操作;窗口操作;對(duì)話框操作.

練習(xí)題:

1:在分時(shí)系統(tǒng)中是否應(yīng)設(shè)置作業(yè)調(diào)度為什么實(shí)時(shí)系統(tǒng)呢

2:為什么說SPOOLING對(duì)批處理(多道程序)是必需的對(duì)分時(shí)系統(tǒng)也是需要的

3:作業(yè)控制方式可分為兩種,它們是—⑴⑵

(1)-(2):A.命令方式B.程序方式C.聯(lián)機(jī)方式D.脫機(jī)方式E.后備方式F.執(zhí)行

方式G.批量方式H.調(diào)用方式

4:用戶作業(yè)被SPOOLing系統(tǒng)輸入到外存時(shí),稱此作業(yè)處于—⑴在外存后備

隊(duì)列上的作業(yè)處于—⑵—,作業(yè)在內(nèi)存處于—⑶

(1)-(3):A.進(jìn)入狀態(tài)B.運(yùn)行狀態(tài)C.完成狀態(tài)D.后備狀態(tài)E.就緒狀態(tài)

5:什么是作業(yè)

6:操作系統(tǒng)為用戶提供哪些接口

7:什么是系統(tǒng)調(diào)用系統(tǒng)調(diào)用與?般過程的區(qū)別

8:作業(yè)由哪幾部分組成各有什么功能

9:簡(jiǎn)述系統(tǒng)調(diào)用的實(shí)現(xiàn)過程

10:什么是作業(yè)作業(yè)步

11:試述SPOOLING系統(tǒng)的工作原理

參考答案:

1答:分時(shí)系統(tǒng)最重要的目標(biāo)是實(shí)現(xiàn)人機(jī)交互,因此系統(tǒng)中所有的作業(yè)都是由用戶

從鍵盤終端直接輸入到內(nèi)存,從而保證在一較短的時(shí)間內(nèi),各終端作業(yè)都能被處

理.如果將終端作業(yè)先送到外存輸入井上再等待作業(yè)調(diào)度后,才將作業(yè)調(diào)入內(nèi)存,

則既不能保證人機(jī)交互的及時(shí)性,又顯然是多此一舉,故在分時(shí)系統(tǒng)中沒有作業(yè)

控制表,不需設(shè)置作業(yè)調(diào)度.

在實(shí)時(shí)系統(tǒng)中,由于實(shí)時(shí)任務(wù)往往是其實(shí)時(shí)性更高的任務(wù),它們一般常住內(nèi)存,因

而也不需要作業(yè)調(diào)度.

2答:是.理由是它允許事先從輸入設(shè)備上讀入信息并將輸出文件暫存于輸出設(shè)備

中,直到輸出設(shè)備準(zhǔn)備接收它們?yōu)橹?由于許多作業(yè)可能同時(shí)到達(dá),所以,CPU將

一個(gè)作業(yè)的計(jì)算與其他作業(yè)的I/O操作并發(fā)執(zhí)行.分時(shí)系統(tǒng)則不需要.理由是每

個(gè)事務(wù)通常較短,而且輸出信息一般直接輸出到打印設(shè)備上.

3解:⑴C,(2)D

4解:⑴A,⑵D,(3)B

5答:作業(yè)(Job)是用戶提交給計(jì)算機(jī)進(jìn)行加工的一個(gè)任務(wù),由三部分組成,即程

序,數(shù)據(jù)及作業(yè)說明書.

6答:命令接口(又分脫機(jī)命令接口;聯(lián)機(jī)命令接口);程序接口(即系統(tǒng)調(diào)用),圖

形接口.

7答:系統(tǒng)調(diào)用的基本概念:是OS提供給編程人員的唯一接口,是由操作系統(tǒng)中

的一段程序來完成特定功能的,屬于?種特殊的過程調(diào)用.主要區(qū)別:①運(yùn)行狀態(tài)

不同:一般的過程調(diào)用,其調(diào)用和被調(diào)用過程或者都是子程序,或者都是系統(tǒng)程序,

故運(yùn)行在同一系統(tǒng)狀態(tài)下:系統(tǒng)態(tài)或用戶態(tài).系統(tǒng)調(diào)用的調(diào)用過程是用戶程序,它

運(yùn)行在用戶態(tài);其被調(diào)用過程是系統(tǒng)過程,運(yùn)行在系統(tǒng)態(tài)下.②進(jìn)入的方式不同:

?般過程調(diào)用可以直接通過過程調(diào)用語句將控制轉(zhuǎn)移到被調(diào)用的過程;而執(zhí)行系

統(tǒng)調(diào)用時(shí),由于調(diào)用和被調(diào)用過程處于不同的系統(tǒng)狀態(tài),必須通過訪管中斷進(jìn)入.

③代碼層次不同:?般的過程調(diào)用中的被調(diào)用程序是用戶級(jí)程序,而系統(tǒng)調(diào)用是

操作系統(tǒng)中的代碼程序,是系統(tǒng)級(jí)程序.

8答:程序,數(shù)據(jù)和作業(yè)說明書.程序和數(shù)據(jù)完成用戶所要求的業(yè)務(wù)處理工作的具

體內(nèi)容,作業(yè)處理的說明是用戶要求計(jì)算機(jī)所作的步驟.

9答:用戶在源程序中使用系統(tǒng)調(diào)用,給出系統(tǒng)調(diào)用名和函數(shù)后,即產(chǎn)生?條相應(yīng)

的陷入指令,通過陷入處理機(jī)制調(diào)用服務(wù),引起處理機(jī)中斷,然后保護(hù)處理機(jī)現(xiàn)場(chǎng),

取系統(tǒng)調(diào)用功能號(hào)并尋找子程序入口,通過入口地址表來調(diào)用系統(tǒng)子程序.執(zhí)行

完畢后,退出中斷,返回到用戶程序的斷點(diǎn),恢復(fù)現(xiàn)場(chǎng),繼續(xù)執(zhí)行用戶程序.

10答:作業(yè)是用戶提交給計(jì)算機(jī)進(jìn)行加工的一個(gè)任務(wù),由三部分組成,即程序,數(shù)

據(jù)及作業(yè)說明書.作業(yè)由不同順序相連的作業(yè)步組成.作業(yè)步是在一個(gè)作業(yè)的處

理過程中,計(jì)算機(jī)所做的相對(duì)獨(dú)立的工作.

11答:當(dāng)用戶提交一批作業(yè)后,操作員鍵入"預(yù)輸入命令"啟動(dòng)預(yù)輸入程序工作,預(yù)

輸入程序啟動(dòng)輸入機(jī)讀出作業(yè)信息,并把它們存放到輸入井中.當(dāng)主存儲(chǔ)器可以

裝入作業(yè)時(shí)就從輸入井中選擇若干作業(yè)裝入主存儲(chǔ)器.被裝入主存儲(chǔ)器中的作業(yè)

在執(zhí)行中可請(qǐng)求井管理程序從輸出井讀需處理的信息或把處理結(jié)果寫到輸出井

中.緩輸出程序利用處理器空閑時(shí)間把作業(yè)執(zhí)行結(jié)果在打印機(jī)上輸出.

第三章進(jìn)程管理

教學(xué)內(nèi)容

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

2,進(jìn)程的實(shí)現(xiàn)

3.進(jìn)程控制

4.進(jìn)程的同步與互斥

5.利用信號(hào)量機(jī)制解決經(jīng)典進(jìn)程同步問題

6.進(jìn)程通信

7.線程的概念

教學(xué)要求

了解引入進(jìn)程的原因,進(jìn)程控制的方法;熟悉進(jìn)程的基本狀態(tài)及變遷,進(jìn)程控制塊

和組織,信號(hào)量和P,V原語,進(jìn)程通信的類型和方法;掌握用信號(hào)量機(jī)制解決各種

互斥同步問題的方法.

自學(xué)要點(diǎn)

進(jìn)程的基本概念,描述,基本狀態(tài)及其轉(zhuǎn)換;原語及其執(zhí)行特點(diǎn),進(jìn)程控制原語的工

作流程;臨界區(qū),信號(hào)量并發(fā)進(jìn)程間的制約方式及原因.重點(diǎn)為信號(hào)量和P,v原語,

并能解決-些各種同步互斥以及前趨圖等實(shí)際問題.

學(xué)時(shí)分配

9學(xué)時(shí)(自學(xué)學(xué)時(shí):18學(xué)時(shí))

3.1進(jìn)程的基本概念

v進(jìn)程的引入

①程序的順序執(zhí)行

程序的順序執(zhí)行指?個(gè)具有獨(dú)立功能的程序獨(dú)占處理機(jī)直到得到最終結(jié)果的過

程.具有:順序性,封閉性和可再現(xiàn)性.

②程序的并發(fā)執(zhí)行

程序的并發(fā)執(zhí)行指一組在邏輯上相互獨(dú)立的程序或程序段在執(zhí)行過程中其執(zhí)行

時(shí)間在客觀上互相重疊.程序的并發(fā)執(zhí)行增強(qiáng)了計(jì)算機(jī)系統(tǒng)的處理能力和提高了

資源的利用率.具有:間斷性,失去了封閉性及不可再現(xiàn)性.

例1:

Intn=0

程序A

條件為真

1n=n+l;

程序A的其余部分

程序B

條件為真

1print(n);

2n=0;

程序B的其余部分

討論可能出現(xiàn)的結(jié)果(三種情況:

A1,B1,B2;B1ZA1,B2;B1ZB2,A1)

v程序并發(fā)執(zhí)行的Bernstein條件

定義有關(guān)程序的讀集和寫集

R(Pi)={al,a2,...,am},用來表示程序Pi在執(zhí)行期間所需引用的變量集合,稱為

Pi的讀集.

W(Pi)={al,a2,...,am},用來表示程序Pi在執(zhí)行期間所需改變的變量集合,稱

為Pi的寫集.

Bernstein條件:若兩個(gè)程序P1和P2能滿足下述條件,R(Pl)nW(P2)UR(P2)

CW(P1)UW(P1)CW(P2)={}它們便能并發(fā)執(zhí)行,否則不能.

例2:

有四條語句:

SI:a=x+y

S2:b=z+l

S3:c=a-b

S4:w=c+l

R(sl)={x,y},W(Sl)={a}

R(s2)={z},W(S2)=

R(s3)={a,b},W(S3)={c}

R(s4)={c},W(S4)={w}

SI和S2能滿足Bernstein條件,所以能并發(fā)執(zhí)行;而對(duì)于S1和S3不能滿足

Bernstein條件,因?yàn)镽(S3)nW(Sl)={a},所以不能并發(fā)執(zhí)行.同理,S2和

S3,S3和S4也不能并發(fā)執(zhí)行.

前趨圖為:

S1

0

S3-S4

0

S2

v前趨圖

前趨圖是一個(gè)有向無循環(huán)圖,圖中每個(gè)結(jié)點(diǎn)可表示一個(gè)語句廠?個(gè)程序段或一個(gè)

進(jìn)程,結(jié)點(diǎn)間的有向邊表示結(jié)點(diǎn)之間的前趨關(guān)系.

兒個(gè)概念:1直接前趨;2直接后繼;3初始結(jié)點(diǎn);4終止結(jié)點(diǎn)

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

v進(jìn)程的定義

進(jìn)程的概念是60年代初期,首先在MIT的Multics系統(tǒng)中引入的,進(jìn)程的定義有

很多種.其中一種為進(jìn)程是可并發(fā)執(zhí)行的程序在?個(gè)數(shù)據(jù)集合上的運(yùn)行過程.

v進(jìn)程的特征

進(jìn)程具有五個(gè)基本特征,而程序則沒有.具體為:

①動(dòng)態(tài)性.進(jìn)程的實(shí)質(zhì)是程序的一次執(zhí)行過程,因此動(dòng)態(tài)性是進(jìn)程的最基本特

征.它還表現(xiàn)為有生命周期的,即由創(chuàng)建而產(chǎn)生,有調(diào)度而執(zhí)行,由撤消而消亡.而

程序只是一組有序指令的集合,是靜態(tài)的.

②并發(fā)性.指多個(gè)進(jìn)程能在一段時(shí)間內(nèi)同時(shí)運(yùn)行,并發(fā)性是進(jìn)程的重要特性.引入

進(jìn)程的目的也正是為了使其程序能和其它進(jìn)程的程序并發(fā)執(zhí)行.

③獨(dú)立性.指進(jìn)程是一個(gè)能獨(dú)立運(yùn)行,獨(dú)立分配資源和獨(dú)立調(diào)度的基本單位,凡未

建立進(jìn)程的程序,都不能作為一個(gè)獨(dú)立的單位參加運(yùn)行.

④異步性.指進(jìn)程按各自獨(dú)立的,不可預(yù)知的速度向前推進(jìn),即按異步的方式運(yùn)

行.

(結(jié)構(gòu)特征.從結(jié)構(gòu)上看,進(jìn)程是由程序段,數(shù)據(jù)段及進(jìn)程控制塊(PCB)三部分組

成,這也是進(jìn)程的靜態(tài)描述.PCB是操作系統(tǒng)中最重要的數(shù)據(jù)結(jié)構(gòu),它存放了操

作系統(tǒng)所需的,用于描述進(jìn)程情況和控制進(jìn)程運(yùn)行所需的全部信息,是進(jìn)程存在

的唯一標(biāo)志.

v作業(yè)和進(jìn)程的關(guān)系

①作業(yè)是用戶向計(jì)算機(jī)提交任務(wù)的任務(wù)實(shí)體.在用戶向計(jì)算機(jī)提交作業(yè)之后,系

統(tǒng)將它放入外存中的作業(yè)等待隊(duì)列中等待執(zhí)行;而進(jìn)程則是完成用戶任務(wù)的執(zhí)行

實(shí)體,是向系統(tǒng)申請(qǐng)分配資源的基本單位.

②?個(gè)作業(yè)可由多個(gè)進(jìn)程組成,且必須至少由一個(gè)進(jìn)程組成,反之不然.

③作業(yè)的概念主要用在批處理系統(tǒng)中,而進(jìn)程的概念則用在幾乎所有的多道系

統(tǒng)中.

V進(jìn)程的基本狀態(tài)及其轉(zhuǎn)換

由進(jìn)程運(yùn)行的間斷性,決定了進(jìn)程至少具有下述三種狀態(tài):

①就緒狀態(tài).當(dāng)進(jìn)程已分配到除CPU以外的所有必要資源后,只耍能再獲得處理

機(jī),便能立即執(zhí)行所處的狀態(tài).?個(gè)系統(tǒng)中,可以有多個(gè)進(jìn)程同時(shí)處于就緒狀態(tài),通

常將它們排成一個(gè)隊(duì)列,稱為就緒隊(duì)列.

②執(zhí)行狀態(tài).指進(jìn)程已獲得處理機(jī),其程序正在執(zhí)行.在單處理機(jī)系統(tǒng)中,只能有

一個(gè)進(jìn)程處于執(zhí)行狀態(tài).

③等待(阻塞)狀態(tài).進(jìn)程因等待某事件而暫停執(zhí)行時(shí)的所處的狀態(tài).通常將處于

等待狀態(tài)的進(jìn)程排成一個(gè)隊(duì)列,稱為等待隊(duì)列.

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

①就緒f執(zhí)行:調(diào)度;

②執(zhí)行f等待:等待某個(gè)事件發(fā)生而睡眠;

③等待f就緒:因等待的時(shí)間發(fā)生而喚醒;

④執(zhí)行f就緒:時(shí)間片用完.

v新狀態(tài)和終止?fàn)顟B(tài)

新(New)狀態(tài):是個(gè)進(jìn)程剛剛建立,但還未將它送入就緒隊(duì)列時(shí)的狀態(tài)).

終止(Terminated)狀態(tài):當(dāng)一個(gè)進(jìn)程已經(jīng)正常結(jié)束或異常結(jié)束,OS已將它從就

緒隊(duì)列中移出,但尚未將它撤消時(shí)的狀態(tài).

新~就緒狀態(tài):當(dāng)就緒進(jìn)程能夠接納新進(jìn)程時(shí),OS就把處于新狀態(tài)的進(jìn)程移入就

緒隊(duì)列.

執(zhí)行一終止?fàn)顟B(tài):當(dāng)一個(gè)進(jìn)程已經(jīng)完成或發(fā)生某事件(地址越界等)而異常終止時(shí),

進(jìn)程將由執(zhí)行轉(zhuǎn)為終止?fàn)顟B(tài).

3.2進(jìn)程的實(shí)現(xiàn)

v進(jìn)程的結(jié)構(gòu)描述

進(jìn)程由三部分組成,即PCB,有關(guān)程序段和該程序段對(duì)其進(jìn)行操作的數(shù)據(jù)結(jié)構(gòu)集.

各部分的作用:

①進(jìn)程控制塊:用于描述進(jìn)程情況及控制進(jìn)程運(yùn)行所需的全部信息.

②程序段:是進(jìn)程中能被進(jìn)程調(diào)度程序在CPU上執(zhí)行的程序代碼段.

③數(shù)據(jù)段:一個(gè)進(jìn)程的數(shù)據(jù)段,可以是進(jìn)程對(duì)應(yīng)的程序加工處理的原始數(shù)據(jù),也

可以是程序執(zhí)行后產(chǎn)生的中間或最終數(shù)據(jù).

v進(jìn)程控制塊

進(jìn)程控制塊PCB:是OS中最重要的數(shù)據(jù)結(jié)構(gòu),用于描述進(jìn)程情況及控制進(jìn)程運(yùn)

行所需的全部信息.系統(tǒng)根據(jù)PCB感知進(jìn)程的存在和通過PCB中包含的各項(xiàng)變

量的變化,掌握進(jìn)程所處的狀態(tài)以達(dá)到控制進(jìn)程活動(dòng)的目的,是進(jìn)程存在的唯-

標(biāo)志.其基本內(nèi)容是:有關(guān)進(jìn)程的描述信息;控制信息;資源管理信息;CPU現(xiàn)場(chǎng)保

護(hù)結(jié)構(gòu).

PCB是有一定的生命期的.在創(chuàng)建一個(gè)進(jìn)程時(shí),應(yīng)先創(chuàng)建PCB;然后才能根據(jù)PCB

的信息對(duì)進(jìn)程管理和控制;進(jìn)程結(jié)束時(shí),回收PCB,進(jìn)程也隨之消亡.在個(gè)系統(tǒng)

中,系統(tǒng)進(jìn)程加上用戶進(jìn)程,進(jìn)程數(shù)可達(dá)數(shù)十百個(gè),為了有效的管理,應(yīng)將它們組織

起來.常用的組織方式有:鏈接方式;索引方式.

3.3進(jìn)程控制

v進(jìn)程控制機(jī)構(gòu)

進(jìn)程控制主要任務(wù):對(duì)進(jìn)程生命期控制及實(shí)現(xiàn)進(jìn)程狀態(tài)的轉(zhuǎn)換,是由操作系統(tǒng)內(nèi)

核中相應(yīng)程序?qū)崿F(xiàn)的.

處理機(jī)的執(zhí)行狀態(tài):系統(tǒng)態(tài),用戶態(tài).系統(tǒng)態(tài)(核心態(tài)或管態(tài)),具有較高的特權(quán),能

執(zhí)行?切硬件指令,訪問所有寄存器和內(nèi)存儲(chǔ)器.用戶態(tài)(目態(tài)),具有較低特權(quán)的

執(zhí)行狀態(tài),只能執(zhí)行規(guī)定的指令,訪問指定的寄存器和內(nèi)存儲(chǔ)器.

操作系統(tǒng)內(nèi)核:os的內(nèi)核通常運(yùn)行在系統(tǒng)態(tài),是計(jì)算機(jī)硬件擴(kuò)充的第層軟件,

主要是一些與硬件密切相關(guān)的模塊,常駐內(nèi)存.內(nèi)核的功能:1支撐功能;中斷處理,

時(shí)鐘管理,原語操作.2資源管理功能:進(jìn)程管理,存儲(chǔ)器管理,設(shè)備管理.

原語:是OS系統(tǒng)內(nèi)核中由若干條指令構(gòu)成,用于完成特定功能的一個(gè)過程.

與一般過程的區(qū)別:它們是"原子操作".原子操作:一個(gè)操作中的所有動(dòng)作,要么全

做,要么全不做.即是一個(gè)不可分割的操作,是不可中斷的.

v進(jìn)程控制原語

是對(duì)進(jìn)程生命期控制和進(jìn)程狀態(tài)轉(zhuǎn)換的原語,目的是達(dá)到多進(jìn)程高效率并發(fā)執(zhí)行

和協(xié)調(diào),實(shí)現(xiàn)資源共享.主要有:創(chuàng)建原語;撤消原語;阻塞原語;喚醒原語.

v進(jìn)程創(chuàng)建原語

創(chuàng)建方式:由系統(tǒng)程序模塊統(tǒng)創(chuàng)建;由父進(jìn)程創(chuàng)建.

進(jìn)程圖:用于描述進(jìn)程家族關(guān)系的有向樹.(了解父進(jìn)程,子進(jìn)程,祖父進(jìn)程,祖先等

概念)

引起創(chuàng)建進(jìn)程的典型事件:1用戶登錄;2作業(yè)調(diào)度;3提供服務(wù);4應(yīng)用請(qǐng)求;

進(jìn)程創(chuàng)建的步驟:

1申請(qǐng)空白PCB;

2為新進(jìn)程分配資源;

3初始化PCB;

4將新進(jìn)程插入就緒隊(duì)列;

5將新進(jìn)程插入進(jìn)程家族或進(jìn)程鏈.

v進(jìn)程撤消原語

引起進(jìn)程撤消的事件:1正常結(jié)束;2異常結(jié)束;(指在進(jìn)程運(yùn)行期間,由于出現(xiàn)某

些錯(cuò)誤和故障迫使進(jìn)程終止,如越界錯(cuò)誤,1/0故障等)3外界干預(yù);(指進(jìn)程應(yīng)外

界的請(qǐng)求而終止運(yùn)行,這些干預(yù)有:操作員或0S干預(yù);父進(jìn)程請(qǐng)求;父進(jìn)程終止)

進(jìn)程撤消過程:

1根據(jù)被撤消進(jìn)程的標(biāo)識(shí)符,從PCB集合中檢索出該進(jìn)程的PCB,讀出其狀態(tài);

2若為執(zhí)行狀態(tài),應(yīng)立即終止其執(zhí)行,并在其撤消后應(yīng)重新調(diào)度,選擇一新進(jìn)程,把

處理機(jī)分配給它;

3若該進(jìn)程有子孫進(jìn)程,還應(yīng)將其所有的子孫進(jìn)程預(yù)以撤消,以防成為不可控;

4將該進(jìn)程全部資源,歸還父進(jìn)程或系統(tǒng);

5釋放撤消進(jìn)程的PCB結(jié)構(gòu)本身.

v進(jìn)程阻塞和喚醒原語

引起進(jìn)程阻塞和喚醒的事件:1請(qǐng)求系統(tǒng)服務(wù);2啟動(dòng)某種操作;3新數(shù)據(jù)尚未到

達(dá);4無新工作可做;

Block原語和Wakeup原語是一對(duì)作用剛好相反的原語.?般來說,如果某進(jìn)程

調(diào)用了阻塞原語,則必須在與之合作的另一進(jìn)程或相關(guān)進(jìn)程中,調(diào)用喚醒原語;否

則被阻塞進(jìn)程將會(huì)因不能被喚醒而長(zhǎng)久處于阻塞狀態(tài),從而再無機(jī)會(huì)運(yùn)行.

進(jìn)程阻塞過程:(這是進(jìn)程自身的一種主動(dòng)行為)

1因進(jìn)程處于執(zhí)行狀態(tài),故應(yīng)先中斷處理機(jī)和保存該進(jìn)程的CPU現(xiàn)場(chǎng);

2將進(jìn)程的狀態(tài)有"執(zhí)行"改為"阻塞";

3將阻塞進(jìn)程插入到阻塞(等待)隊(duì)列;(若系統(tǒng)中設(shè)置了因不同事件而阻塞的多個(gè)

阻塞隊(duì)列,則應(yīng)將進(jìn)程插到具有相同事件的阻塞隊(duì)列)

4轉(zhuǎn)進(jìn)程調(diào)度;(防止處理機(jī)空轉(zhuǎn),而出現(xiàn)資源浪費(fèi))

進(jìn)程喚醒過程:

1從阻塞(等待)隊(duì)列中摘下需被喚醒的進(jìn)程;

2將其PCB的現(xiàn)行狀態(tài),由阻塞改為就緒;

3并將該進(jìn)程插入到就緒隊(duì)列;

4轉(zhuǎn)進(jìn)程調(diào)度或返回;

3.4進(jìn)程的同步與互斥

v主要任務(wù)

進(jìn)程的同步和互斥機(jī)制的主要任務(wù):控制并發(fā)執(zhí)行的諸進(jìn)程之間能有效地共享和

相互協(xié)作,同時(shí)使并發(fā)執(zhí)行的程序仍具有可再現(xiàn)性.

v進(jìn)程互斥

并發(fā)系統(tǒng)中諸進(jìn)程由于資源共享,進(jìn)程合作,而產(chǎn)生進(jìn)程之間的相互制約;又因共

享資源的方式不同,而導(dǎo)致兩種不同的制約關(guān)系:

間接相互制約.這種制約主要源于資源共享(進(jìn)程互斥);

直接相互制約.這種制約主要源于進(jìn)程合作(進(jìn)程同步).

臨界資源:一次僅允許一個(gè)進(jìn)程訪問的資源.

臨界區(qū):每個(gè)進(jìn)程中訪問臨界資源的那段代碼.(不允許多個(gè)并發(fā)進(jìn)程交叉執(zhí)行的

一段程序)

進(jìn)程互斥:不允許兩個(gè)以上的共享該資源的并發(fā)進(jìn)程同時(shí)進(jìn)入臨界區(qū).

同步機(jī)制的準(zhǔn)則:空閑讓進(jìn);忙則等待;讓權(quán)等待;有限等待;

例3:

(與時(shí)間有關(guān)的錯(cuò)誤)二個(gè)進(jìn)程P1,P2共享變量count(Rl,R2是處理機(jī)中的寄

存器):

P1:①Rl=count;

②R1=R1+1;

③count=Rl;

P2::①R2=count;

②R2=R2+1;

③count=R2;

結(jié)果應(yīng)該count增加了2,正確.

但若執(zhí)行順序按P1①,P2①,P1②,P1③,P2②尸2③,雖然P1,P2各自對(duì)count

進(jìn)行了加1操作,但最后結(jié)果count僅增加了1.

v進(jìn)程同步

定義:指多個(gè)合作進(jìn)程為了完成同一個(gè)任務(wù),它們?cè)趫?zhí)行速度上必須相互協(xié)調(diào),即

一個(gè)進(jìn)程的執(zhí)行依賴于另一個(gè)進(jìn)程的消息,當(dāng)沒有消息時(shí)要等待,直到消息到達(dá)

被喚醒.

合作進(jìn)程指具有同步關(guān)系的一組并發(fā)進(jìn)程,合作進(jìn)程間互相發(fā)送的信號(hào)稱為消息

或事件.

進(jìn)程同步和互斥間的關(guān)系

同步互斥相似處:進(jìn)程的互斥實(shí)際上是進(jìn)程同步的一種特殊情況;進(jìn)程的互斥和

同步統(tǒng)稱為進(jìn)程同步.

差別:進(jìn)程互斥是進(jìn)程間共享資源的使用權(quán),這種競(jìng)爭(zhēng)沒有固定的必然聯(lián)系,哪個(gè)

進(jìn)程競(jìng)爭(zhēng)到使用權(quán)就歸那個(gè)進(jìn)程使用,直到不需要使用時(shí)在歸還;而進(jìn)程同步則

涉及共享資源的并發(fā)進(jìn)程間有種必然的聯(lián)系,當(dāng)進(jìn)程必須同步時(shí),即使無進(jìn)程

在使用共享資源時(shí),那么尚未得到同步消息的進(jìn)程也不能去使用這個(gè)資源.

V利用信號(hào)量機(jī)制解決問題

信號(hào)量機(jī)制:由Diskstra提出的--種解決進(jìn)程的同步與互斥的工具.

建立一個(gè)信號(hào)量必須經(jīng)過說明所代表的意義,賦初值以及建立相應(yīng)的數(shù)據(jù)結(jié)構(gòu)以

便指向那些等待使用該臨界區(qū)的進(jìn)程.

信號(hào)量的值只能通過P,V原語操作來改變.

記錄型的信號(hào)量機(jī)制:是一個(gè)記錄型的數(shù)據(jù)結(jié)構(gòu),包含兩個(gè)數(shù)據(jù)項(xiàng),-是記數(shù)值域,

另一是等待該信號(hào)量的進(jìn)程隊(duì)列首指針域.描述如下:

typedefstructsemaphore

{

intvalue;

PCB*p;

)

vP(s)和V(s)操作原語

voidv(s)

structsemaphores;

{

s.value=s.value+l;

if(s.value<=0)wakeup(s.p);

)

voidP(s)

structsemaphores;

{

s.value=s.value-1;

if(s.valueO數(shù)值時(shí),表示某類可用資源的數(shù)量.而當(dāng)s.value<0數(shù)值時(shí),表示該

類資源已分配完.若有進(jìn)程請(qǐng)求該類資源,則被阻塞,其絕對(duì)值等于等待該類資源

的進(jìn)程數(shù).

每次的P(s)操作,意味著進(jìn)程請(qǐng)求分配該類資源的一個(gè)單位資源.相反,執(zhí)行一次

V(s)操作意味著進(jìn)程釋放相應(yīng)資源的一個(gè)單位資源.當(dāng)值小于等于。時(shí),表明有

進(jìn)程被阻塞,需要喚醒.

V用信號(hào)量解題的關(guān)鍵

]信號(hào)量的設(shè)置

2套信號(hào)量賦初值(常用的互斥和同步信號(hào)量值的大小)

3PN操作安排的位置(其中尸的順序不能顛倒,V的順序任意)

v用信號(hào)量機(jī)制解決前趨圖問題

方法:若圖中存在結(jié)點(diǎn)S1指向結(jié)點(diǎn)S2的有向邊,表示進(jìn)程P1中的程序段S1應(yīng)

該先執(zhí)行,而進(jìn)程P2中的程序段S2后執(zhí)行.設(shè)置?個(gè)信號(hào)量S,初值為0,將V(s)

放在S1后面,而在S2前面先執(zhí)行P(s).

進(jìn)程P1的語句序列為:Sl;V(s)

進(jìn)程P2的語句序列為:P(s);S2

例4:(利用信號(hào)量機(jī)制解決前趨圖問題)

具有8個(gè)結(jié)點(diǎn)的前趨圖.例子中的前趨圖中共有有向邊10條,可設(shè)10個(gè)信號(hào)量,

初值均為0;有8個(gè)結(jié)點(diǎn),可設(shè)計(jì)成8個(gè)并發(fā)進(jìn)程,具體描述如下:

structsemaphorea/b/c,d,ezf,g,h,I,j=0,0/0/0,0z0,0/0,0,0

cobegin

{al;V(a);V(b);V(c);}

{P(a);S2;V(d);}

{P(b);S3;V(e);V(f);)

{P(c);S4;V(g);}

{P(d);P(e);S5;V(h);)

{P(f);P(g);S6;V(i)}

(P(h);P(i);S7;V(j);}

{P(j);S8;}

coend

v利用互斥信號(hào)量實(shí)現(xiàn)二個(gè)進(jìn)程互斥

structsemaphoremutex=l

cobeginvoidprocessA(void)

{

while(TRUE){

P(mutex);

criticalsectionA;

V(mutex);

Remaindersection;}

)

voidprocessA(void)

{

while(TRUE){

P(mutex);

criticalsectionA;

V(mutex);

Remaindersection;}

)

coend

v利用信號(hào)量實(shí)現(xiàn)二個(gè)進(jìn)程同步問題

(計(jì)算進(jìn)程和打印進(jìn)程)

structsemaphoresc,sp=l

numberx,y,buffer;

cobeginvoidCP(void)

{

while(TRUE){

computernextnumbeintox;

P(sc);

Buffer=x;

V(sp);)

)

voidpp(void)

{

while(TRUE){

P(sp);

y=buffer;

V(sc);

Printynumber;}

)

coend

v經(jīng)典的進(jìn)程同步問題

例5:生產(chǎn)者一消費(fèi)者問題

(?個(gè)最著名的進(jìn)程同步問題)

問題描述:一組生產(chǎn)者向一組消費(fèi)者提供消息,它們共享一個(gè)有界緩沖池,生產(chǎn)者

存入消息,消費(fèi)者從中取得消息.

structsemaphoresi,s2,empty,full=l,l,n,0;

messagebuffer[n];

intin,out=0,0;

cobegin

voidproduceri(void)(i=l/2,,k)

{messagex;

while(TRUE){

produceanewmessageintox;

P(empty);

P(sl);

buffer[in]=x;

in=(in+l)modn;

V(sl);

V(full);)

}

voidconsumerj(void)(j=l,2,/m)

{messagey;

while(TRUE){

P(full);

P(s2);

y=buffer[in];

out=(out+l)modn;

V(s2);

V(empty);

consumemessagey;}

}

coend

例6:讀者一寫者問題

問題描述:多個(gè)進(jìn)程共享?個(gè)文件,其中只讀文件的稱為讀者,其余只寫文件的稱

為寫者.讀者可以同時(shí)讀,但寫者只能獨(dú)立地寫.(即是互斥的,一個(gè)進(jìn)程在寫的時(shí)

候,其它進(jìn)程即不能讀,也不能寫)

structsemaphoremutex,wrt=l,l;

intreadcount=0;

cobegin

voidreaderi(void)(i=l,2,...,k)

{

while(TRUE){

P(mutex);

if(readcount=0)thenP(wrt);

readcount:=readcount+l;

V(mutex);

performreadoperation;

P(mutex);

Readcount:=readcount-l;

if(readcount=0)thenV(wrt);

V(mutex);)

}

voidwriterj(void)(j=l,2,...,m)

{

while(TRUE){

P(wrt);

performwriteoperation;

V(wrt);)

}

coend

例7:圖書館閱覽室問題

問題描述:假定閱覽室最多可同時(shí)容納100個(gè)人閱讀,讀者進(jìn)入時(shí),必須在閱覽室

門口的一個(gè)登記表上登記,內(nèi)容包括姓名,座號(hào)等,離開時(shí)要撤掉登記內(nèi)容.用P,V

操作描述讀者進(jìn)程的同步算法.

(解題分析:讀者有任意多個(gè),但進(jìn)入閱覽室閱讀最多為100人,為此可設(shè)一個(gè)信

號(hào)量s,代表空座位的數(shù)目;另登記表為臨界資源,需設(shè)一個(gè)用于互斥的信號(hào)量

mutex,防止2個(gè)及以上的讀者進(jìn)程同時(shí)對(duì)此表訪問.對(duì)于每個(gè)讀者的動(dòng)作包括

進(jìn)入,閱讀,離開.)

structsemaphores,mutex=100,l;

cobegin

voidreaderi(void)(i=l,2,...,k)

{

while(TRUE){

P(s);

P(mutex);

查登記表,置某座位為占用;

V(mutex);

reading;

P(mutex);

查登記表,置某座位為空;

V(mutex);

V(s);}

)

coend

例8:吃水果問題

問題描述:桌上有一只盤子,每次只能放一個(gè)水果,爸爸專向盤中放蘋果,媽媽專向

盤中放桔子,兒子專等吃盤里的桔子,女兒專等吃盤里的蘋果.只要盤子空,則爸爸

或媽媽可向盤中放水果,僅當(dāng)盤中有自己需要的水果時(shí),兒子或女兒可從中取出,

請(qǐng)給出四人之間的同步關(guān)系,并用PV操作實(shí)現(xiàn)四人正確活動(dòng)的程序.

解:四人之間的關(guān)系:1爸爸,媽媽要互斥使用盤子,所以兩者之間是互斥關(guān)系;2

爸爸放的蘋果,女兒吃,所以兩者是同步關(guān)系;3媽媽放的桔子,兒子吃,所以兩者

也是同步關(guān)系.

structsemaphores,sp,so=l,0,0;

cobegin

voidfather(void)

{

while(TRUE){

haveanapple;

P(s);

putanapple;

V(sp);)

)

voidmother(void)

{

while(TRUE){

haveanorange;

P(s);

putanorange;

V(so);)

}

voidson(void)

{

while(TRUE){

P(sp);

getanorange;

V(s);

eatanorange;}

)

voiddaught(void)

{

while(TRUE){

P(sp);

getanapple;

V(s);

eatanapple;}

)

coend

例9:司機(jī)一售票員問題

問題描述:設(shè)公共汽車上,司機(jī)和售票員的活動(dòng)分別是:

司機(jī):售票員:

啟動(dòng)車輛上下乘客

正常行車關(guān)車門

到站停車售票

開車門

上下乘客

在汽車不斷到站,停車,行駛過程中,這兩個(gè)活動(dòng)的同步關(guān)系

解法一:

structsemaphoresl,s2=0,0;

cobegin

voiddriver(void)

{

while(TRUE){

P(s2);

啟動(dòng)車輛;

正常行車;

到站停車;

V(sl);)

)

voidconductor(void)

{

while(TRUE){

上,下乘客;關(guān)車門;

V(s2);

售票;

P(sl);

開車門;上,下乘客;}

)

coend

解法二:

structsemaphoresl,s2=l,0;

cobegin

voiddriver(void)

(

while(TRUE){

P(s2);

啟動(dòng)車輛;

正常行車;

到站停車;

V(sl);}

)

voidconductor(void)

<

while(TRUE){

P(sl);

開車門;

上,下乘客;

關(guān)車門;

V(s2);售票;}

)

coend

3.6進(jìn)程通信(communication)

v進(jìn)程通信:指進(jìn)程間的信息交換.

v低級(jí)通信(進(jìn)程的同步和互斥)

信號(hào)量機(jī)制作為同步工具是卓有成效的,但作為通訊工具則不夠理想,主要表現(xiàn)

在:1效率低.如生產(chǎn)者每次只能向緩沖區(qū)中投放一個(gè)消息;2通訊對(duì)用戶不透明.

v高級(jí)通信:是用戶直接利用操作系統(tǒng)所提供的一組通訊原語,實(shí)現(xiàn)高效地傳送

大量數(shù)據(jù)的一種通訊方式.

V高級(jí)通訊機(jī)制類型

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

2消息傳遞系統(tǒng)(MessagepassingSystem)

3管道(pipe)通彳言系統(tǒng)

n共享存儲(chǔ)器系統(tǒng):相互通訊的進(jìn)程通過共享數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)區(qū)進(jìn)行通訊,因而

可進(jìn)一步分為:1基于共享數(shù)據(jù)結(jié)構(gòu)的通訊方式;(低效,只適于傳遞少量數(shù)據(jù));2

基于共享存儲(chǔ)區(qū)的通訊方式.為了傳送大量數(shù)據(jù),在存儲(chǔ)區(qū)中劃出一塊共享存儲(chǔ)

區(qū),諸進(jìn)程可通過對(duì)共享存儲(chǔ)區(qū)進(jìn)行讀或?qū)憯?shù)據(jù)實(shí)現(xiàn)通訊.

n消息傳遞系統(tǒng):在消息傳遞系統(tǒng)中,進(jìn)程間的數(shù)據(jù)交換是以消息(message),

在計(jì)算機(jī)網(wǎng)絡(luò)中又稱報(bào)文)為單位.程序員直接利用系統(tǒng)提供的一組通訊命令(原

語)來實(shí)現(xiàn)通訊.

特點(diǎn):由于系統(tǒng)中隱藏了通訊的實(shí)現(xiàn)細(xì)節(jié),大大簡(jiǎn)化了通訊程序編制的復(fù)雜性.

因其實(shí)現(xiàn)方法的不同,又可分為:1直接通信方式(消息緩沖);2間接通信方式

(信箱).

直接通信方式:發(fā)送進(jìn)程直接將消息發(fā)送給接收進(jìn)程,并將它掛在接收進(jìn)程的消

息緩沖隊(duì)列上.接收進(jìn)程從消息緩沖隊(duì)列中取得消息.故稱為消息緩沖機(jī)制.

間接通信方式:發(fā)送進(jìn)程將消息發(fā)送到某個(gè)中間實(shí)體(?般稱為信箱)中,接收進(jìn)

程從中取得消息,所以稱為信箱通訊方式,相應(yīng)地系統(tǒng)稱為電子郵件系統(tǒng).信箱可

由OS創(chuàng)建,也可由用戶進(jìn)程創(chuàng)建,創(chuàng)建者是信箱的擁有者,據(jù)此可把信箱分為:私

用信箱,公用信箱,共享信箱.

n1道笳信城統(tǒng):UNIX系統(tǒng)中,開創(chuàng)的一種借助文件和文件系統(tǒng)形成的一種

通信方式.所謂管道是指用于連接一個(gè)讀進(jìn)程和一個(gè)寫進(jìn)程,以實(shí)現(xiàn)它們之間通

信的共享方式,又稱pipe文件.

向管道(共享文件)提供輸入的發(fā)送進(jìn)程(即寫進(jìn)程),以字符流形式將大量的數(shù)據(jù)

送入管道;而接收管道輸出的接收進(jìn)程(即讀進(jìn)程),可從管道接收數(shù)據(jù),由于發(fā)送

和接收都是利用管道進(jìn)行通信的,故稱為管道通信.

為了協(xié)調(diào)雙方的通信,管道通信機(jī)制必須提供以下三方面的協(xié)調(diào)能力:①互斥.

一個(gè)進(jìn)程正在對(duì)pipe進(jìn)行讀/寫操作時(shí),另一進(jìn)程必須等待.②同步.當(dāng)寫(輸入)

進(jìn)程把一定數(shù)量的數(shù)據(jù)寫入pipe后,便去睡眠等待,直到讀(輸出)進(jìn)程取走數(shù)據(jù)

將其喚醒;當(dāng)讀進(jìn)程讀一空pipe,也應(yīng)睡眠等待,直至寫進(jìn)程將數(shù)據(jù)寫入管道,才

將其喚醒.③對(duì)方是否存在.只有確定對(duì)方已存在時(shí),才能進(jìn)行管道通信,否則會(huì)

造成因?qū)Ψ讲淮嬖诙鵁o限期等待.

3.7線程(Thread)的概念

v引入的線程目的

提高系統(tǒng)的執(zhí)行效率,減少處理機(jī)空轉(zhuǎn)時(shí)間和調(diào)度切換(保護(hù)現(xiàn)場(chǎng)信息)的時(shí)間,

便于系統(tǒng)管理.(減少程序并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使OS具有更好的并發(fā)

性.)

分析說明:進(jìn)程的兩個(gè)基本屬性.1,進(jìn)程是一個(gè)可擁有資源的獨(dú)立單位;2,進(jìn)程又

是?個(gè)可獨(dú)立調(diào)度和分配的基本單位.合起來,進(jìn)程便成為一個(gè)能獨(dú)立運(yùn)行的基

本單位,從而構(gòu)成了程序并發(fā)執(zhí)行的基礎(chǔ),當(dāng)然為此系統(tǒng)還需進(jìn)行創(chuàng)建進(jìn)程,撤消

進(jìn)程,進(jìn)程切換等??系列的操作.簡(jiǎn)言之,由于進(jìn)程是?個(gè)資源的擁有者,在執(zhí)行這

些操作時(shí)會(huì)付出較大的時(shí)空開銷.因此在系統(tǒng)中所設(shè)的進(jìn)程數(shù)目不宜過多,切換

不宜過于頻繁,這就限制了系統(tǒng)的并發(fā)程度.因而想到將進(jìn)程的兩個(gè)屬性分開,由

OS分開處理,即對(duì)作為調(diào)度和分配的基本單位,使之輕裝運(yùn)行;而對(duì)擁有資源的

基本單位,又不頻繁地對(duì)之進(jìn)行切換,這樣就出現(xiàn)了線程的概念.

v定義

線程是進(jìn)程中的?個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分配的基本單位,故乂稱為輕權(quán)

(輕型)進(jìn)程(LightWeightProcess),它由線程控制表,存儲(chǔ)線程上下文的用戶

棧以及核心棧組成.{傳統(tǒng)的進(jìn)程稱為重型進(jìn)程(HeavyWeightProcess).}

v線程與進(jìn)程的主要區(qū)別

1,進(jìn)程是資源管理的基本單位,它擁有自己的地址空間和各種資源;線程只是處

理機(jī)調(diào)度的基本單位,它只和其他線程一起共享進(jìn)程資源,它自己沒有任何資源.

2,以進(jìn)程為單位進(jìn)行處理機(jī)切換和調(diào)度時(shí),由于涉及到資源轉(zhuǎn)移以及現(xiàn)場(chǎng)保護(hù)等

問題,將導(dǎo)致處理機(jī)切換時(shí)間變長(zhǎng),資源利用率降低.以線程為單位進(jìn)行進(jìn)行處理

機(jī)切換和調(diào)度時(shí),由于不發(fā)生資源變化,特別是地址空間的變化,處理機(jī)切換時(shí)間

較短,從而處理機(jī)效率較高.

3,對(duì)M戶來說,多線程系統(tǒng)比無線程系統(tǒng)可減少用戶的等待時(shí)間,提高系統(tǒng)的響

應(yīng)速度.

4,線程和進(jìn)程?樣,都有自己的狀態(tài),也有相應(yīng)的同步機(jī)制,不過由于線程沒有單

獨(dú)的數(shù)據(jù)和程序空間,因此線程不能像進(jìn)程的數(shù)據(jù)與程序那樣,交換到外存存儲(chǔ)

空間,從而線程沒有掛起狀態(tài).

5,進(jìn)程的調(diào)度,同步等大多由OS內(nèi)核完成,而線程的控制既可以由OS內(nèi)核進(jìn)行,

也可以由用戶控制.

v線程的適用范圍

使用線程的最大好處是在有多個(gè)任務(wù)需要處理時(shí),減少處理機(jī)的切換時(shí)間,同時(shí)

線程的創(chuàng)建和結(jié)束所需要的系統(tǒng)開銷比進(jìn)程要小得多,因此最適合于使用線程的

系統(tǒng)是多處理機(jī)系統(tǒng).(在多處理機(jī)系統(tǒng)中,同一用戶程序可以根據(jù)不同的功能劃

分為不同的線程,放在不同的處理機(jī)上執(zhí)行.)如果用戶程序可以按功能劃分為不

同的小段時(shí),單處理機(jī)也可因使用線程而簡(jiǎn)化程序的結(jié)構(gòu)和提高執(zhí)行的效率.但

在那些很少做進(jìn)程調(diào)度和切換的實(shí)時(shí)系統(tǒng),個(gè)人數(shù)字助理系統(tǒng),一般不設(shè)置.

V兒種典型的應(yīng)用

1,服務(wù)器中的文件管理和進(jìn)程通信控制;2,前后臺(tái)處理;3,異步處理;4,數(shù)據(jù)的批

處理;5,網(wǎng)絡(luò)系統(tǒng)中信息發(fā)送和接受;6,其他相關(guān)的處理.

v線程的分類

可分為用戶級(jí)線程,核心級(jí)線程以及用戶/核心混合型線程等.

用戶級(jí)線程userlevelthreads:其管理過程全部由用戶程序完成,CPU調(diào)度算

法和各線程的優(yōu)先級(jí)都由用戶設(shè)置,與OS內(nèi)核無關(guān).

核心級(jí)線程Kernellevelthreads:*OS內(nèi)核進(jìn)行管理,其調(diào)度算法及線程的優(yōu)

先級(jí)的控制權(quán)在OS內(nèi)核.

混合型線程:其控制權(quán)在用戶和OS內(nèi)核之間.

練習(xí)題:

1.有人說,一個(gè)進(jìn)程是由偽處理機(jī)執(zhí)行的一個(gè)程序,這話對(duì)嗎為什么

2.試比較作業(yè)和進(jìn)程的區(qū)別

3.比較進(jìn)程和程序的區(qū)別:

4.在操作系統(tǒng)中為什么要引進(jìn)進(jìn)程這個(gè)概念它會(huì)產(chǎn)生什么影響

5.以進(jìn)程為單位進(jìn)行交換時(shí),每次是否需耍將整個(gè)進(jìn)程換出,為什么

6.設(shè)某計(jì)算機(jī)系統(tǒng)有一臺(tái)輸入機(jī),?臺(tái)打印機(jī).現(xiàn)有兩道程序同時(shí)投入運(yùn)行,且程

序A先開始運(yùn)行,程序B后運(yùn)行.程序A的運(yùn)行軌跡為:計(jì)算50ms,打印信息

100ms,再計(jì)算50ms,打印信息100ms,結(jié)束.程序B的運(yùn)行軌跡為:計(jì)算50ms,

輸入數(shù)據(jù)80ms,再計(jì)算100ms,結(jié)束.試說明:

⑴兩道程序運(yùn)行時(shí),CPU有無空閑若有,在那段時(shí)間內(nèi)等待為什么會(huì)空閑等待

⑵程序A,B運(yùn)行時(shí)有無等待現(xiàn)象若有,在什么時(shí)候會(huì)發(fā)生等待現(xiàn)象

7.程序在并發(fā)執(zhí)行具有哪些特征

8.進(jìn)程的五大特征是什么

9.進(jìn)程的基本狀態(tài)是什么以及它們是如何轉(zhuǎn)換

10.進(jìn)程同步機(jī)制的基本原則有哪些

11.什么是進(jìn)程通信進(jìn)程的高級(jí)通信方式有哪三種

12.某小型超級(jí)市場(chǎng),N■容納50個(gè)人同時(shí)購物.入口處備有籃子,每個(gè)購物者可拿

一只籃子入內(nèi)購物.出口處結(jié)帳,并歸還籃子(出,入口禁止多人同時(shí)通過).試用

P|,V操作寫出購物者的同步算法.

參考答案:

1答:對(duì).因?yàn)閭翁幚頇C(jī)的概念只有在執(zhí)行時(shí)才存在,它表示多個(gè)進(jìn)程在單處理機(jī)

上并發(fā)執(zhí)行的?個(gè)調(diào)度單位.因此,盡管進(jìn)程是動(dòng)態(tài)的概念,是程序的執(zhí)行過程,但

是在多個(gè)進(jìn)程并發(fā)執(zhí)行時(shí),仍然只有一個(gè)進(jìn)程占據(jù)處理機(jī)執(zhí)行,而其他并發(fā)進(jìn)程

則處于就緒或等待狀態(tài),這些并發(fā)進(jìn)程就相當(dāng)于由偽處理機(jī)執(zhí)行的程序.

2答:一個(gè)進(jìn)程是一個(gè)程序?qū)δ硞€(gè)數(shù)據(jù)集的執(zhí)行過程,是分配資源的基本單位.

作業(yè)是用戶需要計(jì)算機(jī)完成某項(xiàng)任務(wù),而要求計(jì)算機(jī)所做工作的集合.個(gè)作業(yè)

的完成要經(jīng)過提交,收容,執(zhí)行和完成四個(gè)階段,而進(jìn)程是已提交完畢的程序所執(zhí)

行過程的描述,是資源分配的基本單位,區(qū)別如下:

①作業(yè)是用戶向計(jì)算機(jī)提交任務(wù)的任務(wù)實(shí)體.在用戶向計(jì)算機(jī)提交作業(yè)之后,系

統(tǒng)將它放入外存中的作業(yè)等待隊(duì)列中等待執(zhí)行;而進(jìn)程則是完成用戶任務(wù)的執(zhí)行

實(shí)體,是向系統(tǒng)申請(qǐng)分配資源的基本單位.

②?個(gè)作業(yè)可由多個(gè)進(jìn)程組成,且必須至少由?個(gè)進(jìn)程組成,反之不然.

③作業(yè)的概念主要用在批處理系統(tǒng)中,而進(jìn)程的概念則用在幾乎所有的多道系

統(tǒng)中.

3.答:1進(jìn)程是一個(gè)動(dòng)態(tài)的概念,進(jìn)程的實(shí)質(zhì)是程序的一次執(zhí)行過程,動(dòng)態(tài)性是進(jìn)

程的基本特征,同時(shí)進(jìn)程是有一定的生命期的;而程序只是組有序指令的集合,

本身并無運(yùn)動(dòng)的含義,是靜態(tài)的.2并發(fā)性,并發(fā)性是進(jìn)程的重要特征,引入進(jìn)程的

目的正是為了使其程序和其它程序并發(fā)執(zhí)行;而程序(沒有建立進(jìn)程)是不能并發(fā)

執(zhí)行的.3獨(dú)立性,是指進(jìn)程一個(gè)能獨(dú)立運(yùn)行,獨(dú)立分配資源和獨(dú)立調(diào)度的基本單

位;凡未建立進(jìn)程的程序,都不能作為一個(gè)獨(dú)立的單位參加運(yùn)行.4不同的進(jìn)程可

以包含同一個(gè)程序,同一個(gè)程序在執(zhí)行中也可以產(chǎn)生多個(gè)進(jìn)程.

4.答:目的是為了實(shí)現(xiàn)多個(gè)程序的并發(fā)執(zhí)行.建立進(jìn)程的好處是系統(tǒng)資源得以充

分利用,并提高系統(tǒng)的吞吐量,但為創(chuàng)建進(jìn)程得付出一定代價(jià),主要是增加了時(shí)間

和空間的開銷.

5.答.并非如此.因?yàn)椋?)從結(jié)構(gòu)上看,可把進(jìn)程看作是程序段,數(shù)據(jù)段和PCB所

組成,其中PCB通常常住內(nèi)存而不被換出;2)程序段或數(shù)據(jù)段可能正被若干進(jìn)

程所共享,故也不能換出.

6.解:⑴兩道程序運(yùn)行期間,CPU存在空閑等待時(shí)間.空閑等待的時(shí)間段為程序A

開始運(yùn)行后100ms至150ms之間.在此期間,程序A正在打印信息,而程序B

正在輸入數(shù)據(jù).

⑵程序A啟動(dòng)運(yùn)行后無等待現(xiàn)象,而在程序B啟動(dòng)運(yùn)行后存在等待現(xiàn)象.程序B

的等待時(shí)間段為程序A開始運(yùn)行后180ms至200ms之間(或程序B開始運(yùn)行

后130ms至150ms之間).

7.答:間斷性,失去了封閉性及不可再現(xiàn)性.

8.答:進(jìn)程具有五個(gè)基本特

溫馨提示

  • 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. 人人文庫網(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)論