文档详情

3-2010-2011-高级操作系统-进程间通信2.pdf

发布:2017-05-12约2.03万字共79页下载文档
文本预览下载声明
高级操作系统 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) 消息缓冲区结构: 消息长度 消息正文
显示全部
相似文档