- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、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
您可能关注的文档
最近下载
- Q_320581CTY025-2019氟铝酸钾企业标准.pdf
- 尾矿库安全技术规程(AQ2006-2005).pdf VIP
- 《混凝土结构加固设计规范》GB50367-2013.docx VIP
- 2023年住院医师规培(内科)考试历年常考点专家摘选附带答案.docx VIP
- 小米智能生态产品矩阵产业链风险与应对策略分析报告.docx
- 编制说明-《抽水蓄能电站建设工程质量验收评定标准》.docx VIP
- 2023年住院医师规培(放射肿瘤科)考试历年核心考点摘选附带答案.docx VIP
- 数据中心机房项目验收检查表——消防系统.pdf VIP
- 十四五中医妇科学胎动不安课件.pptx VIP
- 2020 年二级建造师《水利水电工程管理与实务》真题答案及解析.pdf VIP
文档评论(0)