进程信号理解3

进程信号理解3

1.什么叫做信号递达
实际执行信号的处理动作叫做信号递达,比如默认,忽略,自定义动作

2.什么叫做信号未决?
信号产生到信号递达的状态叫做信号未决

3.进程被阻塞和进程被忽略有什么区别?
进程被阻塞属于信号未决,如果进程没有被解除阻塞,就一直不能信号递达
而进程被忽略属于信号递达其中一种动作,即忽略。

4.信号处理的内核过程
在这里插入图片描述
先取出pending里为1的数组下标,访问handler【signal】,判断是为0,还是为1,0则默认动作,1则忽略动作,如果二者都不是则调用自定义动作(handler{signal} 是一个函数指针)
block 表示进程是否被阻塞
pending 表示进程是否收到信号
handler 表示函数调用的地址

5.信号处理的本质?
OS向进程写入信号,先检测pending有哪个比特位为1(数组内容),再去看看block里对应位是否为1,为1执行阻塞,不能被信号递达,为0,再去handler里判断后续信号处理动作。
即 pending ——》 block ——》 handler

6.如果我们对所以的信号都捕捉了,是不是这个进程就是不死金身了?
错,9号信号不能被捕捉,即会留下一个信号用于终结该进程。

7.对信号都阻塞,那么进程是不是不死金身?
不是,9号信号不可被捕捉,不可被阻塞,只要 kiLL -9 pid 了,进程就会被终止。

8.信号处理什么时候合适?
从内核态返回到用户态,OS会做相关的检测

9.进程的用户级页表和内核级页表?
用户级页表为0-3G 每个进程都有一份属于自己的用户级页表
而内核级页表为3-4G 所有的进程共享一份内核级页表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值