小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

進(jìn)程與線(xiàn)程的關(guān)系

 新用戶(hù)2679HElR 2022-05-02 發(fā)布于上海

一、進(jìn)程的定義

進(jìn)程:指在系統(tǒng)中能獨(dú)立運(yùn)行并作為資源分配的基本單位,它是由一組機(jī)器指令、數(shù)據(jù)和堆棧等組成的,是一個(gè)能獨(dú)立運(yùn)行的活動(dòng)實(shí)體。

進(jìn)程一般有三個(gè)狀態(tài):就緒狀態(tài)、執(zhí)行狀態(tài)和等待狀態(tài)【或稱(chēng)阻塞狀態(tài)】;進(jìn)程只能由父進(jìn)程建立,系統(tǒng)中所有的進(jìn)程形成一種進(jìn)程樹(shù)的層次體系;掛起命令可由進(jìn)程自己和其他進(jìn)程發(fā)出,但是解除掛起命令只能由其他進(jìn)程發(fā)出。

進(jìn)程控制塊(PCB):PCB不但可以記錄進(jìn)程的屬性信息,以便操作系統(tǒng)對(duì)進(jìn)程進(jìn)行控制和管理,而且PCB標(biāo)志著進(jìn)程的存在,操作系統(tǒng)根據(jù)系統(tǒng)中是否有該進(jìn)程的進(jìn)程控制塊PCB而知道該進(jìn)程存在與否。系統(tǒng)建立進(jìn)程的同時(shí)就建立該進(jìn)程的PCB,在撤銷(xiāo)一個(gè)進(jìn)程時(shí),也就撤銷(xiāo)其PCB,故進(jìn)程的PCB對(duì)進(jìn)程來(lái)說(shuō)是它存在的具體的物理標(biāo)志和體現(xiàn)。一般PCB包括以下三類(lèi)信息:進(jìn)程標(biāo)識(shí)信息;處理器狀態(tài)信息;進(jìn)程控制信息。

由程序段、相關(guān)的數(shù)據(jù)段和PCB三部分構(gòu)成了進(jìn)程實(shí)體(又稱(chēng)進(jìn)程印像),一般,我們把進(jìn)程實(shí)體就簡(jiǎn)稱(chēng)為進(jìn)程。

進(jìn)程的特征:

1.動(dòng)態(tài)性:進(jìn)程的實(shí)質(zhì)是程序的一次執(zhí)行過(guò)程,進(jìn)程是動(dòng)態(tài)產(chǎn)生,動(dòng)態(tài)消亡的。
2.并發(fā)性:任何進(jìn)程都可以同其他進(jìn)程一起并發(fā)執(zhí)行。
3.獨(dú)立性:進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的基本單位,同時(shí)也是系統(tǒng)分配資源和調(diào)度的獨(dú)立單位。
4.異步性:由于進(jìn)程間的相互制約,使進(jìn)程具有執(zhí)行的間斷性,即進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)。

二、線(xiàn)程的定義

線(xiàn)程:線(xiàn)程是進(jìn)程中的一個(gè)實(shí)體,作為系統(tǒng)調(diào)度和分派的基本單位。

線(xiàn)程的性質(zhì):

1.線(xiàn)程是進(jìn)程內(nèi)的一個(gè)相對(duì)獨(dú)立的可執(zhí)行的單元。若把進(jìn)程稱(chēng)為任務(wù)的話(huà),那么線(xiàn)程則是應(yīng)用中的一個(gè)子任務(wù)的執(zhí)行。
2.由于線(xiàn)程是被調(diào)度的基本單元,而進(jìn)程不是調(diào)度單元。所以,每個(gè)進(jìn)程在創(chuàng)建時(shí),至少需要同時(shí)為該進(jìn)程創(chuàng)建一個(gè)線(xiàn)程。即進(jìn)程中至少要有一個(gè)或一個(gè)以上的線(xiàn)程,否則該進(jìn)程無(wú)法被調(diào)度執(zhí)行。
3.進(jìn)程是被分給并擁有資源的基本單元。同一進(jìn)程內(nèi)的多個(gè)線(xiàn)程共享該進(jìn)程的資源,但線(xiàn)程并不擁有資源,只是使用他們。
4.線(xiàn)程是操作系統(tǒng)中基本調(diào)度單元,因此線(xiàn)程中應(yīng)包含有調(diào)度所需要的必要信息,且在生命周期中有狀態(tài)的變化。
5.由于共享資源【包括數(shù)據(jù)和文件】,所以線(xiàn)程間需要通信和同步機(jī)制,且需要時(shí)線(xiàn)程可以創(chuàng)建其他線(xiàn)程,但線(xiàn)程間不存在父子關(guān)系。

多線(xiàn)程使用的情形:

前臺(tái)和后臺(tái)工作情況;

異步處理工作情況;

需要加快執(zhí)行速度情況;

組織復(fù)雜工作的情況;

同時(shí)有多個(gè)用戶(hù)服務(wù)請(qǐng)求的情況等。
 
線(xiàn)程機(jī)制的優(yōu)點(diǎn):

多線(xiàn)程運(yùn)行在同一個(gè)進(jìn)程的相同的地址空間內(nèi),和采用多進(jìn)程相比有以下優(yōu)點(diǎn):

1.創(chuàng)建和撤銷(xiāo)線(xiàn)程的開(kāi)銷(xiāo)較之進(jìn)程要少。創(chuàng)建線(xiàn)程時(shí)只需要建立線(xiàn)程控制表相應(yīng)的表目,或有關(guān)隊(duì)列,而創(chuàng)建進(jìn)程時(shí),要?jiǎng)?chuàng)建PCB表和初始化,進(jìn)入有關(guān)進(jìn)程隊(duì)列,建立它的地址空間和所需資源等。
2.CPU在線(xiàn)程之間開(kāi)關(guān)時(shí)的開(kāi)銷(xiāo)遠(yuǎn)比進(jìn)程要少得多。因開(kāi)關(guān)線(xiàn)程都在同一地址空間內(nèi),只需要修改線(xiàn)程控制表或隊(duì)列,不涉及地址空間和其他工作。
3.線(xiàn)程機(jī)制也增加了通訊的有效性。進(jìn)程間的通訊往往要求內(nèi)核的參與,以提供通訊機(jī)制和保護(hù)機(jī)制,而線(xiàn)程間的通訊是在同一進(jìn)程的地址空間內(nèi),共享主存和文件,無(wú)需內(nèi)核參與。

三、進(jìn)程與線(xiàn)程之間的關(guān)系

從一定意義上講,進(jìn)程就是一個(gè)應(yīng)用程序在處理機(jī)上的一次執(zhí)行過(guò)程,它是一個(gè)動(dòng)態(tài)的概念,而線(xiàn)程是進(jìn)程中的一部分,進(jìn)程包含多個(gè)線(xiàn)程在運(yùn)行。

在引入線(xiàn)程的操作系統(tǒng)中,通常都是把進(jìn)程作為分配資源的基本單位,而把線(xiàn)程作為獨(dú)立運(yùn)行和獨(dú)立調(diào)度的基本單位。由于線(xiàn)程比進(jìn)程更小,基本上不擁有系統(tǒng)資源,故對(duì)它的調(diào)度所付出的開(kāi)銷(xiāo)就會(huì)小得多,能更高效的提高系統(tǒng)內(nèi)多個(gè)程序間并發(fā)執(zhí)行的程度。

舉例說(shuō)明:

進(jìn)程:北京地鐵單位

線(xiàn)程:北京地鐵1號(hào)線(xiàn)、2號(hào)線(xiàn)、5號(hào)線(xiàn)........15號(hào)線(xiàn)

北京地鐵單位的所有地鐵線(xiàn)路共享著北京坐地鐵的所有客源(相當(dāng)于進(jìn)程中的資源,所以進(jìn)程屬于資源單位),而各線(xiàn)路負(fù)責(zé)將客源輸送到指定地點(diǎn)(執(zhí)行操作,所以線(xiàn)程屬于執(zhí)行單位)。

 
四、進(jìn)程與線(xiàn)程之間的區(qū)別
 
1、調(diào)度:

        在傳統(tǒng)的操作系統(tǒng)中,CPU調(diào)度和分派的基本單位是進(jìn)程。而在引入線(xiàn)程的操作系統(tǒng)中,則把線(xiàn)程作為CPU調(diào)度和分派的基本單位,進(jìn)程則作為資源擁有的基本單位,從而使傳統(tǒng)進(jìn)程的兩個(gè)屬性分開(kāi),線(xiàn)程編程輕裝運(yùn)行,這樣可以顯著地提高系統(tǒng)的并發(fā)性。同一進(jìn)程中線(xiàn)程的切換不會(huì)引起進(jìn)程切換,從而避免了昂貴的系統(tǒng)調(diào)用,但是在由一個(gè)進(jìn)程中的線(xiàn)程切換到另一進(jìn)程中的線(xiàn)程,依然會(huì)引起進(jìn)程切換。
 
2、并發(fā)性:
      在引入線(xiàn)程的操作系統(tǒng)中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線(xiàn)程之間也可以并發(fā)執(zhí)行,因而使操作系統(tǒng)具有更好的并發(fā)性,從而更有效地提高系統(tǒng)資源和系統(tǒng)的吞吐量。例如,在一個(gè)為引入線(xiàn)程的單CPU操作系統(tǒng)中,若僅設(shè)置一個(gè)文件服務(wù)進(jìn)程,當(dāng)它由于某種原因被封鎖時(shí),便沒(méi)有其他的文件服務(wù)進(jìn)程來(lái)提供服務(wù)。在引入線(xiàn)程的操作系統(tǒng)中,可以在一個(gè)文件服務(wù)進(jìn)程設(shè)置多個(gè)服務(wù)線(xiàn)程。當(dāng)?shù)谝粋€(gè)線(xiàn)程等待時(shí),文件服務(wù)進(jìn)程中的第二個(gè)線(xiàn)程可以繼續(xù)運(yùn)行;當(dāng)?shù)诙€(gè)線(xiàn)程封鎖時(shí),第三個(gè)線(xiàn)程可以繼續(xù)執(zhí)行,從而顯著地提高了文件服務(wù)的質(zhì)量以及系統(tǒng)的吞吐量。

3、擁有資源:
      不論是引入了線(xiàn)程的操作系統(tǒng),還是傳統(tǒng)的操作系統(tǒng),進(jìn)程都是擁有系統(tǒng)資源的一個(gè)獨(dú)立單位,他可以擁有自己的資源。一般地說(shuō),線(xiàn)程自己不能擁有資源(也有一點(diǎn)必不可少的資源),但它可以訪(fǎng)問(wèn)其隸屬進(jìn)程的資源,亦即一個(gè)進(jìn)程的代碼段、數(shù)據(jù)段以及系統(tǒng)資源(如已打開(kāi)的文件、I/O設(shè)備等),可供同一個(gè)進(jìn)程的其他所有線(xiàn)程共享。

4、獨(dú)立性:
        在同一進(jìn)程中的不同線(xiàn)程之間的獨(dú)立性要比不同進(jìn)程之間的獨(dú)立性低得多。這是因?yàn)?/span>為了防止進(jìn)程之間彼此干擾和破壞,每個(gè)進(jìn)程都擁有一個(gè)獨(dú)立的地址空間和其它資源,除了共享全局變量外,不允許其它進(jìn)程的訪(fǎng)問(wèn)。但是同一進(jìn)程中的不同線(xiàn)程往往是為了提高并發(fā)性以及進(jìn)行相互之間的合作而創(chuàng)建的,它們共享進(jìn)程的內(nèi)存地址空間和資源,如每個(gè)線(xiàn)程都可以訪(fǎng)問(wèn)它們所屬進(jìn)程地址空間中的所有地址,如一個(gè)線(xiàn)程的堆??梢员黄渌€(xiàn)程讀、寫(xiě),甚至完全清除。 

5、系統(tǒng)開(kāi)銷(xiāo):

       由于在創(chuàng)建或撤銷(xiāo)進(jìn)程時(shí),系統(tǒng)都要為之分配或回收資源,如內(nèi)存空間、I/O設(shè)備等。因此,操作系統(tǒng)為此所付出的開(kāi)銷(xiāo)將顯著地大于在創(chuàng)建或撤消線(xiàn)程時(shí)的開(kāi)銷(xiāo)。在進(jìn)程切換時(shí),涉及到整個(gè)當(dāng)前進(jìn)程CPU環(huán)境的保存環(huán)境的設(shè)置以及新被調(diào)度運(yùn)行的CPU環(huán)境的設(shè)置,而線(xiàn)程切換只需保存和設(shè)置少量的寄存器的內(nèi)容,并不涉及存儲(chǔ)器管理方面的操作,可見(jiàn),進(jìn)程切換的開(kāi)銷(xiāo)也遠(yuǎn)大于線(xiàn)程切換的開(kāi)銷(xiāo)。此外,由于同一進(jìn)程中的多個(gè)線(xiàn)程具有相同的地址空間,致使他們之間的同步和通信的實(shí)現(xiàn)也變得比較容易。在有的系統(tǒng)中,現(xiàn)成的切換、同步、和通信都無(wú)需操作系統(tǒng)內(nèi)核的干預(yù)。

6、支持多處理機(jī)系統(tǒng):

       在多處理機(jī)系統(tǒng)中,對(duì)于傳統(tǒng)的進(jìn)程,即單線(xiàn)程進(jìn)程,不管有多少處理機(jī),該進(jìn)程只能運(yùn)行在一個(gè)處理機(jī)上。但對(duì)于多線(xiàn)程進(jìn)程,就可以將一個(gè)進(jìn)程中的多個(gè)線(xiàn)程分配到多個(gè)處理機(jī)上,使它們并行執(zhí)行,這無(wú)疑將加速進(jìn)程的完成。因此,現(xiàn)代處理機(jī)OS都無(wú)一例外地引入了多線(xiàn)程。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多