![](https://csdnimg.cn/release/download_crawler_static/88402346/bg5.jpg)
一个作业可由多个进程组成。
作业的概念主要用于批处理系统中。
进程描述
在系统中一个进程存在:进程控制块 PCB、有关程序段、数据结构集
① 进程控制块 PCB (Process Control Block)
包含一个进程的描述信息、控制信息及资源信息,有些系统还有进程调度等待所使用的现场保护区。PCB 集中反映一
个进程的动态特征。在创建时,建立 PCB,并伴随进程运行的全过程,当进程完成其功能后,系统释放 PCB,进程也
随之消亡
(1)描述信息
1、进程名或进程标识号 name
每个进程都必须有一个唯一的标识符,可以是字符串,也可以是一个数字。UNIX 系统中就是一个整型数。在进程
创建时由系统赋予。
2、用户名或用户标识号
每个进程都隶属于某个用户,用户名或用户标识号有利于资源共享和保护
3、家族关系 process family
有的系统允许一个进程可创建自已的子进程,子进程还可以创建,一个进程往往处在一个家族之中,就需要记录进
程在家族中位置的信息。
(2)控制信息
1、进程当前状态 status
说明进程当前所处的状态。
为了管理的方便,系统设计时会将相同的状态的进程组成一个队列,如就绪进程队列,等待进程则要根据等待的事件
组成多个等待队列,如等待打印机队列、等待磁盘 I/O 完成队列等等。
2、进程优先级 priority
进程的优先级反映进程的紧迫程度,通常由用户指定和系统设置。
3、执行程序开始地址 start-addr
4、各种计时信息
进程占用系统资源的情况,不同的系统的处理差别很大。
5、通信信息 communication information
是指某个进程在运行的过程中要与其它进程进行通信,该区记录有关进程通信方面的信息。
(3)资源管理信息
包括有关存储器的信息、使用输入、输出设备的信息、有关文件系统的信息:
1、占用内存大小及管理用数据结构指针。
2、在某些复杂系统中,还有对换或覆盖用的有关信息。
3、共享程序段大小及起始地址。
4、输入输出设备的设备号,所要传送的数据长度、缓冲区地址、缓冲区长度及使用设备的有关数据结构指针等。
5、指向文件系统的指针及有关标识等。
(4)、CPU 现场保护区 cpustatus
当进程因某种原因不能继续占用 CPU 时(等待打印机),释放 CPU,这时就要将 CPU 的各种状态信息保护起来,为
将来再次得到处理机恢复 CPU 的各种状态,继续运行。
②进程上下文实际上是进程执行活动全过程的静态描述。
进程上下文是一个抽象的概念,它包含了每个进程执行过的、执行时的以及待执行的指令和数据,在指令寄存器、堆
栈(存放个调用子程序的返回点和参数等),状态字寄存器等中的内容。
上文:已执行过的进程指令和数据在相关寄存器与堆栈中的内容。
正文:正在执行的指令和数据在相关寄存器与堆栈中的内容。
下文:待执行的指令和数据在相关寄存器与堆栈中的内容。
③进程上下文切换
进程上下文切换发生在不同的进程之间而不是同一个进程内。包含 3 个部分,第一部分为保存被切换进程的正文部分
(或当前状态)至有关存储区。第二部分操作系统进程中有关调度和资源分配程序执行,并选取新的进程。第三部分
则是将被选中进程的原来被保存的正文部分从有关存储区中选出,并送至有关寄存器或堆栈中,激活被选中进程执行。