随笔分类 -  《深入理解linux内核》摘要

摘要:信号在第一版的Uinx系统中被提出,用来跟用户模式进程进行交互;内核也使用信号来通知进程系统事件的发生。信号机制在近30年只有很小的变动。 11.1 信号的角色 信号是很短的一个信息,可能发送给一个进程或者进程组。发给进程的唯一的信息就是一个用来标识信号的数字。 以前缀SIG开始的宏的集合用来标识信号;比如,SIGCHLD宏,在Linux中的值是17,用来标识当子进程停止或者终止时发给父进程的信号。SIGSEGV宏,用来标识当一个进程访问无效内存时发给它的信号。 信号服务于两种目的:使进程意识到某个指定事件的发生使得一个进程执行在它代码中的信号句柄(signal handler) ... 阅读全文
posted @ 2013-07-15 22:16 IrisZhou 阅读(766) 评论(0) 推荐(0)
摘要:3.1 进程,轻量级进程和线程 一个进程通常定义为正在执行的程序实体。你可以把它当做是用来充分描述程序已经执行到何种地步的数据结构的集合。 进程就好像人类一样:它们被生成,它们有个或多或少有点意义的生命周期,它们可以随意生成一个或多个子进程,最终它们都会死去。一个小小的区别是每个进程都只有一个父亲。尽管父进程和子进程可能共享含有程序代码的物理页,但是它们各自有份数据的拷贝(栈和堆),所以子进程对内存的修改对父进程来说是不可见的(反之亦然)。 从早期的内核观点来看,一个多线程的应用程序只是一个普通的进程,内核为其创建多个执行流,对这些执行流的处理和调度完全处于用户态。 现在linux... 阅读全文
posted @ 2013-07-09 00:53 IrisZhou 阅读(503) 评论(0) 推荐(0)