信号,signal.c:
信号一种软件中断。
在内核代码中通常使用一个无符号长整数中的比特位来表示各种不同的信号。
进程处理信号的方式:
1、忽略该信号。但有两种信号无法忽略--SIGKILL,SIGSTOP.
如果忽略了某些硬件异常而产生的信号,则进程的行为和状态将变得不可知。
2、捕获该信号:给信号提供回调函数。
3、执行默认操作:每种信号都有对应的默认操作。
signal()或sigaction()可以在进程自己的进程数据结构中注册相应信号的回调方法。
sigfunc *signal(int signr, sigfunc *handler);
第一个参数是信号,第二个参数是信号的回调函数。
系统提供的默认的信号处理方法是:SIG_DFL
由于子进程是复制父进程的进程结构数据,而信号屏蔽码sigaction是进程数据结构的一个字段,
所以子进程生成的同时也具有和父进程同样的信号响应。
以不安全的signal()为例,内核处理用户注册过的信号时,会将该进程的信号句柄设为SIG_DFL,同时执行回调函数。
如果要连续处理指定信号可以在信号处理函数前再设置一次信号处理函数。
系统收到信号时,do_signal()会把信号处理句柄插入到用户程序堆栈中,当前系统调用
结束返回后就会立刻执行信号句柄程序,然后再继续执行用户的程序。
分享到:
相关推荐
0.11内核代码的阅读,理解系统的 架构
在阅读源代码之前,有必要对Linux内核的体系结构、源代码的目录结构有个宏观地了解,《Linux内核完全注释》非常详细地介绍了这方面的内容,所以这里仅仅进行概述性的讨论,以便让所有的笔记构成一个整体。
Linux内核0.11源码和Linux内核注释.pdf,以及配合我的学习笔记画的操作系统模块加载流程图(源码是汇编,画图讲解比较清晰)
这是Linux内核0.11源代码的完全注释,想学习内核必不可少的文档
Linux内核机制学习笔记带源码及代码注释.zip Linux内核机制学习笔记带源码及代码注释.zip Linux内核机制学习笔记带源码及代码注释.zip Linux内核机制学习笔记带源码及代码注释.zip Linux内核机制学习笔记带源码及...
Linux内核机制学习笔记带源码及代码注释.7z
Linux 0.01 内核 源码 注释 阅读笔记 帮你更快速的读懂内核,节省时间
内核源码!!linux2.6.11内核源码-中文笔记注释版本linux2.6.11
#Linux0.11内核源码注释详解
另外,作者根据自己反复阅读linux2.6内核源代码和linux内核参考书的笔记与心得,用很大篇幅深入剖析了linux内核的组成结构以及各组件的实现原理,在阐述理论的同时对内核源代码进行详细注释,这样既加深了对linux...
另外,作者根据自己反复阅读linux2.6内核源代码和linux内核参考书的笔记与心得,用很大篇幅深入剖析了linux内核的组成结构以及各组件的实现原理,在阐述理论的同时对内核源代码进行详细注释,这样既加深了对linux...
Linux内核网络协议栈阅读 内核版本为2.6.35 参考书籍是<< linux>> 个人在注释的基础上再次增加注释。 我个人的工作其实并不涉及到内核的植入,但是同样也涉及到交换和转发,读取这份原始文件纯粹是自己找点事情做...
Linux-2.4.0-:内核原始码学习,包括原始码注释和学习笔记,笔记位于Lee_Doc
Linux内核分析值设备驱动模型,关于设备驱动模型的分析,和内核源代码注释笔记
Linux-2.4.0:内核原始码学习,包括原始码注释和学习笔记,笔记位于Lee_Doc
准备将readme.md作为笔记,记录linux内核网络协议栈源码剖析的过程 天2,2016年11月18日20:24:07 增加了对sys_socket(), sock_create, __sock_create(), inet_create()的完全注释 socket的创建过程已经完成,接下来...
包含Linux0.11源码,Linux内核完全注释(修正版v3.0).pdf以及准备知识笔记等。 BIOS 工作原理、引导启动和系统初始化、关于BIOS加载BOOT.S的经典解答、32位系统最大只能支持4GB内存之由来、编写MBR从硬盘启动linux...
这也是针对愿意学习Linux内核模块编程的开发人员的学术项目,其中包含大量注释,checkpatch.pl扫描的代码,符合标准的Makefile和DKMS支持。 spy最初是为美国键盘(和兼容笔记本电脑)编写的。 默认情况下,它为按下...
注意:请使用Mindmaster软件打开.emmx文件进行阅读 面向用户:软件工程在读本科生,操作系统初学者,... 保护方式下的80386及其编程.pdf——600页,讲述linux内核的操作系统的原理及源码 Linux 内核 0.11 详细注释.pdf
java笔试题2015 My blog files 如果对我写的文章感兴趣, 欢迎访问我的个人博客。 博客地址: Linux Git ...Linux内核完全注释 Hexo Java Think Web Life Other 附录 _config.yml 为根目录文件的备份