清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS ②在某些复杂系统中,还有对换或覆盖用的有关信 息,如对换程序段长度,对换外存地址等。这些信 息在进程申请、释放内存中使用。 ③共享程序段大小及起始地址。 ④输入输出设备的设备号,所要传送的数据长度 缓冲区地址、缓冲区长度及所用设备的有关数据结 构指针等。这些信息在进程申请释放设备进行数据 传输中使用。 ⑤指向文件系统的指针及有关标识等。进程可使用 这些信息对文件系统进行操作
② 在某些复杂系统中,还有对换或覆盖用的有关信 息,如对换程序段长度,对换外存地址等。这些信 息在进程申请、释放内存中使用。 ③ 共享程序段大小及起始地址。 ④ 输入输出设备的设备号,所要传送的数据长度、 缓冲区地址、缓冲区长度及所用设备的有关数据结 构指针等。这些信息在进程申请释放设备进行数据 传输中使用。 ⑤ 指向文件系统的指针及有关标识等。进程可使用 这些信息对文件系统进行操作
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (4)CPU现场保护结构 当前进程因等待某个事件而进入等待状态或因某种 事件发生被中止在处理机上的执行时,为了以后该 进程能在被打断处恢复执行,需要保护当前进程的 CPU现场(或称进程上下文)。PCB中设有专门 的CPU现场保护结构,以存储退出执行时的进程 现场数据。 总之,进程控制块PCB是系统感知进程存在的唯 实体。通过对PCB的操作,系统为有关进程分配 资源从而使得有关进程得以被调度执行;而完成进 程所要求功能的程序段的有关地址,以及程序段在 进程过程中因某种原因被停止执行后的现场信息也 都在PCB中。最后,当进程执行结束后,则通过 释放PCB来释放进程所占有的各种资源
(4) CPU 现场保护结构 当前进程因等待某个事件而进入等待状态或因某种 事件发生被中止在处理机上的执行时,为了以后该 进程能在被打断处恢复执行,需要保护当前进程的 CPU现场(或称进程上下文)。PCB 中设有专门 的 CPU现场保护结构,以存储退出执行时的进程 现场数据。 总之,进程控制块PCB 是系统感知进程存在的唯一 实体。通过对PCB 的操作,系统为有关进程分配 资源从而使得有关进程得以被调度执行;而完成进 程所要求功能的程序段的有关地址,以及程序段在 进程过程中因某种原因被停止执行后的现场信息也 都在PCB 中。最后,当进程执行结束后,则通过 释放PCB 来释放进程所占有的各种资源
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 由于PCB中包含有较多的信息,因此,一个PCB表 往往要占据较大的存储空间(一般占几百到几千个 字节)。在有的系统中,为了减少PCB对内存的 占用量,只允许PCB中最常用的部分,如CPU现场 保护、进程描述信息、控制信息等常驻内存。PCB 结构中的其他部分则存放于外存之中,待该进程将 要执行时与其他数据一起装入内存。 近年来,面向对象技术已被用于操作系统设计。在 面向对象的操作系统中,进程的描述将采用其他方 式
由于PCB 中包含有较多的信息,因此,一个PCB表 往往要占据较大的存储空间(一般占几百到几千个 字节)。在有的系统中,为了减少 PCB对内存的 占用量,只允许PCB中最常用的部分,如CPU现场 保护、进程描述信息、控制信息等常驻内存。PCB 结构中的其他部分则存放于外存之中,待该进程将 要执行时与其他数据一起装入内存。 近年来,面向对象技术已被用于操作系统设计。在 面向对象的操作系统中,进程的描述将采用其他方 式
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 322进程上下文 本节介绍包括程序段和数据集在内的上下文的概念 进程上下文实际上是进程执行活动全过程的静态描 述。具体地说,进程上下文包括计算机系统中与执 行该进程有关的各种寄存器的值、程序段在经过编 译之后形成的机器指令代码集(或称正文段)、数 据集及各种堆栈值和PCB结构(图32)。这里,有关 寄存器和栈区的内容是重要的。例如,没有程序计 数器PC和程序状态寄存器PS,CPU将无法知道下 条待执行指令的地址和控制有关操作。从而,从 CPU是活动的观点来静态地看一个进程时,必须把 有关寄存器和栈区的内容也包括在其中。无论在何 种系统中,进程上下文的各部分都必须按一定的规 则有机地组合起来以便于执行
3.2.2 进程上下文 本节介绍包括程序段和数据集在内的上下文的概念。 进程上下文实际上是进程执行活动全过程的静态描 述。具体地说,进程上下文包括计算机系统中与执 行该进程有关的各种寄存器的值、程序段在经过编 译之后形成的机器指令代码集(或称正文段)、数 据集及各种堆栈值和PCB结构(图3.2)。这里,有关 寄存器和栈区的内容是重要的。例如,没有程序计 数器PC和程序状态寄存器PS,CPU将无法知道下 条待执行指令的地址和控制有关操作。从而,从 CPU是活动的观点来静态地看一个进程时,必须把 有关寄存器和栈区的内容也包括在其中。无论在何 种系统中,进程上下文的各部分都必须按一定的规 则有机地组合起来以便于执行
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 各种 正文集 PCB 控制表 指针 数据集 各种寄存器 栈区 图32进程上下文结构
图3.2 进程上下文结构