35进程通信内容摘要:
Shared memory kernel 与共享存储有关的系统调用 • shmget(key,size,permflags) • shmat(shmid,daddr,shmflags) • shmdt(memptr) • shmctl(shmid,mand,amp。 shmstat) (1) •什么是消息传递 ( message passing) ? •消息和消息传递机制 • 基本的 消息传递原语 send ,receive 消息传递 (2) • 采用消息传递机制后 , 一个正在执行的进程可在任何时刻向另一个正在执行的进程发送消息;一个正在执行的进程也可在任何时刻向正在执行的另一个进程请求消息。 消息传递 (3) • 一个进程在某一时刻的执行依赖于另一进程的消息或等待其他进程对发出消息的回答 , 那么 , 消息传递机制紧密地与进程的阻塞和释放相联系。 消息传递就进一步扩充了并发进程间对数据的共享 , 提供了进程同步的能力。 直接通信 • 发送或接收消息的进程必须指出信件发给谁或从谁那里接收消息 • 原语 send( P, 消息 ) :把一个消息发送给进程 P • 原语 receive( Q, 消息 ) :从进程Q接收一个消息 间接通信 (1) 进程间发送或接收消息通过信箱进行 , 消息可被理解成信件 •原语 send( A, 信件 ) :把一封信件 ( 消息 ) 传送到信箱 A •原语 receive( A, 信件 ) :从信箱A接收一封信件 ( 消息 ) 间接通信 (2) 间接通信的实现 (1) •信箱是存放信件的存储区域 ,每个信箱可分成信箱特征和信箱体两部分。 •信箱特征指出信箱容量 、 信件格式 、 指针等;信箱体用来存放信件 间接通信 (3) 间接通信的实现 (2) •发送信件: 如果指定信箱未满 , 则将信件送入信箱中由指针所指示的位置 , 并释放等待该信箱中信件的等待者;否则发送信件者被置成等待信箱状态 •接收信件: 如果指定信箱中有信 , 则取出一封信件 , 并释放等待信箱的等待者 , 否则接收信件者被置成等。35进程通信
相关推荐
P(mutex) 使用公用缓冲区 将发送区消息 m送入新申请的消息缓冲区 把消息缓冲区挂入接收进程的消息队列 V(mutex) 释放缓冲区 V(SM) 向接收进程发送消息 end Receive(m ) begin P(SM) 等待接的消息的个数 P(mutex) 使用公用缓冲区 摘下消息队列中的消息 m 将消息队列 m从缓冲区复制到接收区 释放缓冲区 V(mutex) 释放公用缓冲区 end
H乙。 ②计算两地的气温差 已知某地的气温和两地间的相对高度,根据气温垂直递减率 (℃ /100米 )可以计算两地间的气温差: T差 = H相 /100。 2020/11/4 ③ 估算某地形区的相对高度 在等高线地形图上,若某地形区最下部等高线的注记海拔为 H低 ,最上部等高线的注记海拔为H高 ,该图的等高距为 d,则该地形区的相对高度为: H高 - H低 ≤H相 < H高 -
A 1BPB 1CPC DD ])( [ 1T0 TTnTT CACACS 01111110 ])( [])( [ ])( [])(])[()()( )[(Sr a n kCACACr a n kCACACPr a n kCAPCAPCPr a n kCPAPPCPAPPCPr a n kSr a n
存在一个安全序列 P2, P1, P3 32 安全状态的例子 例:假定系统有三个进程 P P P3,共有 12台磁带机。 进程 P1总共要求 10台磁带机, P2和 P3分别要求 4台和九台。 设在 T0时刻,进程 P P2和 P3已经获得 5台、 2台和2台,还有 3台空闲没有分配。 进程 最大需求 已分配 可用 P1 10 5 3 P2 P3 4 2 2 9 T0时刻系统时安全的。