进程控制块的内容 进程描述信息: 进程标识符( process ID),唯一,通常是一个整数 进程名,通常基于可执行文件名(不唯一); 用户标识符( user D);进程组关系( process group) 进程控制信息: 当前状态; 优先级( priority); 代码执行入口地址; 程序的外存地址 运行统计信息(执行时间、页面调度); 进程间同步和通信;阻塞原因 资源占用信息:虚拟地址空间的现状、打开文件列表 CPU现场保护结构:寄存器值(通用、程序计数器 PC、状态PSW,地址包括栈指针)
进程控制块的内容 • 进程描述信息: – 进程标识符(process ID),唯一,通常是一个整数; – 进程名,通常基于可执行文件名(不唯一); – 用户标识符(user ID);进程组关系(process group) • 进程控制信息: – 当前状态; – 优先级(priority); – 代码执行入口地址; – 程序的外存地址; – 运行统计信息(执行时间、页面调度); – 进程间同步和通信;阻塞原因 • 资源占用信息:虚拟地址空间的现状、打开文件列表 • CPU现场保护结构:寄存器值(通用、程序计数器 PC、状态PSW,地址包括栈指针)
6.PCB的组织方式 链表:同一状态的进程其PCB成一链表,多个状态 对应多个不同的链表 各状态的进程形成不同的链表:就绪链表、阻塞链表 索引表:同一状态的进程归入一个 index表(由 index 指向PCB),多个状态对应多个不同的 index表 各状态的进行形成不同的索引表:就绪索引表、阻塞索 引表 Index table PCB Table Ready Ready PCB Table Blocked Blocked
6. PCB的组织方式 • 链表:同一状态的进程其PCB成一链表,多个状态 对应多个不同的链表 – 各状态的进程形成不同的链表:就绪链表、阻塞链表 • 索引表:同一状态的进程归入一个index表(由index 指向PCB),多个状态对应多个不同的index表 – 各状态的进行形成不同的索引表:就绪索引表、阻塞索 引表 PCB Table Ready Blocked PCB Table Index Table Ready Blocked
7.进程上下文 进程上下文是对进程执行活动全过程的静态描述。进 程上下文由进程的用户地址空间内容、硬件寄存器内 容及与该进程相关的核心数据结构组成 用户级上下文:进程的用户地址空间(包括用户栈 各层次),包括用户正文段、用户数据段和用户栈; 寄存器级上下文:程序寄存器、处理机状态寄存器、 栈指针、通用寄存器的值; 系统级上下文: 静态部分(PCB和资源表格) 动态部分:核心栈(核心过程的栈结构,不同进程在调 用相同核心过程时有不同核心栈)
7. 进程上下文 • 用户级上下文:进程的用户地址空间(包括用户栈 各层次),包括用户正文段、用户数据段和用户栈; • 寄存器级上下文:程序寄存器、处理机状态寄存器、 栈指针、通用寄存器的值; • 系统级上下文: – 静态部分(PCB和资源表格) – 动态部分:核心栈(核心过程的栈结构,不同进程在调 用相同核心过程时有不同核心栈) 进程上下文是对进程执行活动全过程的静态描述。进 程上下文由进程的用户地址空间内容、硬件寄存器内 容及与该进程相关的核心数据结构组成
核心态和用户态 用户态时不可直接访问受保护的OS代码; 核心态时执行OS代码,可以访问全部进 程空间
核心态和用户态 • 用户态时不可直接访问受保护的OS代码; • 核心态时执行OS代码,可以访问全部进 程空间
4.1.3进程的状态转换 4.1.3.1两状态进程模型 4.1.3.,2五状态进程模型 4.1.3.3挂起进程模型
4.1.3 进程的状态转换 4.1.3.1 两状态进程模型 4.1.3.2 五状态进程模型 4.1.3.3 挂起进程模型