兰州大学操作系统实验三实验报告
本实验报告主要介绍了 Linux 操作系统中的进程管理机制,包括进程的家族关系、进程的状态、进程的管理命令等。
一、进程的家族关系
在 Linux 系统中,所有进程的祖先进程都是 systemd,这是一个由内核启动的用户级进程。systemd 负责初始化系统,并启动其他进程。init 进程是第一个进程(其进程编号始终为 1),负责启动 getty(用于用户登录)、实现运行级别、处理孤立进程等。
二、进程的状态
在 Linux 系统中,进程的状态可以是 running、sleeping、stopped、zombie 等。通过 /proc/$PID/stat 文件,可以查看进程的状态,例如:
* task_state=R running
* task_state=S sleeping
* task_state=D disk sleep
* task_state=T stopped
* task_state=Z zombie
三、进程的管理命令
在 Linux 系统中,常用的进程管理命令包括:
* sleep:可以将目前动作延迟一段时间
* jobs:查看后台运行的进程
* fg:将进程带到前台
* bg:将进程放到后台
* kill:终止进程
四、/proc 文件系统
在 Linux 系统中,/proc 文件系统提供了对进程的详细信息,包括:
* /proc/$PID/cmdline:进程的命令行参数
* /proc/$PID/stat:进程的状态信息
* /proc/$PID/status:进程的详细状态信息
例如,/proc/$PID/stat 文件包含了进程的 PID、父进程 ID、线程组号、任务状态、进程标志位等信息。
五、进程的家族关系分析
通过对 systemd、init、getty 等进程的分析,可以了解 Linux 系统中的进程家族关系。systemd 是所有进程的祖先进程,init 是第二个进程,负责启动其他进程。getty 是用户登录进程,负责用户登录和会话管理。
本实验报告对 Linux 操作系统中的进程管理机制进行了详细的介绍,包括进程的家族关系、进程的状态、进程的管理命令等。