- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
A() B() C() D() { { { { [1]; [3]; [5]; [7]; read F; read F; read F; read F; [2]; [4]; [6]; [8]; } } } } * 2-有——阅览室,读者进入时必须先在登记表中进行登记,该表为每一座位列一表目,包括座号和读者姓名,读者离开时要消掉登记信息,阅览室中共有100个座位,试问:试用P,V操作写出这些进程间的同步算法。 * 答:用S1代表座位,初始SI~100,S2用于实现对登记表的互斥操作,初始s2=1 进程n P(S1); P(S2) 登记: V(S2) 阅览, P(S2); 撤消, V(S2), V(S1); * * 问题7 进程通信的三种类型,管道的 定义,消息缓冲队列的通信机制 * §2.7 进程通信(communication) 进程之间的信息交换称为进程通信。合作进程间所交换的信息量,少则是一个状态或数据,多则成千上万字节的。 * 进程的同步与互斥=低级通信 进程的同步与互斥是一种通信方式,一进程可通过修改变量或信号量告知另一进程,它是否可以继续执行下去. 生产者——消费者算法, P、V操作只能传递信号,信号本身不包含任何数据,而进程不当还容易导致进程死锁,因此,称这些同步机构为低级通信机构. * 按通信交换的数据量多少划分 低级通信:在OS中数据交换量少的进程协调过程。 一般只传送一个和几个字节的信息,达到控制进程执行速度的作用。(进程的同步和互斥) 信号量机制作为同步工具是卓有成效的,但作为通信工具则不够理想。(?效率低。?通信对用户不透明。) 高级通信:用户可以直接利用操作系统所提供的一组通信命令,高效地传送大量数据的一种通信方式。 * 高级进程通信方式的主要优点 效率高和使用方便。 操作系统隐藏了进程通信的实现细节,它给用户提供了一组以发送和接收命令为主的通信原语,用户直接使用这些通信原语一次就能发送成千上万字节的信息,大大简化了通信程序的编制工作。 * 三种基本的进程通信方式: 根据通信实施的方式和数据存取的方式,分为: 1)共享存储器系统 共享内存变量(如信号量机制)和共享内存区两种通信方式。 2)消息传递系统 消息缓冲和信箱两种通信方式。 3)管道通信方式 * 发送原语(send(接收者进程名,发送区首地址)) 接收原语(receive(接收区首地址)) 系统提供给用户实现进程通信的最基本的原语,也是构成一种具体的通信系统的主要内容,用户直接使用这些通信原语一次就能发送成千上万字节的信息。 * 1)消息缓冲通信方式 消息(message):在计算机网络中又叫报文,指进程之间相互传递的赖以发生相互作用的有结构的数据。 在消息传递系统中,进程间的数据交换,是以格式化的消息(message)为单位的. 1. 消息缓冲通信机制中的数据结构 (1) 消息缓冲区。在消息缓冲队列通信方式中,主要利用的数据结构是消息缓冲区。它可描述如下: type message buffer=record sender; 发送者进程标识符 size; 消息长度 text; 消息正文 next; 指向下一个消息缓冲区的指针 end (2) PCB中有关通信的数据项。 在利用消息缓冲队列通信机制时,在设置消息缓冲队列的同时,还应增加用于对消息队列进行操作和实现同步的信号量,并将它们置入进程的PCB中。 2. 发送原语
文档评论(0)