描述

为了使参与并发执行的每个程序,包含数据都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(PCB,Process Control Block)。进程与PCB是一一对应的,用户进程不能修改。

进程控制块PCB的作用:

为了便于系统描述和管理进程的运行,在OS的核心为每个进程专门定义了一个数据结构——进程控制块PCB(Process Control Block)。PCB作为进程实体的一部分,记录了操作系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构。PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。

(1)PCB作为独立运行基本单位的标志。当一个程序(含数据)配置了PCB后,就表示它已经是一个能在多道程序环境下独立运行的、合法的基本单位,也就具有取得OS服务的权力,如打开文件系统中的文件,请求获得系统中的I/O设备,以及与其它相关进程的进行通信等。因此,当系统创建一个新进程时,就为它建立了一个PCB。进程结束时又回收其PCB,进程于是也随之消亡。系统是通过PCB感知进程的存在的。事实上,PCB已成为进程存在于系统中的唯一标志。

(2)PCB能实现间断性运行方式。在多道程序环境下,程序是采用停停走走间断性的运行方式运行的。当进程因阻塞而暂停运行时,它必须保留自己运行时的CPU现场信息。在有了PCB后,系统就可以将CPU现场信息保存在被中断进程的PCB中,供该进程再次被调度执行时恢复CPU现场时使用。由此,可再次明确,在多道程序环境下,作为传统意义上的静态程序,因其并不具有保护或保存自己运行现场的手段,无法保证其运行结果的可再现性,从而失去运行的意义。

(3)PCB提供进程管理所需要的信息。当调度程序调度到某进程运行时,只能根据该进程PCB中记录的程序和数据在内存或外存中的始址指针,找到相应的程序和数据;在进程运行过程中,当需要访问文件系统中的文件或I/O设备时,也都需要借助于PCB中的信息。另外,还可根据PCB中的资源清单了解到该进程所需的全部资源等。可见,在进程的整个生命周期中,操作系统总是根据PCB实施对进程的控制和管理。

(4)PCB提供进程调度所需要的信息。只有处于就绪状态的进程才能被调度执行,而在PCB中就提供了进程出于何种状态的信息。如果进程处于就绪状态,系统便将它插入到进程就绪队列中,等待着调度程序的调度;另外在进行调度时往往还需要了解进程的其他信息,如在优先级调度算法中,就需要知道进程的优先级。在有些较为公平的调度算法中,还需要知道进程的等待时间和已执行过的事件等。

(5)PCB实现与其他进程的同步与通信。进程同步机制是用于实现诸进程的协调运行的,在采用信号量机制时,它要求在每个进程中都设置有相应的用于同步的信号量。在PCB中还具有用于实现进程通信的区域或通信队列指针等。

进程控制块中的信息:

在进程控制块中,主要包括以下几个方面的信息:

(1)进程标识符:进程标识符用于唯一的表示一个进程。一个进程通常有两种标识符:①外部标识符。为了方便用户进程对进程的访问,须为每一个进程设置一个外部标识符。它是由创建者提供的,通常由字母、数字组成。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。②内部标识符。为了方便系统对进程的使用,在OS中又为进程设置了内部标识符,即赋予每一个进程一个唯一的数字标识符,它通常是一个进程的序号。

(2)处理机状态:处理机状态信息也称为处理机的上下文,主要是由处理机的各种寄存器中的内容组成的。这些寄存器包括:①通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有8~32个通用寄存器,在RISC结构的计算机中可超过100个;②指令计数器,其中存放了要访问的下一条指令的地址;③程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等;④用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。处理机处于执行状态时,正在处理的许多信息都是放在寄存器中。当进程被切换时,处理机状态信息都必须保存在相应的PCB中,以便在该进程重新执行是能再从断点继续执行。

(3)进程调度信息:在OS进行调度时,必须了解进程的状态及有关进程调度的信息,这些信息包括:①进程状态,指明进程的当前状态,它是作为进程调度和对换时的依据;②进程优先级,是用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;③进程调度所需的其他信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等等;④事件,是指进程由执行态转变为阻塞状态所等待发生的事件,即阻塞原因。

(4)进程控制信息:是指用于进程控制所必须的信息,它包括:①程序和数据的地址,进程实体中的程序和数据的内存或外存地址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;②进程同步和通信机制,这是实现同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;③资源清单,在该清单中列出了进程在运行期间所需的全部资源(除CPU),另外还有一张已分配到该进程的资源的清单;④链接指针,它给出了本进程(PCB)所在队列中的下一个进程地PCB的首地址。

编辑:jq

打开APP精彩内容

点击阅读全文

计算机操作系统pcb是什么意思,简述PCB的含义以及作用相关推荐

  1. 《计算机操作系统》——1. 操作系统的目标和作用

    教材<计算机操作系统>第四版 1.1 操作系统的目标和作用 目标与应用环境有关 1.1.1 操作系统的目标 方便性 有效性 提高系统资源利用率 提高系统的吞吐量 可扩充性 与OS的结构相关 ...

  2. 家用计算机中PCB板材质,主流的PCB板材料有哪些分类?

    说到PCB板,相信大家会觉得很陌生,其实PCB板材质在生活中我们是经常接触的,而我们通常说的印刷电路板是指裸板-即没有上元器件的电路板.当然 ,也有的电路板不是用印制电路板{PCB线路板}的.因此,可 ...

  3. 考研OS备考|计算机操作系统|汤小丹慕课版|课后习题答案|复试拓展

    本文主要是考研复试备考自用,所以课后习题答案主要是简答题部分,此外还有其他的简答补充.如果发现有误,欢迎在评论区或者私信指出. 计算机操作系统|汤小丹慕课版|课后习题答案|考研备考 第1章 操作系统引 ...

  4. 计算机操作系统(第四版)

    计算机操作系统(第四版) 引论 目标:方便性,有效性,可扩展性,开放性 作用 用户与计算机硬件系统之间的接口 计算机系统资源的管理者 对计算机资源的抽象 发展动力 不断提高计算机资源利用率 方便用户 ...

  5. 计算机操作系统期末复习

    期末复习的时候看到别人整理好的担心以后不好找特此粘贴(希望原博主不要打我~)计算机操作系统第四版期末复习 对于批处理作业,必须提供相应的作业控制信息操作系统的主要功能是管理计算机系统中的(资源)分时系 ...

  6. 《计算机操作系统》试题库——修订版

    <计算机操作系统>试题库 1. 单项选择题(共200个题目) 100236. 一般用户更喜欢使用的系统是(C ). A.手工操作 B.单道批处理 C.多道批处理 D.多用户分时系统 100 ...

  7. 《计算机操作系统(第四版)》知识点归纳

    大二期末要闭卷考计算机操作系统,于是自己总结归纳了一些内容,希望后来的同道之人可以省点时间~(做完归纳,考试就不怕了) 说明:一开始是少量知识点以"填空题"的形式记录,后面的内容是 ...

  8. 计算机操作系统32,计算机操作系统实验指导书32138

    计算机操作系统实验指导书32138 (22页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 <计算机操作系统>实验指导书程科白素 ...

  9. 计算机操作系统课设总结,计算机操作系统课程设计

    <计算机操作系统课程设计>由会员分享,可在线阅读,更多相关<计算机操作系统课程设计(36页珍藏版)>请在人人文库网上搜索. 1.操作系统课程设计实验报告姓 名: 李文孝 班 级 ...

最新文章

  1. Python 哪种方式循环最快,或许颠覆你的认知
  2. 动手打造自己强大的右键菜单
  3. 为什么函数式语言会火
  4. mikadonic-iptables学习笔记
  5. 亲身体验Intellij Idea从卡顿到顺畅
  6. 《软件项目管理(第二版)》期中考试试题总结/复习资料
  7. Madagascar的自定义浮点型函数--对数函数
  8. 如何在电脑中使用python_教你怎么在windows上用python获得CPU信息
  9. php invoke 反射,PHP ReflectionMethod invoke()用法及代码示例
  10. Mac 远程桌面 Windows 快捷键
  11. 整理:国内主流云计算方案比较
  12. 结构化程序设计方法和面向对象程序设计方法的区别
  13. 国内测试看Netflix
  14. 人工智能时代已经到来,政务工业商业等各领域都将是刚需
  15. 论文阅读 -- unsupervised triplet hashing for fast image retrieval笔记
  16. 计算机在地理数据的应用,地理信息系统(GIS)在环境监测中的应用
  17. [WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]
  18. 不小心删除文件夹怎么恢复,怎么恢复误删文件?
  19. MultipartFile 转换为File
  20. android开发中论坛帖子图片的排版

热门文章

  1. java 获取两个List 中 不同对象
  2. 单链表的从小到大排序
  3. 互联网日报 | 4月27日 星期二 | 美团回应被立案调查;滴滴开通老年人打车400热线;百度App月活跃用户数达5.58亿
  4. 苹果CMS 10播放地址倒序排列
  5. HDMI画面分割器功能应用
  6. 函数参数传递:参数传递从右往左
  7. 算法精解_C语言 链表_单链表(接口定义+类型实现)
  8. 在win10上安装go并配置vscode开发环境
  9. 英伟达 jetson xavier agx 开发(2)修改内核设备树
  10. Unknown database ‘ ‘