計(jì)算機(jī)CHAPTER 4 進(jìn)程管理_第1頁(yè)
計(jì)算機(jī)CHAPTER 4 進(jìn)程管理_第2頁(yè)
計(jì)算機(jī)CHAPTER 4 進(jìn)程管理_第3頁(yè)
計(jì)算機(jī)CHAPTER 4 進(jìn)程管理_第4頁(yè)
計(jì)算機(jī)CHAPTER 4 進(jìn)程管理_第5頁(yè)
已閱讀5頁(yè),還剩160頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

主要內(nèi)容

t■IB?14?1?IB??t??■??4?1?tBIBIBtBIB<I4■“?t??????BI?■?4??>tB?■flBt

。多道程序設(shè)計(jì)

。進(jìn)程

。進(jìn)程間的相互作用

。進(jìn)程間的通信

?:?進(jìn)程(線程)調(diào)度(CPU調(diào)度)

?:?系統(tǒng)內(nèi)核

。線程

進(jìn)程管理2

4.1多道程序設(shè)計(jì)

IBt■■14B1?t-??■■■IB?-?I?4?IBflB?BI■<I4?1??B??t??■■■■?I??B?"?IBt?

。順序程序

。并發(fā)程序

。多道程序設(shè)計(jì)

進(jìn)程管理3

霸1.順序程序

????-???-??????????**??*??,?<■?.??????■.■..*.■.

-*F■—,」,■?????■??????<????B?■I■■BI■4B4Bl????????B??■?<BI?

程序:

指令或語(yǔ)句序列,體現(xiàn)了某種算法

所有程序是順序的

順序環(huán)境:

計(jì)算機(jī)系統(tǒng)中只有一個(gè)程序在運(yùn)行

該程序獨(dú)占系統(tǒng)中所有資源

其執(zhí)行不受外界影響

進(jìn)程管理4

tBIfe4I4B1BfB?Bt?4?■B4?4?IBtBIBIBflBI■4I4B1??B4■t??*I■4?4>t?I■3?I■t?

特征:

?:?程序執(zhí)行的順序性

?:?程序執(zhí)行的封閉性

獨(dú)占資源,執(zhí)行過(guò)程中不受外界影響

?:?程序執(zhí)行結(jié)果的確定性

程序運(yùn)行結(jié)果與程序執(zhí)行速度無(wú)關(guān),只要初始狀

態(tài)相同,結(jié)果應(yīng)相同

。程序結(jié)果的可再現(xiàn)性

進(jìn)程管理5

2.多道程序設(shè)計(jì)

?BtfeI14?,?l-???tvCBf?tBIBflB?BI■4I411ftIB?Bt????I4?I?tB?"■IBt■

多道程序設(shè)計(jì)是指允許多個(gè)程序同時(shí)進(jìn)入內(nèi)

存并運(yùn)行,引入目的是為了提高系統(tǒng)效率。

考慮因素:

。在多道程序環(huán)境下如何向用戶提供服務(wù);

。在并發(fā)程序之間如何正確傳遞消息(通信);

?:?如何對(duì)CPU進(jìn)行調(diào)度,保證每個(gè)用戶相對(duì)公平地得到CPU

(CPU是一個(gè)只可調(diào)度,不可分配的資源)。

進(jìn)程管理6

例1--順序環(huán)境

tBtB4B4■■?f??■t?flBIB(BfBtBIBIB?BI■4I4■,ftIB4■t??■?I494?1?f???IBt?

在順序環(huán)境下,A先執(zhí)行,B再執(zhí)行

CPU利用率=40/80=50%

DEVI利用率=15/80=18.75%

DEV2利用率=25/80=31.25%

進(jìn)程管理7

例1--并發(fā)環(huán)境

?Bt■■14?,?l-???tvCBf?tBIBflB?BI■4I411ftIB?Bt????I4?I?tB?"■IBt■

ACPUDEVI-----CPUDEV2CPU

I--------------1-------1-------1------1-----1-----1-----1-----1—?t

1015202530354045

BDEVICPUDEV2CPU-----DEV2

在并發(fā)環(huán)境下CPU利用=89%

DEVI并發(fā)環(huán)境下利用=33%

DEV2并發(fā)環(huán)境下利用=66%

進(jìn)程管理8

多道程序環(huán)境的特點(diǎn)

?Bt■■14?,?l-???tvCBf?tBIBflB?BI■4I411ftIB?Bt????I4?I?tB?"■IBt■

。獨(dú)立性

邏輯上獨(dú)立。

。隨機(jī)性

數(shù)據(jù)的輸入和執(zhí)行的時(shí)間是隨機(jī)的。

。資源共享性

系統(tǒng)中資源被多個(gè)進(jìn)程使用。

進(jìn)程管理9

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

9IBl*B<->1">**?t?IB<-?IBt?IBIBfl*Bt■■I4B1??B4■???BI>4?<>t■■Bfl■I■

一定時(shí)間內(nèi),物理機(jī)器上有兩個(gè)或兩個(gè)以上的

程序同處于開(kāi)始運(yùn)行但尚未結(jié)束的狀態(tài),并且次序

不是事先確定的。

與順序執(zhí)行時(shí)不同的特性:

。并發(fā)程序在執(zhí)行期間具有相互制約關(guān)系

。程序與計(jì)算不再一一對(duì)應(yīng)

?:?并發(fā)程序執(zhí)行結(jié)果不可再現(xiàn)

進(jìn)程管理10

4.2進(jìn)程

。進(jìn)程的概念

q?進(jìn)程的特征

?:?進(jìn)程的狀態(tài)及其轉(zhuǎn)換

?:?進(jìn)程控制塊(ProcessControlBlock)

進(jìn)程管理11

進(jìn)程:為了描述程序在并發(fā)執(zhí)行時(shí)對(duì)系統(tǒng)資

源的共享,所需的一個(gè)描述程序執(zhí)行時(shí)動(dòng)態(tài)

特征的概念

?OS必須交替執(zhí)行多個(gè)進(jìn)程,以便最大程度的使用

CPU,同時(shí)提供合理的響應(yīng)時(shí)間

?OS必須將資源分配給進(jìn)程,同時(shí)避免死鎖

?:*os必須支持用戶創(chuàng)建進(jìn)程

?:.OS必須支持進(jìn)程間通信

進(jìn)程管理12

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

定義:Process

進(jìn)程是具有獨(dú)立功能的程序關(guān)于某個(gè)

數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)

進(jìn)行資源分配和調(diào)度的獨(dú)立單位。

又稱任務(wù)(Task)

進(jìn)程管理13

進(jìn)程何時(shí)創(chuàng)建?

?:?用戶登錄

。提交一個(gè)程序執(zhí)行

?:?由OS創(chuàng)建,以向用戶提供服務(wù)(如:打印

文件)

?:?由已存在的一進(jìn)程創(chuàng)建

米一個(gè)用戶程序可創(chuàng)建成多個(gè)進(jìn)程

進(jìn)程管理14

進(jìn)程何時(shí)中止?

tBIfeI14■■?tB?■t■tBIB4?4?fBt?IBIBflBI■4I4B1??B4■t??BIII?4>I???fl■t?

?:?程序執(zhí)行的,指令

。用戶退出登錄

?:?進(jìn)程執(zhí)行一個(gè)中止服務(wù)請(qǐng)求

?:?出錯(cuò)及失敗因素

進(jìn)程管理15

進(jìn)程中止的原因

?:?正常結(jié)束

?:?給定時(shí)限到

。缺少內(nèi)存

?:?存儲(chǔ)器出界

?:?保護(hù)性出錯(cuò)

米例子:寫(xiě)只讀文件

?:?算術(shù)錯(cuò)

?:?超出時(shí)間

米進(jìn)程等待超過(guò)對(duì)某事件的最大值

進(jìn)程管理16

進(jìn)程中止的原因(續(xù)1)

IBt■■14?,?t-??■t1IB<-?I?t?IBflB?BI■II4?1??B??t??■■■■?I?tB?"?IBt?

?I/O失敗

?:?無(wú)效指令

*如試圖執(zhí)行數(shù)據(jù)

。特權(quán)指令

?:?操作系統(tǒng)干預(yù)

米如當(dāng)死鎖發(fā)生時(shí)

?:?父進(jìn)程請(qǐng)求中止某一子進(jìn)程

?:?父進(jìn)程中止,所以子進(jìn)程也中止

進(jìn)程管理17

進(jìn)程的分類

?:?系統(tǒng)進(jìn)程

?:?用戶進(jìn)程

系統(tǒng)進(jìn)程優(yōu)先于用戶進(jìn)程

daemon:守護(hù)進(jìn)程/精靈進(jìn)程

進(jìn)程管理18

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

程序與進(jìn)程之間的區(qū)別:

?:?進(jìn)程更能真實(shí)地描述并發(fā),而程序不能

?:?進(jìn)程是由程序和數(shù)據(jù)兩部分組成的

?:?程序是靜態(tài)的,進(jìn)程是動(dòng)態(tài)的

?:?進(jìn)程有生命周期,有誕生有消亡,短暫的;

而程序是相對(duì)長(zhǎng)久的

?:?一個(gè)程序可對(duì)應(yīng)多個(gè)進(jìn)程,反之亦然

?:?進(jìn)程具有創(chuàng)建其他進(jìn)程的功能,而程序沒(méi)有

?:?生活中類比例子:

進(jìn)程管理19

..........進(jìn)程的特性............

?IBI■■14?,?tB?■t?4?I■?91?t?I?1BIBI■?I4BI?tB4Bf??BI■4?1?,?I■■BI■f?

?:?并發(fā)性

任何進(jìn)程都可以同其他進(jìn)程一起向前推進(jìn)

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

進(jìn)程對(duì)應(yīng)程序的執(zhí)行

米進(jìn)程是動(dòng)態(tài)產(chǎn)生,動(dòng)態(tài)消亡的

米進(jìn)程在其生命周期內(nèi),在三種基本狀態(tài)之間

轉(zhuǎn)換

米動(dòng)態(tài)的地址空間

進(jìn)程管理20

進(jìn)程的特性(續(xù))

?Bt■■14?,?l-???tvCBf?tBIBflB?BI■4I411ftIB?Bt????I4?I?tB?"■IBt■

?:?獨(dú)立性

進(jìn)程是資源分配的一個(gè)獨(dú)立單位

例如:各進(jìn)程的地址空間相互獨(dú)立

。交互性

指進(jìn)程在執(zhí)行過(guò)程中可能與其他進(jìn)程

產(chǎn)生直接或間接的關(guān)系

。異步性

每個(gè)進(jìn)程都以其相對(duì)獨(dú)立的、不可預(yù)

知的速度向前推進(jìn)

進(jìn)程管理21

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

進(jìn)程的三種基本狀態(tài):

進(jìn)程在生命消亡前處于且僅處于三種基本狀態(tài)之

不同系統(tǒng)設(shè)置的進(jìn)程狀態(tài)數(shù)目不同

進(jìn)程管理22

?:?運(yùn)行態(tài)(Running):

進(jìn)程占有CPU,并在CPU上運(yùn)行

*就緒態(tài)(Ready):

一個(gè)進(jìn)程已經(jīng)具備運(yùn)行條件,但由于無(wú)CPU暫

時(shí)不能運(yùn)行的狀態(tài)(當(dāng)調(diào)度給其CPU時(shí),立即

可以運(yùn)行)

。等待態(tài)(Blocked):阻塞態(tài)、封鎖態(tài)、睡眠

態(tài)

指進(jìn)程因等待某種事件的發(fā)生而暫時(shí)不能運(yùn)行

的狀態(tài)(即使CPU空閑,該進(jìn)程也不可運(yùn)行)

進(jìn)程管理23

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

進(jìn)程狀態(tài)轉(zhuǎn)換:

在進(jìn)程運(yùn)行過(guò)程中,由于進(jìn)程自身進(jìn)展情況及外界環(huán)

境的變化,這三種基本狀態(tài)可以依據(jù)一定的條件相互轉(zhuǎn)換。

①就緒一>運(yùn)行

②運(yùn)行一>就緒

③運(yùn)行一>等待

④等待一>就緒

進(jìn)程管理25

望進(jìn)程轉(zhuǎn)換

?BIBfl■4B1?tB??t?IB????4B1Bt?I?IBIBI■■I4B1?tB4Bt■?BI■??<BI?tB??flBf?

?:?就緒一>運(yùn)行

*調(diào)度程序選擇一個(gè)新的進(jìn)程運(yùn)行

。運(yùn)行一>就緒

輪運(yùn)行進(jìn)程用完了時(shí)間片

*運(yùn)行進(jìn)程被中斷,因?yàn)橐桓邇?yōu)先級(jí)

進(jìn)程處于就緒狀態(tài)。

進(jìn)程管理26

進(jìn)程轉(zhuǎn)換(續(xù)1)

?:?運(yùn)行一>等待

*當(dāng)一進(jìn)程必須等待時(shí)

■OS尚未完成服務(wù)

■對(duì)一資源的訪問(wèn)尚不能進(jìn)行

?初始化I/O且必須等待結(jié)果

■等待某一進(jìn)程提供輸入(IPC)

?:?等待一>就緒

當(dāng)所等待的事件發(fā)生時(shí)

進(jìn)程管理27

Mg■IBIB411?fl??Bf?flB!??>4?IBflBI■IBABt■fl■4B1??B4BI■?■?Bt>4

3i…=?………

其他狀態(tài):

?:?創(chuàng)建狀態(tài),終止?fàn)顟B(tài)

。掛起(suspend)狀態(tài)

進(jìn)程沒(méi)有占用內(nèi)存空間

處在掛起狀態(tài)的進(jìn)程映像在磁盤(pán)上

(調(diào)節(jié)負(fù)載,對(duì)換)

進(jìn)程管理28

創(chuàng)建(新new)狀態(tài)

米OS已完成為創(chuàng)建一進(jìn)程所必要的工作

■已構(gòu)造了進(jìn)程標(biāo)識(shí)符

■已創(chuàng)建了管理進(jìn)程所需的表格

*但還沒(méi)有允許執(zhí)行該進(jìn)程(尚未同意)

-因?yàn)橘Y源有限

進(jìn)程管理29

終止(退出exit)狀態(tài)

IBI■■■?B1BI??■4?■■??4?1?4BIBIBtBIB<I4Bi?tB4■???BI?■?4>tB?■flBI■

米中止后進(jìn)程移入該狀態(tài)

它不再有執(zhí)行資格

表格和其它信息暫時(shí)由輔助程序保留

■例子:為處理用戶帳單而累計(jì)資源使用

情況的財(cái)務(wù)程序

。當(dāng)數(shù)據(jù)不再需要后,進(jìn)程(和它的表格)被刪

進(jìn)程管理30

五狀態(tài)進(jìn)程模型

???■.■....????一??■.■,9.■■??.■

1■B,t?B,l14■■BrlIBB?l,???|J??????????????1?t'0,??,??B1B???Bt??■414??,B1?t??B?1,?B?t???????■,■??■?????<??,Bt??,11??■■tlBflw?■

許可調(diào)度釋放

:一「

J超時(shí)/

Et/

事件Event/

發(fā)生OccursyXEvent箜管

/Wait事件

(阻.J

'、一

準(zhǔn)備退出:父進(jìn)程可中止子進(jìn)程

進(jìn)程管理31

Linux進(jìn)程狀態(tài)

IBtBfl14BtBtB?Bt■&■■■??4BfBtBIBIBflBIB4I4B1???4■I??BII4?1?I?1Bfl■I

Linux的進(jìn)程狀態(tài)有五種

?TASKRUNNING:

裝示進(jìn)程具備運(yùn)行的資格,正在運(yùn)行或等待被調(diào)度

執(zhí)行。進(jìn)程控制塊中有一個(gè)nm」ist成員,所有處于

TASK_RUNNING狀態(tài)的進(jìn)程都通過(guò)該成員鏈在一起,

稱之為可運(yùn)行隊(duì)列。

?TASKINTERRUPTIBLE和TASKUNINTERRUPTIBLE:

而種狀態(tài)均表示進(jìn)程處于等在狀態(tài)。

TASKINTERRUPTIBLE了資源滿足時(shí)可以被喚

醒外,還可以被信號(hào)喚醒,WTASKUNINTERRUPT

IBLE貝IJ不行。

進(jìn)程管理32

Linux進(jìn)程狀態(tài)(續(xù)1)

tBt■■14?,?l-???tvCBf?tBIBflB?BI■4I411ftIB?Bt????I4?I?tB?"■IBt■

?TASKSTOPPED:進(jìn)程處于暫停狀態(tài),主

要用于調(diào)試目的。如正在運(yùn)行的進(jìn)程收到

SIGSTOP信號(hào)將進(jìn)入TASK_STOPPED狀態(tài)

?TASKZOMBIE:表示進(jìn)程已經(jīng)結(jié)束運(yùn)行

并釋放了大部分占用的資源,但task_struct

結(jié)構(gòu)還未被釋放

進(jìn)程管理33

o

u

0

°l

q

&

n

3

0

?

1

1

x巖

8

8券一

q

p

n

S

i』

「?

S

氣u

x

I

±

8量

堂U

I上

*

E號(hào)

I

-

S

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論