异常控制流
现代系统通过使控制流发生突变来对这些情况做出反应。一般而言,我们把这些突变称为异常控制流。ECF
ECF是操作系统用来实现I/O、进程和虚拟内存的基本机制,而且是计算机系统中实现并发的基本机制。
异常
-
异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。异常是控制流中的突变,用来响应处理器状态中的某些变化。
-
异常处理程序完成后会发生的情况:
1)处理程序将控制返回给事件发生时正在执行的指令 2)处理程序将控制返回给如果没有发生异常将会执行的下一条指令 3)处理程序终止被中断的程序
-
异常表
-
异常的类别
中断 陷阱 故障 终止
进程
-
进程的经典定义:一个执行中程序的实例
-
并发:多个流并发地执行的一般现象被称为并发
-
多任务:一个进程和其他进程轮流运行
-
父进程通过调用fork函数创建一个新的运行的子进程
include <sys/types.h>
include <unistd.h>
pid_t fork(void);
- 终止进程
exit函数
include <stdlib.h>
void exit(int status);
- fork
-
exec
-
wait,waitpid
-
exit
-
getpid getppid
-
sleep
-
pause
-
setenv
-
unsetenv
理解数组指针、指针数组、函数指针、指针函数的区别
- 数组指针
顾名思义,它是一个指针,是一个指向数组的一个指针 - 指针数组
是一个数组,那是一个什么样的数组呢?是一个存放指针的数组。 - 函数指针
一看名字就知道这是指针,是一个存放函数地址的指针 - 指针函数
是一个函数。函数都有返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针。
理解信号机制:kill,alarm,signal,sigaction
-
用kill函数发送信号,进程通过调用kill函数发送信号给其他进程
-
用alarm函数发送信号
-
signal函数