已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章进程管理 1 2 1进程的基本概念2 2进程控制2 3进程的同步2 4经典进程的同步问题2 5进程通信2 6线程 进程通信概述 进程通信就是进程之间的信息交换 交换的信息量可多可少 进程互斥与同步是一种进程通信 通过修改信号量 进程之间可建立起联系 相互协调运行和协同工作 信号量上的PV操作是最简单的进程通信 2 进程通信的类型 低级通信机制交换信息量少 如P V原语 软中断信号 适用于集中式操作系统 高级通信机制 交换信息量大消息传递 messagepassing 通信机制 共享内存 sharedmemory 通信机制 管道 Pipe 通信 共享文件 sharedfile 通信机制 既适用于集中式操作系统 又适用于分布式操作系统一般 进程通信是指进程之间可直接以较高的效率传递较多数据的信息交换方式 3 消息传递 消息传递机制进程间的数据交换以消息为单位 程序员利用系统的通信原语 要进行消息传递时执行send 当接收者要接收消息时执行receive 实现通信 这种通信方式属于高级通信 优点操作系统隐藏了通信的实现细节 简化了通信程序编制的复杂性 分类直接通信 消息缓冲通信 发送进程直接把消息发送给接收者 并将它挂在接收进程的消息缓冲队列上 接收进程从消息缓冲队列中取得消息 间接通信 信箱通信 发送进程将消息发送到某种中间实体中 信箱 接收进程从中取得消息 在网络中称为电子邮件系统 4 消息传递通信的直接通信方式 直接通信方式 消息缓冲通信 发送进程发消息时要指定接收进程的名字 反过来 接收时要指明发送进程的名字 发送原语 Send receiver message 接收原语 Receiver sender message 对称形式 一对一 非对称形式 多对一 顾客 服务器 5 消息缓冲通信的实现 操作系统空间设置一组缓冲区 当发送进程需要发送消息时 执行send系统调用 产生访管中断 进入操作系统 操作系统为发送进程分配一个空缓冲区 并将所发送的消息从发送进程copy到缓冲区中 然后将该载有消息的缓冲区连接到接收进程的消息链链尾 如此就完成了发送过程 发送进程返回到用户态继续执行 在以后某个时刻 当接收进程执行到receive接收原语时 也产生访管中断进入操作系统 由操作系统将载有消息的缓冲区从消息链中取出 并把消息内容copy到接收进程空间 之后收回缓冲区 如此就完成了消息的接收 接收进程返回到用户态继续进行 6 消息缓冲实现图示 7 消息缓冲区结构 typemessageBuffer recordsender integer 发送者IDsize integer 消息长度text string 消息正文next pointer 消息队列指针end 8 PCB中有关通信的数据项 typePCB record mq pointer 消息队列首指针mutex semaphore 消息队列互斥信号量sm semaphore 消息队列资源信号量 end 9 10 P V操作实现的发送原语和接收原语 Receive b 获得接收进程PCB的指针q wait q sm wait q mutex 从q mq中取下第一个消息缓冲区i signal q mutex 将i中的内容复制到接收区b中 并释放i Send R a 根据R找接收进程 如果没找到出错返回 getbuf a size i 根据消息长度a size 申请一个空缓冲区i把消息从发送区a中复制到空缓冲区i中 获得接收进程PCB的指针q wait q mutex 将i挂到消息队列q mq的队尾 signal q mutex signal q sm sm初值 0 消息传递通信的间接通信方式 间接通信方式 信箱通信 发送进程发消息时不指定接收进程的名字 而是指定一个中间媒介 即信箱 进程间通过信箱实现通信发送原语 send MB Message 接收原语 receive MB Message 信箱存放信件的存储区域构成信箱特征 头 信箱容量 信件格式 信箱名称等 信箱体 若干格子 用来存放信件 分类私用信箱共享信箱公用信箱信箱使用规则若发送信件时信箱已满 则发送进程被置为 等信箱 状态 直到信箱有空时才被唤醒若取信件时信箱中无信 则接收进程被置为 等信件 状态 直到有信件时才被唤醒 11 发送进程和接收进程间关系 一对一关系即可以为发送进程和接收进程建立一条专用的通信链路 多对一关系允许提供服务的进程与多个用户进程进行交互 也称客户 服务器交互 一对多关系允许一个发送进程与多个接收进程交互 使发送进程用广播的形式 发送消息 多对多关系允许建立一个公用信箱 让多个进程都能向信箱投递消息 也可取走属于自己的消息 12 共享内存 共享内存通信方式的主要思想在内存中划出一块共享存储区 把需要交换的大量信息发送到该存储区中 接受进程从该区域读取信息 从而实现诸进程间的通信 这种通信方式属于高级通信 这种通信方式需要解决两个问题 约定的区域在什么地方通信的进程怎样发送信息 怎样接受信息这两个问题可以通过创建 附接 断接系统调用来解决 13 共享内存的实现 14 管道通信 管道 pipe文件 通信 也称共享文件通信 连接读写进程的一个特殊文件 允许进程按先进先出方式传送数据 也能使进程同步执行操作 实质 是一个共享文件 基本上可借助于文件系统的机制实现 包括 管道 文件的创建 打开 关闭和读写 管道通信发送进程以字符流形式把大量数据送入管道 接收进程从管道中接收数据 所以叫管道通信 15 管道通信准则 互斥进程对通信机构的使用应该互斥 一个进程正在使用某个管道写入或读出数据时 另一个进程就必须等待 同步当写 输入 进程把一定数量的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医用电子仪器组装调试工冲突解决竞赛考核试卷含答案
- 甲基氯硅烷生产工岗前技术突破考核试卷含答案
- 硬质合金钝化涂层工岗位应急处置技术规程
- 财务出纳岗年度工作总结
- 产品技术方案汇报
- 中国矿用钻机行业市场占有率及投资前景预测分析报告
- 财务管理目标案例
- 2025学年六 小数的认识教案
- 中国自动转塔分切复卷机行业市场占有率及投资前景预测分析报告
- 中国自来水闸阀行业市场前景预测及投资价值评估分析报告
- 2025年导游资格证考试题库及答案
- 2025年大学《新能源科学与工程-太阳能利用技术》考试参考题库及答案解析
- xx乡供水工程可行性研究报告
- 餐厅供货合作合同范本
- 全国大学生职业规划大赛《计算机科学与技术》专业生涯发展展示【曾获省级一等奖】
- 饭店股权责任合同范本
- 2025中铝招标有限公司面向集团内部公开招聘2人(北京)笔试历年参考题库附带答案详解
- 2025年退役军人事务厅直属事业单位招聘综合知识测评题库及答案
- 2025年社区工作者考试试题(完整版)及答案
- 2025年护士考编高频考题必刷题库(100题)含答案
- 辽宁农商银行2026年校园招聘笔试考试参考试题及答案解析
评论
0/150
提交评论