进程控制块PCB

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序加工处理的原始数据,也可以是程序执行后产生 的中间或最终数据。
1
3.3.2进程控制块中的信息
进程控制块中主要包括四个方面用于描述和控制进程运行 的信息。 1.进程标识符信息
进程标识符用于唯一的标识一个进程。一个进程通常有以 下两种标识符。
外部标识符。由创建者提供,通常是由字母、数字组成, 往往是用户(进程)访问该进程使用。外部标识符便于记忆, 如:计算进程、打印进程、发送进程、接收进程等。
内部标识符:为了方便系统使用而设置的。在所有的OS 中,都为每一个进程赋予一个唯一的整数,作为内部标识符。 它通常就是一个进程的符号,为了描述进程的家族关系,还 应该设置父进程标识符以及子进程标识符。还可以设置用户 标识符,来指示该进程由哪个用户拥有。
2
2、处理机状态信息
处理机状态信息主要是由处理机各种寄存器中的 内容所组成。
(4)事件。这是进程由执行状态转变为阻塞状 态所等待发生的事件。(阻塞原因)
4
3.2.3 PCB的组织方式
常用的组织方式有两种:链接方式、索引方式。 1、 链接方式: 具有相同状态的PCB,用其中的链接字,链接成一个
队列。这样就可以形成就绪队列、若干个阻塞队 列和空白队列等。对其中的就绪队列常按照进程 优先权的大小排列,把优先权告的进程的PCB排在 队列前面。
9
3.3.5进程空间
任何一个进程,都有自己的地址空间,把该空间称为 进程空间或虚空间。
进程空间的大小只与处理机的位数有关。程序的执行 都在进程空间内进行。用户程序、进程的各种控制表格都 按一定的结构排列在进程空间里。
在Unix和Linux系统中,进程空间还被划分为用户空间 和系统空间两大部分
在进程空间被划分为两大部分后,用户程序在用户空 间内执行,操作系统内核程序在进程的系统空间内执行。
一 支撑功能:中断处理、时钟管理、原语操作
1.中断处理:中断处理是内核最基本的功能。操作系统的重要 活动最终都将依赖于中断(系统调用、键盘命令的输入、进 程调度)。通常内核只对中断进行“有限的处理”然后便转 交给有关进程继续处理。
2.时钟管理:OS中的许多活动都需要时钟管理,例如:在时间 片轮转调度中,每当时间片用完时,由时钟管理产生一个中 断信号,促使调度程序重新调度。
一 进程图
进程图是用来描述进程家族关系的有向树。
13
A
B
C
D
E
F
G
H
I
J
K
L
M
子进程可以继承父进程的所有资源,当子进程被撤消时,应将从父进程
那里获得的资源归还给父进程。
2 存储器管理:存储器管理软件的运行频率也较高,通常也将它 放在内核中。(内存分配与回收模块、内存保护与对换功能的 模块)
3 设备管理:各类驱动程序,缓冲管理等也都是存放在内存中的。 在操作系统中,通常把进程控制用程序段做成原语。用于
进程控制的原语有:创建原语、撤销原语、阻塞原语、唤醒原 语等。
3.4.3进程的创建
7
执行指针
就绪索引表
就绪表指针 阻塞表指针
阻塞索引表
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7
按索引方式组织PCB
8
3.3.4进程上下文
进程上下文: 是进程执行活动全过程的静态描述。包
括计算机系统中与执行该进程有关的各种 寄存器的值、程序段在经过编译之后形成 的机器指令代码集、数据集及各种堆栈值 和PCB结构。可按一定的执行层次组合,如 用户级上下文、系统级上下文等。
3.原语操作:
原语:系统状态下执行的某些具有特定功能的程序段称为原语。
机器指令级的 执行其间不允许中断
功能级的
作为原语的程序段不允许并发执行
(原语也是由若干条指令构成的,用于完成一定功能的过程)
原子操作:一个操作中的动作要么全做,要么全不做。
12
二 资源管理功能
1 进程管理:进程管理的全部或大部分功能都放在内核中。主要 因为这些模块的运行频率较高。
5
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针
PCB1 4
PCB2
3
PCB3 0
PCB4
8
PCB5
PCB6
7
Fra Baidu bibliotek
PCB7
9
PCB8
0
PCB9
1
……
1、索引方式: 系统根据所有进程的状态,建立几张
索引表。例如:就绪索引表、阻塞索引表 的国内。并把各索引表在内存的首地址记 录在内存中的一些专用单元中。每个索引 表的表目中,记录具有相同状态的某个PCB 在PCB表中的地址。
3.4.1操作系统内核 OS内核:通常将一些与硬件紧密相关的模块(中断
处理程序),各种常用设备的驱动程序,以及运行 频率较高的模块(时钟管理、进程调度)都安排在 紧靠硬件的软件层次中,使它们常驻内存,以便提 高OS的运行效率,并对它们加以特殊的保护。我
们把这一部分称为OS内核。
11
3.4.2 OS内核的功能
3.3.1进程控制块PCB
进程的静态描述:由三部分组成 PCB、有关程序段和该程序段对其进行操作的数
据结构集。 各部分的作用: 1 进程控制块:用于描述进程情况及控制进程运行所
需的全部信息。 2 程序段:是进程中能被进程调度程序在CPU上执行的
程序代码段。 3 数据段:一个进程的数据段,可以是进程对应的程
了防止用户程序访问系统空间,造成访问出错,计算 机系统还通过程序状态寄存器设置不同的执行模式,用户 模式和系统模式来进行保护,即用户态和系统态。
10
3.4 进程控制
为了防止操作系统及关键数据受到破坏,通常将处 理机的状态分为系统态和用户态。
OS内核通常是运行在系统态的,进程控制是由OS内 核实现的。
3.进程调度信息 在PCB中还存放了一些与进程调度和进程对换有关的
信息。 (1)进程状态。指明进程当前的状态,作为进
程调度和对换时的依据。 (2)进程优先级。用于描述进程使用处理机的
优先级别的一个整数,优先级高的进程优先获得 处理机。
(3)进程调度所需要的其他信息。(进程已等 待CPU的时间总和、进程已执行的时间总和)
通用寄存器。又称为用户可视寄存器,可被用户程 序访问,用于暂存信息。
指令寄存器。存放要访问的下一条指令的地址。 程序状态字PSW。其中含有状态信息。(条件码、
执行方式、中断屏蔽标志等) 用户栈指针。每个用户进程有一个或若干个与之相
关的系统栈,用于存放过程和系统调 用参数及调用地址。栈指针指向该栈
的栈顶。 3
相关文档
最新文档