处理器管理的主要任务是对CPU进行分配,对其运行进行有效的控制和管理,最大限度地提高处理器的利用率,减少其空闲时间。在多道程序环境下,处理器的分配和运行都是以进程为基本单位的,因而对处理器的管理可归结为对进程的管理。
进程是一个程序针对某个数据集,在内存中的一次运行。它是操作系统动态执行的基本单元。进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域、数据区域和堆栈。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,即进程。因此,进程和程序是两个既有联系又有区别的概念,正如铁路交通中所使用的列车和火车的概念,火车是一种交通工具,是静止的,而列车是正在行驶中的火车,是动态的,不仅包括火车本身,还包括当前所运载的人和物,起点和终点等。进程管理包括以下几个方面:
(1)进程控制
在多道程序环境下,要使程序运行,必须先为它创建一个或几个进程,并为之分配必要的资源。当进程运行结束时,要立即撤销该进程,以便及时回收该进程所占用的各类资源。进程控制的主要任务是为程序创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换。进程有3个状态:运行状态、就绪状态和等待状态。运行状态是进程占用处理器运行的状态;就绪状态是进程具备运行条件,只要分配给处理器就能运行的状态;等待状态是进程不具备运行条件,正在等待某个事件完成的状态。
(2)进程同步
为使系统中的进程有条不紊地运行,系统要设置进程同步机制,为多个进程的运行进行协调。
一般来说,相互无关的多个进程是以异步方式运行的,并以人们不可预知的速度向前推进。有时多个进程也存在一定制约关系,如多个进程共享同一独占型资源或多个进程协作完成同一项任务,为了保证这些相互有关的进程能够正确地运行,系统中必须设置进程同步机制。进程同步的主要任务是对存在制约关系的多个进程的运行进行协调,主要有同步和互斥两种协调方式。
①进程同步方式。多个进程协作完成同一项任务,进程之间在执行顺序上有制约关系,有同步机构对这些进程的执行加以协调,保证按正确的先后次序进行。
②进程互斥方式。多个进程在对独占型资源进行共享访问时,按照一定的策略逐次使用资源,如先来先服务、短者优先等策略。互斥也可以看成一种特殊的同步方式,是协调进程访问资源的顺序。
(3)进程通信
系统中的各进程之间有时需要合作和交换信息,为此需要进行进程通信。
在多道程序环境下,可由系统建立多个进程,这些进程相互合作去完成共同任务,在这些相互合作的进程之间,往往需要交换信息。例如,有3个相互合作的进程,它们分别是输入进程、计算进程和打印进程。输入进程负责将所输入的数据传送给计算进程,计算进程利用输入数据进行计算,并把计算结果传送给打印进程,最后由打印进程把结果打印出来。(www.daowen.com)
如果相互合作的进程处于同一计算机系统时,通常是采用直接通信方式。由源进程利用发送命令的方式直接将消息挂到目标进程的消息队列上,以后由目标进程利用接收命令从消息队列中取出消息。
如果相互合作的进程处于不同的计算机系统中时,常采用间接通信方式,由源进程利用发送命令将消息送入一个存放消息的中间实体中,以后由目标进程利用接收命令从中间实体中取出消息。该中间实体通常称为邮箱,相应的通信系统称为电子邮件系统。
(4)进程调度
在进程的就绪队列中,按照一定的算法选择一个进程,把处理机分配给它,并为它设置运行现场,使之投入运行。
进程调度的主要任务是为并发执行的多个进程分配处理器资源。分为3级:高级调度、中级调度和低级调度。
高级调度也称为作业调度,作业调度的基本任务是从存放在外存的后备作业队列中,按照一定的算法选择若干个作业调入内存准备执行。
中级调度也称为交换调度,根据进程的当前状态决定外存和内存的进程交换,当内存容量不足时,把暂不执行的进程从内存调至外存(这种外存称为虚拟内存),将需要执行的进程调入内存,这种方式可以提高内存资源的利用率。
低级调度也称为进程调度,进程调度的任务则是从进程的就绪队列中,按照一定的算法选出一个进程,把处理器分配给它,并为设置运行环境,使该进程进入运行状态。
作业调度是多道批处理系统的重要功能,现代操作系统中不再有此功能,只保留了交换调度和进程调度。
进程作为资源分配和并发调度的基本单位,提高了CPU等系统资源的利用率。但由于系统的地址空间和资源有限,限制了系统中允许并发进程的个数。同时,并发进程之间的执行切换也消耗了比较多的处理器时间。为进一步提高并发程度和减少进程切换的时间消耗。后期提出了线程的概念,线程指进程内部一个可独立执行的实体。在一个进程中可以创建多个线程,实现多个线程的并发执行,即一个进程的多个部分可以并发执行,进一步提高了CPU的利用率,减少了进程的切换次数及时间消耗。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。