
8.1异常

8.1.1异常处理





8.1.2异常的分类

1.中断



2.陷阱和系统调用




3.故障

4.终止

8.1.3Linux/X86-64系统中的异常


1.Linux/X86-64故障和终止

2.Linux/X86-64系统调用



8.2进程

8.2.1逻辑控制流

进程是轮流使用处理器的。每个进程执行它的流的一部分,然后被抢占,然后轮到其他进程,对于一个运行在这些进程之一的上下文的程序,它看上去就像是在独占地使用处理器。
8.2.2并发流


如果两个流并发地运行在不同的处理器核或计算机上,那么就称其为并行流。
8.2.3私有地址空间



8.2.4用户模式和内核模式

8.2.5上下文切换

8.3系统调用错误处理

8.4进程控制
8.4.1获取进程ID

8.4.2创建和终止进程






8.4.3回收子进程








8.4.4让进程休眠

8.4.5加载并运行程序




8.4.6利用fork和execve运行程序
8.5信号


8.5.1信号术语



8.5.2发送信号
1.进程组


2.用bin/kill程序发送信号





3.从键盘发送信号


4.用kill函数发送信号

5.用alarm发送信号

8.5.3接收信号




8.5.4阻塞和解除阻塞信号




8.5.5编写信号处理程序
1.安全的信号处理





2.正确的信号处理


不可以用信号来对其它进程中发生的事件计数
3.可移植的信号处理



8.5.6同步流以避免讨厌的并发错误
以某种方式同步并发流,从而得到最大的可行的交错的集合,每个可行的交错都能得到正确的结果。
8.5.7显式地等待信号


8.6非本地跳转






8.7操作进程的工具
