请给出PCB (进程控制块)的主要内容。描述当进程发生下述转移时:就绪>运行、运行>阻塞>操作系统需要使用/修改PCB的那些内容?
解析:一种简单的写法:
描述进程的基本情况以及进程的运行变化过程。PCB是进程的唯一标志。
内容:进程控制块内容可以分成调度信息和现场信息两大部份。调度信息供进程调度时使用,描述了进程当前所处的状况,它包括进程名、进程号、存储信息、优先级、当前状态、资源清单、”家族关系“、消息队列指针、进程队列指针和当前打开文件等。
另一种有条理的答法:
PCB的具体内容随不同系统而异,一般包括以下信息:
[l] 进程标识: 唯一地标识进程的名称或代码
[2]进程状态: 标识进程是运行态、就绪态或阻塞态
[3] 进程实体: 指示进程的程序部分和数据部分在存储器中的位置和大小
[4] 调度信息(优先数): 确定就绪进程转为运行进程的优先级
[5] 资源信息: 描述内存占用、外设占用等信息
[6] 现场信息: 包括程序计数器、 程序状态字累加器、变垭寄存器的当前值
[7]进程通信信息: 用于进程间的通信
对此,我们回顾-下PCB的表结构,下图是我们小组在写书的时候,用Visio画的PCB表结构图。有了这个图,相信大家对PCB就有更好的理解了。
[1] 就绪到运行:
从就绪到运行, 显然要修改进程PCB当前的状态,从就给态改到运行态,并修改PCB的队列指针,把PCB从就绪队列中移出等。并把PCB中与CPU对应的现场信息对给CPU,布置完CPU的现场信息,开始投入运行。
[2] 运行到就绪:
从运行到就绪, 要把CPU的当前状态(各寄存器的内容)即硬件信息保存到PCB中。把进程的状态从“运行”改为“就绪 并修改PCB中相应的队列指针信息、使其被放入合适的PCB队列中,等等。
[注意]正如我们所说: 不同的操作系统,PCB的内容也不完全一样。有的系统中,还需要修改进程的运行时间,进程的优先级等。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
解析:一种简单的写法:
描述进程的基本情况以及进程的运行变化过程。PCB是进程的唯一标志。
内容:进程控制块内容可以分成调度信息和现场信息两大部份。调度信息供进程调度时使用,描述了进程当前所处的状况,它包括进程名、进程号、存储信息、优先级、当前状态、资源清单、”家族关系“、消息队列指针、进程队列指针和当前打开文件等。
另一种有条理的答法:
PCB的具体内容随不同系统而异,一般包括以下信息:
[l] 进程标识: 唯一地标识进程的名称或代码
[2]进程状态: 标识进程是运行态、就绪态或阻塞态
[3] 进程实体: 指示进程的程序部分和数据部分在存储器中的位置和大小
[4] 调度信息(优先数): 确定就绪进程转为运行进程的优先级
[5] 资源信息: 描述内存占用、外设占用等信息
[6] 现场信息: 包括程序计数器、 程序状态字累加器、变垭寄存器的当前值
[7]进程通信信息: 用于进程间的通信
对此,我们回顾-下PCB的表结构,下图是我们小组在写书的时候,用Visio画的PCB表结构图。有了这个图,相信大家对PCB就有更好的理解了。
[1] 就绪到运行:
从就绪到运行, 显然要修改进程PCB当前的状态,从就给态改到运行态,并修改PCB的队列指针,把PCB从就绪队列中移出等。并把PCB中与CPU对应的现场信息对给CPU,布置完CPU的现场信息,开始投入运行。
[2] 运行到就绪:
从运行到就绪, 要把CPU的当前状态(各寄存器的内容)即硬件信息保存到PCB中。把进程的状态从“运行”改为“就绪 并修改PCB中相应的队列指针信息、使其被放入合适的PCB队列中,等等。
[注意]正如我们所说: 不同的操作系统,PCB的内容也不完全一样。有的系统中,还需要修改进程的运行时间,进程的优先级等。