计算机操作系统进程的特征,c∶=b+1;计算机操作系统第二章进程管理2.程序顺序执行时的特征顺序性.ppt...

c∶=b1;计算机操作系统第二章进程管理2.程序顺序执行时的特征顺序性

第二章 进程管理 2.1 进程的基本概念 互斥与同步解决方法(软件方法) Dekker算法、Peterson算法 Dekker算法 Dekker算法 Dekker算法 Dekker算法 Dekker算法 Dekker算法 Dekker算法 Dekker算法 Dekker算法 Dekker算法 Peterson算法 Peterson算法 Unix中的管道 创建管道 #include int pipe(int fd[2]); 返回两个文件描述字:fd[0]用于打开来读,fd[1]用于打开来写 Unix中的管道 单个进程中的通道 Unix中的管道 典型用途 Unix中的管道 典型用途 Unix中的管道 例 Unix中的管道 半双工管道、全双工管道 附录:Windows2000/XP的进程和线程管理 协调 ① 互斥:读时不写、写时不读 ② 同步:协调读写速度等问题 ③ 确定对方是否存在,只有确定了对方已存在时,才能进行通信 3. 管道(Pipe)通信 2.6.2 消息传递通信的实现方法 1. 直接通信方式 原语: Send(Receiver, message); 发送一个消息给接收进程; Receive(Sender, message); 接收Sender发来的消息。 注:原语SEND、RECEIVE和信号量类似,为系统调用 管程monitor是由编程语言构造和设计 直接消息传递通信的解决生产-消费者问题 void producer(void) { int item; message m;//message buffer while (TRUE) { produce_item(item); //generate next item to put in buffer build_message(m,item);//construct a message to send send(consumer,m);//send item to consumer } } 直接消息传递通信的解决生产-消费者问题 void consumer(void) { int item; message m;//message buffer while (TRUE) { receive(producer,m);//get message containing item extract_item(m,item); //take item out of message consumer_item(item);//do something with item } } 2. 间接通信方式 (1) 信箱的创建和撤消。进程可利用信箱创建原语来建立一个新信箱。创建者进程应给出信箱名字、信箱属性(公用、私用或共享);对于共享信箱, 还应给出共享者的名字。当进程不再需要读信箱时,可用信箱撤消原语将之撤消 利用信箱传递消息 2. 间接通信方式 (2) 消息的发送和接收。当进程之间要利用信箱进行通信时,必须使用共享信箱,并利用系统提供的下述通信原语进行通信。 Send(mailbox, message); 将一个消息发送到指定信箱; Receive(mailbox, message); 从指定信箱中接收一个消息; 信箱可由操作系统创建,也可由用户进程创建,创建者是信箱的拥有者。据此,可把信箱分为以下三类: 1) 私用信箱 用户进程建立一个新信箱,并作为该进程的一部分 只有信箱的拥有者有权从信箱中读取消息,其他用户则只能将自己构成的消息发送到该信箱中 可采用单向通信链路的信箱来实现 拥有该信箱的进程结束时,信箱也随之消失。 2. 间接通信方式 2) 公用信箱 由操作系统创建,并提供给系统中的所有核准进程使用 核准进程既可把消息发送到该信箱中,也可从信箱中读取发送给自己的消息 公用信箱应采用双向通信链路的信箱来实现 通常,公用信箱在系统运行期间始终存在 信箱类型 3) 共享信箱 它由某进程创建,在创建时或创建后,指明它是可共享的,同时须指出共享进程(用户)的名字 信箱的拥有者和共享者,都有权从信箱中取走发送给自己的消息。 信箱类型 发送进程与接收进程的关系: (1) 一对一 (2) 多对一,也称为客户/服务器交互(client/se

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值