以32位的操作系统为例,32位的操作系统每个进程对应的虚拟内存为4G(232),其中内核区1G,用户区3G
进程控制块PCB
1.PCB是进程存在的数据结构,系统通过PCB的存在而感知进程的存在
2.系统通过PCB对进程进行调度和管理
3.进程(PCB)与PID是一对一关系,而与程序文件之间是多对一关系
PCB管理和访问
process control block,是由操作系统维护的用来记录进程相关信息的一块内存。
每个进程在OS中的登记表项,OS根据此PCB来对进程进行管理。
PCB位于核心段中,通常不能由应用程序自身的代码来直接访问,需要通过系统调用或UNIX中的进程文件系统(/proc)直接访问进程映像。
PCB中主要结构
进程描述信息
process ID、进程名、user ID、process group
进程控制信息
当前状态、优先级、代码执行入口地址、程序的外存地址、进程间同步和通信
资源占用信息
虚拟地址空间的现状、打开文件列表
CPU现场保护结构
寄存器值、PC、栈指针地址等。
管理命令:ps、top、nice、renice、bg、fg
PCB的组织方式
链表:同一状态的进程使用一个链表。
如就绪链表、阻塞链表
索引表:同一状态的进程归入一个索引表,再指向PCB table(更常用)