3.2 处理机管理
处理器是计算机的心脏,在单用户系统中或单道系统中,处理器为一个用户或一个作业服务,管理简单。为了提高系统资源的利用率,引入了多道程序技术,即多个程序或作业同时运行,争用处理器,要解决处理器的分配调度的策略。因此引入了作业、进程和线程的概念,基于操作系统对处理器的管理策略不同,其提供的作业处理方式也不同,又批处理方式、分时处理方式、实时处理方式、多道成批处理方式和网络环境下的处理方式等。
操作系统的核心位于硬件上,核心的目的是提供一种进程赖以生存的环境,其主要任务就是接受中断并做基本的处理,在进程之间切换处理器,处理进程之间的通信。
基本的硬件结构是:
(1)中断结构:为了使输入输出活动与处理器的活动并行,提出了中断处理程序;
(2)特权指令:仅供操作系统使用的指令集合;
(3)主存保护:多道程序系统中,必须对各进程使用的主存加以保护,以防止其他进程的非法操作;
(4)时钟:硬件时钟以固定的时间间隔产生中断信号,这对于实现处理器的调度以及实现与时间有关的任务不可或缺。
处理机管理涉及对物理处理机的管理问题,明确地说,涉及把处理机分配给进程的问题。我们能够识别下述模块:创建进程的作业调度程序,在非多道程序设计的环境中,它还确定哪个进程将获得一台处理机;处理机调度程序,在多道程序设计环境中,它确定就绪进程中的某一进程在什么时候将获得一台处理机,使用多长时间;交通控制程序,它记住进程的状态。对系统中的每一个进程都有一张类似的状态图。在大多数系统中,必须使进程和作业同步,这也是处理机管理模块要完成的一项任务。首先我们来看作业调度:
1 作业调度
1.1 调动级别
一般来说,作业从进入系统到最后完成,可能要经历三级调度:高级调度、中级调度、低级调度。
(1)高级调度:又称作业调度。其主要功能是根据一定算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作完成后作善后处理工作。
(2)中级调度:为了使内存中同时存放的内存数目不至于太多,有时就需要某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。
(3)低级调度:又称进程调度。其主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。进程调度是操作系统中最基本的一种调度。在一般类型的操作系统中都必须有进程调度,而且它的策略的优略直接影响整个系统的性能。
1.2 作业状态
作业状态分为四种:提交、后备、执行和完成。
(1)提交状态--即用户向系统提交一个作业时,该作业所处的状况。如将一套作业卡片交给机房管理员,有管理员将它们 放到读卡机予以读入;或者用户通过键盘向机器输入其作业。
(2)后备状态--即用户作业经输入设备(如读卡机)送入输入井(磁盘)中存放,等待进入内存时所处的状况。此时,该作业的数据已转换成内部机器可读的形式,并且作业请求资源等信息也交给了操作系统。
(3)执行状态--即作业分配到所须的资源。被调入内存,并且再处理机(CPU)上执行相应的程序时所处的状况。此时该作业真正处于活动状态。
(4)完成状态--即作业完成了计算任务,结果由打印机输出,最后由系统回收分配给它的全部资源,准备退出系统时的状态。
1.3 作业调度
1.作业控制块JCB
2.作业调度的功能
(1)记录系统中各作业的情况。
(2)按照某种调度算法从后备作业队列中挑选作业。
(3)为选中的作业分配内存和外设等。
(4)为选中的作业建立相应的进程。
(5)作业结束后进行相应的善后处理。
2 进程调度
2.1 进程调度的功能和时机
1.进程调度的主要功能是:
(1)保存现场
(2)挑选进程
(3)恢复现场
2.一般在以下事件发生后作进程调度:
(1)完成任务
(2)等待资源
(3)运行到时
(4)发现标志
2.2 两级调度模型
作业调度是宏观调度,它所选择的作业只是具有获得处理机的资格,但尚未占有处理机,不能立即在其上实际运行。而进程调度是微观调度,它根据一定的算法,动态的把处理机实际的分配给所选择的进程,使之真正活动起来。