第三篇4:進(jìn)程管理_第1頁(yè)
第三篇4:進(jìn)程管理_第2頁(yè)
第三篇4:進(jìn)程管理_第3頁(yè)
第三篇4:進(jìn)程管理_第4頁(yè)
第三篇4:進(jìn)程管理_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)系統(tǒng)平臺(tái)——

第4章操作系統(tǒng)的內(nèi)部實(shí)現(xiàn)機(jī)制王琳ise_wanglin@

已講的內(nèi)容第一篇:計(jì)算機(jī)操作平臺(tái)(操作系統(tǒng))第二篇:計(jì)算機(jī)硬件平臺(tái)(計(jì)算機(jī)硬件組成、信息表示)問題:什么是操作系統(tǒng)?操作系統(tǒng)的作用是什么?部分操作系統(tǒng)部分操作系統(tǒng)操作系統(tǒng)的層次結(jié)構(gòu)操作系統(tǒng)抽象CPUMemdiskI/OOperatingSystemprocessaddressspacefile操作系統(tǒng)定義OSisacontrolprogramApieceofsystemsoftwareControlsexecutionofprogramstopreventerrorsandimproperuseofthecomputerExecuteuserprogramsandmakesolvinguserproblemseasierMakethecomputersystemconvenienttouseOSisaresourceallocatorAninterfacebetweenapplicationsandhardwareManagesallresourcesDecidesbetweenconflictingrequestsforefficientandfairresourceuseUsethecomputerhardwareinanefficientmannerNouniversallyaccepteddefinition操作系統(tǒng)定義(Cont.)?FunctionsofOSserviceproviderresourcemanagerextendedmachinevirtualmachine操作系統(tǒng)作為服務(wù)提供者ServiceproviderProvidestandardfacilitiesFilesystemStandardlibrariesGUIWindowsystemInterface……操作系統(tǒng)作為資源管理者ResponsibleformanagingresourcesFunctionssamewayasordinarycomputersoftwareItisaprogramthatisexecutedOperatingsystemrelinquishescontroloftheprocessor操作系統(tǒng)作為擴(kuò)展機(jī)器Hardware+interruptsVirtualMemProcess+primitivesComm.PrmtvsFilesys.DevicesDirectoriesShellUserProcessesWebClientsApplicationClientsWebServerApplicationServer操作系統(tǒng)作為虛擬機(jī)器(a)Nonvirtualmachine(b)virtualmachineNon-virtualMachineVirtualMachine進(jìn)程的管理進(jìn)程概念的引入進(jìn)程的狀態(tài)進(jìn)程的調(diào)度進(jìn)程間的通信線程進(jìn)程概念的引入什么是程序?進(jìn)程概念的引入什么是進(jìn)程操作系統(tǒng)抽象概念里的程序運(yùn)行操作系統(tǒng)的基本執(zhí)行單元進(jìn)程是程序的運(yùn)行(實(shí)體)程序=靜態(tài)文件(image)進(jìn)程=程序執(zhí)行=程序+執(zhí)行狀態(tài).不同進(jìn)程可以運(yùn)行同一個(gè)程序的不同實(shí)例同一程序,不同進(jìn)程多道程序系統(tǒng)下,多個(gè)執(zhí)行進(jìn)程執(zhí)行至少要求以下資源:用以裝載程序代碼和數(shù)據(jù)的內(nèi)存空間支持執(zhí)行的一系列CPU寄存器從程序到進(jìn)程用C語言編寫一個(gè)程序編譯器把程序轉(zhuǎn)化成指令集連接器生成可執(zhí)行文件(code+data)載入可執(zhí)行程序到內(nèi)存(makereadytorun)voidX(intb){if(b==1){…intmain(){inta=2;X(a);}CodeHeaderInitializeddataExecutableFileSourceCodeCompile+Link進(jìn)程在內(nèi)存中的存在形式voidX(intb){if(b==1){…intmain(){inta=2;X(a);}WhatyouwroteWhatisinmemory.voidX(intb){if(b==1){…intmain(){inta=2;X(a);}Codemain;a=2X;b=2HeapStack進(jìn)程的剖析CodeHeaderInitializeddataExecutableFileCodeInitializeddataHeapStackDLL’smappedsegmentsProcess’saddressspaceLoad進(jìn)程控制塊CodeInitializeddataHeapStackDLL’smappedsegmentsProcess’saddressspacePCSPOtherRegistersPIDUIDSchedulingPriorityListofopenfiles…PCB操作系統(tǒng)用來存放進(jìn)程有關(guān)的信息每個(gè)進(jìn)程都有一個(gè)進(jìn)程控制塊進(jìn)程管理的任務(wù)進(jìn)程的調(diào)度系統(tǒng)決定在某個(gè)時(shí)刻應(yīng)該執(zhí)行哪個(gè)進(jìn)程(因?yàn)槎嗟莱绦虻拇嬖?進(jìn)程間資源的競(jìng)爭(zhēng)與共享多個(gè)進(jìn)程同時(shí)需要同一個(gè)資源(打印機(jī))進(jìn)程的同步與互斥任務(wù)多個(gè)進(jìn)程訪問同一個(gè)數(shù)據(jù)(溫度測(cè)控與顯示)進(jìn)程通信進(jìn)程間通告狀態(tài)或者任務(wù)信息main{

intchildPID;S1;

childPID=fork();

if(childPID==0)<codeforchildprocess>

else{<codeforparentprocess>wait();

}

S2;

}Unixfork()產(chǎn)生進(jìn)程實(shí)例(很多方式產(chǎn)生進(jìn)程)Theexecutioncontextforthechildprocessisacopyoftheparent’scontextatthetimeofthecallfork()returnschildPIDinparent,and0inchildCodeDataStackCodeDataStackParentChildfork()childPID

=0childPID

=xxx進(jìn)程的生命周期ProcessiscreatedatStartandtransitionstoReadywhenitbecomesrunnableReadyStart進(jìn)程的生命周期ProcesstransitionsfromReadytoRunningwhenkernelschedulesitRunningReadyStart進(jìn)程的生命周期ProcesstransitionsfromRunningtoWaitingwhenitisblocked,waitingforaneventtooccur(e.g.,waitingforanI/Otofinish)RunningReadyWaitingStart進(jìn)程的生命周期ProcesstransitionsfromWaitingtoReadywhentheeventoccurs(e.g.,I/Ocompletion)RunningReadyWaitingStart進(jìn)程的生命周期ProcesstransitionsfromRunningtoReadyonaninterruptandpre-emptiveschedulingRunningReadyWaitingStart進(jìn)程的生命周期ProcesstransitionsfromRunningtoDoneonexit()RunningReadyWaitingStartDone進(jìn)程的生命周期ProcessesarealwayseitherRunning,Ready(toexecute)orWaiting(foraneventtooccur)RunningReadyWaitingStartDone內(nèi)存進(jìn)程的狀態(tài)基本狀態(tài)“執(zhí)行”、“就緒”、“阻塞”其他狀態(tài)掛起內(nèi)存不足、特殊階段性進(jìn)程(計(jì)劃任務(wù))內(nèi)存到外存(代碼除外)阻塞進(jìn)程先掛起僵死進(jìn)程信息依然存在等待能被信號(hào)喚起:淺睡眠不能被信號(hào)喚起:深睡眠掛起將暫不執(zhí)行的進(jìn)程換出到外存,節(jié)省內(nèi)存空間“掛起就緒狀態(tài)”“掛起阻塞狀態(tài)”進(jìn)程的七狀態(tài)圖內(nèi)存外存Linux的進(jìn)程狀態(tài)圖就緒隊(duì)列(鏈表)structlist_head{ structlist_head*next,*prev;};structtask_struct{ …… structlist_headrun_list; ……}進(jìn)程隊(duì)列實(shí)例回顧幾個(gè)問題操作系統(tǒng)通常包含哪四種子系統(tǒng)?進(jìn)程和程序的區(qū)別?除了初始狀態(tài)與退出狀態(tài),在五狀態(tài)模型中還包括哪幾種狀態(tài)?其狀態(tài)轉(zhuǎn)移關(guān)系是怎么樣的?考慮掛起的情況下,又可增加哪幾種狀態(tài)?新的狀態(tài)轉(zhuǎn)移關(guān)系是怎么樣的?進(jìn)程的調(diào)度CPU的分配方式剝奪式(可中斷,間斷調(diào)用)當(dāng)一個(gè)進(jìn)程正在執(zhí)行,處于它的一個(gè)CPU周期期間,系統(tǒng)可基于某種原則,強(qiáng)行剝奪現(xiàn)行進(jìn)程正占用的CPU,并把CPU分配給另一進(jìn)程。非剝奪式(不可中斷,一直執(zhí)行)非剝奪式調(diào)度,也稱“非搶占式調(diào)度”。它的含義是:當(dāng)一個(gè)進(jìn)程獲得CPU后,除非它因某種原因阻塞或者運(yùn)行完畢,系統(tǒng)不能從該進(jìn)程奪走CPU控制權(quán)。即現(xiàn)行進(jìn)程完成它的當(dāng)前CPU周期后,系統(tǒng)才重新調(diào)度。周轉(zhuǎn)時(shí)間是從作業(yè)提交到作業(yè)完成的時(shí)間間隔。

平均周轉(zhuǎn)時(shí)間是指進(jìn)程調(diào)度時(shí),各個(gè)進(jìn)程的周轉(zhuǎn)時(shí)間的平均值。等待時(shí)間是指一個(gè)作業(yè)從被提交到獲得資源來被處理的那段等待時(shí)間,也被稱為響應(yīng)時(shí)間。平均等待時(shí)間是指進(jìn)程調(diào)度時(shí),各個(gè)進(jìn)程的等待時(shí)間的平均值。周轉(zhuǎn)時(shí)間與等待時(shí)間先來先服務(wù)策略該準(zhǔn)則實(shí)質(zhì)對(duì)應(yīng)于FIFO隊(duì)列若進(jìn)程終止或阻塞,則CPU被分配給隊(duì)列中的下一個(gè)進(jìn)程例子—三個(gè)進(jìn)程P1,P2,P3,執(zhí)行時(shí)間分別是12,3,3.作業(yè)抵達(dá)順序P1,P2,P3作業(yè)抵達(dá)順序P2,P3,P1該策略屬于哪種CPU的分配方式?短作業(yè)優(yōu)先策略短作業(yè)先執(zhí)行按照預(yù)估完成時(shí)間的順序進(jìn)行排隊(duì)該策略屬于哪種CPU分配方式?可以是剝奪式,也可以是非剝奪式若是剝奪式的話:也稱做最短剩余時(shí)間優(yōu)先策略HeadTail短作業(yè)優(yōu)先法的性能進(jìn)程

執(zhí)行時(shí)間

P1

15P2 4P3 3平均周轉(zhuǎn)時(shí)間:(22+7+3)/3=10.7平均等待時(shí)間:(7+3+0)/3=3.3若使用FCFS策略,進(jìn)程到達(dá)的順序?yàn)?/p>

P1、P2、P3。平均周轉(zhuǎn)時(shí)間是多少?平均等待時(shí)間又是多少?平均周轉(zhuǎn)時(shí)間:(15+19+22)/3=18.7平均等待時(shí)間:(0+15+19)/3=11.3P3P2P103722時(shí)間最短剩余時(shí)間優(yōu)先策略的性能行程

CPU執(zhí)行時(shí)間

到達(dá)時(shí)間

P1 6

0 P2 3

1 P3 7

2P4 4

3 平均周轉(zhuǎn)時(shí)間是多少?平均等待時(shí)間又是多少?平均周轉(zhuǎn)時(shí)間:(13+3+18+5)/4=9.75平均等待時(shí)間:(7

+

0+11+1)/4=4.75P1P3P1P2P4時(shí)間

01481320時(shí)間片輪轉(zhuǎn)法采用被稱做時(shí)間片的離散單元來分配處理器在每個(gè)時(shí)間片的末期,進(jìn)程狀態(tài)轉(zhuǎn)換為就緒狀態(tài)進(jìn)程每(n–1)q個(gè)時(shí)間單元執(zhí)行一次該策略屬于哪種CPU分配方式?時(shí)間片輪轉(zhuǎn)法示例時(shí)間片為20,進(jìn)程抵達(dá)順序與運(yùn)行時(shí)間如下

P1 53

P2 8

P3 68

P4 24甘特圖等待時(shí)間P1=(68-20)+(112-88)=72 P2=(20-0)=20

P3=(28-0)+(88-48)+(125-108)=85

P4=(48-0)+(108-68)=88平均等待時(shí)間=(72+20+85+88)/4=66?P1P2P3P4P1P3P4P1P3P302028486888108112125145153優(yōu)先級(jí)法為每一個(gè)進(jìn)程分配一個(gè)優(yōu)先級(jí),并按照優(yōu)先級(jí)來調(diào)度進(jìn)程 若將優(yōu)先級(jí)定義為作業(yè)的預(yù)計(jì)執(zhí)行時(shí)間,則變?yōu)榱硕套鳂I(yè)優(yōu)先缺點(diǎn):進(jìn)程饑餓低優(yōu)先級(jí)進(jìn)程可能永遠(yuǎn)不會(huì)被執(zhí)行!避免進(jìn)程饑餓的方法:年齡增長(zhǎng) 隨時(shí)間逐步增加進(jìn)程的優(yōu)先級(jí)進(jìn)程調(diào)度策略總結(jié)先來先服務(wù)就緒隊(duì)列:時(shí)間先后短作業(yè)(遇上復(fù)雜作業(yè))短作業(yè)優(yōu)先短作業(yè)先服務(wù)長(zhǎng)作業(yè)可能很久不被執(zhí)行時(shí)間片輪轉(zhuǎn)法時(shí)間片,輪流(剛獲得CPU資源,執(zhí)行I/O操作)為I/O就緒進(jìn)程單設(shè)隊(duì)列優(yōu)先級(jí)法優(yōu)先級(jí)別(緊急情況優(yōu)先)進(jìn)程饑餓(調(diào)整優(yōu)先級(jí))進(jìn)程切換開銷時(shí)間和空間上的系統(tǒng)開銷根據(jù)策略選擇進(jìn)程需要時(shí)間和空間調(diào)度策略最后反映在實(shí)物上就是操作系統(tǒng)代碼時(shí)間的角度:這些代碼的執(zhí)行需要時(shí)間空間的角度:這些代碼以及用到的相應(yīng)數(shù)據(jù)結(jié)構(gòu)都要放在內(nèi)存中切換時(shí)保存和恢復(fù)進(jìn)程的上下文(保護(hù)現(xiàn)場(chǎng))需要保護(hù)的對(duì)象如程序計(jì)數(shù)器、狀態(tài)寄存器的內(nèi)容保存在哪進(jìn)程控制塊或者與當(dāng)前進(jìn)程有關(guān)的一些內(nèi)存區(qū)域中進(jìn)程上下文OperatingSystem“SystemSoftware”UserProgram1UserProgram2UserProgram2UserProgramn...Program1Program2OSI/ODevicek:read()k+1:startIO()endio{interruptmain{main{}read{}}schedule()Memorysave

stateschedule()restore

statesavestate上下文交換圖示進(jìn)程的同步與互斥進(jìn)程同步與互斥需求(操作系統(tǒng)協(xié)調(diào))互斥:進(jìn)程要求對(duì)資源的使用不受其他進(jìn)程干擾(打印機(jī)硬件/數(shù)據(jù)資源)例子:照片編輯器和照片查看器都要打印機(jī)打印照片同步:協(xié)調(diào)進(jìn)程的執(zhí)行順序 例子:一個(gè)進(jìn)程負(fù)責(zé)收集溫度,另外一個(gè)進(jìn)程負(fù)責(zé)顯示時(shí)間以及該時(shí)刻的溫度操作系統(tǒng)怎么支持進(jìn)程互斥地訪問資源呢程序聲明互斥訪問的資源(硬件互斥資源操作系統(tǒng)聲明)使用互斥資源先申請(qǐng)資源未被使用,讓申請(qǐng)進(jìn)程使用使用完資源,明確聲明,然后操作系統(tǒng)才會(huì)讓其他進(jìn)程使用操作系統(tǒng)提供相關(guān)系統(tǒng)調(diào)用程序中訪問互斥資源的那段代碼:臨界區(qū)、或敏感區(qū)、或危險(xiǎn)區(qū)互斥實(shí)現(xiàn)互斥鎖

加鎖和開鎖的操作由操作系統(tǒng)實(shí)現(xiàn)程序員在程序中使用系統(tǒng)調(diào)用,且需要很小心地使用這些功能操作系統(tǒng)實(shí)現(xiàn)檢測(cè)數(shù)據(jù)是否被鎖住加鎖的過程不能被打斷鎖抽象成一個(gè)變量,稱為互斥量?;コ饬康牟僮饔迷硬僮鲗?shí)現(xiàn)全部動(dòng)作過程不會(huì)被打斷的操作互斥鎖的應(yīng)用 進(jìn)程1: 進(jìn)程2:

lock(w); lock(w); 執(zhí)行臨界段1; 執(zhí)行臨界段2;

unlock(w); unlock(w);進(jìn)程的同步典型示例:生產(chǎn)者和消費(fèi)者問題消費(fèi)者產(chǎn)品數(shù)量大于1時(shí),消費(fèi)使產(chǎn)品數(shù)量減少、庫(kù)房(空)數(shù)量增加生產(chǎn)者庫(kù)房數(shù)量大于1時(shí),放產(chǎn)品使產(chǎn)品的數(shù)量增加,庫(kù)房(空)的數(shù)量減少制約資源產(chǎn)品、庫(kù)房生產(chǎn)者/消費(fèi)者問題簡(jiǎn)化單向制約庫(kù)房無限大、產(chǎn)品數(shù)量消費(fèi)者消費(fèi)一個(gè)產(chǎn)品,數(shù)量減1減1后的產(chǎn)品數(shù)量不小于0表示還有產(chǎn)品,消費(fèi)者就從庫(kù)房中取出產(chǎn)品小于0,表明沒有產(chǎn)品,消費(fèi)者去排隊(duì)等待生產(chǎn)者/消費(fèi)者問題簡(jiǎn)化生產(chǎn)者生產(chǎn)一個(gè)產(chǎn)品,產(chǎn)品數(shù)量加1產(chǎn)品數(shù)量加1后,如果產(chǎn)品的數(shù)量還是小于0的,表示有消費(fèi)者在等待,喚醒(V操作)。關(guān)鍵問題增/減數(shù)量、判斷、等待/喚醒所有步驟需要一次完成:原子操作同步的實(shí)現(xiàn)信號(hào)量對(duì)于需要同步訪問的資源,操作系統(tǒng)讓程序?yàn)樗暶饕粋€(gè)信號(hào)量信號(hào)量是一個(gè)整數(shù)。值是資源的個(gè)數(shù)。操作系統(tǒng)提供兩種對(duì)信號(hào)量的操作P操作(荷蘭語:Passeren通過)V操作(荷蘭語:Vrijgeven釋放)同步的實(shí)現(xiàn)P操作對(duì)信號(hào)量的值減1判斷信號(hào)量是否小于等于0;如果不是,則調(diào)用P操作的進(jìn)程繼續(xù)執(zhí)行否則,進(jìn)程到這個(gè)信號(hào)量的等待隊(duì)列中去等待V操作對(duì)信號(hào)量加1判斷信號(hào)量是否大于0;如果是,則調(diào)用進(jìn)程繼續(xù)執(zhí)行否則說明有進(jìn)程在等待該信號(hào)量,通知等待進(jìn)程以原語操作的形式實(shí)現(xiàn)(不可分割,不可中斷)

一般來說,信號(hào)量S>0時(shí),S表示可用資源的數(shù)量。執(zhí)行一次P操作意味著請(qǐng)求分配一個(gè)單位資源,因此S的值減1;當(dāng)S<0時(shí),表示已經(jīng)沒有可用資源,請(qǐng)求者必須等待別的進(jìn)程釋放該類資源,它才能運(yùn)行下去。而執(zhí)行一個(gè)V操作意味著釋放一個(gè)單位資源,因此S的值加1;若S<0,表示有某些進(jìn)程正在等待該資源,因此要喚醒一個(gè)等待狀態(tài)的進(jìn)程,使之運(yùn)行下去。同步的實(shí)現(xiàn)buffer:=1;(緩沖區(qū)數(shù)量) data:=0;(數(shù)據(jù)數(shù)量)P計(jì)算: P打?。篟epeat RepeatP(buffer); P(data);寫入數(shù)據(jù); 輸出數(shù)據(jù);

V(data); V(buffer);Untilfalse; Untilfalse;進(jìn)程間的通信信號(hào)管道消息隊(duì)列共享內(nèi)存基于網(wǎng)絡(luò)連接的通信信號(hào)需求要傳遞的信息很少信號(hào)事先定義對(duì)應(yīng)每個(gè)信號(hào)進(jìn)程有一個(gè)處理程序信號(hào)隊(duì)列每個(gè)進(jìn)程有一個(gè)存放其他進(jìn)程發(fā)給它、等待它處理的信號(hào)操作系統(tǒng)提供發(fā)送信號(hào)的接口函數(shù)把進(jìn)程要發(fā)送的信號(hào)放到目標(biāo)進(jìn)程的信號(hào)隊(duì)列中進(jìn)程在執(zhí)行過程中的特定時(shí)刻,檢查并處理自己的信號(hào)隊(duì)列如從系統(tǒng)空間返回到用戶空間之前發(fā)送信號(hào)時(shí),必須指明發(fā)送目標(biāo)進(jìn)程的號(hào)碼一般用在具有親緣關(guān)系的進(jìn)程之間管道需求大量信息上游的進(jìn)程往管道中寫入數(shù)據(jù),下游的一方從管道接收數(shù)據(jù)先進(jìn)先出的單向通信雙向通信需要建立兩個(gè)管道操作系統(tǒng)提供建立管道的系統(tǒng)調(diào)用函數(shù)命名管道管道同步:操作系統(tǒng)負(fù)責(zé)管道的容量有限,管道滿時(shí),發(fā)送進(jìn)程睡眠等待以字節(jié)為單位:沒有格式的字節(jié)流“清明時(shí)節(jié)雨紛紛,路上行人欲斷魂,借問酒家何處有,牧童遙指杏花村?!薄扒迕鲿r(shí)節(jié)/雨/紛紛路上行人/欲斷魂/借問酒家何處/有牧童遙指/杏花村”消息隊(duì)列需求 保持?jǐn)?shù)據(jù)邏輯邊界操作系統(tǒng)提供創(chuàng)建消息隊(duì)列的系統(tǒng)調(diào)用一個(gè)進(jìn)程可以使用系統(tǒng)調(diào)用創(chuàng)建一個(gè)消息隊(duì)列任何進(jìn)程都可以向該隊(duì)列中發(fā)送消息,也可以從隊(duì)列中接收消息操作系統(tǒng)負(fù)責(zé)同步若消息隊(duì)列已滿,則寫消息的進(jìn)程排隊(duì)若取消息進(jìn)程沒有找到需要的消息,讀等待隊(duì)列共享內(nèi)存速度最快的進(jìn)程間通信方式管道和消息隊(duì)列都需要數(shù)據(jù)的復(fù)制發(fā)送進(jìn)程把數(shù)據(jù)復(fù)制到管道或者隊(duì)列中接收進(jìn)程把數(shù)據(jù)從管道或者隊(duì)列復(fù)制到自己的內(nèi)存區(qū)中操作系統(tǒng)提供系統(tǒng)調(diào)用讓一個(gè)進(jìn)程創(chuàng)建一塊共享內(nèi)存區(qū)其他進(jìn)程通過系統(tǒng)調(diào)用把這段內(nèi)存映射到自己的用戶地址空間中進(jìn)程像正常的內(nèi)存訪問一樣讀寫共享內(nèi)存區(qū)間不涉及數(shù)據(jù)的復(fù)制沒有同步機(jī)制基于網(wǎng)絡(luò)連接的通信插口、也叫套接字(socket)不同計(jì)算機(jī)進(jìn)程間通過插口機(jī)制通信需要通信的雙方首先要各自創(chuàng)建一個(gè)插口,插口聲明自己接收來自某端口地址的數(shù)據(jù)主機(jī)地址:通信地址端口號(hào):人名進(jìn)程通過插口把消息發(fā)送到網(wǎng)絡(luò)中消息中指明接收進(jìn)程所在主機(jī)名、端口號(hào)網(wǎng)絡(luò)中的傳輸設(shè)備根據(jù)主機(jī)地址把消息傳遞給目的主機(jī)。操作系統(tǒng)按照消息中端口號(hào)找到聲明接收該信息的插口,并把數(shù)據(jù)復(fù)制到插口的緩沖區(qū)內(nèi)。目的進(jìn)程從插口中接收到數(shù)據(jù)可用在同一臺(tái)計(jì)算機(jī)上的進(jìn)程之間通信進(jìn)程的缺點(diǎn)進(jìn)程切換開銷大上下文切換:保存和恢復(fù)相關(guān)寄存器的內(nèi)容;與進(jìn)程運(yùn)行有關(guān)的這些數(shù)據(jù)都需要修改;進(jìn)程控制塊中的各種隊(duì)列(如阻塞隊(duì)列、就緒隊(duì)列、通信隊(duì)列);存儲(chǔ)管理有關(guān)的一些記錄信息;文件管理有關(guān)數(shù)據(jù);進(jìn)程的地址空間要轉(zhuǎn)換成新被指派運(yùn)行的進(jìn)程的地址空間涉及到讀寫內(nèi)存、需要花費(fèi)很多時(shí)間 進(jìn)程的個(gè)數(shù)很多、進(jìn)程轉(zhuǎn)換又頻繁發(fā)生,那么系統(tǒng)的性能就會(huì)下降

怎樣減少開銷?為什么要切換這么多信息?切換處理機(jī)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論