【计算机操作系统-进程管理】-进程通信是什么呢?
发布日期:2021-06-29 15:36:32 浏览次数:2 分类:技术文章

本文共 536 字,大约阅读时间需要 1 分钟。

进程同步与进程通信很容易混淆,它们的区别在于:

  • 进程同步:控制多个进程按一定顺序执行;
  • 进程通信:进程间传输信息;

为了能够达到进程同步的目的,需要让进程间进行通信,传输一些进程同步所需要的信息;

a.管道:用于兄弟进程或父子进程的通信

管道是通过调用pipe函数创建的fd[0]用于读,fd[1]用于写

  • 只支持半双工通信(单向交替传输)
  • 只能在父子进程或者兄弟进程中使用

b.FIFO命名管道:去除了管道只能父子进程通信的限制

也被称为命名管道,去除了管道只能在父子进程中使用的限制。常用于客户进程和服务器进程之间传递数据。

c.消息队列:避免了FIFO的同步阻塞问题

相比较FIFO,消息队列:

  • 可以独立于读写进程存在;
  • 避免了FIFO的同步阻塞问题
  • 读进程可以根据消息类型有选择地接收消息,而不像FIFO那样只能默认地接收。

d.信号量:用于多线程对共享数据对象的访问

它是一个计数器,用于为多个进程提供对共享数据对象的访问

e.共享存储:允许多个进程共享一个给定的存储区

允许多个进程共享一个给定的存储区,因为数据不需要在进程之间复制,所以这是最快的一种IPC;

f.套接字:用于不同机器间的进程通信

与其它通信机制不同,它可用于不同机器间的进程通信

转载地址:https://codingchaozhang.blog.csdn.net/article/details/116722456 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【计算机操作系统】-进程切换什么时候会发生呢?
下一篇:【计算机操作系统-进程管理】进程调度算法有哪些呢?

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月15日 04时05分54秒