




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SchoolofManagementTianjinUniversity 进程通信 2 6进程通信1信号通信机制2共享文件通信机制3共享存储区通信机制4消息传递通信机制5有关消息传递实现的若干问题 SchoolofManagementTianjinUniversity 进程通信 进程同步是一种进程通信 通过修改信号量 进程之间可建立起联系 相互协调运行和协同工作进程协同工作时 需要互相交换信息 有些情况下进程间交换的少量信息 有些情况下进程间交换大批数据 进程之间互相交换信息的工作称为进程通信IPC InterProcessCommunication SchoolofManagementTianjinUniversity 进程通信 进程间通信的方式信号 signal 通信机制 共享存储区 sharedmemory 通信机制 共享文件 sharedfile 通信机制 消息传递 messagepassing 通信机制 SchoolofManagementTianjinUniversity 进程通信 信号 signal 通信机制低级通信 进程之间控制信息的交换称为低级通信 一般只传送一个和几个字节的信息 达到控制进程执行速度的作用 进程的同步和互斥 信号量机制作为同步工具是卓有成效的 但作为通讯工具则不够理想 效率低 通讯对用户不透明 高级通信 用户可以直接利用操作系统所提供的一组通信命令 高效地传送大量数据的一种通信方式 SchoolofManagementTianjinUniversity 进程通信 共享存储区 sharedmemory 通信机制相互通讯的进程通过共享数据结构和存储区进行通讯 因而可进一步分为 基于共享数据结构的通讯方式 低效 只适于传递少量数据 基于共享存储区的通讯方式 为了传送大量数据 在存储区中划出一块共享存储区 诸进程可通过对共享存储区进行读或写数据实现通讯 SchoolofManagementTianjinUniversity 进程通信 向系统申请共享存储区中的一个分区指定该分区的关键字申请者将申请到的共享分区挂到本进程上读写该公用存储分区 SchoolofManagementTianjinUniversity 进程通信 共享文件 sharedfile 通信机制管道 pipeline 是连接读写进程的一个特殊文件 允许进程按先进先出方式传送数据 也能使进程同步执行操作 发送进程以字符流形式把大量数据送入管道 接收进程从管道中接收数据 所以叫管道通信 SchoolofManagementTianjinUniversity 进程通信 管道的实质是一个共享文件 基本上可借助于文件系统的机制实现 包括 管道 文件的创建 打开 关闭和读写进程对通信机构的使用应该互斥 一个进程正在使用某个管道写入或读出数据时 另一个进程就必须等待发送者和接收者双方必须能够知道对方是否存在 如果对方已经不存在 就没有必要再发送信息 SchoolofManagementTianjinUniversity 进程通信 管道长度有限 发送信息和接收信息之间要实现正确的同步关系 当写进程把一定数量的数据写入pipe 就去睡眠等待 直到读进程取走数据后 把它唤醒 SchoolofManagementTianjinUniversity 进程通信 消息传递通信的实现方法采用消息传递机制后 一个正在执行的进程可在任何时刻向另一个正在执行的进程发送消息 一个正在执行的进程也可在任何时刻向正在执行的另一个进程请求消息一个进程在某一时刻的执行依赖于另一进程的消息或等待其他进程对发出消息的回答 那么 消息传递机制紧密地与进程的阻塞和释放相联系 SchoolofManagementTianjinUniversity 进程通信 直接通信发送或接收消息的进程必须指出信件发给谁或从谁那里接收消息 直接通信原语send P 消息 把一个消息发送给进程P原语receive Q 消息 从进程Q接收一个消息 SchoolofManagementTianjinUniversity 进程通信 间接通信进程间发送或接收消息通过信箱进行 消息可被理解成信件 原语send A 信件 把一封信件 消息 传送到信箱A 原语receive A 信件 从信箱A接收一封信件 消息 SchoolofManagementTianjinUniversity 进程通信 间接通信的实现 信箱信箱是存放信件的存储区域 每个信箱可分成信箱特征和信箱体两部分 信箱特征指出信箱容量 信件格式 指针等 信箱体用来存放信件信箱可由OS创建 也可由用户进程创建 创建者是信箱的拥有者 据此可把信箱分为 私用信箱 公用信箱 共享信箱 SchoolofManagementTianjinUniversity 进程通信 发送信件 如果指定信箱未满 则将信件送入信箱中由指针所指示的位置 并释放等待该信箱中信件的等待者 否则发送信件者被置成等待信箱状态接收信件 如果指定信箱中有信 则取出一封信件 并释放等待信箱的等待者 否则接收信件者被置成等待信箱中信件的状态 SchoolofManagementTianjinUniversity 进程通信 typebox recordsize integer 信箱大小 count integer 现有信件数 letter array 1 n ofmessage 信箱 S1 S2 semaphore 等信箱和等信件信号量 end SchoolofManagementTianjinUniversity 进程通信 在利用信箱通信时 在发送进程和接收进程之间 存在着四种关系 一对一关系 即可以为发送进程和接收进程建立一条专用的通信链路 多对一关系 允许提供服务的进程与多个用户进程进行交互 也称客户 服务器交互 一对多关系 允许一个发送进程与多个接收进程交互 使发送进程用广播的形式 发送消息 多对多关系 允许建立一个公用信箱 让多个进程都能向信箱投递消息 也可取走属于自己的消息 SchoolofManagementTianjinUniversity 进程通信 消息传递系统实现中的若干问题信箱容量问题多进程与信箱相连的信件接收问题信箱的所有权问题信件的格式问题通信进程并行性问题 SchoolofManagementTianjinUniversity 进程通信 消息缓冲队列通信机制sender 发送消息的进程名或标识符size 发送的消息长度text 发送的消息正文next ptr 指向下一个消息缓冲区的指针在进程的PCB中涉及通信的数据结构 mptr 消息队列队首指针mutex 消息队列互斥信号量 初值为1sm 表示接收进程消息队列上消息的个数 初值为0 是控制收发进程同步的信号量 SchoolofManagementTianjinUniversity 进程通信 发送原语send 申请一个消息缓冲区 把发送区内容复制到这个缓冲区中 找到接收进程的PCB 执行互斥操作P mutex 把缓冲区挂到接收进程消息队列的尾部 执行V sm 即消息数加1 执行V mutex SchoolofManagementTianjinUniversity 进程通信 接收原语receive 执行P sm 查看有否信件 执行互斥操作P mutex 从消息队列中摘下第一个消息 执行V mutex 把消息缓冲区内容复制到接收区 释放消息缓冲区 SchoolofManagementTianjinUniversity 进程通信 接收进程名 Q信件长 5c正文 ABCDE Send 发送区首址 发送区 消息队列首指针 mutex sm 发送进程名 P信件长 5正文 ABCDE 后继信件缓冲指针 0 进程Q的PCB 发送进程名 P信件长 5正文 ABCDE receive 接收区首址 接收区 进程P 进程Q SchoolofManagementTianjinUniversity 线程 2 7线程简介引入进程是一个资源的拥有者 在创建 撤消和切换中系统为之付出较大开销 进程切换开销大 进程通信代价大 进程之间的并发性粒度较粗 并发度不高 不适合并行计算和分布并行计的要求 不适合客户 服务器计算的要求如何使多个程序并发执行同时又尽量减少系统开销 SchoolofManagementTianjinUniversity 线程 线程的基本概念操作系统中引入进程的目的是为了使多个程序并发执行 以改善资源使用率和提高系统效率 操作系统中再引入线程 则是为了减少程序并发执行时所付出的时空开销 使得并发粒度更细 并发性更好把进程的两项功能 独立分配资源 与 被调度分派执行 分离开来 SchoolofManagementTianjinUniversity 线程 进程作为系统资源分配和保护的独立单位 不需要频繁地切换 线程作为系统调度和分派的基本单位 能轻装运行 会被频繁地调度和切换 在这种指导思想下 产生了线程的概念线程是操作系统进程中能够独立执行的实体 控制流 是处理器调度和分派的基本单位 线程是进程的组成部分 每个进程内允许包含多个并发执行的实体 控制流 这就是多线程 SchoolofManagementTianjinUniversity 线程 线程的状态状态参数 线程标志符和一组状态参数 寄存器状态 堆栈 线程运行状态 优先级 线程专有存储器 信号屏蔽线程运行状态执行状态 就绪状态 阻塞状态挂起状态对线程是没有意义的 如果进程挂起后被对换出主存 则它的所有线程因共享了进程的地址空间 也必须全部对换出去 SchoolofManagementTianjinUniversity 线程 线程的创建和终止初始化线程调用线程创建函数去创建若干个线程被终止未释放资源的线程可以被需要的线程调用 使它重新恢复运行线程间的同步和通信 参见书PP63 线程的实现 内核支持线程和用户级线程 SchoolofManagementTianjinUniversity 线程 内核支持线程纯内核级线程设施中 线程管理的所有工作由操作系统内核做 内核专门提供KLTAPI 应用程序区不需要有线程管理代码 WindowsNT和OS 2都是采用这种方法的例子 SchoolofManagementTianjinUniversity 线程 线程执行中可通过内核创建线程原语来创建其他线程 这个应用的所有线程均在一个进程中获得支持 内核要为整个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国广电广元市2025秋招写作案例分析万能模板直接套用
- 中国广电毕节市2025秋招计算机类专业追问清单及参考回答
- 黄山市中石油2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 天津市中石油2025秋招面试半结构化模拟题及答案数智化与信息工程岗
- 中国移动资阳市2025秋招笔试性格测评专练及答案
- 保山市中石化2025秋招心理测评常考题型与答题技巧
- 中国移动辽源市2025秋招笔试行测经典题及答案
- 中国联通贵阳市2025秋招笔试行测题库及答案供应链采购类
- 中国联通黄石市2025秋招计算机类专业追问清单及参考回答
- 秦皇岛市中石化2025秋招面试半结构化模拟题及答案财务与审计岗
- 2025年抗菌药物合理使用培训
- 杜仲种植深加工项目可行性研究报告-备案立项
- 2025年乡村文化旅游发展报告:文旅融合下的乡村旅游生态旅游规划与实施研究
- 2025-2030中国在线总有机碳(TOC)分析仪行业市场现状供需分析及投资评估规划分析研究报告
- 英语教学课件Unit 2 Different families课件9
- 2025春 新人教版美术小学一年级下册致敬平凡
- 危险废物分析制度
- 换药室工作制度
- 水资源开发与保护联合协议
- 《急性心肌梗死急诊》课件
- 2025年保洁员(高级)理论考试题(附答案)
评论
0/150
提交评论