操作系统实验报告
—â€?/p>
实验三:进程管理(一ï¼?/p>
实验内容
:
1.
分别从至少三个虚拟终端登录,
以树状形式列出你的系统中当前运行的所æœ?/p>
进程及其
PID
。找出你当前运行进程的所有祖先进程,并说明其各自的作用。分
æž?/p>
Linux
系统中的进程的家族关系ã€?/p>
�/p>
实验室里ï¼?/p>
当前运行进程的所有祖先进程是
init
进程ï¼?/p>
init
�/p>
Linux
系统操作中不可缺
少的程序之一,是内核启动的用户级进程ã€?/p>
内核自行启动
(已经被载入内存ï¼?/p>
开始运行,
并已初始化所有的设备驱动ç¨?/p>
序和数据结构等)
之后ï¼?/p>
就通过启动一个用户级程序
init
的方式,
完成引导进程ã€?/p>
所ä»?/p>
,init
始终是第一个进ç¨?/p>
(其进程编号始终ä¸?/p>
1
ï¼?/p>
�/p>
init
有许多很重要的任务,
比如像启åŠ?/p>
getty
(用于用户登录)
�/p>
实现运行级别ã€?/p>
以及处理孤立进程ï¼?/p>
ç”?/p>
pstree
命令就看到进程之间的关系了,所有进程都是由最开始的
init
创建的,父进程é€?/p>
个创建子进程ã€?/p>
�/p>
个人电脑ï¼?/p>
所有进程的祖先进程ä¸?/p>
systemd
ï¼?/p>
其是
linux
下的一ç§?/p>
init
软件ã€?/p>
Systemd
(系
统管理守护进程),最开始以
GNU
GPL
协议授权开发,现在已转为使ç”?/p>
GNU
LGPL
协议,它是如今讨论最热烈的引导和服务管理程序ã€?/p>
Linux
系统配置使用
Systemd
引导程序,取替了传统çš?/p>
SysV
init
,启动过程将交给
systemd
处理ã€?/p>
Systemd
的一个核心功能是它同时支æŒ?/p>
SysV init
的后开机启动脚本ã€?/p>
Systemd
å¼?/p>
入了并行启动的概念,
它会为每个需要启动的守护进程建立一个套接字ï¼?/p>
这些å¥?/p>
接字对于使用它们的进程来说是抽象的,
这样它们可以允许不同守护进程之间è¿?/p>
行交互ã€?/p>
Systemd
会创建新进程并为每个进程分配一个控制组ï¼?/p>
cgroup
)。处äº?/p>
不同控制组的进程之间可以通过内核来互相通信ã€?/p>
systemd
处理开机启动进程的
方式非常漂亮,和传统基于
init
的系统比起来优化了太多ã€?/p>
�/p>
终端一ï¼?/p>
tty3
///
在实验室的电脑上操作