进程间通信
广州市民林先生
无。
展开
-
进程间通信之FIFO
FIFO俗名叫 命名管道(有名管道),是进程间通信的一种方法。其实,所谓的管道,就是内核里面的一块缓存。从管道的一段写入的数据,实际上是缓存在内核中的,另一端读取,也就是从内核中读取这段数据。另外,管道传输的数据是无格式的流且大小受限。第二个参数为管道权限,一般设置为0666就可以了,即管道文件有读®写(w)权限,不需要执行(x)权限。区别于pipe(匿名管道),在pipe中,我们可以使用 fork 创建子进程,创建的子进程会复制父进程的文件描述符,这样就做到了两个进程各有两个fd[0](读端) 与 fd原创 2020-08-04 11:34:18 · 1279 阅读 · 3 评论 -
共享内存机制——mmap和shm
共享内存是进程间通信的一种方法,常用到的有mmap和shm,下面做一个比较。mmap机制:在磁盘上建立一个文件,然后把文件内容映射到虚拟内存上,在每个进程的虚拟存储器里面,单独开辟一个空间来进行映射。在多进程情况下,不会对实际的物理存储器(主存)消耗太大。即将一个文件或者其它对象映射到进程的虚拟地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一 一对映关系。实现这样的映射关系后...原创 2020-03-29 22:03:55 · 2960 阅读 · 0 评论