




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三講第三講 進(jìn)程與線程進(jìn)程與線程授課教師:馬立平授課教師:馬立平聯(lián)系方式:聯(lián)系方式:Southwest University of Science and Technology進(jìn)程的定義和性質(zhì)進(jìn)程的定義和性質(zhì)程序的并發(fā)執(zhí)行: P1P2P3P4I1I2I3I4C1C2C3C4程序的并發(fā)執(zhí)行: 四條語句的前趨關(guān)系S1S2S3S4對于具有下述四條語句的程序段:程序程序A:每執(zhí)行一次時(shí),都要做:每執(zhí)行一次時(shí),都要做N =N+1操作;操作;程序程序B:每執(zhí)行一次時(shí),:每執(zhí)行一次時(shí), 都要執(zhí)行都要執(zhí)行Print(N)操作,然后再將操作,然后再將N置成置成“0”。 (1) N =N+1在在Print(N)
2、和和N =0之前,此時(shí)得到的之前,此時(shí)得到的N值分別為值分別為n+1, n+1, 0。 (2) N =N+1在在Print(N)和和N =0之后,此時(shí)得到的之后,此時(shí)得到的N值分別為值分別為n, 0, 1。 (3) N =N+1在在Print(N)和和N =0之間,此時(shí)得到的之間,此時(shí)得到的N值分別為值分別為n, n+1, 0。 程序的并發(fā)執(zhí)行時(shí)的特征: 舉例: 進(jìn)程定義: 進(jìn)程是可并發(fā)執(zhí)行的程序在某個(gè)數(shù)據(jù)集合上的一次計(jì)算活動(dòng),也是操作系統(tǒng)進(jìn)行資源分配和保護(hù)的基本單位。 進(jìn)程是一個(gè)既能用來共享資源,又能描述程序并發(fā)執(zhí)行過程的系統(tǒng)基本單位。 進(jìn)程是一種支持程序執(zhí)行的系統(tǒng)機(jī)制。操作系統(tǒng)為什么要引入
3、進(jìn)程概念操作系統(tǒng)為什么要引入進(jìn)程概念?(1)?(1)原因原因1- 1-刻畫程序的并發(fā)性刻畫程序的并發(fā)性。程序是并發(fā)執(zhí)行的,即不是連續(xù)而是走走程序是并發(fā)執(zhí)行的,即不是連續(xù)而是走走停停的。程序的并發(fā)執(zhí)行引起資源共享和停停的。程序的并發(fā)執(zhí)行引起資源共享和競爭問題,執(zhí)行的程序不再處在封閉環(huán)境競爭問題,執(zhí)行的程序不再處在封閉環(huán)境中。中。“程序程序”自身只是計(jì)算任務(wù)的指令和數(shù)據(jù)自身只是計(jì)算任務(wù)的指令和數(shù)據(jù)的描述,是靜態(tài)概念無法刻畫程序的并發(fā)的描述,是靜態(tài)概念無法刻畫程序的并發(fā)特性,系統(tǒng)需要尋找一個(gè)能描述程序動(dòng)態(tài)特性,系統(tǒng)需要尋找一個(gè)能描述程序動(dòng)態(tài)執(zhí)行過程的概念,這就是進(jìn)程執(zhí)行過程的概念,這就是進(jìn)程。操作系
4、統(tǒng)為什么要引入進(jìn)程概念操作系統(tǒng)為什么要引入進(jìn)程概念原因原因2-2-解決解決資源的共享性資源的共享性。 “可再用可再用” 程序;程序; “可再入可再入” 程序;程序; “可再入可再入”程序具有的性質(zhì)。程序具有的性質(zhì)。“進(jìn)程進(jìn)程”和和“程序程序”的比較的比較進(jìn)程和線程進(jìn)程進(jìn)程的概念進(jìn)程控制塊進(jìn)程狀態(tài)三狀態(tài)進(jìn)程模型掛起進(jìn)程模型為什么引入線程線程的概念用戶線程內(nèi)核線程線程實(shí)際操作系統(tǒng)中的進(jìn)程 進(jìn)程和程序是什么樣的關(guān)系?進(jìn)程的定義進(jìn)程是指一個(gè)具有一定獨(dú)立功能的程序在一個(gè)數(shù)據(jù)集合上的一次動(dòng)態(tài)執(zhí)行過程進(jìn)程地址空間代碼初始化數(shù)據(jù)堆棧共享庫段表加載可執(zhí)行文件代碼初始化數(shù)據(jù)文件頭編譯鏈接源代碼文件void X (
5、int b) if(b = 1) int main() int a = 2; X(a);main; a = 2X; b = 2堆棧內(nèi)存中的進(jìn)程void X (int b) if(b = 1) int main() int a = 2; X(a);程序源代碼內(nèi)存中進(jìn)程進(jìn)程的組成進(jìn)程包含了正在運(yùn)行的一個(gè)程序的所有狀態(tài)信息代碼數(shù)據(jù)狀態(tài)寄存器 CPU狀態(tài)CR0、指令指針I(yè)P通用寄存器 AX、BX、CX進(jìn)程占用系統(tǒng)資源 打開文件、已分配內(nèi)存 進(jìn)程的特點(diǎn)進(jìn)程執(zhí)行過程進(jìn)程切換ABCD時(shí)間進(jìn)程ABCD四個(gè)指令指針ABCD動(dòng)態(tài)性并發(fā)性獨(dú)立性制約性可動(dòng)態(tài)地創(chuàng)建、結(jié)束進(jìn)程進(jìn)程可以被獨(dú)立調(diào)度并占用處理機(jī)運(yùn)行不同進(jìn)程的
6、工作不相互影響因訪問共享數(shù)據(jù)/資源或進(jìn)程間同步而產(chǎn)生制約 進(jìn)程是操作系統(tǒng)處于執(zhí)行狀態(tài)程序的抽象程序 = 文件 (靜態(tài)的可執(zhí)行文件)進(jìn)程 = 執(zhí)行中的程序 = 程序 + 執(zhí)行狀態(tài) 同一個(gè)程序的多次執(zhí)行過程對應(yīng)為不同進(jìn)程如命令“l(fā)s”的多次執(zhí)行對應(yīng)多個(gè)進(jìn)程 進(jìn)程執(zhí)行需要的資源內(nèi)存:保存代碼和數(shù)據(jù)CPU:執(zhí)行指令進(jìn)程是動(dòng)態(tài)的,程序是靜態(tài)的程序是有序代碼的集合進(jìn)程是程序的執(zhí)行,進(jìn)程有核心態(tài)/用戶態(tài)進(jìn)程是暫時(shí)的,程序的永久的進(jìn)程是一個(gè)狀態(tài)變化的過程程序可長久保存進(jìn)程與程序的組成不同進(jìn)程的組成包括程序、數(shù)據(jù)和進(jìn)程控制塊進(jìn)程和線程進(jìn)程進(jìn)程的概念進(jìn)程控制塊進(jìn)程狀態(tài)三狀態(tài)進(jìn)程模型掛起進(jìn)程模型為什么引入線程線程的
7、概念用戶線程內(nèi)核線程線程操作系統(tǒng)管理控制進(jìn)程運(yùn)行所用的信息集合進(jìn)程控制塊(PCB,Process Control Block)操作系統(tǒng)用PCB來描述進(jìn)程的基本情況以及運(yùn)行變化的過程PCB是進(jìn)程存在的唯一標(biāo)志每個(gè)進(jìn)程都在操作系統(tǒng)中有一個(gè)對應(yīng)的PCB進(jìn)程控制塊的使用進(jìn)程的狀態(tài)轉(zhuǎn)換?PCB具體包含什么信息?如何組織的?進(jìn)程創(chuàng)建 生成該進(jìn)程的PCB進(jìn)程終止 回收它的PCB進(jìn)程的組織管理 通過對PCB的組織管理來實(shí)現(xiàn)進(jìn)程控制塊進(jìn)程地址空間代碼初始化數(shù)據(jù)堆棧共享庫段表PCSP其他寄存器PIDUID調(diào)度優(yōu)先級(jí)打開文件列表進(jìn)程標(biāo)識(shí)信息處理機(jī)現(xiàn)場保存進(jìn)程控制信息進(jìn)程控制信息調(diào)度和狀態(tài)信息調(diào)度進(jìn)程和處理機(jī)使用情況
8、 進(jìn)程間通信信息進(jìn)程間通信相關(guān)的各種標(biāo)識(shí)存儲(chǔ)管理信息指向進(jìn)程映像存儲(chǔ)空間數(shù)據(jù)結(jié)構(gòu)進(jìn)程所用資源進(jìn)程使用的系統(tǒng)資源,如打開文件等有關(guān)數(shù)據(jù)結(jié)構(gòu)連接信息與PCB相關(guān)的進(jìn)程隊(duì)列進(jìn)程控制塊列表進(jìn)程控制塊的組織鏈表索引表就緒等待就緒等待索引表同一狀態(tài)的進(jìn)程其PCB成一鏈表,多個(gè)狀態(tài)對應(yīng)多個(gè)不同的鏈表各狀態(tài)的進(jìn)程形成不同的鏈表:就緒鏈表、阻塞鏈表同一狀態(tài)的進(jìn)程歸入一個(gè)索引表(由索引指向PCB),多個(gè)狀態(tài)對應(yīng)多個(gè)不同的索引表各狀態(tài)的進(jìn)行形成不同的索引表:就緒索引表、阻塞索引表進(jìn)程控制塊列表進(jìn)程和線程進(jìn)程進(jìn)程的概念進(jìn)程控制塊進(jìn)程狀態(tài)三狀態(tài)進(jìn)程模型掛起進(jìn)程模型為什么引入線程線程的概念用戶線程內(nèi)核線程線程進(jìn)程創(chuàng)建進(jìn)程
9、執(zhí)行進(jìn)程搶占進(jìn)程等待進(jìn)程喚醒進(jìn)程結(jié)束進(jìn)程的生命周期劃分引起進(jìn)程創(chuàng)建的情況進(jìn)程創(chuàng)建系統(tǒng)初始化時(shí)用戶請求創(chuàng)建一個(gè)新進(jìn)程正在運(yùn)行的進(jìn)程執(zhí)行了創(chuàng)建進(jìn)程的系統(tǒng)調(diào)用創(chuàng) 建就 緒內(nèi)核選擇一個(gè)就緒的進(jìn)程,讓它占用處理機(jī)并執(zhí)行進(jìn)程執(zhí)行如何選擇?創(chuàng) 建就 緒運(yùn) 行進(jìn)程等待只有進(jìn)程自身才能知道何時(shí)需要等待某種事件的發(fā)生進(jìn)程進(jìn)入等待(阻塞)的情況:請求并等待系統(tǒng)服務(wù),無法馬上完成啟動(dòng)某種操作,無法馬上完成需要的數(shù)據(jù)沒有到達(dá)創(chuàng) 建就 緒運(yùn) 行等 待進(jìn)程搶占進(jìn)程會(huì)被搶占的情況高優(yōu)先級(jí)進(jìn)程就緒進(jìn)程執(zhí)行當(dāng)前時(shí)間用完創(chuàng) 建就 緒運(yùn) 行等 待進(jìn)程喚醒喚醒進(jìn)程的情況:被阻塞進(jìn)程需要的資源可被滿足被阻塞進(jìn)程等待的事件到達(dá)進(jìn)程只能被別
10、的進(jìn)程或操作系統(tǒng)喚醒創(chuàng) 建就 緒運(yùn) 行等 待進(jìn)程結(jié)束進(jìn)程結(jié)束的情況:正常退出(自愿的)錯(cuò)誤退出(自愿的)致命錯(cuò)誤(強(qiáng)制性的)被其他進(jìn)程所殺(強(qiáng)制性的)創(chuàng) 建就 緒運(yùn) 行等 待退 出創(chuàng) 建就 緒退 出運(yùn) 行等 待sleep()系統(tǒng)調(diào)用對應(yīng)的進(jìn)程狀態(tài)變化創(chuàng) 建就 緒退 出運(yùn) 行等 待進(jìn)程切換k: sleep()main程序 1程序 2操作系統(tǒng)I/O設(shè)備add_timer()sleepmaink+1:保存現(xiàn)場schedule()定時(shí)時(shí)間到中斷schedule()恢復(fù)現(xiàn)場保存現(xiàn)場地址空間.進(jìn)程n進(jìn)程2進(jìn)程1系統(tǒng)應(yīng)用軟件操作系統(tǒng).進(jìn)程和線程進(jìn)程進(jìn)程的概念進(jìn)程控制塊進(jìn)程狀態(tài)三狀態(tài)進(jìn)程模型掛起進(jìn)程模型為什么
11、引入線程線程的概念用戶線程內(nèi)核線程線程創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件三狀態(tài)進(jìn)程模型進(jìn)程在整個(gè)生命周期分為三種基本狀態(tài)創(chuàng) 建就 緒退 出運(yùn) 行等 待運(yùn)行狀態(tài)(Running)進(jìn)程正在處理機(jī)上運(yùn)行進(jìn)程獲得了除處理機(jī)之外的所需資源,得到處理機(jī)即可運(yùn)行進(jìn)程正在等待某一事件的出現(xiàn)而暫停運(yùn)行一個(gè)進(jìn)程正在被創(chuàng)建,還沒被轉(zhuǎn)到就緒狀態(tài)之前的狀態(tài)一個(gè)進(jìn)程正在從系統(tǒng)中消失時(shí)的狀態(tài),這是因?yàn)檫M(jìn)程結(jié)束或由于其他原因所導(dǎo)致就緒狀態(tài)(Ready)等待狀態(tài)(又稱阻塞狀態(tài)Blocked )創(chuàng)建狀態(tài)(New)結(jié)束狀態(tài)(Exit)啟 動(dòng)三狀態(tài)進(jìn)程模型創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就
12、緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件啟 動(dòng)三狀態(tài)進(jìn)程模型NULL創(chuàng)建一個(gè)新進(jìn)程被產(chǎn)生出來執(zhí)行一個(gè)程序創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件啟 動(dòng)三狀態(tài)進(jìn)程模型創(chuàng)建就緒當(dāng)進(jìn)程被創(chuàng)建完成并初始化后,一切就緒準(zhǔn)備運(yùn)行時(shí),變?yōu)榫途w狀態(tài)創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件啟 動(dòng)三狀態(tài)進(jìn)程模型就緒運(yùn)行處于就緒狀態(tài)的進(jìn)程被進(jìn)程調(diào)度程序選中后,就分配到處理機(jī)上來運(yùn)行創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件啟 動(dòng)三狀態(tài)進(jìn)程模型運(yùn)行結(jié)束當(dāng)進(jìn)程表示它已經(jīng)完成或者因出錯(cuò),當(dāng)前運(yùn)行進(jìn)程會(huì)由操作系統(tǒng)作結(jié)束
13、處理創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件啟 動(dòng)三狀態(tài)進(jìn)程模型運(yùn)行就緒處于運(yùn)行狀態(tài)的進(jìn)程在其運(yùn)行過程中,由于分配給它的處理機(jī)時(shí)間片用完而讓出處理機(jī)創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件啟 動(dòng)三狀態(tài)進(jìn)程模型運(yùn)行等待當(dāng)進(jìn)程請求某資源且必須等待時(shí)創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件啟 動(dòng)三狀態(tài)進(jìn)程模型等待就緒當(dāng)進(jìn)程要等待某事件到來時(shí),它從阻塞狀態(tài)變到就緒狀態(tài)創(chuàng) 建就 緒運(yùn) 行等 待退 出進(jìn)入就緒列隊(duì)被調(diào)度時(shí)間片完事件發(fā)生結(jié)束等待事件啟 動(dòng)進(jìn)程和線程進(jìn)程進(jìn)程的概念進(jìn)程控制塊進(jìn)程狀態(tài)三狀態(tài)
14、進(jìn)程模型掛起進(jìn)程模型為什么引入線程線程的概念用戶線程內(nèi)核線程線程處在掛起狀態(tài)的進(jìn)程映像在磁盤上, 目的是減少進(jìn)程占用內(nèi)存進(jìn)程掛起創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束掛起狀態(tài)等待掛起狀態(tài)(Blocked-suspend)進(jìn)程在外存并等待某事件的出現(xiàn)創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束掛起狀態(tài)等待掛起狀態(tài)(Blocked-suspend)就緒掛起狀態(tài)(Ready-suspend)進(jìn)程在外存,但只要進(jìn)入內(nèi)存,即可運(yùn)行創(chuàng) 建就 緒運(yùn) 行等 待退 出
15、就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束與掛起相關(guān)的狀態(tài)轉(zhuǎn)換創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束掛起(Suspend):把一個(gè)進(jìn)程從內(nèi)存轉(zhuǎn)到外存沒有進(jìn)程處于就緒狀態(tài)或就緒進(jìn)程要求更多內(nèi)存資源與掛起相關(guān)的狀態(tài)轉(zhuǎn)換創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束掛起(Suspend):把一個(gè)進(jìn)程從內(nèi)存轉(zhuǎn)到外存等待到等待掛起當(dāng)有高優(yōu)先級(jí)等待(系統(tǒng)認(rèn)為會(huì)很快就緒的)進(jìn)程和低優(yōu)先級(jí)就緒進(jìn)程與掛起相關(guān)的狀態(tài)轉(zhuǎn)換創(chuàng) 建就
16、緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束掛起(Suspend):把一個(gè)進(jìn)程從內(nèi)存轉(zhuǎn)到外存等待到等待掛起就緒到就緒掛起掛起(Suspend):把一個(gè)進(jìn)程從內(nèi)存轉(zhuǎn)到外存等待到等待掛起就緒到就緒掛起對搶先式分時(shí)系統(tǒng),當(dāng)有高優(yōu)先級(jí)等待掛起進(jìn)程因事件出現(xiàn)而進(jìn)入就緒掛起運(yùn)行到就緒掛起與掛起相關(guān)的狀態(tài)轉(zhuǎn)換創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束與掛起相關(guān)的狀態(tài)轉(zhuǎn)換創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度
17、結(jié)束在外存時(shí)的狀態(tài)轉(zhuǎn)換在外存時(shí)的狀態(tài)轉(zhuǎn)換當(dāng)有等待掛起進(jìn)程因相關(guān)事件出現(xiàn)等待掛起到就緒掛起與掛起相關(guān)的狀態(tài)轉(zhuǎn)換創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束與掛起相關(guān)的狀態(tài)轉(zhuǎn)換創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束激活(Activate):把一個(gè)進(jìn)程從外存轉(zhuǎn)到內(nèi)存與掛起相關(guān)的狀態(tài)轉(zhuǎn)換沒有就緒進(jìn)程或掛起就緒進(jìn)程優(yōu)先級(jí)高于就緒進(jìn)程創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束激活(Activ
18、ate):把一個(gè)進(jìn)程從外存轉(zhuǎn)到內(nèi)存就緒掛起到就緒與掛起相關(guān)的狀態(tài)轉(zhuǎn)換激活(Activate):把一個(gè)進(jìn)程從外存轉(zhuǎn)到內(nèi)存就緒掛起到就緒當(dāng)一個(gè)進(jìn)程釋放足夠內(nèi)存,并有高優(yōu)先級(jí)等待掛起進(jìn)程等待掛起到等待創(chuàng) 建就 緒運(yùn) 行等 待退 出就緒掛起等待掛起掛起接收事件發(fā)生接收激活掛起事件發(fā)生激活掛起等待事件時(shí)間片完調(diào)度結(jié)束狀態(tài)隊(duì)列由操作系統(tǒng)來維護(hù)一組隊(duì)列,表示系統(tǒng)中所有進(jìn)程的當(dāng)前狀態(tài)不同隊(duì)列表示不同狀態(tài) 就緒隊(duì)列、各種等待隊(duì)列根據(jù)進(jìn)程狀態(tài)不同,進(jìn)程PCB加入相應(yīng)隊(duì)列 進(jìn)程狀態(tài)變化時(shí),它所在的PCB會(huì)從一個(gè)隊(duì)列 換到另一個(gè)進(jìn)程狀態(tài)的隊(duì)列表現(xiàn)接收進(jìn)程處理機(jī)就緒隊(duì)列1就緒隊(duì)列2就緒隊(duì)列n終止進(jìn)程超時(shí)事件1發(fā)生事件2
19、發(fā)生事件m發(fā)生等待事件1等待事件2等待事件m等待隊(duì)列1等待隊(duì)列2等待隊(duì)列m進(jìn)程和線程進(jìn)程進(jìn)程的概念進(jìn)程控制塊進(jìn)程狀態(tài)三狀態(tài)進(jìn)程模型掛起進(jìn)程模型為什么引入線程線程的概念用戶線程內(nèi)核線程線程為什么引入線程【案例】編寫一個(gè)MP3播放軟件。核心功能模塊有三個(gè):(3)把解壓縮后的音頻數(shù)據(jù)播放出來(2)對數(shù)據(jù)進(jìn)行解壓縮(1)從MP3音頻文件當(dāng)中讀取數(shù)據(jù)單進(jìn)程的實(shí)現(xiàn)方法 main( ) while(TRUE) Read( ); Decompress( ); Play( ); Read( ) Decompress( ) Play( ) 1. 播放出來的聲音能 否連貫2. 各個(gè)函數(shù)之間不是并發(fā)執(zhí)行,影響資源的使
20、用效率問題:I/OCPU多進(jìn)程的實(shí)現(xiàn)方法 存在的問題:1. 進(jìn)程之間如何通信,共享數(shù)據(jù)?程序1main( ) while(TRUE) Read( ); Read( ) 程序2main( ) while(TRUE) Decompress( ); Decompress( ) 程序3main( ) while(TRUE) Play( ); Play( ) 2. 系統(tǒng)開銷較大:創(chuàng)建進(jìn)程、進(jìn)程結(jié)束、進(jìn)程切換多線程的解決思路 這種實(shí)體就是線程(Thread)在進(jìn)程內(nèi)部增加一類實(shí)體,滿足以下特性:(2)實(shí)體之間共享相同的地址空間(1)實(shí)體之間可以并發(fā)執(zhí)行線程的概念線程是進(jìn)程的一部分,描述指令流執(zhí)行狀態(tài)。它是進(jìn)程中的指令執(zhí)行流的最小單元,是CPU調(diào)度的基本單位。進(jìn)程地址空間代碼初始化數(shù)據(jù)堆代碼共
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租商鋪裝修合同樣本
- 停車設(shè)備租賃工程合同樣本
- 農(nóng)村承包山嶺合同樣本
- 2025年04月事業(yè)單位行政職業(yè)能力測試每日一練(41)資料分析筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 興義農(nóng)村建房合同樣本
- 全款房定金合同標(biāo)準(zhǔn)文本
- 冰袋代加工合同標(biāo)準(zhǔn)文本
- 出租成包合同樣本
- 農(nóng)家菠菜售賣合同樣本
- 農(nóng)村辦酒席合同樣本
- 森林生態(tài)學(xué)-知識(shí)點(diǎn)整理-考研復(fù)習(xí)筆記
- 西游記 品味經(jīng)典名著導(dǎo)讀PPT
- 通信線路工程施工技術(shù)規(guī)范(新)
- 很全的禮品qq群
- 資產(chǎn)評估操作規(guī)范試行
- 馬雷軍-學(xué)校安全管理的基本知識(shí)
- 重力式碼頭工程完整施工組織設(shè)計(jì)(沉箱方案)
- (完整版)譯林英語四年級(jí)下知識(shí)點(diǎn)及語法匯總
- (高清版)民用建筑修繕工程施工標(biāo)準(zhǔn)JGJ_T 112-2019
- 走進(jìn)高端市場鄭榮祿
- 節(jié)流式壓差流量計(jì)
評論
0/150
提交評論