进程间的通信机制有那些(本机IPC)【linux】(zv)
进程间的通信机制有那些? 进程间通信的原理 广义上的进程间通信 Linux提供的“进程通信”方式有哪些? 进程间的通信机制有那些? 进程间通信的原理 进程空间各自独立,相互之间没有可以共享的空间,但是OS是所有进程所共享的,那就是,不管运行有多少个进程,但是它们共用OS只有一个。 所有进程共用的是同一个OS,那么显然,所有的进程可以通过大家都共享OS来实现数据的转发。 因此进程间通信的原理就是,OS作为所有进程共享的第三方,会提供相关的机制,以实现进程间数据的转发,达到数据共享的目的。 广义上的进程间通信 其实广义上来说,任何一种能够实现进程间数据交换的方式,都可以被称为进程间通信,比如 A进程——————文件———————B进程 A进程—————数据库——————B进程 不过一般来说,这种广义的进程间通信,并不被算作真正的“进程间通信”。 只有OS所提供的专门的通信机制,才能算作是真正的“进程间通信”。 Linux提供的“进程通信”方式有哪些? Linux的父亲是Unix,所以Linux的进程间通信,其实都是继承于Unix。 Linux所提供的进程间通信机制 管道 无名管道 有名管道 OS在进程之间建立一个“管道”,通过这个管道来实现进程间数据的交换。 消息队列 :通过消息队列来通信 共享内存 :通过共享内存来通信 信号量 :借助通信来实现资源的保护(一种加锁机制) 套接字