目录
PCB(进程控制块,process control block)
操作系统(operating system,OS)
概念:
配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理硬件设备,提高它们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,以便用户和应用程序使用硬件设备。
简单来说:1:对上,给应用程序提供稳定的运行环境
2:对下,管理好各种硬件设备
前面提到:提高利用率和系统吞吐量
为了提高硬件设备的利用率和系统吞吐量,我们引入了“进程”的概念。
在一个未引入进程的系统中,同属于一个应用程序的计算程序和I/O程序只能顺序执行,即只有在计算程序的执行告一段落后才能执行I/O程序。这就造成了资源的浪费和计算能力的降低。尤其是当处理核心不断增加时,这种弊端更加明显。
在为计算程序和I/O程序分别建立一个进程后,这俩个进程便能实现并发执行,这极大提高了系统的资源利用率以及增加了系统吞吐量。
进程概念
进程是程序的执行过程,是系统进行资源分配和调度的一个独立单位。
一个应用程序会产生多个可执行程序,这些程序就分别被创建成进程,在操作系统的调度下完成并发执行。
进程在系统中的管理:
从俩个角度来说明:
1:描述方式:
进程由三部分组成:程序段,数据段,pcb。
PCB:操作系统通过PCB来管理进程,因此PCB中应该包含操作系统对其进行管理所需的各种信息。
程序段:程序代码即存放在此
数据段:程序运行时使用、产生的运算数据。如全局变量、局部变量、宏定义的常量就存放在数据段内
2:组织方式:
1:线性组织方式:
即:将所有pcb组织在一张线性表中,将该表的起始地址储存在一个专用区域中,每次查找时遍历整张表。 该方式简单且开销小,适合进程数目不多的系统。
2:链接方式
将处于相同状态的进程的pcb分别链接成一个队列,这样即可形成图示几个队列,在队列中按照优先级进行组织排序。
3:索引方式
PCB(进程控制块,process control block)
为了使参与并发执行的每个程序都能独立的运行,在OS中必须为之配置一个专门的数据结构,称之为 进程控制块。系统利用pcb来描述进程的基本情况和活动过程,进而控制和管理进程。
pcb中的主要信息
1:进程标识符 :分为外部和内部标识符
2:处理机上下文
3:进程调度信息 主要包括:进程的状态,进程的优先级,进程的记账信息,事件(阻塞原因)
4:进程控制信息:程序和数据的地址
进程同步和通信机制
资源清单(除cpu外)
链接指针(本进程所在队列下一个pcb的地址)
pcb作用
并发执行的概念
我们现在所说的并发实际上包含俩部分:并行 和 并发
并行:是真正意义上的同时执行
比如:俩个进程在俩个cpu核心上同时执行,宏观和微观都是同时发生
并发:多个任务交替执行
比如:只有一个cpu核心,俩个任务要执行,你执行一点,我执行一点,只要转换执行的速度够快,宏观上就能达到同时发生的效果,但是微观上还是顺序执行
基于以上概念对进程调度过程的总结:
系统基于资源分配的角度将一个应用程序划分成多个可执行程序,我们运行这个应用程序,这些可执行程序就从磁盘加载到内存中,进而被创建成一个个进程,这些进程最重要的部分就是其PCB,PCB中有进程调度的各种信息。系统将这些PCB按照线性,链接,索引等方式在内存中组织起来以方便管理。cpu根据PCB的中提供的优先级,状态,cpu记账信息等对这些进程进行调度,执行,实现其并发执行。