2021年操作系統(tǒng)考研真題與典型題詳解_第1頁(yè)
2021年操作系統(tǒng)考研真題與典型題詳解_第2頁(yè)
2021年操作系統(tǒng)考研真題與典型題詳解_第3頁(yè)
2021年操作系統(tǒng)考研真題與典型題詳解_第4頁(yè)
2021年操作系統(tǒng)考研真題與典型題詳解_第5頁(yè)
已閱讀5頁(yè),還剩135頁(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)介

目錄

第I章操作系統(tǒng)概述...........................................................................5

1.1知識(shí)要點(diǎn)總結(jié).................................5

1.2考研真題與典型黑詳解.................................................................10

第2章進(jìn)程管理..............................................................................15

2.1知識(shí)要點(diǎn)總結(jié)..........................................................................15

2.2考研真題與典型圈詳斛.................................................................40

第3章內(nèi)存管理..............................................................................50

3.1知識(shí)要點(diǎn)總結(jié).........................................................................5()

3.2號(hào)研支物■典型題詳解.................................................................66

第4章文件管理..............................................................................71

4.1知識(shí)要點(diǎn)總結(jié).........................................................................71

4.2考研真題與典型題詳解.................................................................90

第5章輸入輸出管理..........................................................................94

5.1知識(shí)嚶點(diǎn)總結(jié)......................94

5.2考研真題與典型題詳解.…........-.......................105

附錄模擬試題..................................................108

操作系統(tǒng)考研模擬試題及答案(-)........................................................108

操作系統(tǒng)考研模擬試題及答案(二)........................................................122

操作系統(tǒng)考研模擬試?yán)砑按鸢福ㄈ?.......................................................129

第I章操作系統(tǒng)概述

1.1知識(shí)要點(diǎn)總結(jié)

一、操作系統(tǒng)的概念、特征、功能和提供的服務(wù)

I.操作系統(tǒng)的概念

(I)操作系統(tǒng)定義

操作系統(tǒng)<OperatingSystem.OS)是為裸機(jī)配置的一種系統(tǒng)軟件.是管理和控制計(jì)算機(jī)軟件和硬件資源的

管理機(jī)構(gòu),由一系列程序模塊組成的程序集合.它為用戶和其他軟件提供用機(jī)接口和環(huán)境,合理組織調(diào)度計(jì)算機(jī)

的工作和資源的分配,使用戶以及應(yīng)用程序能弊以安全和高效的方式得到運(yùn)行.

(2)操作系統(tǒng)的設(shè)計(jì)目標(biāo)

操作系統(tǒng)的設(shè)il目標(biāo)包括:

①提供用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接11,方便用戶使用:

②有效管理計(jì)算機(jī)系統(tǒng)硬件和軟件資源,使其得到更有效的利用:

③合理組織調(diào)度計(jì)算機(jī)系統(tǒng)的工作流程.以改善系統(tǒng)性能.

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

操作系統(tǒng)是一種系統(tǒng)軟件.但。其他的系統(tǒng)軟件和應(yīng)用軟件不同,操作系統(tǒng)自己的堪本特征包括并發(fā)性、

共享性、虛擬性和異步性.

(1)并發(fā)性

并發(fā)性是指兩個(gè)或兩個(gè)以上的再件或活動(dòng)在同?時(shí)間間隔內(nèi)發(fā)生,是指宏觀上在?段時(shí)間內(nèi)有多個(gè)程序在同

時(shí)運(yùn)行,但在微觀上這些程序是交替執(zhí)行的.

注意并發(fā)與并行的區(qū)別.并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生.

【例】在操作系統(tǒng)中.并發(fā)性是指若干個(gè)事件()發(fā)生。

A.在同一時(shí)刻

B.?定在不同時(shí)刻

C.在某一時(shí)間間隔內(nèi)

D.依次在不同時(shí)間間隔內(nèi)

【答案】C

【解析】并發(fā)性地指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生.而并行性主要指的是硬件上的概念,是指兩個(gè)

或多個(gè)事件在同一時(shí)刻發(fā)生.

(2)共享性

共享即資源共享,足指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用寬源共享是支掙并發(fā)性的他

礎(chǔ),為了支持進(jìn)程的并發(fā)執(zhí)行,操作系統(tǒng)必須才f效地控制并發(fā)進(jìn)程對(duì)資源的共享.

共享可分為兩種貨源共享方式:

①互斥共享方式,系統(tǒng)中的某些費(fèi)源在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問(wèn).進(jìn)程之間可樂(lè)地共享這些費(fèi)源,比

如打印機(jī)、觸帶機(jī)等。

②同時(shí)訪問(wèn)方式,系統(tǒng)中還有力?類資源,允許在一段時(shí)間內(nèi)由多個(gè)進(jìn)程“同時(shí)”對(duì)它們進(jìn)行訪問(wèn),這里所

謂的“同時(shí)”往往是宏觀上的,而在微觀上,這歧進(jìn)程可能是交甘地對(duì)該寬源進(jìn)行訪問(wèn)即“分時(shí)共享”,典型的

可供多個(gè)進(jìn)程“同時(shí)”訪問(wèn)的資源是磁盤設(shè)備.

并發(fā)和共享是操作系統(tǒng)兩個(gè)最屜本的特征,這兩昔之間又是互為存在條件的:?方面,資源共享是以程序的

并發(fā)為條件的,心系統(tǒng)不允許程序并發(fā)執(zhí)行,則自然不存在資源共享問(wèn)題:另一方而,若系統(tǒng)不能對(duì)資源共享實(shí)

施有效的管理.也必將影響到程序的并發(fā)執(zhí)行,具至根本無(wú)法并發(fā)執(zhí)行.

(3)虛擬性

虛擬性是指操作系統(tǒng)的一種管理技術(shù),它把物理上的一個(gè)實(shí)體變成邏輯上的2個(gè)對(duì)應(yīng)體.或者把物理上的多

個(gè)實(shí)體變?yōu)檫壿嬌系囊粋€(gè)時(shí)應(yīng)體.物理實(shí)體是實(shí)的.即實(shí)際存在的:而邏輯上的是虛的,是用戶盛覺(jué)上的第物.

操作系統(tǒng)中利用rB種虛擬技術(shù),例如CPU的分時(shí)和虛擬存儲(chǔ)器等.用分時(shí)使用一個(gè)處理器它能同時(shí)為彩個(gè)用

戶服務(wù),使彩個(gè)終端用戶都惟覺(jué)有一個(gè)中央處理器(CPU)在專門為它服務(wù).類似地.虛擬存儲(chǔ)器是將一臺(tái)機(jī)器

的物理存儲(chǔ)器變?yōu)樘摂M存儲(chǔ)器,以便從邏輯上來(lái)擴(kuò)充存儲(chǔ)器的容晶,當(dāng)然,這時(shí)用戶所感覺(jué)到的內(nèi)存容量是虛的.

(4)異步性

異步性也稱為斷機(jī)性.由于系統(tǒng)資源的共享.有限的資源使并發(fā)進(jìn)程之間產(chǎn)生相互制約關(guān)系,系統(tǒng)中的各個(gè)

進(jìn)程何時(shí)執(zhí)行、何時(shí)行停以及以怎樣的速度向前推進(jìn)、什么時(shí)候完成等都是不可預(yù)知的.這種特性稱為計(jì)算機(jī)的

異步性.

3.操作系統(tǒng)的功能

操作系統(tǒng)是計(jì)算機(jī)資源的管理者,它為用戶分配所需的各種軟硬件資源,向用戶提供r程序執(zhí)行的良好環(huán)境.

它的功能主要包括:處理機(jī)管理、存儲(chǔ)器懺理、設(shè)備管理以及文件管理.同時(shí)為f方便用戶使用操作系統(tǒng),還必

須向用戶提供接【1.

(!)處理機(jī)管理

處理機(jī)管理的主要任務(wù)是時(shí)處理機(jī)的分配和運(yùn)行實(shí)施有效管理,依據(jù)系統(tǒng)設(shè)計(jì)的各種策略執(zhí)行處理機(jī)的調(diào)度

以及處理內(nèi)部和外部的各種中斷貨件.在多道程序環(huán)境下,處理機(jī)的分陀和運(yùn)行都是以進(jìn)程為基本單位,因而對(duì)

處理機(jī)能管理可打結(jié)為對(duì)進(jìn)程的管理,進(jìn)程管理的主要功能有:進(jìn)程控制、進(jìn)程同步、進(jìn)程通信、死鎖處理、處

理機(jī)調(diào)度等.

(2)存儲(chǔ)器管理

存:儲(chǔ)器管理是為r給多道程序的運(yùn)行提供良好的環(huán)境.方便用戶使用以及提高內(nèi)存的利用率,主要包括內(nèi)存

分配、地址映射、內(nèi)存保護(hù)與共享和內(nèi)存擴(kuò)充等功能.

(3)設(shè)備管理

設(shè)齊帝理主要管理各種外部設(shè)得.根據(jù)用戶的請(qǐng)求,相助完成各種I/O操作,設(shè)備評(píng)理包括設(shè)備外設(shè)的管

理和控制,提供設(shè)和的柴動(dòng)和中斷處理程序,負(fù)詼設(shè)備的分配和驅(qū)動(dòng),保證設(shè)存獨(dú)士性,提供緩沖技術(shù),以便提

高設(shè)備的利用率.

(4)文件管理

文件管理主要指對(duì)系統(tǒng)中的各種軟件資源的管理,提供各種操作命令,實(shí)現(xiàn)用戶的按名存取.實(shí)現(xiàn)文件的共

享和存取控制以及文件存儲(chǔ)空間的管理等.

4.操作系統(tǒng)提供的服務(wù)

由操作系統(tǒng)的功能可總結(jié)出它提供的如卜服務(wù):

(I)提供用戶接口

操作系統(tǒng)是用戶與計(jì)算機(jī)硬件之間的接口,操作系統(tǒng)提供的接口主要分為三類:命令接口、程序接口以及圖

形接口,用戶利用命令接口來(lái)組織和控制作業(yè)的執(zhí)行;而編程人員可以使用程序接口來(lái)請(qǐng)求操作系統(tǒng)服務(wù).

①命令接口,該接「I按作業(yè)控制方式的不同可以分為聯(lián)機(jī)命令接口和脫機(jī)命令接口.

a.聯(lián)機(jī)用戶接口.是為聯(lián)機(jī)用戶提供的,它由一組健盤操作命令及命令解釋程序所組成.當(dāng)用戶在終端或

控制臺(tái)上每鍵入?條命令后,系統(tǒng)便立即轉(zhuǎn)入命令解樣程產(chǎn),對(duì)該命令加以解釋并執(zhí)行該命令,在完成指定功能

后,控制又返網(wǎng)到終端或控制臺(tái)上,等待用戶犍入下一條命令。

b.脫機(jī)命令接口,是為批處理作業(yè)的用戶提供的.故也稱為批處理用戶接II,該接口由一組作業(yè)控制語(yǔ)言

JCL組成,用戶利用該接「I與自己的作業(yè)進(jìn)行交互.

②程序接口,該接口由?組系統(tǒng)調(diào)用命令(簡(jiǎn)稱系統(tǒng)調(diào)用,也稱廣義指令)組成*用戶通過(guò)在程序中使用這

些系統(tǒng)調(diào)用命令來(lái)請(qǐng)求操作系統(tǒng)為其提供服務(wù)。用戶在程序中可以“接使用這組系統(tǒng)調(diào)用命令向系統(tǒng)提出各種服

務(wù)要求,如使用各種外部設(shè)備,進(jìn)行有關(guān)磁盤文件的操作.申請(qǐng)分配和回收內(nèi)存以及其他各種控制要求。

⑨圖形接IJ,該接口是為了讓用戶更方便獲得操作系統(tǒng)服務(wù),其采用圖形化的攆作界面將系統(tǒng)的各項(xiàng)功能、

各種應(yīng)用程序和文件直觀、逼真地去示出來(lái).用戶可用鼠標(biāo)或通過(guò)菜版以及時(shí)話框.來(lái)完成對(duì)應(yīng)用程序和文件的

操作.

(2)執(zhí)行程序,將用戶程序裝入內(nèi)存,并啟動(dòng)程序,控制程序正常完成任務(wù)或錯(cuò)誤終止.

(3)I/O操作,為請(qǐng)求I/O的用戶執(zhí)行設(shè)備的啟動(dòng)、驅(qū)動(dòng)和中斷處理等.

(4)文件系統(tǒng)操作,為用戶提供操作文件所需的各種操作和功能.

(5)通信版務(wù).控制進(jìn)程之間的同步和通信.

(6)錯(cuò)誤檢測(cè)和處理.

【例】操作系統(tǒng)為用戶提供了多種接口,它們是().

I.計(jì)算機(jī)島級(jí)指令:H.終端命令;W.圖標(biāo)菜單;IV.匯編語(yǔ)言:V.C語(yǔ)言:VI.系統(tǒng)調(diào)用

A.I;11;V

B.II;111;VI

C.Ill:IV:V

D.II:N;VI

【答案】B

【解析】操作系統(tǒng)有兩種接口,命令輸入和系統(tǒng)調(diào)用.而命令輸入又可以分為命令行和圖形用戶界面.終端

命令是命令行,圖標(biāo)菜單是圖形用戶界面.所以只有【I、ni和VI正確.

二、操作系統(tǒng)的發(fā)展,分類

i.無(wú)操作系統(tǒng)的計(jì)。機(jī)系統(tǒng)

(I)手工操作方式

還未出現(xiàn)os時(shí),計(jì)算機(jī)操作是由用戶(即程序員)采用人工僚作方式直接使用計(jì)算機(jī)硬件系統(tǒng),即由程序

員將事先已穿孔(對(duì)應(yīng)于程序和數(shù)據(jù))的紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片輸入機(jī)),再啟動(dòng)它們將程序

和數(shù)據(jù)輸入計(jì)算機(jī),然后后動(dòng)計(jì)算機(jī)運(yùn)行當(dāng)程序運(yùn)行完畢并取走計(jì)祥結(jié)果之后.才讓下一個(gè)用戶上機(jī)。

這種人工操作方式有以卜兩方面的缺點(diǎn):

①用戶獨(dú)占全機(jī).此時(shí),計(jì)算機(jī)及其全部費(fèi)源只能由上機(jī)用戶獨(dú)占:

②CPU等待人工操作,當(dāng)用戶進(jìn)行裝帶(卡八卸帶(卡)等人工操作時(shí),CPU及內(nèi)存等資源是空閑的.

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

脫機(jī)輸入/輸出方式是事先將裝有用戶程序和數(shù)據(jù)的紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片機(jī)),在一臺(tái)外

國(guó)機(jī)的控制下,把紙帶(卡片)上的數(shù)據(jù)(程序)輸入到磁帶上,當(dāng)CPU需要這些程序和數(shù)據(jù)時(shí),再?gòu)拇艓?/p>

將其高速地調(diào)入內(nèi)存.

相比手工操作方式,該方式花如卜優(yōu)點(diǎn):

山減少rCPU的空閑時(shí)間:

⑵提高「I/O速度.

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

它的工作方式是用戶脫機(jī)使用計(jì)算機(jī)系統(tǒng).果用單道或多道方式成批處理作業(yè),特點(diǎn)是有效地提高r系統(tǒng)資

源的利用效率:提高『系統(tǒng)的吞吐成;但用戶與作業(yè)之間無(wú)法交互;作業(yè)平均周轉(zhuǎn)時(shí)間較長(zhǎng).其適合處理計(jì)尊敬

大的成熟的作業(yè),早期的批處理系統(tǒng)用資源利用率、系統(tǒng)吞吐早以及作業(yè)的平均周轉(zhuǎn)時(shí)間等指標(biāo)來(lái)衡砧操作系統(tǒng)

的性能.

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

中道批處理系統(tǒng)是垃Y出現(xiàn)的種OS.該系統(tǒng)的卜:要特征如卜:

①自動(dòng)性,一批作業(yè)能自動(dòng)地逐個(gè)地依次運(yùn)行,無(wú)需人工干儂。

②順序性,磁帶上的各道作業(yè)是順序地進(jìn)入內(nèi)存依次執(zhí)行,亦即先調(diào)入內(nèi)存的作業(yè)先完成.

③單道性,在一個(gè)時(shí)刻,內(nèi)存中僅有一道程序運(yùn)行.

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

在多道批處理系統(tǒng)中.用戶所提交的作業(yè)都先存放在外存上并排成一個(gè)隊(duì)列,稱為“后備隊(duì)列”:然后,由

作業(yè)謝度程序按定的尊法從國(guó)備隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,使它們共享CPU和系統(tǒng)中的各種資源,

該系統(tǒng)的優(yōu)點(diǎn)主要有:

①可提高CPU的利用率:

②可提高內(nèi)存和I/O設(shè)備利用率;

③增加系統(tǒng)吞吐量.

但同時(shí)它也存在以下缺點(diǎn):

①平均周轉(zhuǎn)時(shí)間長(zhǎng):

②無(wú)交互能力.

多道批處理系統(tǒng)需要解決的問(wèn)題有:

①處理機(jī)管理問(wèn)題,在多道程序之間,應(yīng)如何分配被它們共享的處理機(jī)才能保證系統(tǒng)高效的工作.

②內(nèi)存管理問(wèn)題,應(yīng)如何為每道程序分配必要的內(nèi)存空間,使程序彼此互不干擾.

③I/O設(shè)備管理問(wèn)題,如何分配多種類型的I/O設(shè)備,以供多道程序所共享。

④文件管理問(wèn)題,應(yīng)如何組織大小的程序和數(shù)據(jù),才能使它們既便于用戶使用,又能保證數(shù)據(jù)的安全性和一

致性.

⑤作業(yè)管理問(wèn)題,系統(tǒng)中各作業(yè)存在蘢異,應(yīng)如何組織這些作業(yè).

3.分時(shí)操作系統(tǒng)

分時(shí)操作系統(tǒng)是多個(gè)用戶通過(guò)終端同時(shí)共學(xué)一臺(tái)主機(jī),這些終端連接在主機(jī)上,用戶可以同時(shí)與主機(jī)進(jìn)行交

互操作而互不I?擾它采用「分時(shí)技術(shù),所謂分時(shí)技術(shù)就是把處理器的運(yùn)行時(shí)間分成很短的時(shí)間片,按時(shí)間片輪

流把處理器分配給各聯(lián)機(jī)作業(yè)使用.分時(shí)操作系統(tǒng)的特點(diǎn)包括:同時(shí)性、獨(dú)“性、交互性和及時(shí)性.

(I)同時(shí)性也稱多路性,指允許多個(gè)終端用戶同時(shí)使用?一計(jì)算機(jī):

(2)獨(dú)立性是指系統(tǒng)中多個(gè)用戶可以彼此獨(dú)立地進(jìn)行操作.互不干擾,單個(gè)用戶撼覺(jué)不到別人也在使用這

臺(tái)計(jì)算機(jī),好像只有自己?jiǎn)为?dú)使用這臺(tái)計(jì)算機(jī)一樣;

(3)交互件即用戶通過(guò)終端采用人一機(jī)對(duì)話的方式H接控制程序運(yùn)行并且與程序進(jìn)行交互:

(4)及時(shí)性電指用戶請(qǐng)求能在很短時(shí)間內(nèi)獲得響應(yīng).

分時(shí)操作系統(tǒng)適介處理計(jì)算假小的不成熟的作業(yè),它使用響應(yīng)時(shí)間來(lái)衡楂操作系統(tǒng)的性能,影響分時(shí)操作系

統(tǒng)響應(yīng)時(shí)間的幾個(gè)因素包括:用戶數(shù)目、時(shí)間片以及程序切換時(shí)內(nèi)外存需要對(duì)換的信息鼠,分時(shí)系統(tǒng)的響應(yīng)時(shí)間

是以用戶能夠接受的等恃時(shí)間來(lái)確定的.

4.實(shí)時(shí)操作系統(tǒng)

實(shí)時(shí)操作系統(tǒng)是?個(gè)3用系統(tǒng),其工作方式是對(duì)隨機(jī)發(fā)生的外部事件能的在規(guī)定的時(shí)間內(nèi)做出響應(yīng)和處理.

實(shí)時(shí)系統(tǒng)的響應(yīng)時(shí)間是以被控制對(duì)象所能接收的延遲時(shí)間來(lái)確定的,它的主要特點(diǎn)是:實(shí)時(shí)性、可拿性和可確定

性.

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

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

用戶態(tài)和核心態(tài)是為了確保系統(tǒng)正確運(yùn)行,防止用戶程序破壞操作系統(tǒng)而引入的CPU的兩種運(yùn)行模式.

(I)內(nèi)核態(tài)

內(nèi)核態(tài)乂稱為核心態(tài),在此狀態(tài)下,運(yùn)行在該模式的代碼,可以無(wú)限制地對(duì)系統(tǒng)存儲(chǔ)、外部設(shè)備進(jìn)行訪問(wèn).

(2)用戶態(tài)

用戶態(tài)乂稱為目態(tài).是指『特權(quán)的執(zhí)行狀態(tài),在此狀您下.內(nèi)核禁止在此狀態(tài)下的代碼進(jìn)行潛在危險(xiǎn)的操作.

比如寫入系統(tǒng)配置文件、殺掉其他用戶的進(jìn)程、用門系統(tǒng)等.

系統(tǒng)把CPU的指令集劃分為特權(quán)指令(Privilegedlns(nictions)和M特權(quán)指令.特權(quán)指令是指關(guān)系系統(tǒng)全局

的指令,例如,存取和攆作CPU狀態(tài)、用動(dòng)各種外部設(shè)備、設(shè)置時(shí)鐘時(shí)間、關(guān)中斷、油主存、修改存儲(chǔ)器管理

寄存器、改變用戶方式到核心方式和停機(jī)指令等,這類指令只允許操作系統(tǒng)使用,不允許用戶使用.如果在用戶

態(tài)下企圖執(zhí)行一條特權(quán)指令,CPU則拒絕執(zhí)行該指令,并把它當(dāng)作非法指令.終止其運(yùn)行.在核心態(tài)下,CPU只

能執(zhí)行操作系統(tǒng)程序,允許執(zhí)行處理機(jī)的全部指令集(包括特權(quán)和非特權(quán)指令),可以訪問(wèn)和管理在存的全部空

間:而在用戶態(tài)卜,CPU執(zhí)行用戶程序,且只允許執(zhí)行處理機(jī)的II特權(quán)指令.

(3)狀態(tài)切換

在內(nèi)核態(tài)下CPU可執(zhí)行任何指令,在用戶態(tài)下CPU只能執(zhí)行非特權(quán)指令?當(dāng)CPU處于內(nèi)核態(tài),可以隨意

進(jìn)入用戶態(tài):而當(dāng)CPU處于用戶態(tài)時(shí),用戶從用戶態(tài)切換到內(nèi)核態(tài)只有在系統(tǒng)調(diào)用和中斷兩種情況下發(fā)生,-

般程序?開(kāi)始都是運(yùn)行于用戶態(tài).當(dāng)程序需要使用系統(tǒng)資源時(shí),就必須通過(guò)調(diào)用軟中斷進(jìn)入內(nèi)核態(tài)。

①用戶程序執(zhí)行到系統(tǒng)調(diào)用命令時(shí).CPU的執(zhí)行狀態(tài)由硬件自動(dòng)從用戶態(tài)切換為核心態(tài),執(zhí)行操作系統(tǒng)中

相應(yīng)的系統(tǒng)調(diào)用/程序.系統(tǒng)調(diào)用程序執(zhí)行完成后,CPU在返網(wǎng)用戶程序執(zhí)行前.將執(zhí)行方式再變向?yàn)橛脩魬B(tài).

之后繼續(xù)執(zhí)行用戶程序,從而達(dá)到系統(tǒng)保護(hù)的目的。

②用戶程序運(yùn)行過(guò)程中發(fā)送了外界中斷,CPU響應(yīng)中斷,它的執(zhí)行狀態(tài)也由用戶態(tài)轉(zhuǎn)換為核心態(tài),執(zhí)行相

應(yīng)的中斷處理程序,中斷處理完成后,通常CPU再返回到用戶程序執(zhí)行前將其執(zhí)行方式改為用戶態(tài).之后繼續(xù)

執(zhí)行用戶程序.

2.中斷、異常

(I)中斷

中斷(Interruption),也稱外中斷,指當(dāng)出現(xiàn)需要時(shí),CPUW時(shí)停止當(dāng)前程序的執(zhí)行轉(zhuǎn)而執(zhí)行處理新情況的

程序的執(zhí)行過(guò)程.即在程序運(yùn)療過(guò)程中,系統(tǒng)出現(xiàn)了一個(gè)必須由CPU立即處理的情況,此時(shí).CPU舊時(shí)中止程

序的執(zhí)行轉(zhuǎn)而處理這個(gè)新的情況的過(guò)程就叫做中斷.

(2)異常

異常(Excepiion),也稱內(nèi)中斷或陷入(Trap),指源自CPU執(zhí)行指令內(nèi)部的獷件,如程序的非法操作碼、

地址越界、即術(shù)溢出、虛存系統(tǒng)的缺頁(yè)以及專門的陷入指令等引起的貨件.時(shí)洋常的處理?般要依賴于當(dāng)向程序

的運(yùn)行現(xiàn)場(chǎng),而且異'常不能被屏蔽,一旦出現(xiàn)應(yīng)立即處理.

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

系統(tǒng)調(diào)川(sysiemcalD是由操作系統(tǒng)或現(xiàn)的程序接口或應(yīng)用編程按n(API)的集合.是應(yīng)用程序同系統(tǒng)之

間的接口.內(nèi)核提供?系列具符預(yù)定功能的多內(nèi)核函數(shù),通過(guò)系統(tǒng)調(diào)用的接口呈現(xiàn)給用戶?應(yīng)用程樣通過(guò)系統(tǒng)調(diào)

用把請(qǐng)求傳給內(nèi)核,調(diào)用相應(yīng)的的內(nèi)核函數(shù)完成所需的處理,然后系統(tǒng)調(diào)用再將處理結(jié)果返回給應(yīng)用程序

【例】以下說(shuō)法錯(cuò)誤的足(>.

A.系統(tǒng)調(diào)用是os提供給用戶程序的唯?接n

B.系統(tǒng)調(diào)用是OS內(nèi)核中提供的?些系統(tǒng)了程摩

C.系統(tǒng)調(diào)川必須通過(guò)執(zhí)行系統(tǒng)調(diào)用命令,由軟中斷轉(zhuǎn)向相應(yīng)的系統(tǒng)調(diào)用處理程序,同時(shí)CPU的執(zhí)"狀態(tài)

將從用戶態(tài)轉(zhuǎn)換為系統(tǒng)態(tài)

D.系統(tǒng)調(diào)用不會(huì)像一般的過(guò)程調(diào)用那樣執(zhí)行完后直接返回調(diào)用過(guò)程繼續(xù)執(zhí)行

【答案】D

【解析】?徽的過(guò)程調(diào)用在被調(diào)用過(guò)程執(zhí)行完后,將“接返回到調(diào)用過(guò)程繼續(xù)執(zhí)行:而對(duì)系統(tǒng)調(diào)用,如果用

搶占方式,則在被調(diào)用過(guò)程執(zhí)行完后,必須先對(duì)要求運(yùn)行的進(jìn)程做優(yōu)先權(quán)分析.只有當(dāng)調(diào)用進(jìn)程仍〃破高優(yōu)先權(quán)

時(shí).才返回到調(diào)用進(jìn)程繼續(xù)執(zhí)行;否則,將引起重新調(diào)度.

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

操作系統(tǒng)是一個(gè)1E常復(fù)雜的大型軟件.為了使它的功能正確而乂使于修改和維護(hù),必須進(jìn)行細(xì)心的工程設(shè)計(jì).

這就是操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì).操作系統(tǒng)的結(jié)構(gòu)主要包括:模塊化結(jié)構(gòu)、層次結(jié)構(gòu)和微內(nèi)核結(jié)構(gòu)。

I.模塊化結(jié)構(gòu)操作系統(tǒng)

模塊化結(jié)構(gòu)操作系統(tǒng)按其功能精心地劃分為若干個(gè)具有?定獨(dú)立性和大小的模塊:每個(gè)模塊具有某方面的首

理功能,如進(jìn)程管理模塊、存儲(chǔ)器管理模塊、I/O設(shè)備管理模塊等,并仔細(xì)地規(guī)定好各模塊間的接口,使各模塊

之間能通過(guò)該接口實(shí)現(xiàn)交互.然后,再進(jìn)一少將件模塊細(xì)分為著1二個(gè)具有?定功能的廣模塊.如把進(jìn)程管理模塊

乂分為進(jìn)程控制、進(jìn)程同步等r模塊,同樣也要規(guī)定好各r模塊之間的接【1各模塊、廣模塊等組成「模塊化操

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

模塊化結(jié)構(gòu)操作系統(tǒng)有以下優(yōu)點(diǎn):(I)提高OS設(shè)計(jì)的正確性、可理解性和可維護(hù)性;(2)增強(qiáng)OS的適應(yīng)

性:(3)加速OS的開(kāi)發(fā)過(guò)程.

2.層次結(jié)構(gòu)操作系統(tǒng)

層次結(jié)構(gòu)操作系統(tǒng)將系統(tǒng)分為若「?個(gè)層次,每層又由苦卜個(gè)模塊組成,谷層之間只存在著單向的依賴關(guān)系.

即高層僅依賴于緊鄰它的低層.

層次結(jié)構(gòu)操作系統(tǒng)有以下優(yōu)點(diǎn):(1)易保證系統(tǒng)的正確性:(2)易擴(kuò)充和易維護(hù)性.

3.微內(nèi)核結(jié)構(gòu)操作系統(tǒng)

在微內(nèi)核操作系統(tǒng)中.內(nèi)核是指精心設(shè)計(jì)的、能實(shí)現(xiàn)現(xiàn)代OS最基本的核心功能的部分.微內(nèi)核井力是個(gè)

完整的OS,而只是操作系統(tǒng)中最茶本的郃分,它通常用于:(I)實(shí)現(xiàn)F硬件緊密相關(guān)的處理:(2)實(shí)現(xiàn)?些較

基本的功能:(3)負(fù)揖客戶和服務(wù)器之間的通信.它們只是為構(gòu)建通用OS提供?個(gè)必要居礎(chǔ),這樣就可以確保

把操作系統(tǒng)內(nèi)核做得很小.

微內(nèi)核操作系統(tǒng)有以下優(yōu)點(diǎn):(I)提高丁系統(tǒng)的可擴(kuò)展性;(2)增強(qiáng)了系統(tǒng)的可喜性:(3)具有可移植性;

(4)提供了對(duì)分布式系統(tǒng)的支持:(5)融入了面向?qū)ο蠹夹g(shù).

微內(nèi)核結(jié)構(gòu)的最大問(wèn)腮是性能問(wèn)題,因?yàn)樾枰l繁地在核心態(tài)和用戶態(tài)之間進(jìn)行切換,操作系統(tǒng)的執(zhí)行開(kāi)銷

偏大.因此有的操作系統(tǒng)將那些頻繁使用的系統(tǒng)服務(wù)又移網(wǎng)內(nèi)核,從而保證系統(tǒng)性能.但是有相當(dāng)多的實(shí)驗(yàn)數(shù)據(jù)

表明,體系結(jié)構(gòu)不是引起性能下降的主要因素.體系結(jié)構(gòu)帶來(lái)的性能提升足以彌補(bǔ)切換開(kāi)銷帶來(lái)的缺陷.為減少

切換開(kāi)銷.也有人提出將系統(tǒng)服務(wù)作為運(yùn)行庫(kù)鏈接到用戶程序的一種解決方案.這樣的體系結(jié)構(gòu)稱為庫(kù)操作系統(tǒng),

1.2考研真題與典型題詳爵

一、單頊選擇題

1.下列指令中.不能在用戶態(tài)執(zhí)行的是().[2014年聯(lián)考我翹]

A.trap指令

B.跳轉(zhuǎn)指令

C.后棧指令

D.關(guān)中斷指令

【答窠】D

【解析】關(guān)中斷指令必須在核心態(tài)才能執(zhí)行.trap指令可以在用戶態(tài)下執(zhí)行,執(zhí)行完就轉(zhuǎn)到核心態(tài),跳轉(zhuǎn)與

退棧指令都是可以在川戶態(tài)下執(zhí)行的指令.

2.下列選項(xiàng)中,會(huì)導(dǎo)致用戶進(jìn)理從用戶態(tài)切換到內(nèi)核態(tài)的操作是().12013年原考典題|

I.摳數(shù)除以零II.sin()函數(shù)調(diào)用III.read系統(tǒng)調(diào)用

A.僅1、II

B.僅I、III

C.僅II.III

D.LII和III

【答案】B

【解析】時(shí)于I.系統(tǒng)發(fā)生異常,需要進(jìn)入內(nèi)核態(tài)由操作系統(tǒng)進(jìn)行處理,而read系統(tǒng)調(diào)用函數(shù)也是在內(nèi)核態(tài)執(zhí)

行,sin()就是普通的用戶函數(shù),在用戶態(tài)執(zhí)行,因此答案選B.

3.下列選項(xiàng)中,不可能在用戶態(tài)發(fā)生的事件是().12()12年聯(lián)考真題1

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

B.外部中斷

C.進(jìn)程切換

D.缺頁(yè)

【答窠】C

【解析】現(xiàn)代操作系統(tǒng)中為「共享和保護(hù),設(shè)定了用戶態(tài)和內(nèi)核態(tài)(可以通過(guò)設(shè)置軟、硬件標(biāo)忐位來(lái)實(shí)現(xiàn)),

在用戶態(tài)運(yùn)行用戶的程序,在內(nèi)核運(yùn)行系統(tǒng)的程序.所以,從選項(xiàng)來(lái)存.系統(tǒng)調(diào)用可以在任何態(tài)發(fā)生,用戶可以

發(fā)起系統(tǒng)調(diào)用,系統(tǒng)也可以;外部中斷出不可控的.也會(huì)在任何時(shí)刻發(fā)生,缺頁(yè)的發(fā)生也是不可控的,可以發(fā)生

在用戶代碼之間;而進(jìn)程切換卻不會(huì)在用戶態(tài)發(fā)生.我們可以考慮一卜情形,進(jìn)程切換是在什么時(shí)候發(fā)生的,進(jìn)

程切換前必定運(yùn)行的是進(jìn)程調(diào)度,只有進(jìn)程調(diào)度選擇/下一次被調(diào)賽的進(jìn)程,進(jìn)程切換才可以進(jìn)行.進(jìn)程調(diào)度是

scheduler,進(jìn)程切換是disp;iiher,這體現(xiàn)了現(xiàn)代操作系統(tǒng)彼略與機(jī)制分離的設(shè)計(jì)思想。所以,進(jìn)程切換必定不會(huì)

在用戶態(tài)發(fā)生(所謂發(fā)生指其起始的源頭時(shí)刻),必定是在內(nèi)核態(tài)發(fā)生的.

4.訂購(gòu)機(jī)票系統(tǒng)處理來(lái)自各個(gè)終端的服務(wù)請(qǐng)求,處理后通過(guò)終端回答用戶,所以它是一個(gè)().[河北

大學(xué)考研ft?|

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

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

C.計(jì)算機(jī)網(wǎng)絡(luò)

D.實(shí)時(shí)信息處理系統(tǒng)

【答案】D

【解析】分時(shí)系統(tǒng)的主要特點(diǎn)是:交互性、及時(shí)性、獨(dú)在性和多路性;多道批處理系統(tǒng)JI有以卜特征:多道

性、無(wú)序性和調(diào)發(fā)性:計(jì)算機(jī)網(wǎng)絡(luò)成七要的特點(diǎn)是數(shù)據(jù)通信和費(fèi)源共享;

實(shí)時(shí)信息處理系統(tǒng):根據(jù)用戶提出的杳詢要求進(jìn)行俏息檢索和處理,并在牧短的時(shí)間內(nèi)對(duì)用戶作出正確的響應(yīng).

在這里主要強(qiáng)調(diào)的是實(shí)時(shí)性。

5.用戶可以通過(guò)()兩種方式來(lái)使用計(jì)算機(jī).[北京郵電大學(xué)考研出題1

A.命令方式和函數(shù)方式

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

C.命令方式和文件常理方式

D.設(shè)備管理方式和系統(tǒng)調(diào)用方式

【答案】B

【的析】用戶可以通過(guò)以下兩種方式來(lái)使用il靠機(jī):①命令方式。這是指由OS提供的一組聯(lián)機(jī)命令(語(yǔ)言).

用戶可通過(guò)送盤鍵入有關(guān)的命令,來(lái)自接操縱計(jì)克機(jī)系統(tǒng)。②系統(tǒng)調(diào)用方式。OS提供廣一組系統(tǒng)調(diào)用,用戶可

在應(yīng)用程序中通過(guò)調(diào)用相應(yīng)的系統(tǒng)調(diào)用來(lái)操縱計(jì)。.機(jī).

6.用戶程序在目態(tài)下使用特權(quán)指令引起的中斷屬]:().I北京航空航天大學(xué)考研H題)

A.硬件故障中斷

B.程序中斷

C.外部中斷

D.訪怦中斷

【答案】D

【的析】從日態(tài)轉(zhuǎn)換為管態(tài)的惟一途徑是中斷,為「防止用戶程序中使用特權(quán)指令,日態(tài)下只能使用除特權(quán)

指令以外的指令,管態(tài)卜可以使用全部指令.所以把用戶程序放在目態(tài)卜運(yùn)行,而操作系統(tǒng)中必須使用特權(quán)指令

的那部分程序可在管態(tài)下運(yùn)行,保證計(jì)算機(jī)系統(tǒng)的安全可界,當(dāng)處于目態(tài)的用戶程序使用系統(tǒng)調(diào)用時(shí),則系統(tǒng)根

據(jù)訪管指令的操作數(shù)執(zhí)行訪管中斷處理程序,這種中斷屬于訪管中斷.

7.無(wú)論在哪?種操作系統(tǒng)中,()命令只在核心態(tài)執(zhí)行.[中山大學(xué)考研真題]

A.該時(shí)鐘日期

B.改變內(nèi)存分配位圖

C.解融所有中斷

D.改變磁盤空間分間位圖

【答案】C

【解析】由于屏蔽所有中斷十分垂要.不能隨便讓目態(tài)的用戶程序使用,所以它只能由處于管態(tài)的操作系統(tǒng)

來(lái)自行處理,

8.()系統(tǒng)R有同時(shí)怦理和運(yùn)行多個(gè)應(yīng)用程序的功能.|瑯慶理工大學(xué)考研改題)

A.GUI

B.WindowsApplications

C.Muhitasking

D.Networking

【答案】C

【斛析】GUI是英文GraphicuserlnlerfMC(圖形用戶界面)的縮寫,。同時(shí)運(yùn)行多個(gè)程序無(wú)關(guān):而Windows

Applications是指Windows的應(yīng)用,它本身并不JL備同時(shí)管,理和運(yùn)行多個(gè)應(yīng)用程序的功能:Networking是指網(wǎng)絡(luò)

與管理和運(yùn)行應(yīng)用程序任不相關(guān)。Multitasking多任務(wù)系統(tǒng),顧名思義就是能同時(shí)運(yùn)行名個(gè)任務(wù)的操作系統(tǒng),所

以它也就具備「同時(shí)管理和運(yùn)行多個(gè)應(yīng)用程序的功能.

9.卜列關(guān)于操作系統(tǒng)的說(shuō)法中,錯(cuò)誤的是().

I.在通用操作系統(tǒng)管理卜?的計(jì)算機(jī)上運(yùn)行程序.需要向操作系統(tǒng)州定運(yùn)行時(shí)間

II.在通川操作系統(tǒng)管理下的計(jì)算機(jī)上運(yùn)行程序,需要確定起始地址,并從這個(gè)地址開(kāi)始執(zhí)行

ni.操作系統(tǒng)需要提供高級(jí)程序設(shè)計(jì)語(yǔ)言的編譯器

IV.管理計(jì)算機(jī)系統(tǒng)資源是操作系統(tǒng)關(guān)心的主要向時(shí)

A.I.Ill

B.11.Ill

C.I,II,III.IV

D.以上答案都正確

【答案】A

【解析】I項(xiàng)錯(cuò)誤:通用操作系統(tǒng)使用時(shí)間片輪轉(zhuǎn)調(diào)度輯法,用戶運(yùn)行程序并不需嬰預(yù)先預(yù)定運(yùn)行時(shí)間;II

項(xiàng)正確,操作系統(tǒng)執(zhí)行程序時(shí),必須要從起始地址開(kāi)始執(zhí)行:山項(xiàng)錯(cuò)誤,編譯器是操作系統(tǒng)的上層軟件,不是操

作系統(tǒng)所需要提供的功能;IV項(xiàng)正確.操作系統(tǒng)是計(jì)鄂機(jī)資源的管理西.故首理il算機(jī)系統(tǒng)資源是操作系統(tǒng)關(guān)心

的主要問(wèn)題.

10.下列關(guān)于系統(tǒng)調(diào)用的說(shuō)法正確的是().

I.用戶程序設(shè)計(jì)時(shí),使川系統(tǒng)調(diào)用命令,該命令經(jīng)過(guò)編詳后.形成若「?參數(shù)和陷入(trap)指令

H.用戶程序設(shè)計(jì)時(shí),使用系統(tǒng)調(diào)用命令,該命令經(jīng)過(guò)編評(píng)后,形成若干參數(shù)和屏蔽中斷指令

1H.系統(tǒng)調(diào)用功能是操作系統(tǒng)向用戶程序提供的接口.

IV.用戶及其應(yīng)用程序和應(yīng)用系統(tǒng)是通過(guò)系統(tǒng)調(diào)用提供的支持和服務(wù)來(lái)使用系統(tǒng)資源完成其操作的

A.I,III

B.n,iv

C.1,IILIV

D.II,IlkIV

【答案】C

【的析】I項(xiàng)正確,系統(tǒng)調(diào)用需要觸發(fā)trap指令,如基于x86的Linux系統(tǒng),該指令為intx8O或sysenter.

H是廣擾項(xiàng).程序設(shè)計(jì)無(wú)法形成屏敝中斷指令.川項(xiàng)正確.系統(tǒng)調(diào)用的概念.N項(xiàng)正確:操作系統(tǒng)是一層接口.

對(duì)匕層提供服務(wù),對(duì)下層進(jìn)行抽象,它通過(guò)系統(tǒng)調(diào)用向其上層的用戶、應(yīng)用程序和應(yīng)用系統(tǒng)提供對(duì)系統(tǒng)貨源的使

用.

II.相對(duì)于傳統(tǒng)操作系統(tǒng)結(jié)構(gòu).采用微內(nèi)核結(jié)構(gòu)設(shè)計(jì)和實(shí)現(xiàn)操作系統(tǒng)有諸多好處,卜列哪些是微內(nèi)核結(jié)構(gòu)

的特點(diǎn)(>.

1.使系統(tǒng)更高效:i【.添加系統(tǒng)服務(wù)時(shí),不必修改內(nèi)核:”.微內(nèi)核結(jié)構(gòu)沒(méi)rr單一內(nèi)核穩(wěn)定:iv.使系統(tǒng)

更可靠.

A.I,IILIV

B.LII、IV

C.II、IV

D.I,IV

【答案】C

【解析】微內(nèi)核結(jié)構(gòu)將操作系統(tǒng)的很多服務(wù)移動(dòng)到內(nèi)核以外(如文件系統(tǒng)),IL服務(wù)之間使用進(jìn)程間通佶機(jī)

制進(jìn)行信息交換,1項(xiàng)借誤,這種通過(guò)進(jìn)程間通信機(jī)制進(jìn)行信息交換影響了系統(tǒng)的效率。m項(xiàng)錯(cuò)誤,由于內(nèi)核的

服務(wù)變少了,且一般來(lái)說(shuō)內(nèi)核的服務(wù)越少內(nèi)核越穩(wěn)定.而n、N正是微內(nèi)核結(jié)構(gòu)的優(yōu)點(diǎn).

二、綜合應(yīng)用題

1.什么是操作系統(tǒng)7E有什么璀本特征?[北方名校經(jīng)典試題|

答:操作系統(tǒng)(OpeningSystem,簡(jiǎn)稱OS>足個(gè)管理計(jì)算機(jī)系統(tǒng)資源,控制程序運(yùn)行的系統(tǒng)軟件,它為

用戶提供了一個(gè)方便、安全、可林的工作環(huán)境和界面,它有4個(gè)基本特征:

(I)并發(fā)性:指兩個(gè)或多個(gè)獷件在同一時(shí)間間隔內(nèi)發(fā)生:

(2)共享性:指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用:

(3)虛擬性:指通過(guò)某種技術(shù)把個(gè)物理實(shí)體變成若干個(gè)邏輯上的時(shí)應(yīng)物;

(4)異步性:即不確定性.在多道程序設(shè)計(jì)中,各個(gè)程序之間存在著直接或間接的聯(lián)系.程序的推進(jìn)速度

受它的運(yùn)行環(huán)境的影響.這時(shí)同一程序和數(shù)據(jù)的多次造仃可能得到不同的結(jié)果:程廳;的達(dá)行時(shí)間、運(yùn)行順序也具

有不確定性:外部輸入的請(qǐng)求、運(yùn)行故障發(fā)生的時(shí)間難以預(yù)測(cè).這些都是不確定性的表現(xiàn)

2.什么是特權(quán)指令與11特權(quán)指令?

答:(I)特權(quán)指令,是指有特殊權(quán)限的指令,由于這類指令的權(quán)限最大.如果使用不當(dāng).將導(dǎo)致愜個(gè)系統(tǒng)崩

潰.比如:清內(nèi)存、置時(shí)鐘.分配系統(tǒng)費(fèi)源.修改虛存的段表或頁(yè)表、修改用戶的訪問(wèn)權(quán)網(wǎng)等.為了保證系統(tǒng)安

全,這類指令只能用于操作系統(tǒng)或其他系統(tǒng)軟件,不直接提供給用戶使用.因此,特權(quán)指令必須在核心態(tài)執(zhí)行.

實(shí)際上,CPU在核心態(tài)下可以執(zhí)行指令系統(tǒng)的全集.

(2)作特權(quán)指令.是指在用戶態(tài)下能使用的指令.為了防止用戶程序使用特權(quán)指令.用戶態(tài)F只能使用非特

權(quán)指令,核心態(tài)下可以使用全部指令.當(dāng)在用戶態(tài)下使用特權(quán)指令時(shí),將產(chǎn)生中斷以阻止用戶使用特權(quán)指令所

以用戶程序在用戶態(tài)卜運(yùn)行,而操作系統(tǒng)中使用特權(quán)指令的那部分程序需在核心態(tài)下運(yùn)行,這樣才能保讓計(jì)律機(jī)

系統(tǒng)的安全可靠.從用戶態(tài)轉(zhuǎn)換為核心態(tài)的唯一途徑是中斷或異常

第2章迸程黃理

2.1知識(shí)要點(diǎn)總結(jié)

一,進(jìn)程與線程

I.進(jìn)程慨念

(I)進(jìn)程的引入

程序順序執(zhí)行時(shí)具有順序性、封閉性.以及可再現(xiàn)性。但在多道程序環(huán)境F.uj■以有多個(gè)程序并發(fā)執(zhí)行.此

時(shí)它們封閉性和可再現(xiàn)性被破壞,具行間斷性及不可再現(xiàn)性的特征.并且并行執(zhí)行的程序共學(xué)系統(tǒng)資源,將產(chǎn)生

相互制約關(guān)系,程序與CPU執(zhí)行的活動(dòng)之間也將不再一一對(duì)應(yīng).所以為r更好地描述和控制程序的并發(fā)執(zhí)行,

實(shí)現(xiàn)操作系線的并發(fā)性和共享性,引入了進(jìn)程(Process)的概念.

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

可以從不同的角度來(lái)定義進(jìn)程.較典型的進(jìn)程定義行:

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

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

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

在引入r進(jìn)程實(shí)體的概念后,我們可以把傳統(tǒng)操作系統(tǒng)中的進(jìn)程定義為:“進(jìn)程足迸程實(shí)體的運(yùn)行過(guò)程,是

系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位”.

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

進(jìn)程是由多道程序的并發(fā)執(zhí)行而引出的,它和程序是兩個(gè)截然不同的概念.進(jìn)程的特點(diǎn)包括:動(dòng)態(tài)性、并發(fā)

性、獨(dú)立性、異步性和結(jié)構(gòu)性.

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

的生命期.故進(jìn)程動(dòng)態(tài)性我現(xiàn)在:“它由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行.由撤消而消亡”.

②并發(fā)性,指多個(gè)進(jìn)程實(shí)體同存于內(nèi)存中,且能在?段時(shí)間內(nèi)同時(shí)運(yùn)行.并發(fā)性既是進(jìn)程的也要特征也是操

作系統(tǒng)的重要特征.

③獨(dú)立性,指進(jìn)程實(shí)體是?個(gè)能獨(dú)立運(yùn)行、獨(dú)立分配資源和獨(dú)立接受調(diào)度的居本單位.需注意的是凡未建立

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

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

⑤結(jié)構(gòu)性,指為J?程序能并發(fā)執(zhí)行,為其配置進(jìn)程控制塊即PCB(ProcessControlBlock).由程序段、相關(guān)

的數(shù)據(jù)段和PCB三部分便構(gòu)成了進(jìn)程實(shí)體.

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

進(jìn)程控制塊PCB也叫做進(jìn)程描述符(ProccssDcscriptcr),用于記求進(jìn)程的運(yùn)行變化過(guò)程,PCB是進(jìn)程存在

的啡?標(biāo)識(shí),它包含「進(jìn)程的描述信息和管理控制信息,足進(jìn)程動(dòng)態(tài)特性的集中衣現(xiàn).操作系統(tǒng)依據(jù)進(jìn)程控制塊

來(lái)管理和調(diào)改系統(tǒng)中的進(jìn)程,所謂創(chuàng)建進(jìn)程,實(shí)質(zhì)上層創(chuàng)建進(jìn)程丈體中的PCB:而撤消進(jìn)程,實(shí)質(zhì)上是撤消進(jìn)

程的PCB

進(jìn)程控制塊包含的內(nèi)容有:⑦進(jìn)程標(biāo)識(shí)數(shù);②進(jìn)程的狀態(tài)以及調(diào)度和存儲(chǔ)器管理信息;③進(jìn)程使用的寬源信

息;?CPU現(xiàn)場(chǎng)保護(hù)M;⑥記賬信息以及進(jìn)程的地接指針.

(5)進(jìn)程H程序的聯(lián)系與區(qū)別

①進(jìn)程是程序的一次執(zhí)行,它是一個(gè)動(dòng)態(tài)的概念:程序是完成某個(gè)特定功能的指令的行序序列.它是一個(gè)靜

態(tài)的概念;

②進(jìn)程是系統(tǒng)進(jìn)行費(fèi)源分配和調(diào)度的?個(gè)獨(dú)立單位,程序則不是;

③進(jìn)程是具有結(jié)構(gòu)的,程序沒(méi)有結(jié)構(gòu).

【例】下面對(duì)進(jìn)程的描述中,錯(cuò)誤的是(>.

A.進(jìn)程是有生命期的

B.進(jìn)程是動(dòng)態(tài)的慨念

C.進(jìn)程是指令的集合

D.進(jìn)程執(zhí)行需要處理機(jī)

【答案】C

【解析】進(jìn)程可以理解為:可并發(fā)執(zhí)行的程序在一個(gè)數(shù)據(jù)集上的運(yùn)行過(guò)程,是系統(tǒng)進(jìn)行資源(如:CPU、

內(nèi)存、設(shè)備、文件、數(shù)據(jù)等)分配和調(diào)度的獨(dú)江單位:進(jìn)程的存在有一定的時(shí)間周期,它是一個(gè)動(dòng)態(tài)的概

念,Tf三種狀態(tài):執(zhí)行狀態(tài)、就緒狀態(tài)和等待狀態(tài):5除CPU外其他資源都就緒時(shí),進(jìn)程處于就緒狀態(tài).

當(dāng)進(jìn)程得到CPU時(shí)(根據(jù)進(jìn)行調(diào)度算法.得到CPU),在得到的CPU時(shí)間片中.處F執(zhí)行狀態(tài):當(dāng)CPU

時(shí)間片川完或其他資源不就緒時(shí),進(jìn)入等待狀態(tài);由此可見(jiàn)進(jìn)程是抽象的.和程序不同,不是指令的集合.

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

進(jìn)程在其生命周期內(nèi),由于系統(tǒng)中各進(jìn)程之間的相互制約關(guān)系及系統(tǒng)的運(yùn)行環(huán)境的變化,使得進(jìn)程的狀態(tài)也

在不斷地發(fā)生變化,為了表示這些不同狀態(tài),為進(jìn)程定義r五種狀態(tài):就緒狀態(tài).運(yùn)行狀態(tài)、阻塞狀態(tài)、創(chuàng)建狀

態(tài)以及結(jié)束狀態(tài),K中前一:種是進(jìn)程的甚本狀態(tài).

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

①就緒狀態(tài),是指進(jìn)程已分配到除CPU以外的所有必要資源,就只需等待CPU.一旦獲得CPU,便可立即

執(zhí)行。在一個(gè)系統(tǒng)中處于就緒狀態(tài)的進(jìn)程可能有多個(gè),通常將它們摞成?個(gè)隊(duì)列.稱為就緒隊(duì)列.

②運(yùn)行狀態(tài),又稱執(zhí)行狀態(tài).指進(jìn)程已經(jīng)獲得CPU.其程序正在執(zhí)行,需要注意的是在單.處理機(jī)系統(tǒng)中.

毋個(gè)時(shí)刻最多只方?個(gè)進(jìn)程處于運(yùn)行狀態(tài):而在多處理機(jī)系統(tǒng)中.則可以有多個(gè)處于運(yùn)行狀態(tài)的進(jìn)程.

③阻塞狀態(tài),又稱等待狀態(tài).指進(jìn)程因?yàn)榘l(fā)生某受件而折時(shí)無(wú)法繼續(xù)執(zhí)行不得不放棄處理機(jī)所進(jìn)入的狀態(tài).

致使進(jìn)程進(jìn)入阻塞的典型事件行:請(qǐng)求I/O、申請(qǐng)獴沖空間等。當(dāng)進(jìn)程所等待的事件完成后,進(jìn)程將進(jìn)入就緒狀

態(tài).在一個(gè)系統(tǒng)中處于阻塞狀態(tài)的進(jìn)程可能有多個(gè),通常將它們排成一個(gè)隊(duì)列,稱為阻塞列列,

④創(chuàng)建狀態(tài),進(jìn)程被創(chuàng)建時(shí)的狀態(tài),在該狀態(tài)下,主要的操作有申請(qǐng)空白PCB,根據(jù)進(jìn)程信息向PCB中填

寫控制和管理謖進(jìn)程的信息,以及由系統(tǒng)為該進(jìn)程分配所必需的資源.

⑤結(jié)束狀態(tài),進(jìn)程從系銃中消亡時(shí)的狀態(tài),在該狀態(tài)F.主要的操作有問(wèn)收進(jìn)程的資源,清除進(jìn)程相關(guān)信息.

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

一個(gè)進(jìn)程從無(wú)到有.執(zhí)行完任務(wù)而消亡,通常經(jīng)歷創(chuàng)隹態(tài)、就緒態(tài)、運(yùn)行態(tài)、等待態(tài)和終止態(tài)5個(gè)狀態(tài)的變

換。進(jìn)程〃種狀態(tài)間的轉(zhuǎn)換如圖2-1所小:

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

①就緒態(tài)一運(yùn)行態(tài),處I就緒隊(duì)列中的進(jìn)程通過(guò)進(jìn)程調(diào)度獲得CPU進(jìn)入運(yùn)行狀態(tài).

②運(yùn)行態(tài)一用塞態(tài)。,勺進(jìn)程請(qǐng)求某?資源(如外設(shè))的使用和分配或等待某邛件的發(fā)生(如I/O操作的

完成)時(shí),它就從運(yùn)行狀態(tài)轉(zhuǎn)換為阻塞狀態(tài).

③運(yùn)行態(tài)-就緒態(tài)運(yùn)行態(tài)進(jìn)入就緒態(tài)有兩種情況:

a.處于運(yùn)行狀態(tài)的進(jìn)程時(shí)間片用完r,進(jìn)入就緒態(tài)等待卜一次的調(diào)度:

b.剝奪式調(diào)慢中,當(dāng)行更高優(yōu)先級(jí)的進(jìn)程就緒時(shí),巧前正在運(yùn)行的進(jìn)程讓出CPU給高優(yōu)先級(jí)進(jìn)程,自己進(jìn)

入就緒狀態(tài).

&阻戲態(tài)一就緒態(tài)阻塞進(jìn)程等待的某個(gè)4件發(fā)生了,則該進(jìn)程被喚便進(jìn)入就緒狀態(tài),如I/O操作完成或

中斷結(jié)束時(shí),則應(yīng)把因其阻塞的進(jìn)程喚醒進(jìn)入就緒狀態(tài).

需要注意的是,一個(gè)進(jìn)程從運(yùn)行狀態(tài)變成阻塞狀態(tài)是一個(gè)主動(dòng)的行為,而從阻塞狀態(tài)變到就緒狀態(tài)是一個(gè)被

動(dòng)的行為,需要其他相關(guān)進(jìn)程的協(xié)助.

【例】進(jìn)程從運(yùn)行狀態(tài)進(jìn)入就緒狀態(tài)的原因可能是().

A.被選中占有處理機(jī)

B.等待某速件

C.等待的事件已發(fā)生

D.時(shí)間片用完

【答案】D

【解析】進(jìn)程被選中占用處理機(jī)是進(jìn)入運(yùn)行狀態(tài).進(jìn)程等待某一事件發(fā)生會(huì)進(jìn)入阻塞狀態(tài).等待的事件已發(fā)

生會(huì)促使進(jìn)程由阻塞狀態(tài)進(jìn)入就緒狀態(tài).時(shí)間片用完時(shí),進(jìn)程會(huì)進(jìn)入就緒狀態(tài),等待調(diào)度程序的下?次時(shí)間片分

配。

3.進(jìn)程控制

系統(tǒng)中的進(jìn)程在運(yùn)行過(guò)程中不斷地產(chǎn)生和消亡.或者說(shuō).進(jìn)程生命周期包括產(chǎn)生、存在、進(jìn)程狀態(tài)轉(zhuǎn)換、消

亡而最終撤離系統(tǒng)的,整個(gè)過(guò)程是由進(jìn)程控制來(lái)管理和實(shí)現(xiàn)的.進(jìn)程控制功能是由操作系統(tǒng)內(nèi)核中的原語(yǔ)來(lái)實(shí)現(xiàn)

的.進(jìn)程控制包括進(jìn)程的創(chuàng)建、進(jìn)程的撤用、進(jìn)程的阻塞、進(jìn)程的噢醒、進(jìn)程的掛起和激活以及進(jìn)程的切換等.

(I)原語(yǔ)的概念

原語(yǔ)是機(jī)器指令的延伸,是由若干條機(jī)器指令構(gòu)成、運(yùn)行在核心態(tài)的、用以實(shí)現(xiàn)特定功能的?段程序.為廣

保證操作的正確性,原語(yǔ)在執(zhí)行的過(guò)程中是不可分割的,也即其執(zhí)行過(guò)程是不允許中斷的,換言之原語(yǔ)操作要么

不做要么全做.

(2)進(jìn)程的創(chuàng)建

①引起進(jìn)程創(chuàng)建的典型事件

在操作系統(tǒng)中,引起創(chuàng)建進(jìn)程的典型事件有:a.用戶登錄;b.作業(yè)調(diào)度:c.提供服務(wù);d.應(yīng)用請(qǐng)求.其

中前三種情況都是由系統(tǒng)內(nèi)核為創(chuàng)建?個(gè)新進(jìn)程,而d類陰件應(yīng)用進(jìn)程自己創(chuàng)建?個(gè)新進(jìn)程,以便使新進(jìn)程以并

發(fā)運(yùn)行方式完成特定任務(wù),由此可以石'出操作系統(tǒng)是允許一個(gè)進(jìn)程創(chuàng)建另一個(gè)進(jìn)程的.創(chuàng)建者稱為父進(jìn)程,被創(chuàng)

建的進(jìn)程稱為「進(jìn)程.子進(jìn)程可以繼承父進(jìn)程所擁仃的資源.當(dāng)f進(jìn)程被撤銷時(shí),應(yīng)將其從父進(jìn)程那里獲得的資

源歸還給父進(jìn)程.此外,在撤銷父進(jìn)程時(shí),也必須同時(shí)撤銷其所有的f進(jìn)程.

②創(chuàng)建迸程所做的操作即進(jìn)程創(chuàng)建原語(yǔ)

a.申請(qǐng)空白PCB;

b.為新進(jìn)程分限寬源;

c.初始化進(jìn)程控制塊PCB,填寫一些控制和管理進(jìn)程的信息;

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

(3)進(jìn)程的撤銷

①引起進(jìn)程撤銷的原因

在操作系統(tǒng)中,引起進(jìn)程撤銷的原因有:

a.正常結(jié)束,正常結(jié)束即衣示進(jìn)程已經(jīng)運(yùn)行完成;

b.異常結(jié)束,料常結(jié)束是指在進(jìn)程運(yùn)行期間,用現(xiàn)某些錯(cuò)誤和故障而迫使進(jìn)程終止,這類異常%件很多.

常見(jiàn)的有卜述幾種:越界借誤、保護(hù)錯(cuò)、非法指令、特權(quán)指令錯(cuò)、運(yùn)行超時(shí)、等待超時(shí)、兌術(shù)運(yùn)兌錯(cuò)以及I/O故

C.外界「情.而外界干預(yù)是指進(jìn)程因外界的請(qǐng)求而終止運(yùn)行,常見(jiàn)的干預(yù)行:操作員或操作系統(tǒng)干預(yù)、父

進(jìn)程請(qǐng)求、以及父進(jìn)程終止.

劣撤銷進(jìn)程所做的操作即進(jìn)程撤箱原責(zé)

a.從PBC集合中檢索出荷消亡進(jìn)程的K:B;

b.芥枝終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進(jìn)程的執(zhí)行,并巴調(diào)慢標(biāo)忐為在以指示新的進(jìn)程調(diào)度:

c.若被終止進(jìn)程有子孫進(jìn)程,應(yīng)終止其子孫進(jìn)程,以防其成為不可控的進(jìn)程:

d.收回被終止進(jìn)程所占資源.若其有父進(jìn)程則歸還給父進(jìn)程,否則歸還給系統(tǒng):

e.將被終止進(jìn)程從所在隊(duì)列中移出.

(4)進(jìn)程的阻塞

①弓I起進(jìn)程阻塞的事件

在操作系統(tǒng)中,引起進(jìn)程阻案的事件有:

a.請(qǐng)求系統(tǒng)服務(wù).正在執(zhí)行的進(jìn)程請(qǐng)求操作系統(tǒng)提供服分,由于某種原因,操作系統(tǒng)并不立即滿足該進(jìn)程

的要求時(shí),該進(jìn)程只能轉(zhuǎn)變?yōu)樽枞麪顟B(tài)來(lái)等待:

b.啟動(dòng)某種操作,當(dāng)進(jìn)程啟動(dòng)某種操作后,如果該進(jìn)程必苑在該操作完成之后才能繼續(xù)執(zhí)行,則必須先使

該進(jìn)程阻塞,以等待該操作完成:

c.新數(shù)據(jù)尚未到達(dá),對(duì)于相互合作的進(jìn)程,如果其中一個(gè)進(jìn)程需要先獲褥另一(合作)進(jìn)程提供的數(shù)據(jù)后

才能對(duì)數(shù)據(jù)進(jìn)行處理.則只要其所需數(shù)據(jù)尚未到達(dá),該進(jìn)程只TT(等待)阻塞:

d.無(wú)新工作可做.系統(tǒng)往往設(shè)置一些具行某特定功能的系統(tǒng)進(jìn)程.每當(dāng)這種進(jìn)程完成任務(wù)后,便把自己阻

塞起來(lái)以等待新任務(wù)到來(lái).

②阻塞進(jìn)程所做的操作即進(jìn)程阻塞原語(yǔ)如卜.:

a.從PCB奧合中檢索到相應(yīng)PCB:

b.若該進(jìn)程為運(yùn)行狀態(tài),則立即停止執(zhí)行保護(hù)現(xiàn)場(chǎng),將相應(yīng)PCB中的現(xiàn)行狀態(tài)由“執(zhí)行”改為“阻塞”:

c.把該P(yáng)CB插入到相應(yīng)小件的等待隊(duì)列中去.

<5)進(jìn)程的喚醒

當(dāng)被阻塞進(jìn)程所等待的小件發(fā)生時(shí),如其所期待的數(shù)據(jù)己經(jīng)到達(dá)或是I/O操作完成,則應(yīng)調(diào)用喚醒原語(yǔ)

wakeup()將舞特該事件的進(jìn)程喚醒,

喚醒進(jìn)程所做的操作即進(jìn)程喚醒原語(yǔ)如F:

①在該獷件的等待隊(duì)列中檢索到相應(yīng)進(jìn)程的PCB.

②將其從等待隊(duì)列中移出,并將相應(yīng)PCB中的現(xiàn)行狀態(tài)由“阻塞”改為“就緒”:

(當(dāng)把該P(yáng)CB插入就緒隊(duì)列中,等待調(diào)度程序調(diào)度

需要注意的是,Block()朦語(yǔ)和Wakeup()原語(yǔ)是?對(duì)作用剛好相反的掠話,必須成對(duì)使用,否則被阻案

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

(6)進(jìn)程的掛起和激活

①引起進(jìn)程掛起的原因

在操作系統(tǒng)中,弓I起進(jìn)程阻塞的事件有:

a.用戶進(jìn)程請(qǐng)求將自己掛起:

b.父進(jìn)程請(qǐng)求將門己的某個(gè)子進(jìn)程撲起:

c.系統(tǒng)將利用掛起原語(yǔ)suspend()將指定進(jìn)程或處于阻塞狀態(tài)的進(jìn)程掛起.

②進(jìn)程柱起的所做的操作即進(jìn)程掛起原語(yǔ)如F:

a.從PCB集合中檢索到相應(yīng)PCB:

b.檢杏被掛起進(jìn)程的狀態(tài).若處于活動(dòng)就緒狀態(tài).使將其改為靜止就緒:對(duì)于活動(dòng)阻塞狀態(tài)的進(jìn)程,則將

之改為靜止阻塞.

③進(jìn)程的激活

當(dāng)發(fā)生激活進(jìn)程的件件時(shí),例如,父進(jìn)程或用戶進(jìn)程請(qǐng)求激活指定進(jìn)程,若該進(jìn)程駐留在外存而內(nèi)存中已有

足魴的空間時(shí),則可將在外存上處于靜止就緒狀態(tài)的該進(jìn)程換入內(nèi)存.系統(tǒng)將利用激活原講active<)將指定進(jìn)

程激活,其過(guò)程如忘

a.從PCB集合中檢索到相應(yīng)PCB:

b.檢查被激活進(jìn)程的狀態(tài),若是靜止就緒,便將之改為活動(dòng)就緒;若為靜止阻塞便將之改為活動(dòng)陽(yáng)寤.

(7)進(jìn)程的切換

對(duì)于通常的進(jìn)程.其創(chuàng)建、撤銷以及要求由系統(tǒng)設(shè)密完成的I/O操作都姑利用系統(tǒng)調(diào)用而進(jìn)入內(nèi)核,再由內(nèi)

核中相應(yīng)處理程序了,以完成的.進(jìn)程切換同樣是在內(nèi)核的支持下實(shí)現(xiàn)的,因此可以說(shuō),任何進(jìn)程都是在操作系統(tǒng)

內(nèi)核的支持下運(yùn)行的.是與內(nèi)核緊密相關(guān)的.

①進(jìn)程切換的所做的操作如下:

a.保存處理機(jī)上下文,主要是相關(guān)寄存器的內(nèi)容比如程序計(jì)數(shù)器;

b.更新被調(diào)度出進(jìn)程的PCB信息:

c,把核調(diào)愛(ài)山進(jìn)程的PCB根據(jù)進(jìn)程狀態(tài)移入相應(yīng)的隊(duì)列.如就緒、在某貨件阻塞等隊(duì)列:

d.選擇另一個(gè)進(jìn)程執(zhí)行.并更新其PCB:

e.更新內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu):

f.恢復(fù)處理機(jī)上下文.

【例】一個(gè)進(jìn)程被喚醒意味者().

A.該進(jìn)程馬上占有CPU

B.進(jìn)程狀態(tài)變?yōu)榫途w

C.進(jìn)程的優(yōu)先權(quán)變?yōu)槌谴?/p>

D.其PCB移至就緒隊(duì)列的隊(duì)首

【答案】B

【解析】進(jìn)程占有CPU是處于運(yùn)行態(tài).進(jìn)程被喚醒,是指當(dāng)進(jìn)程需等待的事件發(fā)生時(shí),進(jìn)程會(huì)由掛起或阻

塞態(tài)轉(zhuǎn)變?yōu)榫途w套,根據(jù)相應(yīng)的調(diào)度尊法插入到就緒隊(duì)列的相應(yīng)位理,不一定插在隊(duì)首,進(jìn)程的優(yōu)先權(quán)可能會(huì)發(fā)

生變化,也可能不變.

4.進(jìn)程組織

為J”便于管理和調(diào)度,系統(tǒng)常常把各個(gè)進(jìn)程的控制塊用某種方法組織起來(lái).常用的組織方式有兩種:舞接力

式和索引方式.

<1)鏈接方式

這是把真仃同?狀態(tài)的PCB,川其中的鏈接字鏈接成?個(gè)隊(duì)列.例如就緒隊(duì)列、阻塞隊(duì)列等.其中的就緒

隊(duì)列常按進(jìn)程優(yōu)先級(jí)的高低排列,而阻塞隊(duì)列也可以根據(jù)陽(yáng)寤原因的不同形成不同的明塞隊(duì)列.

(2)索引方式

系統(tǒng)根據(jù)所有進(jìn)程的狀態(tài)建立幾張索引衣,例如就緒索引入、阻塞索引&等,而當(dāng)系統(tǒng)要直找相關(guān)進(jìn)程的

PCB時(shí)則在相關(guān)索引表里進(jìn)行索引.

5.進(jìn)程通信

在操作系統(tǒng)中,進(jìn)程主要通過(guò)三種方式來(lái)進(jìn)行通信:共享存儲(chǔ)系統(tǒng)、消息傳遞系統(tǒng)以及管道通信.

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

展于共享存儲(chǔ)系統(tǒng)的通信方式可分為兩種:共享數(shù)據(jù)結(jié)構(gòu)方式和共療存儲(chǔ)區(qū)的方式.

①共享數(shù)據(jù)結(jié)構(gòu)的通信方式,要求諸進(jìn)程公用某些數(shù)據(jù)結(jié)構(gòu),借以實(shí)現(xiàn)諸進(jìn)程間的信息交換,這種方式中的

公用數(shù)據(jù)結(jié)構(gòu)的設(shè)置及時(shí)進(jìn)程間同步的處理,都是程序員的職費(fèi).因此,這種通信方式是低效的,只適于傳遞相

對(duì)少量的數(shù)據(jù).

②共皇存儲(chǔ)區(qū)的通信方式,為「?jìng)鬏敶笳箶?shù)據(jù),在存儲(chǔ)㈱中劃出「一塊共享存儲(chǔ)區(qū),諸進(jìn)程可通過(guò)對(duì)共%存

儲(chǔ)區(qū)中數(shù)據(jù)的讀或句來(lái)實(shí)現(xiàn)通信-

相要注意的是在共享存儲(chǔ)系統(tǒng)中,通信進(jìn)程對(duì)共享空間需要使用同步互斥工具(比如PV操作)來(lái)對(duì)共享在

間的寫/讀進(jìn)行控制.

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

在消息傳遞機(jī)制中,進(jìn)程間的數(shù)據(jù)交換是以格式化的消息(message)為電位的.在這種方式中,程序員可

以直接利用操作系統(tǒng)提供的一組通信命令(I京語(yǔ)),實(shí)現(xiàn)大房數(shù)據(jù)的傳遞的同時(shí)隱藏「通信的實(shí)現(xiàn)細(xì)節(jié),故該方

式獲得了廣泛的應(yīng)用.因其實(shí)現(xiàn)方式的不同可分為直接通信方式和間接通信方式兩種.、

①直接通信方式

該方式是指指發(fā)送進(jìn)程利用OS所提供的發(fā)送命令,f(接把消息發(fā)送給目標(biāo)進(jìn)程,并將它掛在接收進(jìn)程的消

息緩沖隊(duì)列上,接收進(jìn)程只需從消息緩沖隊(duì)列中取得消息.不過(guò)這種方式要求發(fā)送進(jìn)程和接收進(jìn)程都以顯式方式

提供對(duì)方的標(biāo)識(shí)符.

②間接通信方式

該方式發(fā)送進(jìn)程把消息發(fā)送到某個(gè)中間實(shí)體中.接收進(jìn)程從中間實(shí)體中取得消息.這種中間實(shí)體一般稱為信

箝,這種通信方式乂稱為信箱通信方式.需要注意的是信箱可由操作系統(tǒng)創(chuàng)建,也可由用戶進(jìn)程創(chuàng)建.,

<3)管道通信

鐘道通信是消息傳遞的一種特殊方式.管道(pipe)是指用于連接一個(gè)寫進(jìn)程和一個(gè)讀進(jìn)程按照先進(jìn)先出方

法實(shí)現(xiàn)它們之間通信的共享文件,乂稱為pipe文件.它由操作系統(tǒng)核心管理的緩沖區(qū)來(lái)'史觀,是單.向的通信方

式.

發(fā)送進(jìn)程以字符流的形式將大盤的數(shù)據(jù)源源不斷地寫入管道,接收進(jìn)程從管道中接收數(shù)據(jù).為了協(xié)調(diào)雙方的

通信.管道機(jī)制必須提供以下三方面的協(xié)調(diào)能力:互斥、同步和確定時(shí)方的存在.需要注意的是從底道讀數(shù)據(jù)是

?次性操作.數(shù)據(jù)一旦被讀取,它就從管道中被拋井,釋放間以便寫更多的數(shù)據(jù).管道只能采用半?雙工通信,即

某一時(shí)刻只能單向傳輸.

6.線程概念與多線程模電

(I)線程的引入

因?yàn)檫M(jìn)程是一個(gè)資源的擁有者,因而在創(chuàng)建、撤消和切換中.系統(tǒng)必須

溫馨提示

  • 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)論