进程的基础认识

发布时间:2024年01月03日

一、进程的概念

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

二、进程的管理

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

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

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

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

?三、运行队列

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

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

文章来源:https://blog.csdn.net/m0_74626010/article/details/135371078
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。