freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)操作系統(tǒng)-進(jìn)程管理培訓(xùn)講義(留存版)

  

【正文】 read operation。 until false。 該變量應(yīng)置于 wait和 signal之前 , 即可表示為 。 消費(fèi)者利用該過(guò)程從緩沖池中取出一個(gè)產(chǎn)品 , 當(dāng) count≤0時(shí) , 表示緩沖池中已無(wú)可取用的產(chǎn)品 , 消費(fèi)者應(yīng)等待 。 (item)。 這種方式首創(chuàng)于 UNIX系統(tǒng) , 由于它能有效地傳送大量數(shù)據(jù) , 因而又被引入到許多其它操作系統(tǒng)中 。 如果消息尚未生產(chǎn)出來(lái) , 消費(fèi)者必須等待 , 直至生產(chǎn)者進(jìn)程將消息發(fā)送過(guò)來(lái) 。 據(jù)此 , 可把信箱分為以下三類 。 允許一個(gè)發(fā)送進(jìn)程與多個(gè)接收進(jìn)程進(jìn)行交互 , 使發(fā)送進(jìn)程可用廣播方式 , 向接收者 (多個(gè) )發(fā)送消息 。 3. 進(jìn)程同步方式 (1) 發(fā)送進(jìn)程阻塞、 接收進(jìn)程阻塞。 為了能將 i掛在接收進(jìn)程的消息隊(duì)列 mq上 , 應(yīng)先獲得接收進(jìn)程的內(nèi)部標(biāo)識(shí)符 j, 然后將 i掛在 。 signal()。 4. 在多線程 OS環(huán)境下 , 應(yīng)用程序在啟動(dòng)時(shí) , 通常僅有一個(gè)線程在執(zhí)行 , 該線程被人們稱為 “ 初始化線程 ” 。 狀態(tài)參數(shù)通常有這樣幾項(xiàng): ① 寄存器狀態(tài) , 它包括程序計(jì)數(shù)器 PC和堆棧指針中的內(nèi)容; ② 堆棧 , 在堆棧中通常保存有局部變量和返回地址; ③ 線程運(yùn)行狀態(tài) , 用于描述線程正處于何種運(yùn)行狀態(tài); ④ 優(yōu)先級(jí) , 描述線程執(zhí)行的優(yōu)先程度; ⑤ 線程專有存儲(chǔ)器 , 用于保存線程自己的局部變量拷貝; ⑥ 信號(hào)屏蔽 , 即對(duì)某些信號(hào)加以屏蔽 。 end 3. 接收原語(yǔ) procedure receive(b) begin j ∶ = internal name。 mutex。 這種方式可用于辦公自動(dòng)化系統(tǒng)中 , 為用戶提供快速的便箋式通信;但這對(duì)要發(fā)送較長(zhǎng)消息的用戶是不方便的 。 這時(shí)可為發(fā)送進(jìn)程和接收進(jìn)程建立一條兩者專用的通信鏈路 , 使兩者之間的交互不受其他進(jìn)程的干擾 。 當(dāng)進(jìn)程之間要利用信箱進(jìn)行通信時(shí) , 必須使用共享信箱 , 并利用系統(tǒng)提供的下述通信原語(yǔ)進(jìn)行通信 。 例如 , 用于提供打印服務(wù)的進(jìn)程 , 它可以接收來(lái)自任何一個(gè)進(jìn)程的 “ 打印請(qǐng)求 ” 消息 。 又因其實(shí)現(xiàn)方式的不同而進(jìn)一步分成直接通信方式和間接通信方式兩種 。 count ∶ = count1。 生產(chǎn)者利用該過(guò)程將自己生產(chǎn)的產(chǎn)品投放到緩沖池中 , 并用整型變量 count來(lái)表示在緩沖池中已有的產(chǎn)品數(shù)目 , 當(dāng) count≥n時(shí) , 表示緩沖池已滿 , 生產(chǎn)者須等待 。 … procedure entry Pn(…)。 begin parbegin reader:begin repeat Swait(L,1,1)。 begin parbegin Reader:begin repeat wait(rmutex)。 利用 AND信號(hào)量機(jī)制解決哲學(xué)家進(jìn)餐問(wèn)題 在哲學(xué)家進(jìn)餐問(wèn)題中 , 要求每個(gè)哲學(xué)家先獲得兩個(gè)臨界資源 (筷子 )后方能進(jìn)餐 , 這在本質(zhì)上就是前面所介紹的 AND同步問(wèn)題 , 故用 AND信號(hào)量機(jī)制可獲得最簡(jiǎn)潔的解法 。 until false。 例如 , wait(empty)在計(jì)算進(jìn)程中 , 而 signal(empty)則在打印進(jìn)程中 , 計(jì)算進(jìn)程若因執(zhí)行 wait(empty)而阻塞 , 則以后將由打印進(jìn)程將它喚醒;最后 , 在每個(gè)程序中的多個(gè) wait操作順序不能顛倒 。 … wait(empty)。 S5。 signal(b)。 此時(shí)的信號(hào)量集已蛻化為一般的記錄型信號(hào)量 (S> 1時(shí) )或互斥信號(hào)量 (S=1時(shí) )。 于是 Dmutex=0 process B: wait(Emutex)。 end 相應(yīng)地, wait(S)和 signal(S) procedure wait(S) var S: semaphore。 entry section exit section 4. 同步機(jī)制應(yīng)遵循的規(guī)則 (1) 空閑讓進(jìn)。 生產(chǎn)者對(duì)它做加 1操作 , 消費(fèi)者對(duì)它做減 1操作 ,這兩個(gè)操作在用機(jī)器語(yǔ)言實(shí)現(xiàn)時(shí) , 常可用下面的形式描述: register 1 ∶ = counter。 指針 in和 out初始化為 1。 (2) 直接相互制約關(guān)系。 3 進(jìn)程的阻塞與喚醒 1. 引起進(jìn)程阻塞和喚醒的事件 1) 請(qǐng)求系統(tǒng)服務(wù) 2) 啟動(dòng)某種操作 3) 4) 正在執(zhí)行的進(jìn)程 , 當(dāng)發(fā)現(xiàn)上述某事件時(shí) , 由于無(wú)法繼續(xù)執(zhí)行 , 于是進(jìn)程便通過(guò)調(diào)用阻塞原語(yǔ) block把自己阻塞 。 出現(xiàn)該錯(cuò)誤的原因 , 可能是程序錯(cuò)誤地轉(zhuǎn)移到數(shù)據(jù)區(qū) , 把數(shù)據(jù)當(dāng)成了指令;④ 特權(quán)指令錯(cuò) 。 (2) 作業(yè)調(diào)度。 圖 26 具有掛起狀態(tài)的進(jìn)程狀態(tài)圖 活動(dòng)就緒靜止就緒執(zhí)行掛起激活釋放掛起活動(dòng)阻塞靜止阻塞掛起激活釋放請(qǐng)求I/O 進(jìn)程控制塊 1. 進(jìn)程控制塊的作用 進(jìn)程控制塊的作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序 (含數(shù)據(jù) ), 成為一個(gè)能獨(dú)立運(yùn)行的基本單位 , 一個(gè)能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程 。 程序 A和B以不同的速度運(yùn)行 。 S1: a ∶ =x+y。 (2) 進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng) 。 設(shè)置內(nèi)部標(biāo)識(shí)符主要是為了方便系統(tǒng)使用 。 (3) 初始化進(jìn)程控制塊。 這是指在 I/O過(guò)程中發(fā)生了錯(cuò)誤等 。 3. 當(dāng)被阻塞進(jìn)程所期待的事件出現(xiàn)時(shí) , 如 I/O完成或其所期待的數(shù)據(jù)已經(jīng)到達(dá) , 則由有關(guān)進(jìn)程 (比如 , 用完并釋放了該 I/O設(shè)備的進(jìn)程 )調(diào)用喚醒原語(yǔ) wakeup( ), 將等待該事件的進(jìn)程喚醒 。 我們可利用一個(gè)數(shù)組來(lái)表示上述的具有 n個(gè) (0, 1, …, n1)緩沖區(qū)的緩沖池 。 buffer[ in ∶ = nextp。 counter ∶ = register 2。 這兩個(gè)操作一直被分別稱為 P、 V操作 。 end 在記錄型信號(hào)量機(jī)制中 , 資源的數(shù)目 , 因而又稱為資源信號(hào)量 , 對(duì)它的每次 wait操作 ,意味著進(jìn)程請(qǐng)求一個(gè)單位的該類資源 , 因此描述為 ∶ =; 當(dāng) < 0時(shí) , 表示該類資源已分配完畢 , 因此進(jìn)程應(yīng)調(diào)用 block原語(yǔ) , 進(jìn)行自我阻塞 , 放棄處理機(jī) , 并插入到信號(hào)量鏈表 。 亦即 , 對(duì)若干個(gè)臨界資源的分配 , 采取原子操作方式:要么全部分配到進(jìn)程 , 要么一個(gè)也不分配 。 信號(hào)量的應(yīng)用 1. 利用信號(hào)量實(shí)現(xiàn)進(jìn)程互斥 Var mutex:semaphore ∶ = 1。 signal(d)。 wait(g)。 signal(full)。 begin parbegin producer:begin repeat … produce an item in nextp。 wait(chopstick[ (i+1) mod 5] )。 Ssignat(chopstick [ (i+1) mod 5] , chopstick [ i] )。 … wait(rmutex)。 end writer:begin repeat Swait(mx,1,1。 例如 , 由于共享數(shù)據(jù)被占用而使調(diào)用進(jìn)程等待 , 該條件變量的形式為: nonbusy:condition。 type producerconsumer=monitor Var in,out,count:integer。 until false。 為了協(xié)調(diào)雙方的通信 , 管道機(jī)制必須提供以下三方面的協(xié)調(diào)能力: ① 互斥 , 即當(dāng)一個(gè)進(jìn)程正在對(duì) pipe執(zhí)行讀 /寫(xiě)操作時(shí) , 其它 (另一 )進(jìn)程必須等待 。 生產(chǎn)者 消費(fèi)者的通信過(guò)程可分別描述如下: repeat … produce an item in nextp。 1) 用戶進(jìn)程可為自己建立一個(gè)新信箱 , 并作為該進(jìn)程的一部分 。 (4) 多對(duì)多關(guān)系 。 (2) 發(fā)送進(jìn)程不阻塞、 接收進(jìn)程阻塞。 由于該隊(duì)列屬于臨界資源 , 故在執(zhí)行 insert操作的前后 , 都要執(zhí)行 wait和 signal操作 。 ∶ = 。 它可根據(jù)需要再去創(chuàng)建若干個(gè)線程 。 在 OS中的每一個(gè)線程都可以利用線程標(biāo)識(shí)符和一組狀態(tài)參數(shù)進(jìn)行描述 。 signal()。 在 PCB type processcontrol block=record … mq。 消息的格式 在某些 OS中 , 消息是采用比較短的定長(zhǎng)消息格式 , 這減少了對(duì)消息的處理和存儲(chǔ)開(kāi)銷 。 在利用信箱通信時(shí) , 在發(fā)送進(jìn)程和接收進(jìn)程之間 , 存在以 (1) 一對(duì)一關(guān)系 。 (2) 消息的發(fā)送和接收 。 在某些情況下 , 接收進(jìn)程可與多個(gè)發(fā)送進(jìn)程通信 ,因此 , 它不可能事先指定發(fā)送進(jìn)程 。 消息傳遞系統(tǒng)的通信方式屬于高級(jí)通信方式 。 out ∶ = (out+1) mod n。 (1) put(item)過(guò)程 。 begin … end。 L, mx:semaphore ∶ = RN,1。 Readcount:integer ∶ = 0。即五位哲學(xué)家都先競(jìng)爭(zhēng)奇數(shù)號(hào)筷子 , 獲得后 , 再去競(jìng)爭(zhēng)偶數(shù)號(hào)筷子 , 最后總會(huì)有一位哲學(xué)家能獲得兩只筷子而進(jìn)餐 。 consumer the item in nextc。 end parend end 在生產(chǎn)者 —消費(fèi)者問(wèn)題中應(yīng)注意:首先 , 在每個(gè)程序中用于實(shí)現(xiàn)互斥的 wait(mutex)和 signal(mutex)必須成對(duì)地出現(xiàn); 其次 , 對(duì)資源信號(hào)量 empty和 full的 wait和 signal操作 , 同樣需要成對(duì)地出現(xiàn) , 但它們分別處于不同的程序中 。 begin parbegin proceducer:begin repeat … producer an item nextp。 begin wait(d)。 signal(a)。 (2) Swait(S, 1, 1)。 若進(jìn)程 A和 B按下述次序交替執(zhí)行 wait process A: wait(Dmutex)。 L:list of process。 until false。 雖然上面的生產(chǎn)者程序和消費(fèi)者程序 , 在分別看時(shí)都是正確的 , 而且兩者在順序執(zhí)行時(shí)其結(jié)果也會(huì)是正確的 , 但若并發(fā)執(zhí)行時(shí) , 就會(huì)出現(xiàn)差錯(cuò) , 問(wèn)題就在于這兩個(gè)進(jìn)程共享變量 counter。 counter: 0, 1, …, n。 3 進(jìn) 程 同 步 進(jìn)程同步的基本概念 1. 兩種形式的制約關(guān)系 (1) 間接相互制約關(guān)系。 (5) 將被終止進(jìn)程 (它的 PCB)從所在隊(duì)列 (或鏈表 )中移出, 等待其他程序來(lái)搜集信息。 程序試圖去執(zhí)行一條不存在的指令 。 3. 進(jìn)程控制塊的組織方式 1) 鏈接方式 圖 27 PCB鏈接隊(duì)列示意圖 P C B 1 4P C B 2P C B 3P C B 4P C B 5P C B 6P C B 7P C B 8P C B 93087901執(zhí)行指
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1