操作系统进程定义和PCB详解

本文解释了进程的定义,它是运行在内存中的程序。进程控制块(PCB)作为操作系统管理进程的工具,相当于进程的元数据。文章还讨论了PCB的结构、内存中进程的管理方式,以及Linux系统中/proc目录如何反映进程的存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   进程的定义和PCB

      什么是进程?进程就是一个运行起来(也就是说加载到内存)的一个程序。而程序的本质就是文件,当我们写完代码保存,它便形成了一个保存在磁盘上的二进制代码文件。由于冯诺伊曼体系,cpu只和存储进行数据交流,因此要想cpu执行,必须先将外存上的文件载入内存中,而磁盘上文件加载到了内存时也就变成了进程。

    PCB:事实上由于在内存中同时运行的进程很多,操作系统需要对所有的进程进行一个统一的管理调度,就例如大学校园里学校将每个学生的学号,姓名,年龄通过excel管理在一张表上,操作系统在内部定义了一个PCB(Process Control Block)进程控制块。  PCB本质上就是一个内核用c语言定义的结构体。 当一个进程进入到内存时,操作系统就对应的创建一个进程控制块PCB对该进程进行管理,每个PCB都有一个唯一的PID。所谓创建进程,其实就是创建PCB。

    类似的,PCB将进程的各种特征通过一个struck结构体保存,操作系统通过结构体指针对进程进行操作。类似于:

struct task_struct {
          //进程所有属性
          //进程所对应的代码和地址
          struct tast_struct *next;//指向下一个进程的指针
                  }
            struct tast_struct *p1 = malloc(struct task_struct);
                  p1->进程属性;
            

而同时内存为了管理不同的PCB,操作系统创建了一个数据结构对PCB进行管理。将

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值