- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux 环境进程间通信环境进程间通信 (二(二)): 信号信号 (上(上)) 环境进程间通信环境进程间通信 ((二二)) 信号信号 ((上上 )) linux 信号机制远远比想象的复杂,本文力争用最短的篇幅,对该机制做了深入细致的分析。读者可以 先读一下信号应用实例 (在信号(下)中),这样可以对信号发送直到相应的处理函数执行完毕这一过程 有个大致的印象。本文尽量给出了较新函数的应用实例,着重说明这些的功能 一、一、信号及信号来源信号及信号来源 一一、、信号及信号来源信号及信号来源 信号本质信号本质 信号本质信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中 断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也 不知道信号到底什么时候到达 信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事 情发生了。信号机制经过POSIX 实时扩展后,功能更加强大,除了基本通知功能外,还可以传递附加信息 信号来源信号来源 信号来源信号来源 信号事件的发生有两个来源:硬件来源(比如我们按下了键盘或者其它硬件故障);软件来源,最常用 发送信号的系统函数是kill, raise, alarm 和setitimer 以及sigqueue 函数,软件来源还包括一些非法运算等 操作 二、二、信号的种类信号的种类 二二、、信号的种类信号的种类 可以从两个不同的分类角度对信号进行分类:(1)可靠性方面:可靠信号与不可靠信号;(2 )与时 间的关系上:实时信号与非实时信号。在《Linux 环境进程间通信 (一):管道及有名管道》的附1 中列 出了系统所支持的所有信号 1、可靠信号与不可靠信号、可靠信号与不可靠信号 、、可靠信号与不可靠信号可靠信号与不可靠信号 不可靠信号不可靠信号 不可靠信号不可靠信号 Linux 信号机制基本上是从Unix 系统中继承过来的。早期Unix 系统中的信号机制比较简单和原始,后 来在实践中暴露出一些问题,因此,把那些建立在早期机制上的信号叫做不可靠信号,信号值小于 SIGRTMIN(Red hat 7.2 中,SIGRTMIN=32,SIGRTMAX=63)的信号都是不可靠信号。这就是不可靠信 号的来源。它的主要问题是: • 进程每次处理信号后,就将对信号的响应设置为默认动作。在某些情况下,将导致对信号的错误 处理;因此,用户如果不希望这样的操作,那么就要在信号处理函数结尾再一次调用signal(),重 新安装该信号 • 信号可能丢失,后面将对此详细阐述 因此,早期unix 下的不可靠信号主要指的是进程可能对信号做出错误的反应以及信号可能丢失 Linux 支持不可靠信号,但是对不可靠信号机制做了改进:在调用完信号处理函数后,不必重新调用该信号 的安装函数(信号安装函数是在可靠机制上的实现) 因此,Linux 下的不可靠信号问题主要指的是信号可 能丢失 可靠信号可靠信号 可靠信号可靠信号 随着时间的发展,实践证明了有必要对信号的原始机制加以改进和扩充。所以,后来出现的各种Unix 版本分别在这方面进行了研究,力图实现可靠信号 由于原来定义的信号已有许多应用,不好再做改动, 最终只好又新增加了一些信号,并在一开始就把它们定义为可靠信号,这些信号支持排队,不会丢失。同 时,信号的发送和安装也出现了新版本:信号发送函数sigqueue()及信号安装函数sigaction() POSIX.4 对可靠信号机制做了标准化。但是,POSIX 只对可靠信号机制应具有的功能以及信号机制的对外接口做了 标准化,对信号机制的实现没有作具体的规定 信号值位于SIGRTMIN 和SIGRTMAX 之间的信号都是可靠信号,可靠信号克服了信号可能丢失的问题 Linux 在支持新版本的信号安装函数sigation ()以及信号发送函数sigqueue()的同时,仍然支持早期的 signal ()信号安装函数,支持信号发送函数kill() 注:不要有这样的误解:由sigqueue()发送、sigaction 安装的信号就是可靠的。事实上,可靠信号是指后 来添加的新信号 (信号值位于SIGRTMIN 及SIGRTMAX 之间);不可靠信
有哪些信誉好的足球投注网站
文档评论(0)