- 1、本文档共79页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高级操作系统-进程间通信2.pdf
高级操作系统
ADVANCED OPERATING
SYSTEM
北京大学信息学院
EECS of Peking University
2010-2011
进程同步与通信
基本概念
同步机制——信号量
同步机制——管程
进程间通信机制
实例
死锁
四、进程间通信
概述
基本通信方式
1.概述
问题的提出
P.V操作只能传递简单的信号,不能交换大
量信息——低级通信原语
如果要在进程间传递大量信息则要用高级通
信原语,称为进程间通信IPC
2. IPC的形式
同步
互斥量、条件变量、各类锁、信号
量
消息传递
管道、消息队列
共享内存
远程过程调用
3.消息传递机制
系统提供了两个高级通信原语:send和
receive
send(destination,message) :
当要进行消息传递时执行send
receive(source,message) :
当接收者要接收消息时执行receive
一种消息传递的实现方案:
消息缓冲
在内存中开设缓冲区,发送进程将消息送入缓冲区,
接收进程接收传递来的缓冲区
消息缓冲(1/5)
有界缓冲区工作原理:
在操作系统空间设置一组缓冲区,当发送
进程需要发送消息时,执行send系统调用,
产生自愿性中断,进入操作系统,操作系
统为发送进程分配一个空缓冲区,并将所
发送的消息从发送进程copy到缓冲区中,
然后将该载有消息的缓冲区连接到接收进
程的消息链链尾,如此就完成了发送过程。
发送进程返回到用户态继续执行
消息缓冲(2/5)
(续:有界缓冲区工作原理)
在以后某个时刻,当接收进程执行到
receive接收原语时,也产生自愿性中断
进入操作系统,由操作系统将载有消息的
缓冲区从消息链中取出,并把消息内容
copy到接收进程空间,之后收回缓冲区,
如此就完成了消息的接收,接收进程返回
到用户态继续进行
消息缓冲(3/5)
发送进程 S 接收进程 R
消息
PCB 消息链指针
消息
Receive(pid, N)
Send(R, M)
M: N: SIZE:消息长度
SIZE:消息长度 TEXT:消息正文
TEXT:消息正文
消息
消息缓冲(4/5)
消息缓冲区结构:
消息长度
消息正文
文档评论(0)