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

正文內(nèi)容

進程的同步與通信進程死鎖(文件)

2025-01-10 21:44 上一頁面

下一頁面
 

【正文】 semaphore Chopstick[5]。 (這可能導(dǎo)致死鎖 ) 58 用以下幾種方法來解決上面的死鎖問題: (1) 至多只允許有四位哲學(xué)家同時去拿左邊的筷子; (2) 僅當哲學(xué)家的左 、 右兩支筷子均可用時 ,才允許他拿起筷子進餐; (3) 規(guī)定奇數(shù)號哲學(xué)家先拿他左邊的筷子 ,然后再去拿右邊的筷子;而偶數(shù)號哲學(xué)家則相反 。 P(num)。 … V(num)。 } 61 消息傳遞原理 三種基本進程通信方法: ( Sharedmemory) 通信方式 p1 p2 p3 p4 共享存儲區(qū) ? 需要解決兩個問題: 1) 怎樣提供共享內(nèi)存 2) 共享內(nèi)存的讀寫互斥 62 2 管道通信 管道通信是一種重要的通信方式 。 缺點: 必須指定接收進程 ID( UNIX的信號機制類似這種形式)。 Process B ┆ Signal(SIGUSR1,func)。 ? 在接收方準備好接受緩沖區(qū)之前,發(fā)送方就可以發(fā)送,這時消息可以存放于系統(tǒng)的消息緩沖區(qū)中。 實現(xiàn) : 系統(tǒng)有一用于進程通信的緩沖池,池中緩沖區(qū)表示如圖: Sptr Nptr Text … Sptr指向發(fā)送者的 PCB指針(即指向該消息的發(fā)送者) Nptr指向消息隊列中下一緩沖區(qū)的指針; Text消息正文(含接受者標識符) 68 Send() id text:Hello! Receive() id text:Hello! sptr Nptr Text … Nptr Mutex Sm 第一個消息緩沖區(qū) 發(fā)送區(qū) 接受區(qū) PCB(Q) 進程 P 進程 Q 進程間消息傳遞方式 消息隊列的表示: 69 Send(A): { New(p);從緩沖池得一個 buffer ... 置 sender’s pid; 將 A中消息送 buffer p; 獲得 Receiver’s pid; P(mutex); 將 buffer p掛入相應(yīng)的消息隊列; V(Sm); V(mutex); }; 70 Receive(A): { P(Sm); P(mutex); 從本進程的消息隊列取一個 buffer f; V(mutex); 從 buffer f中取得消息正文 A,并得到 sender’s pid作為 Receive( )的返回值; ... dispose(f); 釋放 buffer f到緩沖池 … }; 71 Unix進程通信機構(gòu) pipe UNIX SystemⅤ 提供兩種數(shù)據(jù)通信方式: 1) 無名管道:用于密切相關(guān)的父子進程或兄弟進程之間的通信 ,提供一條以比特流方式傳送消息的通信管道 。 這里, fd[1]為寫入端, fd[0]為讀出端。 pipe(fd)。 /*把 buf中字符寫入管道 */ exit(0)。 } } 謝謝觀看 /歡迎下載 BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES. BY FAITH I BY FAITH 。 read(fd[0], s, 30)。 /*創(chuàng)建子進程失敗時.循環(huán) */ if (x= =0) /*子進程執(zhí)行 */ { sprintf(buf, ”This is an example\n”)。 include main() { int x,fd[2]。 72 fd[1] write (fd[1], buf, size) pipe (fd) 寫 端 fd[0] read (fd[0], buf, size) 讀 端 管道通信 利用系統(tǒng)調(diào)用 pipe建立同步通信管道的格式為: int fd[2]。 2. 消息緩沖 發(fā)送方 緩沖區(qū) 接受方 緩沖區(qū) 發(fā)送方 接受方 消息復(fù)制 67 消息傳遞通信示例 直接通信消息系統(tǒng)的兩個基本操作為: send(A): A含接收者 pid和消息正文的用戶 空間發(fā)送緩沖區(qū)始地址。 ┆ ┆ 65 2)間接通信法 基本思想: 系統(tǒng)為每個參與者設(shè)立一個邏輯實體,如信箱,消息發(fā)送和接收都指向該信箱。 Process A ┆ kill(1040, SIGUSR1)。 具有傳送數(shù)據(jù)量大的優(yōu)點,但通信速度較慢。 V (chopstick[ (i+1)%5] )。 P(chopstick[ (i+1)% 5] )。 在實現(xiàn)時只需增加一個限定就餐人數(shù)的信號量 num, 其初值設(shè)為 4。 取左邊筷子 P(chopstick[(i+1)mod 5]); 取右邊筷子 吃 放左邊筷子 V(chopstick[i])。 56 3. 哲學(xué)家就餐問題 問題描述: 吃飯程序是:先取左邊筷子,后取右邊筷子,再吃飯,再放筷子。 if readcount=0 V(wrt)。 55 mutex, wrt為信號量,初值為 1; readcount用于記錄當前有多少個 Reader正在訪問數(shù)據(jù),初始值為 0。 2. 如果已存在一個 Reader正在訪問數(shù)據(jù),其他欲訪問Reader可馬上訪問;而欲訪問的 Writer無條件等待。 P Q R 53 若存在一共享數(shù)據(jù) A,那些對它進行讀訪問者叫 Reader,對它進行寫訪問者叫做 Writer。 }while(1)。 P(chair)。 V(mutex)。 N個座位 理發(fā)椅 51 理發(fā)師睡覺問題算法 Semphore seatempty=N,seatfull=0,chair=1,mutex=1。 V(empty)。 … }while(1)。 empty:=n。 }while(1)。 P(mutex)。 typedef struct{ struct item inst。 共享 n個緩沖區(qū) P1 P2 … P m 生產(chǎn)者 消費者 緩沖池 C1 C2 …Cn 47 解: 設(shè)置以下
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1