(013) Linux之进程
十年运维系列之基础篇 - Linux
作者:曾林
版权:文章未经同意请勿转载
一、引言
现代操作系统通常都支持多重任务处理(multitasking)。多重任务处理是指系统通过快速切换运行中的程序来实现多任务的同时执行。Linux内核通过使用进程来管理多重任务。进程是Linux用来安排不同程序等待CPU调度的一种组织方式。
二、进程如何工作
系统启动时,内核先把它的一些程序初始化为进程,然后运行一个成为init的程序。init程序将依次运行一系列称为脚本初始化的shell脚本(放在/etc目录下),这些脚本将会启动所有的系统服务。其中的很多服务都是通过守护程序(daemon program)来实现的。而后台程序只是呆在后台做它们自己的事情,并且没有用户界面。因此,即使没有用户登录,系统也在忙于执行一些例行程序。
一个程序的运行可以触发其他程序的运行,在进程系统中这样的情况被表述为父进程创建子进程。
内核会保存每个进程的信息以便确保任务有序进行。比如,每个进程将被分配一个称为进程ID(PID)的号码。进程ID是按递增的顺序来分配的,init进程的PID始终为1。内核也记录分配给每个进程的内存信息以及用来恢复运行的进程就绪信息。和文件系统类似,进程系统中也存在所有者、用户ID、有效用户ID等。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。