系统调用格式msgrcvmsgqidmsgpsizetypeflag参数定义-武汉大学
LINUX原理及应用 武汉大学计算机学院 郑鹏 Email:pzheng51@163.com 第3章 Linux进程间通信 Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来。 Unix进程间通信包括: 信号 管道 System V IPC。System V IPC又包括: 消息队列 信号量 共享内存区 第3章 Linux进程间通信 Linux支持多种通信机制,常用的有:信号(signal)、管道(pipe)以及与SYSTEM V兼容的消息队列(message queue)、信号量(semaphore)和共享内存(shared memory)。Linux还支持用于不同机器之间的进程间通信套接字(socket)。 (1)信号机制 信号是Unix系统中的最古老的进程间通信方式,也是Linux最基本的进程通讯机制,用于通知接收进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身。信号机制的一个主要特点是它的异步特性,这表现在进程在执行期间可随时接收到信号,甚至可能当进程正在执行系统调用时接收信号。 Linux除了支持Unix早期信号语义函数signal外,还支持语义符合POSIX.1标准的信号函数sigaction。 (2)管道机制 管道是实现进程间大容量信息传送的机构。管道用于连接一个读进程和一个写进程,是实现二者之间通信的共享文件。管道可分为 匿名管道(anonymous pipe)。匿名管道可用于具有亲缘关系进程间的通信,它实际是由固定大小的高速缓冲区构成。 有名管道(named pipe)。有名管道克服了管道没有名字的限制,是一个按名存取的文件,该文件可长期存在,任意进程都可按通常的文件存取方法存取有名管道。有名管道除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 (3)System V的进程通信机制 Linux支持三种SystemV进程通信机制:消息机制、信号量机制和共享内存机制。Linux对三种机制的实施大同小异。其中最快的一种形式是共享内存。 消息队列:消息队列是消息的链接表。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。 共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。 信号量:主要作为进程间以及同一进程不同线程之间的同步手段。 (4)套接字(Socket) 套接字是更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上。Linux和System V的变种都支持套接字。 3.1 信号 系统中有一组被详细定义的信号类型,这些信号可以由内核或者系统中其它具有适当权限的进程产生。信号可以发给一个或多个进程,也可以在某些系统错误发生时产生。信号还被shell进程用来向其子进程发送任务控制命令。为区别于硬件中断,又称为软中断。 信号事件的发生有两个来源: 硬件来源,比如按下了键盘或者其它硬件故障; 软件来源,最常用发送信号的系统函数是kill,raise,alarm和setitimer以及sigqueue函数,软件来源还包括一些非法运算等操作。 3.1 信号 信号生命周期是从信号发送到相应的信号处理函数执行完毕。对于一个完整的信号生命周期来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画: 信号诞生:指的是触发信号的事件发生; 信号在进程中注册完毕; 信号在进程中的注销完毕; 信号处理函数执行完毕。 相邻两个事件的时间间隔构成信号生命周期的一个阶段。 3.1 信号 信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还可以传递附加信息。 可以从两个不同的分类角度对信号进行分类: (1)可靠性方面:可靠信号与不可靠信号; (2)与时间的关系上:实时信号与非实时信号。 3.1 信号 进程可以通过三种方式来响应一个信号: 忽略信号,即对信号不做任何处理,其中,有两个信号不能忽略:SIGKILL及SIGSTOP; 捕捉信号。定义信号处理函数,当信号发生时,执行相应的处理函数; 执行缺省操作,Linux对每种信号都规定了默认操作。注意,进程对实时信号的缺省反应是进程终止。 Linux究竟采用上述三种方式的哪一个来响应信号,取决于传递给相应API函数的参数。 3.1 信号 信号与中断的相似点: (1)采用了相同的异步通信方式; (2)当检测出有信号或中断请求时,都暂停正在执行的程序而转去执行相应的处理程序; (3)都在处理完毕后返回到原来的断点; (4)对信号或中断都可进行屏蔽。 信号与中断的
您可能关注的文档
- 立体几何高2015级高二.PPT
- 立磨发展史-南京西普水泥工程集团.DOC
- 立杆制作拉线.PPT
- 立足文本夯实基础逐层突破泰顺中学舒展.ppt
- 站之设计-中华顾问工程司.PDF
- 章书后习题解答File.doc
- 竟无语凝噎下片多情自古伤离别.PPT
- 竞购申请书.doc
- 章总需求与总供给.ppt
- 章节专题首页计算机网络物理层-一师数字资源中心.PDF
- 2026春外研版七年级下册Unit 2第5课时课件.pptx
- 2026春外研版七年级下册Unit 5第5课时课件.pptx
- 2026春外研版七年级下册Unit 1第1课时课件.pptx
- 2026春外研版七年级下册Unit 6第2课时课件.pptx
- 2026春外研版七年级下册Unit 2第4课时课件.pptx
- 2025至2030中国气体膨胀恒温器行业深度研究及发展前景投资评估分析.docx
- 2025至2030集成电路行业调研及市场前景预测评估报告.docx
- 2025至2030中国SBR防水粘合剂行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国在线语言教育行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国纳米颗粒在生物技术和药物中的应用行业细分市场及应用领域与趋势展望研究报告.docx
最近下载
- 人教版道德与法治三年级下册第3课《一切靠劳动》 课件.pptx VIP
- 建设银行供应链金融业务的战略突破与创新发展.docx
- 大赛独家代理授权合作协议范文.docx VIP
- 抗高压药物行业调研报告.pptx
- 人教版中考数学知识点总结.pdf VIP
- 宣贯培训(2026年)《GBT 39559.2-2020城市轨道交通设施运营监测技术规范 第2部分:桥梁》.pptx VIP
- 来实SEAM-LOK75直立锁边板手册-BlueScope.PDF VIP
- Formel-Q-V8(质量能力-软件).pdf VIP
- 《300MW汽轮发电机组厂用电设计论文》.doc VIP
- 《工程伦理》教案全套-教学设计.docx
原创力文档

文档评论(0)