进程创建:是利用struct task_struct{..........}创建的进程,然后将父进程的数据拷入新建的进程,然后操作系统分配给新创建进程一个pcb号
进程终止:进程退出
退出场景:正常的符合预期退出、不符合预期的退出
异常退出:段错误
如何退出:三种方法
main函数中的return |
| 退出前刷新缓冲区 | 只能是main中的return才有退出进程的作用 |
void exit(int status); | 存在于库函数中 | 退出前刷新缓冲区 | 任何位置的exit都有退出进程的作用 |
void _exit(int status); | 存在于系统调用中 | 不会刷新缓冲区,缓冲区的数据字节丢弃 | 任何位置的exit都有退出进程的作用 |
库函数和系统调用接口关系:
上下级的调用封装关系
系统调用就是系统的亲儿子,有了系统接口,会直接作用于系统内核。kernel就是内核