- 进程的概念
- 进程就是处于执行期的程序;
- 包含:可执行程序代码(代码段text section),打开的文件、挂起的信号、内核内部数据、处理器状态、地址空间及一个或多个执行线程、存放全局变量的数据段(data section)等;
- 执行线程即线程,是在进程中活动的对象;每个线程都拥有一个独立的程序计数器、进程栈和一组进程寄存器;
- 内核调用的对象是线程,而不是进程;在传统的Unix系统中,一个进程只包含一个线程;但现在多线程程序已经司空见惯了;而在Linux中,线程只不过是一种特殊的进程;
- 创建进程
- 进程在它被创建的时候开始存活;
- 通过fork()系统调用复制一个现有进程来创建一个全新的进程;调用fork()的进程称为父进程,新产生的进程被称为子进程;在该调用返回时,父进程恢复执行,子进程开始执行;fork()调用从内核返回两次,一次回到父进程,一次回到新产生的子进程;
- exec*()族函数创建新的地址空间,并把新的程序载入;
- 程序通过exit()系统调用退出执行:这个函数会终结进程并将其占用的资源释放掉;父进程可以通过wait4()系统调用查询子进程是否终结;进程退出执行后被设置为僵死状态,直到它的父进程调用wait()或waitpid()为止;
- 进程描述符
- 进程状态
- 进程上下文
- 进程树
- fork,vfork
- 线程
- 进程终结
kernel-4 进程管理
最新推荐文章于 2021-12-05 15:37:22 发布