Linux实现的进程管理机制(linux实现进程管理)

进程管理是操作系统的一个重要环节,也是Unix系操作系统中的主要部分。Linux操作系统也是采用实现进程管理的机制,其中,它采用的是进程表的方式来管理和实现进程。下面我们将对Linux实现的进程管理机制进行一些简单讲解。

首先,linux操作系统建立一张进程表,将每个正在运行的进程都保存到表中。

那么每个进程表中的元素是什么呢?我们可以通过如下常见Linux定义的结构来进行查看:

struct task_struct{
pid_t pid; // 进程ID
int state; // 进程状态
void *stack; // 进程栈
void *mm; // 进程地址空间
... //其他比如运行时间,资源消耗等
};

可以根据这些信息,对linux下的进程状态进行分析:

一、新进程的创建:

当发起一个新的进程时,会新建一个进程控制块(PCB),并将其加入到进程表中,这类进程可以调度,执行。

二、执行中的进程:

调度器会根据调度算法,设置某一个进程的状态值,将其从“新进程”状态改变到“执行中”状态,使其进入到进程表。

三、暂停工作的进程:

当进程暂停时,比如遇到I/O请求,等待中断,等待资源等,该进程的状态会被改变为“挂起”或“睡眠”状态,不能够执行,但会一直持续在进程表中。

四、退出的进程:

当进程执行完最后一条语句,或者遇到exit()系统调用时,该进程会从进程表中删除,并退出。

上面我们主要讲述了Linux实现进程管理的机制,以及每种状态下进程所在的位置。希望能够对读者有所帮助。


数据运维技术 » Linux实现的进程管理机制(linux实现进程管理)