进程管理的实质是对中央处理器进行管理,所以进程管理往往又被称为处理器管理,处理器是计算机系统中最宝贵的硬件资源,为了提高处理器的利用率,现在操作系统都采用了多道程序技术。如果一个程序以等待某一条件而不能运行下去时,就把处理器占用权转交给另一个可运行的程序。或者当出现了一个比当前运行程序更重要的可运行的程序时,后者因能抢占处理器,为了描述多道程序的并发执行,要引入进程的概念。通过对进程的管理,协调多道程序之间的关系,解决有关处理器分配调度策略,分配的实施和回收的问题,以使处理器资源得到最充分的利用。 由于操作系统对处理器管理策略的不同,操作系统对其作业的处理方式也就不同,例如,有批处理方式、分时处理方式和实施处理方式的,从而有各种不同性质的操作系统呈现在用户面前。 进程管理主要包括进程控制,进程同步,进程间通信和进程调度等几方面的内容,其中进程控制主要处理进程的创建状态转换,进程撤销,以及相关进程资源的分配与回收等事物;进程同步,主要处理继承之间的关系,包括进程的同步与互斥,进程间通信主要处理相互协作进程之间信息的交换问题,而进程调度则是按照一定的算法,从就绪队列中挑选一个进程在处理器中真正执行它。
进程控制
在多道程序环境下,进程是操作系统进行资源分配的单位,在进程创建时,系统要为进程分配各种资源,例如内存外射的,在进程退出的时候,系统要从进程空间中回收被分配给它的资源。进程控制的主要任务就是创建进程,撤销结束的进程以及控制进程运行时时候的各种状态转换。
进程同步
多个程序的执行是并发的,他们以一步的方式运行,它的执行进度也是不可预知的,为了使多个程序可以有条不紊的运行,操作系统要提供进程同步机制,已协调进程的执行,一般有两种协调方式,互斥和同步。互斥是指多个程序对临界资源访问时采用互斥的形式;同步则是在相互协作,共同完成任务的进程之间,用同步机制协调他们之间的执行顺序。 最简单实现互斥的方法就是给临界资源加速,并提供操作所编料的原语,包括开锁和关锁源于所谓原语,就是指具有某种功能运行时有原子性的小段程序。原则性保证这一段程序要么全部被执行,要么全部不起作用,即这一操作不可被某一部分割或打断,如同人们一度认为原子是物质的最小单位,不可再分割一样。
进程间通信
进程间通信主要发生在相互协作的进程期间,既然要协作,那么协作的进程之间,就存在着信息或数据的交换,由操作系统提供的进程间通信机制是协作的进程之间相互交换数据和消息的手段,一个比较典型的例子是通过网络的在线流式媒体播放,流媒体源获取线程(县城是现代操作系统,中央处理器时间分配的基本单位,它代表一个指令的执行流,以及执行的上下文环境,一个进程可以包含多个线程)负责将媒体数据从远端的服务站点下载到本地的数据缓存中;流媒体的播放线程,负责将缓存中的数据做流媒体数据分离(视频流和音频流)和解码,还原成实际的图像帧和声音数据;然后渲染线程将把前面的数据送往显示设备和声音设备。整个播放过程中,为了保证播放的流畅,这三个线程的执行是有一定关系的,原始数据获取的速度要比解码的速度快,解码又要和渲染输出的速度匹配,这种速度执行的协调以及数据在不同线程之间的传递,就需要进程间通信和进程同步机制来共同保证。
调度
调度又称为处理器调度,通常包括线程调度,进程调度和作业调度等。进程调度的任务就是从进城的就绪队列中,按照一定的算法挑选出一个,将处理器资源分配给他,并准备好特定的执行上下文让它执行起来,作业调度的基本任务则是从作业后备队列中按照一定的算法挑选若干个作业,并按照作业说明书,将他们分配一定的资源,把它们装入内存,并为每个作业建立相应的进程。