操作系统中的进程创建与进程终止
进程创建和进程终止分别用于创建和终止进程。详细信息如下:
进程创建
系统中可以为不同的操作创建进程。导致进程创建的一些事件如下:
- 用户请求创建进程
- 系统初始化
- 批处理作业初始化
- 运行进程执行进程创建系统调用
一个进程可以使用fork()创建另一个进程。创建进程称为父进程,创建的进程称为子进程。一个子进程只能有一个父进程,但一个父进程可以有多个子进程。父进程和子进程拥有相同的内存映像、打开的文件和环境字符串。但是,它们具有不同的地址空间。
下图演示了使用fork()创建进程:
进程终止
当进程终止时,进程终止发生。大多数操作系统使用exit()系统调用来终止进程。
进程终止的一些原因如下:
- 进程在其执行自然完成之后可能会终止。此进程离开处理器并释放其所有资源。
- 如果其父进程请求终止,则子进程可能会终止。
- 如果进程尝试使用它无权使用的资源,则可以终止该进程。例如:尝试写入只读文件会导致进程终止。
- 如果进程发生I/O错误,则可以终止该进程。例如:如果进程需要打印机并且打印机无法工作,则该进程将被终止。
- 在大多数情况下,如果父进程终止,则其子进程也终止。这是因为子进程无法在没有父进程的情况下存在。
- 如果进程需要的内存超过系统当前可用的内存,则由于内存不足而终止该进程。
广告