进程的基础认识

目录

一、进程的概念

二、进程的管理

 三、运行队列


一、进程的概念

        进程是指  可执行程序 + 内核数据结构(内核为了管理进程而创建的数据结构)。

二、进程的管理

        进程是靠PCB(process control block [进程控制块])管理起来的,在linux下PCB叫 task_struct

         当一个可执行程序从磁盘加载进内存,只有这个程序的代码和数据,操作系统会创建出一个PCB对象来管理这些加载进来的程序,在PCB中有这个进程的各种信息以及标识符,系统就可以通过标识符管理PCB链表,因此,对进程的管理就可以转变为对PCB链表的管理,从而管理进程。

        于是,所有对进程的控制和操作就只和PCB有关,和进程的可执行程序没有关系了。

struct PCB
{
    //状态
    //优先级
    //内存指针字段
    //标识符
    //包含进程各种属性的字段
    struct PCB* next
};

进程的基础认识_第1张图片

 三、运行队列

        运行队列是用来负责调度进程的。运行队列里面有PCB链表的头指针,所以进程排队就是指进程的PCB根据优先级去排队,然后让CPU去调度。

struct runqueue
{
    //...
    struct PCB* head;
};

进程的基础认识_第2张图片

你可能感兴趣的:(服务器,linux,运维)