- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进程间通信机制的分析与研究
王钦骞 罗克露 龚伟
电干科技大学计算机学院,成都,610054
V(消息队列,信号量,
摘要Linux支持多种进程间通信:奉丈主要介绍了信号、管道和Unixsystem
共享内存)几种进程间通信机制的主要数据结构和主要的实现方法。井且分析、比较了这些通信机制的优、
‘
缺点。
关键词进程间通信,信号.管道,消息队列,信号量,共享内存
引 言
对于多用户、多进程的操作系统,进程间通信(IPC)是一项非常重要、甚至必不可少的基本手段和设施
下面将详细介绍进程间通信机制的设计原理和实现白法。
2 信号
信号是Unix系统中使用的最古老的进程间通信的方法之一,用于向一个或多个进程发送异步事件的
信号。
每种信号类型都有相关的操作.当进程发送信号时,内棱将代表该进程执行这个操作。一个进程通常可以
请求系统采取某些代替的操作,这些代替操作是:
束进程;S1GSTOP,它足作业控制机制的一部分,将挂起作业的执行。
●恢复信号的默认操作。
●执行 个预先安排的信号处理函数。
2.1信号机制的实现原理
每一种信号都被赋予一个符号名。为了给一个进程发进一个软中断信号,内核在诙进程表中,按所要接受
的信号类型来设置软中断信号宇段的某一位。如果该进程睡眠在一个可中断的优先级上,内核就唤醒它。例
宁段中设置相应的两位.但它没法告诉收到了多少这样的信号。信号的检测和处理流程图如图1所示。
信号处理程序
圈1信号的检测和处理流程图
当一个进程即将从核心态返回到用户态时,或它要进入或离开一个适当的低调度优先级睡眠状态时,内棱
要检查它是否收到一个软中断信号。内核仅当一个进程从核心忠返回用户态时才处理软中断信号,因此当一
个进程在核心态下运行时软中断信号并不立即起作用。如果一十进程正在用户态下运行『f『i且内核处理一个使
一个软中断信号发送给该进程的中断,那么当内核从中断返回后,它将识别和处理该软中断信号。这样在处理
72 中国西部嵌入式系统与单片机技术论坛2005学术年套论文集
未被处理的软中断信号之前,进程永远不会在用户态下执行。
2.2 Linux中实现
(1J主要数据结构
于一个“信号向量表”,数组中的每个元素就相当于一个“信号向量”,确定了当进程接收到一个具体的信号时应
该采取的行动。
Struet
SignaLstruct{
Atomic—tcount}
Struct
sigaetionaction[_NSIG3;
Spinlock_tsiglock;}
方式。
struct
sigaction{
sa_handler;
一sighandler_t
sa_maskl
sigset_t
unsignedlongsa—flags;
void(”sa—restorer)(void);}f
sigset_t表示信号的集合。它的唯一一个成员变量是unsigned
台上是用两个32位无符号长整数来代表所有的信号,其中每一位代表一个信号,那么最多可以有64十信号。
struct{
Typedef
Unsignedlong
sig[一NSIG_WORDS];
}sigset_t;
slginfo_t主要是伴随着信号所传递的信息,如信号的来源等。
Struet
sigpengding(
Struct *head一**tail£
sigqueue
您可能关注的文档
- 一种实时多任务操作系统(RTMT)任务切换机制地研究.pdf
- 自动化专业新型人才培养模式地研究.pdf
- 橡胶垫隔震结构的抗倾覆的探究.pdf
- 快速精炼工艺SIFC地研究.pdf
- 微生物饲料添加剂对鲤鱼生长性能影响地研究.pdf
- 中低合金钢辉光放电发射光谱的探究.pdf
- 土家族学生体质现状与其发展对策的研究.pdf
- 碳化硅颗粒增强镁基复合材料损伤性能地研究.pdf
- 猪精子黏合分子1(SPAM1)基因SNPs的搜寻、鉴别与其遗传变异研究.pdf
- 基于MRP-Ⅱ思想的铁塔生产管理系统地研究.pdf
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)