精品一级少妇久久久久久久-插我舔内射18免费视频-色戒片段大尺度未删-免费爱爱网址-国产一级性生活-一级大黄毛片-日本三级理论久久人妻电影-图片区亚洲色图-黄色片在线免费观看-男人的天堂在线a无码-a级国产毛片-三级在线观看-精品久久影视-强睡邻居人妻中文字幕-亚洲成人毛片-丁香激情网-国产第九页

華北電力大學(xué)計(jì)算機(jī)專業(yè)考研專業(yè)課復(fù)習(xí),手把手教你考研復(fù)習(xí)

1、進(jìn)程的基本概念

2、進(jìn)程的控制

3、進(jìn)程同步

4、經(jīng)典的進(jìn)程同步互斥問(wèn)題

5、進(jìn)程通信

6、線程定義及實(shí)現(xiàn)

進(jìn)程的基本概念為了提高計(jì)算機(jī)系統(tǒng)中各種資源的利用率,現(xiàn)代操作系統(tǒng)廣泛采用多道程序技術(shù)(multi-programming),使多個(gè)程序同時(shí)在系統(tǒng)中存在并運(yùn)行。描述進(jìn)程的數(shù)據(jù)結(jié)構(gòu)——進(jìn)程控制塊(PCB)一個(gè)進(jìn)程應(yīng)該包括:程序的代碼;程序的數(shù)據(jù);PC中的值,用來(lái)指示下一條將運(yùn)行的指令;一組通用的寄存器的當(dāng)前值,堆、棧;一組系統(tǒng)資源(如打開(kāi)的文件)程序是文本,是語(yǔ)句的描述(靜態(tài))進(jìn)程是運(yùn)行中的程序,含有上下文信息(動(dòng)態(tài))結(jié)構(gòu)特征:程序段、相關(guān)的數(shù)據(jù)段、PCB構(gòu)成了進(jìn)程實(shí)體動(dòng)態(tài)性:進(jìn)程是進(jìn)程實(shí)體的一次執(zhí)行,進(jìn)程的狀態(tài)總是在變化,PCB的內(nèi)容總是在變化并發(fā)性:多個(gè)進(jìn)程實(shí)體,同存于內(nèi)存中,能在一段時(shí)間內(nèi)同時(shí)運(yùn)行(宏觀上)獨(dú)立性:獨(dú)立運(yùn)行和資源調(diào)度的基本單位。每個(gè)進(jìn)程都有“自己”的PC和內(nèi)部狀態(tài),運(yùn)行時(shí)獨(dú)立于其他的進(jìn)程(邏輯PC和物理PC)異步性:以各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)

進(jìn)程的控制Running運(yùn)行 Blocked阻塞 Ready就緒進(jìn)程的三種基本狀態(tài)1) 就緒(Ready)狀態(tài):進(jìn)程一旦獲得CPU就可以投入運(yùn)行的狀態(tài)2) 執(zhí)行狀態(tài):進(jìn)程獲得CPU正在運(yùn)行的狀態(tài)3) 阻塞狀態(tài):進(jìn)程由于等待資源或某個(gè)事件的發(fā)生而暫停執(zhí)行的狀態(tài)運(yùn)行à阻塞等待I/O的結(jié)果等待某一進(jìn)程提供輸入運(yùn)行à就緒運(yùn)行進(jìn)程用完了時(shí)間片運(yùn)行進(jìn)程被中斷,因?yàn)橐桓邇?yōu)先級(jí)進(jìn)程處于就緒狀態(tài)就緒 à 運(yùn)行調(diào)度程序選擇一個(gè)新的進(jìn)程運(yùn)行阻塞 à就緒當(dāng)所等待的事件發(fā)生時(shí)

進(jìn)程同步兩個(gè)進(jìn)程使用相同的一個(gè)共享一個(gè)資源(如共享文件,打印機(jī)等)引出進(jìn)程同步問(wèn)題。進(jìn)程在運(yùn)行過(guò)程中所做的工作分為兩類(lèi):內(nèi)部計(jì)算(不會(huì)導(dǎo)致競(jìng)爭(zhēng)條件)對(duì)共享內(nèi)存或共享文件的訪問(wèn)(可能導(dǎo)致競(jìng)爭(zhēng)條件)我們把完成第二類(lèi)工作的程序稱為“臨界區(qū)”,把需要互斥訪問(wèn)的共享資源稱為“臨界資源”。如果我們能設(shè)計(jì)出某種方法,使得任何兩個(gè)進(jìn)程都不會(huì)同時(shí)出現(xiàn)在臨界區(qū)中,就可以避免競(jìng)爭(zhēng)條件的出現(xiàn)。由Dijkstra把整型信號(hào)量定義為一個(gè)整型量,除初始化外,僅能通過(guò)兩個(gè)標(biāo)準(zhǔn)的原子操作(Atomic Operation) wait(S)和signal(S)來(lái)訪問(wèn)。這兩個(gè)操作一直被分別稱為P、V操作。wait(S): while S≤0 do no-op S:=S-1;signal(S): S:=S+1;

經(jīng)典的進(jìn)程同步互斥問(wèn)題4.1有3個(gè)客戶在某天的日常生活中使用了某個(gè) ATM 自動(dòng)取款機(jī)。假設(shè)他們對(duì) ATM 的使用順序是 a 到來(lái),a 進(jìn)入, b 到來(lái), c 到來(lái), a 離開(kāi),b 進(jìn)入, b 離開(kāi), c 進(jìn)入, c 離開(kāi)。4.2某閱覽室,最多可容納100名讀者同時(shí)閱覽,當(dāng)閱覽室中少于100名讀者時(shí),閱覽室外等候的讀者可以立即進(jìn)入,否則需要在外面等待。每個(gè)讀者可看成一個(gè)進(jìn)程。semaphore seats;seats.value=100;while(閱覽時(shí)間){wait(seats);進(jìn)入閱覽室;閱讀;離開(kāi)閱覽室;signal(seats);}4.3司機(jī)與售票員while(上班時(shí)間){發(fā)動(dòng)汽車(chē);正常運(yùn)行;到站停車(chē);}while(上班時(shí)間){關(guān)閉車(chē)門(mén);售票;打開(kāi)車(chē)門(mén);}4.4兩個(gè)并發(fā)進(jìn)程的讀寫(xiě)設(shè)有一個(gè)緩沖區(qū)buffer,大小為一個(gè)字節(jié)(如圖)。Compute進(jìn)程不斷產(chǎn)生字符,送buffer,Print進(jìn)程從buffer中取出字符打印。如不加控制,會(huì)出現(xiàn)多種打印結(jié)果,這取決于這兩個(gè)進(jìn)程運(yùn)行的相對(duì)速度。在這眾多的打印結(jié)果中,只有Compute和Print進(jìn)程的運(yùn)行剛好匹配的一種是正確的,其它均為錯(cuò)誤。semaphore S_Empty; // 緩沖區(qū)是否為空,初值為1semaphore S_Full; // 是否有數(shù)據(jù)寫(xiě)入,初值為0while(計(jì)算未完成){ P(S_Empty);Write_Data( );V(S_Full);}Computewhile(打印未完成){P(S_Full); Print_Data( ); V(S_Empty);}Print4.5有一個(gè)倉(cāng)庫(kù),可以存放A和B 兩種產(chǎn)品。要求:1)每次只能存入一種產(chǎn)品(A或B);2)-N

進(jìn)程通信低級(jí)通信:只能傳遞狀態(tài)和整數(shù)值(控制信息),包括用來(lái)實(shí)現(xiàn)進(jìn)程同步和互斥的信號(hào)量和管程機(jī)制。優(yōu)點(diǎn)是速度快。缺點(diǎn)是:傳送信息量?。好看瓮ㄐ艂鬟f的信息量固定,若需要傳遞較多信息,就得進(jìn)行多次通信。編程復(fù)雜:用戶需要直接去實(shí)現(xiàn)通信的細(xì)節(jié),編程復(fù)雜,容易出錯(cuò)。高級(jí)通信:能夠傳送任意數(shù)量的數(shù)據(jù),包括三類(lèi):共享內(nèi)存、管道、消息。

線程定義及實(shí)現(xiàn)進(jìn)程當(dāng)中的一條執(zhí)行流程叫線程。進(jìn)程是資源分配單位,線程是CPU調(diào)度單位;進(jìn)程擁有一個(gè)完整的資源平臺(tái),而線程只獨(dú)享必不可少的資源,如寄存器和棧;線程同樣具有就緒、阻塞和執(zhí)行三種基本狀態(tài),同樣具有狀態(tài)之間的轉(zhuǎn)換關(guān)系;線程 = 輕量級(jí)進(jìn)程(lightweight process)用戶線程:在用戶空間實(shí)現(xiàn),時(shí)間片分配給進(jìn)程;內(nèi)核線程:在內(nèi)核中實(shí)現(xiàn),時(shí)間片分配給線程;

嘉善县| 鲁甸县| 沧州市| 宣威市| 郯城县| 大连市| 桐柏县| 阿拉善盟| 铁力市| 安达市| 新密市| 安康市| 陵川县| 遂宁市| 景泰县| 抚顺县| 瓮安县| 丰台区| 苍南县| 安义县| 襄城县| 盐边县| 宿州市| 毕节市| 临澧县| 高尔夫| 安平县| 舟曲县| 遂溪县| 安仁县| 平南县| 盐山县| 临邑县| 四会市| 霍山县| 屏边| 铁岭市| 阳原县| 崇左市| 绍兴市| 河北省|