进程通信、线程

进程通信是指进程之间的信息交换

低级通信——进程之间的互斥和同步

(1)效率低(通信量少)
(2)通信对用户不透明(程序员实现,操作系统只提供共享存储器供代码操作)
 

高级进程通信
用户直接利用操作系统提供的一组通信命令,高效地传送大量数据的通信方式。
操作系统隐藏了进程通信的细节,对用户透明,减少了通信程序编制上的复杂性

 


高级通信机制可归结为四大类

1.共享存储器系统(操作存储区方式)a.基于共享数据结构的通信方式(低级)
b.基于共享存储区的通信方式(高级)


a.诸进程公用某些数据结构,借以实现诸进程间的信息交换

b.在存储器中划出了一块共享存储区,诸进程可通过对共享存储区中数据的读或写来实现通信

 

2.消息传递系统(发--收方式)最广泛使用的一种,进程间的数据交换,以格式化的消息为单位。屏蔽底层复杂操作
3.管道通信(中间文件方式)所谓“管道”,是指用于连接一读进程和一写进程以实现通信的一个共享文件,又名pipe文件
4.Client-Server system套接字(Socket)

消息传递通信的实现方法

1.直接通信方式

Send(Receiver, message);

Receive(Sender, message);

2.间接通信方式基于共享数据结构的实体用来暂存发送给目标进程的消息;接收进程则从该实体中,取出对方发送给自己的消息。通常把这种实体称为信箱。

 

线程:进程内的一条执行路径

多线程系统中,同一个进程中的多个线程
共享进程资源
可并发执行

* 线程与进程的比较
 

调度:
线程作为CPU调度的基本单位,而进程只作为其它资源分配单位
 
并发性:进程之间可以并发,实质上是不同进程中的两个线程并发。一个进程的多个线程之间亦可并发。
拥有资源:进程间资源相互独立;同一进程的各线程间共享。某进程内的线程在其它进程不可见
 
系统开销:线程上下文切换在同进程环境下上下文切换要快得多。因为同进程内线程间共享内存地址和打开的文件资源

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值