进程间通信
qiaozongpeng
这个作者很懒,什么都没留下…
展开
-
进程间通信_04信号
一 概述信号的作用是通知进程某一特定事件的发生,是一种软件中断。采用异步处理机制,即当信号发送到某个进程中的时候,操作系统会中断进程的正常处理流程,转而去进入信号处理函数进行操作,等信号处理函数完成之后,返回中断处继续执行。信号的发送:硬件产生(按键 或者 硬件错误) 、软件产生(程序调用kill、alarm等函数)信号的处理:用户自定义函数处理、系统默认方式处理、忽略原创 2014-09-18 17:23:44 · 1179 阅读 · 1 评论 -
进程间通信_01概述
开始学习进程间通信,先有个大体的了解原创 2014-09-12 15:40:09 · 819 阅读 · 1 评论 -
进程间通信_05消息队列
一概述消息队列就是一段有一定格式的内存区,即一个消息的链表,位于内核中,可以把消息看成一条记录,这个记录有特定的格式和优先级。消息队列的读和写是异步的,发送方不必等到接收方接收,接收方发现没有数据也不用等待。新的消息总是放在队尾,接收的时候不一定要遵守先进先出的原则,可以根据优先级获取数据。消息队列只有在内核重启或者显示的删除的时候才会被删除掉。原创 2014-09-20 15:04:36 · 1053 阅读 · 1 评论 -
进程间通信_05共享内存_System V实现
一 概念内核分配的一块存储去,多个进程可以将物理内存映射到进程的虚拟地址空间,从而实现对内存的直接操作,是效率最高的IPC。消息队列和管道都有在用户地址空间和内核空间相互复制产生的开销。二 操作函数1 创建共享内存#include #include int shmget( key_t key, //代原创 2014-09-22 14:37:26 · 969 阅读 · 1 评论 -
进程间通信_02匿名管道
相关介绍 分配一块独立于进程的内存,对内存的操作方式和对文件的操作方式类似。有如下特点:1 只能用于父子进程之间。2 管道的大小是有限制(一个页面的大小,4K字节)。3 数据是单向流动的。4 传送的是无格式字节流,需要双方事先确定好长度 格式等。操作函数1 创建一个管道#inc原创 2014-09-15 11:16:21 · 1024 阅读 · 1 评论 -
进程间通信_03命名管道
为什么会有命名管道?匿名管道的产生解决了有亲缘关系的进程之间的小量数据传输,但是匿名管道却不能在没有亲缘关系的进程之间进行数据传输。为了解决这个问题,就出现了命名管道。命名管道也是在内核分配了一块存储区,并且用一个文件名与之关联,以FIFO(First In First Out)的文件形式存放于文件系统之中。这样其他不相关的进程只要知道管道的名称也能访问管道。原创 2014-09-17 14:32:24 · 1051 阅读 · 1 评论