进程(Process):是动态的,是程序的一次执行过程(同一个程序多次执行会对应多个进程)
PCB:
1.操作系统要记录PID、进程所属用户ID(UID )------基本的进程描述信息,可以让操作系统区分各个进程
2.还要记录给进程分配了哪些资源(如:分配了多少内存、正在使用哪些I/O设备、正在使用哪些文件)------可用于实现操作系统对资源的管理
3.还要记录进程的运行情况(如:CPU使用时间、磁盘使用情况、网络流量使用情况等))------可用于实现操作系统对进程的控制、调度
这些信息都被保存在一个数据结构PCB (Process Control Block)中,即进程控制块操作系统需要对各个并发运行的进程进行管理,但凡管理时所需要的信息,都会被放在PCB中
程序段:
程序的代码(指令序列)
数据段:
运行过程中产生的各种数据(如︰程序中定义的变量)
程序是如何运行的?
在一个系统中,通常有数十、数百乃至数千个PCB。为了能对他们加以有效的管理,应该用适当的方式
把这些PCB组织起来。
进程的组织方式:
(1)链接方式:按照进程状态将PCB分为多个队列,操作系统持有指向各个队列的指针
(2)索引方式:根据进程状态的不同,建立几张索引表,操作系统持有指向各个索引表的指针
链接方式:
索引方式: