操作系統(tǒng)課件:進程與線程_第1頁
操作系統(tǒng)課件:進程與線程_第2頁
操作系統(tǒng)課件:進程與線程_第3頁
操作系統(tǒng)課件:進程與線程_第4頁
操作系統(tǒng)課件:進程與線程_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

進程與線程進程(process)是資源分配的基本單位,也是獨立運行的基本單位。2.1進程的引入

為了描述并發(fā)程序執(zhí)行時的特征,引入了進程。

2.1.1前趨圖前趨圖是一個有向無循環(huán)圖,用于描述程序、程序段或語句執(zhí)行的先后次序。圖中的每個結點可以表示一條語句、一個程序段或一個進程,結點間的有向邊表示兩個結點之間存在的前趨關系“→”:→={(Pi,Pj)│Pi必須在Pj開始執(zhí)行之前完成}前趨圖中的各類結點如果(Pi,Pj)∈→,可以寫成Pi→Pj,則稱Pi是Pj的直接前趨,Pj是Pi的直接后繼。若存在一個序列Pi→Pj→…→Pk,則稱Pi是Pk的前趨。在前趨圖中,沒有前趨的結點稱為初始結點,沒有后繼的結點稱為終止結點。

前趨圖例S1S2S3S6S4S52.1.2程序的順序執(zhí)行

一個程序通常由若干個程序段所組成,它們必須按照某種先后次序來執(zhí)行,僅當前一個操作執(zhí)行完后才能執(zhí)行后繼操作,這類計算過程就是程序的順序執(zhí)行過程。例如:先輸入→再計算→最后輸出,即:I→C→P。程序順序執(zhí)行時的特征

順序性:處理機的操作嚴格按照程序所規(guī)定的順序執(zhí)行,即每一個操作必須在下一個操作開始之前結束。封閉性:程序一旦開始運行,其執(zhí)行結果不受外界因素影響??稍佻F(xiàn)性:只要程序執(zhí)行時的初始條件和執(zhí)行環(huán)境相同,當程序重復執(zhí)行時,都將獲得相同的結果。2.1.3程序的并發(fā)執(zhí)行及特點程序的并發(fā)執(zhí)行是指若干個程序(或程序段)同時在系統(tǒng)中運行,這些程序(或程序段)的執(zhí)行在時間上是重疊的,一個程序(或程序段)的執(zhí)行尚未結束,另一個程序(或程序段)的執(zhí)行已經(jīng)開始。程序并發(fā)執(zhí)行例進程1、2、3并發(fā)執(zhí)行。對每個進程而言,其輸入、計算和輸出這三個操作必須順序執(zhí)行。它們之間存在如下先后關系:I1先于C1和I2,C1先于P1和C2,P1先于P2I2和C1,I3、C2和P1可以并發(fā)。I1I2I3C1C3C2P1P2程序并發(fā)執(zhí)行時的特征

間斷性:并發(fā)程序具有“執(zhí)行---暫停----執(zhí)行”這種間斷性的活動規(guī)律。失去封閉性:多個程序共享系統(tǒng)中的資源,這些資源的狀態(tài)將由多個程序來改變,致使程序之間相互影響。不可再現(xiàn)性:在初始條件相同的情況下,程序的執(zhí)行結果依賴于執(zhí)行的次序。與時間有關的錯誤例程序并發(fā)執(zhí)行時可能出現(xiàn)與時間有關的錯誤。例進程1:r1=x;進程2:r2=x;r1++;r2++;x=r1;x=r2;設在兩進程運行之前,x的值為0。則兩進程運行結束后,x值可為:122.1.4.程序并發(fā)執(zhí)行的條件讀集:語句執(zhí)行期間要引用的變量集合,記為R(Si)={a1,…,am}寫集:語句執(zhí)行期間要改變的變量集合,記為W(Si)={b1,…,bn}Bernstein條件Bernstein條件能保證兩個程序段并發(fā)執(zhí)行而不會產(chǎn)生與時間有關的錯誤:R(Si)∩W(Sj)={}這兩條保證R(Sj)∩W(Si)={}兩次讀之間數(shù)據(jù)不變W(Si)∩W(Sj)={}本條保證寫操作結果不丟失例考慮下面4條語句:S1:a=x+yS2:b=z+1S3:c=a-bS4:d=c+1R(S1)={x,y}R(S2)={z}R(S3)={a,b}W(S1)={a}W(S2)=W(S3)={c}因R(S1)∩W(S2)∪R(S2)∩W(S1)∪W(S1)∩W(S2)={},故S1和S2可以并發(fā)執(zhí)行。因R(S2)∩W(S3)∪R(S3)∩W(S2)∪W(S3)∩W(S2)=,故S2和S3不能并發(fā)執(zhí)行。并發(fā)語句的描述方式cobeginS1;S2;…Sn;coend對應的前趨圖如右,其中S0和Sn+1分別是cobegin和coend語句前后的兩條語句。S0S1S2…SnSn+12.2進程的定義及描述為了描述并發(fā)執(zhí)行程序的動態(tài)特性,人們引入了一個新的概念——進程(process)。2.2.1進程的定義進程有多種定義,下面列舉一些有代表性的定義:進程是程序在處理器上的一次執(zhí)行過程。進程是可以和別的計算并行執(zhí)行的計算。進程是程序在一個數(shù)據(jù)集合上運行的過程,是系統(tǒng)進行資源分配和調度的一個獨立單位。進程是一個具有一定功能的程序關于某個數(shù)據(jù)集合的一次運行活動。2.2.2進程的特征動態(tài)性:進程是程序的一次執(zhí)行過程。動態(tài)性還表現(xiàn)為它因創(chuàng)建而產(chǎn)生,因調度而執(zhí)行,因無資源而暫停,因撤消而消亡。而程序是靜態(tài)實體。并發(fā)性:多個進程實體同時存在于內存中,能在一段時間內同時運行。獨立性:在傳統(tǒng)OS中,進程是獨立運行的基本單位,也是系統(tǒng)分配資源和調度的基本單位。異步性:也叫制約性,進程以各自獨立的不可預知的速度向前推進。結構性:進程實體由程序段、數(shù)據(jù)段及進程控制塊組成,又稱為進程映像。2.2.3進程與程序的關系進程是動態(tài)概念,程序是靜態(tài)概念;進程是程序在處理機上的一次執(zhí)行過程,而程序是指令的集合。進程是暫時的,程序是永久的。進程是一個狀態(tài)變化的過程;程序可以長久保存。進程與程序的組成不同。進程的組成包括程序、數(shù)據(jù)和進程控制塊。進程與程序是密切相關的。一個程序可以對應多個進程;一個進程可以包括多個程序。進程可以創(chuàng)建新進程,而程序不能形成新程序。2.2.4進程控制塊PCB(Processcontrolblock)是描述和管理進程的數(shù)據(jù)結構。它是進程實體的一部分,操作系統(tǒng)通過PCB感知進程的存在,PCB是進程存在的唯一標志。不同操作系統(tǒng)中進程控制塊的結構不同,但通常包括下面所列出的內容:PCB包含的內容1進程標識符:惟一標識進程的一個標識符或整數(shù)。進程當前狀態(tài):說明進程當前所處狀態(tài)。進程隊列指針:用于記錄PCB隊列中下一個PCB的地址。程序和數(shù)據(jù)地址:進程的程序和數(shù)據(jù)在內存或外存中的存放地址。進程優(yōu)先級:反映進程獲得CPU的優(yōu)先級別。PCB包含的內容2CPU現(xiàn)場保護區(qū):CPU現(xiàn)場信息的存放區(qū)域,包括:通用寄存器、程序計數(shù)器、程序狀態(tài)字等。通信信息:進程與其他進程所發(fā)生的信息交換。家族關系:指明本進程與家族的關系,如父子進程標識。資源清單:列出進程所需資源及當前已分配資源。2.3進程的狀態(tài)及轉換為了刻畫進程的動態(tài)特征,可以將進程的生命期劃分為一組狀態(tài),用這些狀態(tài)來描述進程的活動過程。Processstate通常,一個進程至少應有以下三種基本狀態(tài):就緒狀態(tài)ready執(zhí)行狀態(tài)running阻塞狀態(tài)blocking2.3.1進程的三種基本狀態(tài)就緒狀態(tài):進程已獲得除處理機以外的所有資源,一旦分配了處理機就可以立即執(zhí)行。執(zhí)行狀態(tài):又稱運行狀態(tài)。一個進程獲得必要的資源并正在處理機上執(zhí)行。阻塞狀態(tài):又稱等待狀態(tài)、睡眠狀態(tài)。正在執(zhí)行的進程,由于發(fā)生某事件而暫時無法執(zhí)行下去(如等待輸入/輸出完成)。這時即使把處理機分配給該進程,它也無法運行。進程狀態(tài)轉換圖執(zhí)行就緒阻塞進程調度時間片用完等待事件事件發(fā)生2.3.2新建狀態(tài)和終止狀態(tài)在許多系統(tǒng)中又增加了兩種狀態(tài):新建狀態(tài)(new):進程剛剛建立,但還未進入就緒隊列。又稱創(chuàng)建狀態(tài)。終止狀態(tài)(terminated)

:當一個進程正?;虍惓=Y束,操作系統(tǒng)已釋放它所占用的資源,但尚未將它撤消時的狀態(tài),又稱退出狀態(tài)。五狀態(tài)的進程狀態(tài)轉換圖運行就緒等待進程調度時間片用完等待事件事件發(fā)生新建終止接納完成狀態(tài)轉換的有關說明大多數(shù)狀態(tài)不可逆轉,如等待不能轉換為運行。狀態(tài)轉換大多為被動進行,但運行→等待是主動的。一個進程在一個時刻只能處于上述狀態(tài)之一。2.3.3進程的掛起狀態(tài)

在某些系統(tǒng)中,希望人為將進程掛起使之處于靜止狀態(tài)。進程掛起的原因有:系統(tǒng)故障或功能受到破壞:先掛起,故障消除后再恢復。檢查中間結果:掛起進程以便檢查。資源不足:掛起進程以騰出資源。內存不足:在外存掛起。有掛起狀態(tài)的進程狀態(tài)轉換圖基于上述原因,需引入一個新的狀態(tài):掛起狀態(tài)。執(zhí)行進程調度時間片完活動就緒等待事件掛起事件發(fā)生掛起激活活動阻塞掛起就緒掛起阻塞掛起激活事件發(fā)生創(chuàng)建退出接納接納完成因果變遷如果一個狀態(tài)變化A的發(fā)生,會引起另一個狀態(tài)變化B的發(fā)生,則稱A、B之間是因果變遷。執(zhí)行就緒阻塞4312下述哪些變遷是因果變遷a)3->4b)2->4c)1->22.4進程控制進程控制的職能是對系統(tǒng)中的所有進程實施有效的管理。常見的進程控制功能有進程創(chuàng)建、撤消、阻塞與喚醒等。這些功能一般由操作系統(tǒng)內核原語來實現(xiàn)。操作系統(tǒng)內核在操作系統(tǒng)設計中,往往把一些與硬件緊密相關的模塊、運行頻率較高的模塊及公用的一些基本操作安排在靠近硬件的軟件層次中,使它們常駐內存,以提高操作系統(tǒng)的運行效率,通常把這部分軟件稱為操作系統(tǒng)內核。內核(kernel)主要包括:中斷時鐘管理進程管理存儲器管理設備管理原語primitive原語是由若干條機器指令構成的,用以完成特定功能的一段程序,這段程序在執(zhí)行期間不可分割。計算機系統(tǒng)的兩種運行狀態(tài)核心態(tài)(kernelmode):又稱管態(tài)、系統(tǒng)態(tài),是操作系統(tǒng)管理程序執(zhí)行時機器所處的狀態(tài)。這種狀態(tài)具有較高的特權,能執(zhí)行一切指令,訪問所有的寄存器和存儲區(qū)。用戶態(tài)(Usermode)

:又稱目態(tài),是用戶程序執(zhí)行時機器所處的狀態(tài)。這種狀態(tài)具有較低特權,只能執(zhí)行規(guī)定的指令,訪問指定的寄存器和存儲區(qū)。2.4.1進程創(chuàng)建為描述進程之間的創(chuàng)建關系,引入了進程圖。進程圖又稱進程樹(treeofprocess)或進程家族樹,是描述進程家族關系的一棵有向樹。圖中的結點表示進程,若進程A創(chuàng)建了進程B,則從結點A有一條邊指向結點B,說明進程A是進程B的父進程,進程B是進程A的子進程。

進程圖例ABCDEF進程創(chuàng)建原語導致進程創(chuàng)建的原因有:用戶登錄:用戶登錄后,若合法則為用戶創(chuàng)建一個進程。作業(yè)調度:為調度到的作業(yè)分配資源并創(chuàng)建進程。OS服務:創(chuàng)建服務進程。應用需要:應用程序根據(jù)需要創(chuàng)建子進程。創(chuàng)建原語的主要功能進程創(chuàng)建原語的功能是創(chuàng)建一個新進程,其主要操作過程如下:向系統(tǒng)申請一個空閑PCB。為新進程分配資源。如分配內存空間。初始化新進程的PCB。在其PCB中填入進程名、家族信息、程序和數(shù)據(jù)地址、進程優(yōu)先級、資源清單及進程狀態(tài)等。將新進程的PCB插入就緒隊列。2.4.2進程撤銷引起進程撤銷的原因有:正常結束異常結束:超時、內存不足、地址越界、算術錯、I/O故障、非法指令等。外界干預:包括操作員或系統(tǒng)干預,父進程請求。撤消原語采用的兩種策略撤消原語采用的兩種策略:撤消指定標識符的進程撤消指定進程及其所有子孫進程下面給出后一種撤消策略的功能描述。

撤消原語的主要功能撤消原語的功能是撤消一個進程,其主要操作過程如下:從系統(tǒng)的PCB表中找到被撤消進程的PCB。檢查被撤消進程的狀態(tài)是否為執(zhí)行狀態(tài),若是則立即停止該進程的執(zhí)行,設置重新調度標志。檢查被撤消進程是否有子孫進程,若有子孫進程還應撤消該進程的子孫進程?;厥赵撨M程占有的全部資源并回收其PCB。2.4.3進程阻塞與喚醒引起進程阻塞及喚醒的事件:請求系統(tǒng)服務。如請求分配打印機,但無空閑打印機則進程阻塞;當打印機重又空閑時應喚醒進程。啟動某種操作并等待操作完成。如啟動I/O操作,進程阻塞;I/O完成則喚醒進程。等待合作進程的協(xié)同配合。如計算進程尚未將數(shù)據(jù)送到緩沖區(qū),則打印進程阻塞;當緩沖區(qū)中有數(shù)據(jù)時應喚醒進程。系統(tǒng)進程無新工作可做。如沒有信息可供發(fā)送,則發(fā)送請求阻塞;當收到新的發(fā)送請求時,應將阻塞進程喚醒。

阻塞原語的主要功能阻塞原語的主要功能是將進程由執(zhí)行狀態(tài)轉為阻塞狀態(tài)。其主要操作過程如下:停止當前進程的執(zhí)行;保存該進程的CPU現(xiàn)場信息;將進程狀態(tài)改為阻塞,并插入到相應事件的等待隊列中;轉進程調度程序,從就緒隊列中選擇一個新的進程投入運行。喚醒原語的主要功能當進程等待的事件發(fā)生時,由發(fā)現(xiàn)者進程將其喚醒。喚醒原語的主要功能是將進程喚醒,其主要操作過程如下:將被喚醒進程從相應的等待隊列中移出;將進程狀態(tài)改為就緒,并將該進程插入就緒隊列;轉進程調度或返回。阻塞與喚醒的關系一個進程由執(zhí)行狀態(tài)轉變?yōu)樽枞麪顟B(tài),是這個進程自己調用阻塞原語去完成的。進程由阻塞狀態(tài)轉變?yōu)榫途w狀態(tài),是另一個發(fā)現(xiàn)者進程調用喚醒原語實現(xiàn)的。一般發(fā)現(xiàn)者進程與被喚醒進程是合作的并發(fā)進程。2.4.4進程的掛起與激活掛起原語和激活原語都有多種實現(xiàn)方式,如:把發(fā)出掛起原語的進程自身掛起掛起具有指定標識符的進程把某進程及其子孫進程掛起激活一個具有指定標識名的進程激活某進程及其子孫進程下面以掛起或激活具有指定標識符的進程為例,說明這兩種原語的主要功能。

掛起原語的主要功能

掛起原語的主要功能是將指定進程掛起,算法思想如下:到PCB表中查找該進程的PCB;檢查該進程的狀態(tài),若為執(zhí)行則停止執(zhí)行并保護CPU現(xiàn)場信息,將該進程狀態(tài)改為掛起就緒;若為活動阻塞,則將該進程狀態(tài)改為掛起阻塞;若為活動就緒,則將該進程狀態(tài)改為掛起就緒;若進程掛起前為執(zhí)行狀態(tài),則轉進程調度,從就緒隊列中選擇一個進程投入運行。激活原語的主要功能

激活原語的主要功能是將指定進程激活。其算法思想如下:到PCB表中查找該進程的PCB。檢查該進程的狀態(tài)。若狀態(tài)為掛起阻塞,則將該進程狀態(tài)改為活動阻塞。若狀態(tài)為掛起就緒,則將該進程狀態(tài)改為活動就緒。若進程激活后為活動就緒狀態(tài),可能需要轉進程調度。2.5進程的組織系統(tǒng)中有許多進程,為了能對它們進行有效的管理,應將PCB組織起來。常用的組織方式有:線性方式鏈表方式索引方式線性方式線性方式:將PCB順序存放在一片連續(xù)內存中。PCB1PCB2PCB3PCBnPCBn-1PCBn-2…鏈接方式鏈接方式:將同一狀態(tài)的PCB組成一個鏈表。

運行指針

就緒隊列指針

阻塞隊列指針PCBPCBPCBPCB^PCB^PCBPCB^索引方式索引方式:將同一狀態(tài)的進程歸入一個索引表,再由索引指向相應的PCB

運行指針

就緒表指針

阻塞表指針PCB表就緒索引表阻塞索引表PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB9………2.6線程thread在操作系統(tǒng)中引入進程的目的是使多道程序能并發(fā)執(zhí)行,以改善資源利用率及提高系統(tǒng)吞吐量;在操作系統(tǒng)中再引入線程,則是為了減少程序并發(fā)執(zhí)行所付出的時空開銷,使操作系統(tǒng)具有更好的并發(fā)性。2.6.1線程的概念進程具有兩個屬性:擁有資源的獨立單位調度和分派的基本單位為使進程并發(fā)執(zhí)行,則必須進行諸如創(chuàng)建、撤消、切換等一系列操作,這些操作涉及到資源管理,所花費的時空開銷較大,為此引入了線程。線程定義線程的定義情況與進程類似,存在多種不同的提法。下面列出一些較權威的定義:線程是進程內的一個執(zhí)行單元。線程是進程內的一個可調度實體。線程是程序(或進程)中相對獨立的一個控制流序列。線程是執(zhí)行的上下文,其含義是執(zhí)行的現(xiàn)場數(shù)據(jù)和其他調度所需的信息(這種觀點來自Linux系統(tǒng))。線程本書定義線程是進程內一個相對獨立的、可調度的執(zhí)行單元。線程自己基本上不擁有資源,只擁有一點在運行時必不可少的資源(如程序計數(shù)器、一組寄存器和棧),但它可以與同屬一個進程的其他線程共享進程擁有的全部資源。線程的控制和進程類似,線程也有運行、就緒、阻塞等狀態(tài)。創(chuàng)建:當創(chuàng)建一個新進程時,也為該進程創(chuàng)建了一個線程。線程還可以創(chuàng)建新線程。就緒:線程已獲得除處理機外的所有資源。運行:線程正在處理機上執(zhí)行。阻塞:線程因等待某事件而暫停運行。終止:一個線程已完成。線程的同步與通信與進程類似。進程的掛起及終止將影響到其中的所有線程。線程的控制(續(xù))進程中的線程具有執(zhí)行狀態(tài)線程上下文執(zhí)行棧線程靜態(tài)存儲局部變量寄存器及對所屬進程資源的訪問多線程多線程是指一個進程中有多個線程,這些線程共享該進程的狀態(tài)和資源,它們駐留在同一地址空間,并且可以訪問到相同的數(shù)據(jù)。線程的實現(xiàn)操作系統(tǒng)中有多種方式實現(xiàn)對線程的支持:內核級線程kernel-levelthread用戶級線程user-levelthread上述兩種方法的組合實現(xiàn)內核級線程內核級線程是指依賴于內核,由操作系統(tǒng)內核完成創(chuàng)建和撤消工作的線程。在支持內核級線程的OS中,內核維護進程和線程的上下文信息并完成線程切換。一個內核級線程阻塞時不會影響其他線程的運行。處理機時間分配的對象是線程,所以有多個線程的進程將獲得更多處理機時間。用戶級線程用戶級線程是指不依賴于操作系統(tǒng)核心,由應用進程利用線程庫提供創(chuàng)建、同步、調度和管理線程的函數(shù)來控制的線程。用戶級線程的維護由應用進程完成,可以用于不支持內核級線程的操作系統(tǒng)當一個線程阻塞時,整個進程都必須等待,處理機時間是分配給進程的,進程內有多個線程時,每個線程的執(zhí)行時間相對少一些。

兩種方法的組合在有些系統(tǒng)中,提供了上述兩種方法的組合實現(xiàn)。在這種系統(tǒng)中,內核支持多線程的建立、調度與管理;同時,系統(tǒng)中又提供使用線程庫的便利,允許用戶應用程序建立、調度和管理用戶級的線程。因此可以很好地將內核級線程和用戶級線程的優(yōu)點結合起來。由此產(chǎn)生了不同的多線程模型。一對一模型每個用戶級線程映射到一個內核級線程上多對一模型多個用戶級線程映射到一個內核級線程上多對多模型多個用戶級線程映射到較少或相等個數(shù)的內核級線程上。2.6.2線程與進程的比較調度:在傳統(tǒng)OS中,進程是調度和分配資源的基本單位;引入線程后,線程是調度和分派的基本單位,進程是擁有資源的基本單位。擁有資源:進程是擁有資源的基本單位,由一個或多個線程及相關資源構成。并發(fā)性:進程之間可以并發(fā)執(zhí)行,同一進程中的各線程之間也可以并發(fā)執(zhí)行。系統(tǒng)開銷:進程創(chuàng)建、撤銷及切換的開銷大于線程。而同一進程的線程間同步與通信開銷小。習題P423(1)、3(3)、3(5)補充題:設單處理機系統(tǒng)中有n(n>2)個進程,問:是否總有進程運行?為什么?是否會出現(xiàn)等待隊列為空的情況?為什么?是否會出現(xiàn)等待隊列為空且無進程運行的情況?為什么?是否會出現(xiàn)就緒隊列為空的情況?為什么?選擇題1對進程的管理和控制使用_____。A.指令

B.信號量C.原語

D.信箱分配到必要的資源并獲得處理機時的進程狀態(tài)是_____。A.就緒狀態(tài)

B.撤消狀態(tài)C.執(zhí)行狀態(tài)D.阻塞狀態(tài)選擇題2程序的順序執(zhí)行通常在

的工作環(huán)境中,具有以下特征

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

的工作環(huán)境中,具有如下特征

。A.資源共享B.程序的可再現(xiàn)性

C.多道程序D.單道程序下列進程狀態(tài)變化中,_____變化是不可能發(fā)生的。A.等待→就緒B.等待→運行

C.運行→等待D.運行→就緒選擇題3當_____時,進程從執(zhí)行狀態(tài)轉變?yōu)榫途w狀態(tài)。A.等待的事件發(fā)生B.時間片到C.等待某一事件D.進程被調度程序選中下面對進程的描述中,錯誤的是_____。A.進程是有生命期的B.進程執(zhí)行需要處理機C.進程是指令的集合D.進程是動態(tài)的概念選擇題4操作系統(tǒng)通過_____對進程進行管理。A.JCBB.PCBC.DCTD.CHCT下面所述步驟中,_____不是創(chuàng)建進程所必需的。A.建立一個進程控制塊B.為進程分配內存C.將進程控制塊鏈入就緒隊列D.由調度程序為進程分配CPU選擇題5多道程序環(huán)境下,操作系統(tǒng)分配資源以_____為基本單位。A.作業(yè)

B.進程C.指令D.程序如果系統(tǒng)中有n個進程,則就緒隊列中進程的個數(shù)最多為_____。A.nB.1C.n-1D.n+1選擇題6下述哪一個選項,體現(xiàn)了原語的主要特點_____。A.并發(fā)性

B.異步性C.不可分割性D.共享性下面對父進程和子進程的敘述不正確的是_____。A.撤消父進程之時,可以同時撤消其子進程B.父進程和子進程之間可以并發(fā)C.父進程可以等待所有子進程結束后再執(zhí)行D.父進程創(chuàng)建了子進程,因此父進程執(zhí)行完了子進程才能運行選擇題7并發(fā)進程失去了封閉性是指_____。A.并發(fā)進程的執(zhí)行結果與速度無關B.多個相對獨立的進程以各自的速度向前推進C.并發(fā)進程執(zhí)行時,在不同時刻發(fā)生的錯誤D.并發(fā)進程共享變量,其執(zhí)行結果與速度有關下列幾種關于進程的敘述中,最不符合操作系統(tǒng)對進程理解的是_____。A.進程是在多程序并行環(huán)境中的完整的程序B.進程可以由程序,數(shù)據(jù)和進程控制塊描述C.線程(Thread)是一種特殊的進程D.進程是程序在一個數(shù)據(jù)集合上運行的過程,是系統(tǒng)進行資源分配和調度的一個獨立單位選擇題8當一個進程處于_____的狀態(tài)時,稱其為等待狀態(tài)A.它正等待調度

B.它正等著協(xié)作進程的一個消息C.它正等分給它一個時間片

D.它正等進入內存進程從執(zhí)行狀態(tài)到阻塞狀態(tài)可能是由于_____。A.進程調度程序的調度

B.現(xiàn)運行進程的時間片用完C.現(xiàn)運行進程執(zhí)行了P操作

D.現(xiàn)運行進程執(zhí)行了V操作選擇題9一個進程被喚醒意味著_____。A.該進程重新占有了CPUB.進程狀態(tài)變?yōu)榫途wC.它的優(yōu)先權變?yōu)樽畲?/p>

D.其PCB移至就緒隊列的隊首一個進程基本狀態(tài)可以從其他兩種基本狀態(tài)轉變過來

,這個基本狀態(tài)是_____。A.執(zhí)行狀態(tài)B.阻塞狀態(tài)

C.就緒狀態(tài)D.撤銷狀態(tài)選擇題10關于線程和進程,下列說法中正確的是____。A.線程一定是分配處理機時間的基本單位B.進程一定是分配處理機時間的基本單位C.一個線程可以屬于多個進程

D.一個進程可以擁有多個線程填空題1進程的基本特征是

、

、

。進程的基本狀態(tài)有執(zhí)行、

。進程是一個程序對某個數(shù)據(jù)集的_____。進程由

、

三部分組成,其中

是進程存在的惟一標志。而

部分也可以為其他進程共享。程序并發(fā)

溫馨提示

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

評論

0/150

提交評論