计算机操作系统_03进程的同步与通信.ppt

Send(m): begin 向系统申请一个消息缓冲区 wait(mutex) 将发送区消息m送入新申请的消息缓冲区 把消息缓冲区挂入接收进程的消息队列 signal(mutex) signal(SM) end Receive(n): begin wait(SM) wait(mutex) 摘下消息队列中的消息n 将消息n从缓冲区复制到接收区 释放缓冲区 signal(mutex) end 2.间接通信方式 也叫邮箱通信,就是由发送进程申请建立一与接收进程链接的邮箱。发送进程把消息送往邮箱,接收进程从邮箱中取出消息,从而完成进程间信息交换。 设发送进程调用过程 deposit(m)将消息发送到邮箱,接收进程调用过程remove(m)将消息m 从邮箱中取出。另外,为了记录邮箱中空格个数和消息个数,信号量fromnum 为发送进程的私用信号量,信号量mesnum为接收进程的私用信号量。fromnum 的初值为信箱的空格数 n,mesnum 的初值为 0。则 deposit(m)和remove(m)可描述如下: deposit(m): begin local x wait(fromnum) 选择空格x 将消息m放入空格x中 置格x的标志为满 signal(mesnum) end? remove(m

文档评论(0)

1亿VIP精品文档

相关文档