![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
小圆的csdn
刻苦钻研,坚持再坚持
展开
-
进程间通信方式---管道
进程间通信方式—管道 管道的特点: 管道只允许具有血缘关系的进程间通信,比如父子进程间通信(后来的命名管道可以实现非血缘关系的进程间通信); 管道只允许单向通信; 管道内部保证同步机制,从而保证访问数据的一致性; 面向字节流; 管道的生命周期随进程,进程关闭,对应的管道端口关闭,两个进程都关闭,则管道关闭。 1.1 匿名管道 管道调用是调用pipe()函数来创建: #include <u...原创 2019-03-27 11:03:33 · 472 阅读 · 0 评论 -
进程间通信方式
进程间通信方式 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷贝到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。 不同的进程间通信方式的本质:进程之间可以看到一份公共资源,而提供这份公共资源的形式或者提供者不同,造成了通信方式的不同。 fo...原创 2019-03-27 11:05:36 · 162 阅读 · 0 评论 -
进程间通信方式--消息队列
消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。消息队列存放在内核中并由消息队列标识符标识,是一种链表队列。 我们可以通过发送消息来避免命名管道的同步和阻塞问题。但消息队列与命名管道一样,每个数据块都有一个最大长度的限制。我们可以将每个数据块当作是一种消息类型(频道),发送和接收的内容就是...原创 2019-03-27 16:17:46 · 684 阅读 · 0 评论 -
进程间通信方式--共享内存
进程间通信方式–共享内存 共享内存允许两个或多个进程访问同一块内存,就如同malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。 共享内存 当一个程序加载进内存后,它就被分成叫作页的块。总之,当一个程序想和另外一个程序通信的时候,那内存将会为这两个程序生成一块公共的内存区域。这块被两个进程分享的内存区域叫做共...原创 2019-03-27 20:26:17 · 2014 阅读 · 1 评论