【操作系统】进程管理中的数据结构——by一宇(2021-11-30)

一、引言

1.1. OS作为资源管理者

OS作为计算机硬件、软件资源的管理者,需要对资源进行各种操作。

  1. 首先需要对资源进行抽象,用计算机能看懂的方式来描述,形成一定的数据结构
  2. 其次,OS需要对各类资源进行一系列的操作,所以还需根据数据结构,定义一系列操作命令

1.2. OS对共享资源的管理

在多用户、引入进程的OS中:OS对共享资源的管理,需要记录、查询各资源的使用、各类进程运行情况的信息。

  1. 多用户之间存在资源共享
  2. 由于进程并发执行,并发执行的进程之间也涉及资源的共享

OS对这些信息的组织和维护,也通过建立和维护各种数据结构的方式实现。


二、操作系统中用于管理控制的数据结构

OS对每个资源、进程都设置了数据结构,表征其实体,称资源信息表或进进程信息表,包含标识、描述、状态等信息,以及一批指针

指针作用:将同类资源或进程的信息表,或同一进程所占用的资源信息表分类链接成不同的队列,
便于OS查找.

OS管理的数据结构一般分为四类

  1. 内存表
  2. 设备表
  3. 文件表
  4. 进程表【PCB】

三、PCB的作用

PCB作为进程实体的一部分,记录了OS所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是OS中最重要的记录型数据结构。

  1. 作为独立运行基本单位的标志
    当程序(含数据)配置PCB后,说明其是一个能在多道程序环境下独立运行的、合法的基本
    单位,具有取得OS服务器的权利
    
  2. 能实现间断性运行方式
    进程因阻塞暂停运行,需要PCB存储进程的CPU现场,以便再重新调用时,进程能继续从
    断点处继续执行
    
  3. 提供进程管理所需的信息
    1. OS可通过PCB中记录的程序和数据在内存或外存中的首址,找到相应程序和数据
    2. OS可根据PCB中的资源清单了解该进程所需的全部资源
    
    说明:OS总是根据PCB实施对进程的控制和管理
    
  4. 提供进程调度所需的信息
    PCB包含进程状态信息、优先级信息、调度算法所需的信息(等待时间、已执行时间等)
    
  5. 实现与其他进程的同步与通信
    PCB包含通信机制所需的信息、实现进程通信的区域或通信队列指针等
    
    e.g. 信号量机制→PCB中包含用于同步的信号量信息
    

四、PCB中的信息

4.1. 进程标识符

用于唯一标识一个进程

外部标识符内部标识符
创建进程创建者OS
组成字母、数字数字(进程序号)
用处方便用户(进程)对进程的访问方便OS对进程的使用
外部标识符
1. 为描述进程的家族管理→父进程标识、子进程标识
2. 可设置用户标识,以提示拥有该进程的用户

4.2. 处理机状态

又称上下文,由处理机各种寄存器中的内容组成
寄存器:

寄存器作用
通用寄存器用户程序可访问,用来暂存信息
指令计数器要访问的下一条指令地址
程序状态字PSW状态信息
用户栈指针用于存放过程和系统调用的参数及调用地址的系统栈的指针

4.3. 进程调度信息

  1. 进程状态
  2. 进程优先级
  3. 进程调度所需的其他信息:与采用的进程调度算法有关
  4. 事件:阻塞原因

4.4. 进程控制信息

  1. 程序和数据地址
  2. 进程同步和通信机制
  3. 资源清单
  4. 链接指针

五、PCB的组织方式

  1. 线性:实现简单、开销小

  2. 链接方式:按阻塞原因分不同队列

  3. 索引方式:按进程状态分队列


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45011621/article/details/121644250

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值