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

正文內(nèi)容

進(jìn)程管理ppt課件(參考版)

2025-01-13 23:34本頁面
  

【正文】 Unlock mutex wakeup(condition variable)。 Unlock mutex。 wait(condition variable)。 2022/2/6 太湖學(xué)院信機(jī)系 115 系統(tǒng)中實現(xiàn)線程同步和通信的機(jī)制: ? 阻塞方式 lock(mutex) 訪問 unlock(mutex) ? 非阻塞方式 if( trylock) then else 2022/2/6 太湖學(xué)院信機(jī)系 116 申請資源: Lock mutex check data structures。 另外,進(jìn)程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率。一個線程不能夠被任何底層的事件中斷,并且不包括執(zhí)行更小的過程。 ? 線程 是進(jìn)程中的一個實體, 是系統(tǒng)獨立調(diào)度和分派的基本單位 ,其基本上不擁有系統(tǒng)資源,只有少量資源( IP,寄存器,棧),但共享其所屬進(jìn)程所擁有的全部資源。 Until false end 可見,由管程來實現(xiàn)后,進(jìn)程的同步更簡單明了。 until false. End Consumer: begin repeat (item)。 end Begin in:=out:=0。 out:=(out+1)mod n count:=count1。 end Procedure entry get(item) begin if count ≤ 0 then 。 in:=(in+1)mod n count:=count+1。 procedure entry put (item) procedure entry get (item) 2022/2/6 太湖學(xué)院信機(jī)系 109 ——消費者問題 Procedure entry put(item) begin if count ≥n then 。 buffer: array [0,…,n 1] of item。 。 ? 對局部管程數(shù)據(jù)設(shè)置初值的語句。(P55) 由四部分組成: ? 管程的名稱 ? 局部于管程的共享變量。 Until false 2022/2/6 太湖學(xué)院信機(jī)系 106 引入原因: ? 為了避免凡要使用臨界資源的進(jìn)程都自備同步操作 wait(s)和 signal(s).將同步操作的機(jī)制和臨界資源結(jié)合到一起,形成管程。 Sswait(chopstick[(i+1)mod 5],chopstick[i])。 Until false 2022/2/6 太湖學(xué)院信機(jī)系 105 AND信號量解決哲學(xué)家進(jìn)餐問題 Var chopstick: array[0, …, 4] of semaphore:=(1,1,1,1,1)。 signal(chopstick[(i+1)mod 5])。 wait(chopstick[(i+1)mod 5])。 parend end 2022/2/6 太湖學(xué)院信機(jī)系 104 Var chopstick: array[0, …, 4] of semaphore。S6。 wait(f)。 end。S1。 end。S4。 end。S3。 end。 signal(c)。 begin wait(a)。 signal(b)。 Begin parbegin begin S1。 初值: wr:=1 count:=n最多只能 n個讀者同時讀 (空位 ) 2022/2/6 太湖學(xué)院信機(jī)系 101 (1) P1: S1; P2: S2; 并發(fā)進(jìn)程: P1和 P2,各進(jìn)程語句如下,要求: S1執(zhí)行結(jié)束才能執(zhí)行 S2。 Swait(wr,1,0)。 寫 Ssignal(wr,1)。 2022/2/6 太湖學(xué)院信機(jī)系 100 用信號量集解決第一類讀者寫者問題 寫者: Swait(wr,1,1)。(讀 寫互斥,寫 寫互斥) mutex=1。 寫 Signal(wr)。 signal(mutex)。 readcount。 Signal(mutex)。 readcount++?!璼n,dn)。sn,tn,dn)。即當(dāng)資源數(shù)量低于 ti時,便不予分配) ? 占用值為 di(表示資源的申請量,即 si=sidi) 對應(yīng)的 pv原語格式為: Swait(s1,t1,d1。 ? 信號量集的基本思路:在 AND型信號量的基礎(chǔ)上進(jìn)行擴(kuò)充,在一次原語操作完成所有的資源申請。i++) {si=si+1。 阻塞調(diào)用進(jìn)程; } } } 2022/2/6 太湖學(xué)院信機(jī)系 94 Ssignal(s1,s2,…,s n) { For(i=1。i++) si=si1; //注:與 wait的處理不同這里在確信可滿足資源需求時才進(jìn)行減 1操作 break。 s n =1) {//滿足資源要求時的處理 for (i=1。…amp。s2=1amp。 2022/2/6 太湖學(xué)院信機(jī)系 92 AND型信號量 AND型信號量是指同時需要多種資源且每種占用一個的信號量操作 AND型信號量的基本思想:在一個原語中申請整段代碼需要的多個臨界資源,要么全部分配給它,要么一個都不分配 AND型信號量 P原語為 Swait AND型信號量 V原語為 Ssignal 2022/2/6 太湖學(xué)院信機(jī)系 93 Swait(s1,s2,…,s n) { while (true){ if (s1=1amp。 } 信號量: S1=n S2=0 Mutex1=1 Mutex2=1 2022/2/6 太湖學(xué)院信機(jī)系 89 對 PV操作的討論 1)信號量的物理意義: S0:表示可用資源的個數(shù) S=0:表示無資源,無等待進(jìn)程 S0: ∣ S∣ 表示等待隊列中進(jìn)程個數(shù) Wait(s):表示申請一個資源 Signal(s):表示釋放一個資源 信號量的初值應(yīng)該大于等于 0 2022/2/6 太湖學(xué)院信機(jī)系 90 2) p、 v操作必須成對出現(xiàn),有一個 p操作就一定有一個 v操作 當(dāng)為互斥操作時,它們處于同一進(jìn)程 當(dāng)為同步操作時,則不在同一進(jìn)程中出現(xiàn) wait(s1)和 wait(s2)兩個操作在同進(jìn)程中? wait操作的順序至關(guān)重要,一個同步 wait操作與一個互斥 wait操作在一起時, 同步 wait操作在互斥 wait操作之前 ,而兩個 signal操作的順序沒有要求。 Signal(s1)。 while(true){ Wait(s2)。 i=(i+1)%n。 往 buffer[i]放產(chǎn)品; Signal(mutex1)。 while(true){ 生產(chǎn)產(chǎn)品; Wait(s1)。 消費產(chǎn)品 j=(j+1)%n。 從 buffer[j]取產(chǎn)品; Signal(mutex)。 } Q: j=0。 Signal(s2)。 Wait(mutex)。 } 信號量: s1=n s2=0 mutex=1 2022/2/6 太湖學(xué)院信機(jī)系 87 若在 Q中顛倒 wait操作的順序 P: i=0。 Signal(s1)。 while(true){ Wait(s2)。 i=(i+1)%n。 往 buffer[i]放產(chǎn)品; Signal(mutex)。 while(true){ 生產(chǎn)產(chǎn)品; Wait(s1)。 消費產(chǎn)品 j=(j+1)%n。 while(true){ Wait(s2)。 i=(i+1)%n。 while(true){ 生產(chǎn)產(chǎn)品; Wait(s1)。 消費產(chǎn)品 j=(j+1)%n。 while(true){ Wait(s2)。 i=(i+1)%n。 while(true){ 生產(chǎn)產(chǎn)品; Wait(s1)。 送產(chǎn)品到倉庫; Signal(s2) } Q:消費者 while(true){ Wait(s2)。 (counter:=6) counter :=register2。 (register2:=5) register2 :=register21。 (register1:=5) register1 :=register1+1。 counter :=register2。 register2:=register21。 register2:=counter。 until false。 counter:=counter1。 nextc:=buffer[out]。 until false。 in:=(in+1)mod n。 … while counter=n do noop。 counter: 0,1,…,n。 var buffer:array[0,1,…,n 1] of item。 if (=0) { 喚醒相應(yīng)等待隊列 改變其狀態(tài)為就緒態(tài)并將其插入就緒隊列 } } 2022/2/6 太湖學(xué)院信機(jī)系 72 原語: primitive or atomic action 是由若干多機(jī)器指令構(gòu)成的完成某種特定功能的一段程序,具有不可分割性;即原語的執(zhí)行必須是連續(xù)的,在執(zhí)行過程中不允許被中斷 2022/2/6 太湖學(xué)院信機(jī)系 73 信號量的使用 ?必須置一次且只能置一次初值 ?初值不能為負(fù)數(shù) ?只能執(zhí)行 2022/2/6 太湖學(xué)院信機(jī)系 74 用 wait (mutex) signal (mutex) 互斥區(qū) P1 P2 P3 wait (mutex) signal (mutex) 互斥區(qū) wait (mutex) signal (mutex) 互斥區(qū) 2022/2/6 太湖學(xué)院信機(jī)系 75 互斥問題 進(jìn)程 A ……… Wait( s) 打印 Signal( s) …… 【 例 】 設(shè)有一臺打印機(jī) 初值 s:=1 進(jìn)程 B ……… Wait( s) 打印 Signal( s) …… 2022/2/6 太湖學(xué)院信機(jī)系 76 生產(chǎn)者-消費者問題 Var n, integer。 P、 V 操作 (兩個原語) 2022/2/6 太湖學(xué)院信機(jī)系 69 關(guān)于信號量的問題 信號量: ? 互斥: wait與 signal在同一個進(jìn)程中 ? 同步: wait與 signal在不同的進(jìn)程中 信號量的物理意義: ? S0:表示可用資源的個數(shù) ? S=0:表示無資源,無等待進(jìn)程 ? S0: ∣ S∣
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1