操作系统–进程通信

操作系统--进程通信

什么是进程通信?

进程通信就是指进程之间的信息交换。 进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立

进程间是不能直接访问对方的内存地址的,是隔离的。但进程间必须要提供一些通信的,如何实现呢?

1.共享存储

两个进程对共享空间的访问必 须是互斥的(互斥访问通过操 作系统提供的工具实现)。
操作系统提供了一块空间,供进程间访问的,就如合租的时候,卧室是独占的,厨房,客厅可能就是共享的。

2.管道通信

“管道”是指用于连接读写进 程的一个共享文件,又名pipe 文件。其实就是在内存中开辟 一个大小固定的缓冲区
管道如果消息有消息,a进程放到管道的消息,那么消息不为空,只允许b进程读,a就不能再写了,同样,a进程写的没了,管道b也读不了了、

3.消息传递

进程间的数据交换以格式化的消息(Message)为单位。进程通过操作系统提供的“发送消息/接收 消息”两个原语进行数据交换。

线程:引入线程后,进程是资源分配的基本单位。而 线程几乎不拥有资源,只拥有极少量的资源 (线程控制块TCB、寄存器信息、堆栈等

线程执行也需执行方法需要基本的堆占,寄存器,控制块信息的。

引入线程后,进程是资源分 配的基本单位,线程是调度 的基本单位。线程也有运行 态、就绪态、阻塞

线程引入后开销更小。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 操作系统–进程通信