首页 > 系统相关 >Linux下进程间通信概述

Linux下进程间通信概述

时间:2022-12-25 20:55:07浏览次数:45  
标签:队列 System 间通信 概述 消息 Linux 进程 Posix

Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的 集合System V IPC(贝尔实验室)和socket的进程间通信机制(BSD)的优势

 

Unix进程间通信(IPC)方式包括管道、FIFO以及信号。
 System V进程间通信(IPC)包括System V消息队列、System V信号量以及System V共享内存区。
 Posix 进程间通信(IPC)包括Posix消息队列、Posix信号量以及Posix共享内存区

 

 

常用的进程间通信机制
(1)管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。
(2)信号(Signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一样的。
(3)消息队列(Messge Queue):消息队列是消息的链接表,包括Posix消息队列SystemV消息队列。它克服了前两种通信方式中信息量有限的缺点,具有写权限的进程可以按照一定的规则向消息队列中添加新消息;对消息队列有读权限的进程则可以从消息队列中读取消息。
(4)共享内存(Shared memory):可以说这是最有效的进程间通信方式。它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新。这种通信方式需要依靠某种同步机制,如互斥锁和信号量等。
(5)信号量(Semaphore):主要作为进程之间以及同一进程的不同线程之间的同步和互斥手段。
(6)套接字(Socket):这是一种更为一般的进程间通信机制,它可用于网络中不同机器之间的进程间通信,应用非常广泛。

标签:队列,System,间通信,概述,消息,Linux,进程,Posix
From: https://www.cnblogs.com/cnetsa/p/17004559.html

相关文章

  • Linux守护进程
       守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件 ......
  • Linux中文件及文件描述符
    对于Linux而言,所有对设备和文件的操作都是使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文......
  • Linux 挂载 Windows 磁盘
    首先要确保设备加密和快速启动已经关闭,以下内容针对Linux5.15及之后的内核中引入的NTFS3驱动参考以下网址:fstab--Archwiki使用UUID/卷标官方推荐的方法是使用......
  • Linux分区命令parted的用法
    linux分区命令parted的用法parted的适用场景创建操作大于2T的分区一般情况下,我们都是选择使用fdisk工具来进行分区,但是目前在实际生产环境中使用的磁盘空间越来越大,呈T......
  • Linux服务器租用有什么优势
    1、开源Linux系统可用于开源用途,通过开源,使用者不仅可以查看Linux内核的代码,还可以对代码进行修改和搭建。2、稳定性使用Linux系统的用户很少会遇到系统崩溃......
  • linux与shell 3.bash shell基础
    通配符符号含义?任意单个字符*0个或多个字符[ay]a或y[a-y]a,b,c,...,y[!a]排除a例:$touchfallfellfullfill$ls-lf[!a]llfellful......
  • ARM Linux中链表使用实例
          ......
  • linux回炉第六天
    ~]#sed-rn's/root/ROOT/p'passwd~]#sed-rn's/root/ROOT/gp'passwd~]#sed-rn'1,2p'passwd~]#sed-rn'1,5s/root/ROOT/gp'passwd~]#sed-rn'1,+3s/root/ROOT......
  • linux 中 实现数据中指定的行的内容批量替换
     001、[root@PC1test4]#lsa.txtcoordinate.txt[root@PC1test4]#cata.txt##测试数据ddffsd1ssaaee2xxvvzz......
  • linux 中实现数据按照行进行展开
     001、[root@PC1test]#lscoordinate.txt[root@PC1test]#catcoordinate.txt##测试数据3MMM5GGG8QQQ[root@PC1......