第三章本章从多道程序设计出发,引入了进程的概念,进程的基本状态和进程队列等基本内容,同时对中断系统进行了详细介绍;在此基础上,对进程调度策略进行了详尽的叙述.本章是本节中比较重要的章节,由于进程的概念十分重要又相当抽象,读者可以结合下面的讲解深入理解本章的内容第1节多道程序设计一,重要知识点(要求到达”领会”层次)(1) 什么是多道程序设计(2)多道程序设计利用了系统与外围设备的进行工作能力,从而提高系统的工作效率(3)多到程序设计对算题量和算题时间的影响二,知识点剖析(学习重点)(1)什么是多到程序设计让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种程序设计技术成为“多道程序设计”,这种计算机系统称为“多道程序设计系统”或简称“多道系统”(2)多道程序设计利用了系统与外围设备的并行工作能力,从而提高了系统的工作效率“单道”系统一次只允许一个作业装入计算机的主存储器运行,在执行时不能使输入/输出设备和处理器管理同时工作,也无法充分利用CPU现代计算机的处理器同外围设备之间,以及外围设备之间都具有并行工作的能力,采用多道程序设计技术后,能提高整个系统的效率.这表现在以下的3个方面:*提高了处理器的利用率*充分利用了外围设备资源*发挥了处理器同外围设备之间,以及外围设备相互间的并行工作多道程序设计的实质就是充分利用硬件的并行工作能力.所以,从总体上说,采用多道程序设计技术可有效地提高系统中的资源的利用率,增加单位时间内的算题量,从而提高系统的吞吐率(3) 多道程序设计对算题量和算题时间的影响*可能延长某些程序的执行时间.多道程序设计能提高系统的吞吐量,但可能会延长某些程序的执行时间.*并行工作道数跟系统效率不成正比.从表面上看,只要增加并行工作道术就可以提高效率,但实际上并行工作的道数跟系统的效率不成正比的,一是因为主存空间的大小限制了可同时装入的程序数量;二是因为外围设备的数量是一个制约因素;三是因为多个程序同时要求使用同一资源的情况会经常发生.因此,并行工作道数的确定要根据系统配置的资源和用户对资源的要求进行综合考虑第2节进程概念一,重要知识点1,进程(要求达到”领会”层次)(1) 进程的定义(2) 进程是由程序,数据集和进程控制块三部分组成(3)进程与程序的区别及关系2进程状态(要求达到”领会”层次)(1)进程的三种基本状态.(2) 进程的状态变化.3进程控制块(要求达到”领会”层次)(1) 进程控制块的基本内容。
(2)进程控制块的作用4 进程队列(1)进程队列的链接(2)进程基本队列-就绪队列,等待队列(3)进程的入队和出队5可再入程序(1)什么是可再入程序(2)可载入程序的性质二,知识点剖析(学习重点)(1)进程(领会)一个程序在一个数据集上的一次执行都成为一个“进程”(2)进程是由程序,数据集和进程控制块三部分组成(3)进程和程序的区别及关系。
程序是具有特定特定功能的一组指令(或一组语句)的集合,它指出了处理器执行的操作步骤。
程序是静止的,进程是动态的。
进程包括程序和程序处理的对象(数据集)进程能得程序处理的结果。
进程和程序并非一一对应,一个程序运行在不同的数据集上就构成了不同的进程。
一个进程可以执行一个或几个程序;同一个程序可能由几个进程同时执行。
程序可以作为软件资源长期保存。
而进程是程序的一次执行过程。
是暂时的,只存在于生命周期中。
通常把“进程”分成“系统进程”和“用户进程”两大类,把完成操作系统功能的进程成为系统进程,而完成用户功能的进程则称为用户进程。
2进程状态(要求达到“领会”层次)(1)进程的三种基本状态通常,根据进程在执行过程中的不同时刻的状态,可归纳为三种基本状态*等状态:等待某个事件的完成.*就绪态:等待系统分配处理器以便运行*运行态:占有处理器正在运行(2)进程的状态变化。
进程在执行中状态会不断地改变,每个进程在任何时刻总是出于上述3种基本状态中的某一种状态*运行态变成等待态,由于等待外设传输信息,等待主存等资源分配或等待人工干预而引起的*等待态变成就绪态:等待的条件已满足,只需分配到处理器后就能运行。
*运行态变成就绪态:时间片用完,或有更高的优先级的进程来抢占处理器等,由于中断而退出处理器的进程可能变成就绪态(有时会变成等待态)。
*就绪态变成运行态:系统按某种策略选中就绪队列的一个进程占用处理器,此时,被选中的进程就变成了运行器3.进程控制块(要求达到“领会”层次)(1)进程控制块的基本内容。
通常,进城控制块包含4类信息*标志信息,含惟一的进程名*说明信息,包括进程状态,等待原因,进城程序的存放位置和进程数据的存放位置*现场信息,包括通用,控制和程序状态字寄存器的内容*管理信息,存放程序优先数和队列指针(2)进程控制块的作用进程控制块是进程存在的标志,它记录了进程从创建到消亡的动态变化情况,进城队列实际上是进程控制块的链接。
操作系统利用进程控制块对进程进行控制和管理。
4进城控制(要求达到“领会”层次)(1)进城队列的链接进程队列的链接方式有两种:单向链接和双向链接。
注意进程入队和出队链接的变化(2)进程基本队列――就绪队列,等待队列。
*就绪队列:由若干就绪进程按一定次序连接起来的队列*等待队列:等待资源或等待某些事件的进程排成的队列(3)进程的入队和和出队一个进程的进入指定的队列称为入队。
一个进程从所在的队列退出称为出队系统中负责进程入队和出队的工作称为队列管理第3节中断系统(1)中断的定义当一个进程占用处理器运行时,由于自身或外界的原因(因出现了某种事件)使运行被打断,此时,操作系统会处理出现的时间,然后在适当的时候继续处理被打断的进程,这个过程称为“中断”(2)中断的种类从中断事件的性质出发,中断事件分为两类:1强迫性中断事件。
它包括硬件故障中断,程序性中断,外部中断和输入输出中断2自愿性中断时间。
它是由正在运行的进程执行一条访管指令用于请求系统调用而引起的中断,这种中断也称“访管中断”自愿性中断的断点是确定的,而强迫性中断的断电会出现在任何位置(3)中断的响应和处理处理器每执行一条指令后,硬件的中断装置将立即检查有无中断事件发生。
若有中断事件发生,则暂停现行进程的执行,而让操作系统的中断处理程序占用处理器,这一过程称为”中断响应”在中断响应过程中,中断装置要做以下3项工作:*检查是否有中断事件发生*若有中断发生,保护断电信息*启动操作系统的中断处理程序操作系统的中断处理程序对中断事件进行处理时,大致要做3方面的工作:*保护被中断进程的现场信息,把中断时的通用,控制寄存器内容及旧PSW保存到被中断进程的进程控制块中*分析中断原因。
根据旧PSW的中断码可知发生中断的具体原因*处理发生的中断时间。
一般制作一些简单处理,多数情况下把具体的处理交给适当的例行程序模块去做2 中断优先集合中断屏蔽(要求达到“识记”层次)(1)中断优先集时硬件设计时确定的。
中断装置按预定的顺序来响应同时出现的中断事件,这个预定的的顺序称为“中断优先级”。
中断优先级是按中断事件的重要性和紧迫程序来确定的,是在硬件设计时固定的。
一般情况下,优先级的高低顺序依次为:硬件故障中断,自愿性中断,程序性中断,外部中断和输入输出中断(2)中段的嵌套处理。
当处理器正在处理一个中断时,又发生了另一个中断,此时处理器对这一新的中断的处理就称为嵌套处理(3)中段屏蔽的作用为了防止优先级低的中断事件处理打断优先级高的中断事件的处理,以及避免复杂的中断引起多重嵌套处理,计算机系统采用了中断屏蔽技术,以程序状态字中的中断屏幕标志位的设置封锁和响应时间的响应通常:中断处理程序只屏蔽比自己级别低的事件,并且不能屏蔽自愿性中断第4节进程调度一,重要知识点(要求达到“识记”层次)(1)进程调度的职责(2)进程调度算法的选择(3)进城调度的常用算法:先来先服务,优先数法,轮转法,分级调度(4)进程的切换二,知识点剖析(学习重点)(1)进程调度的职责进程调度的职责就是按选定的进程调度算法从就绪队列中选择一个进程,让它占用处理器。
(2)进程调度算法的选择选择进程调度算法的几个准则如下:*提高处理器利用率*增大吞吐量*减少等待时间*缩短响应时间(3)进程调度的常用算法:上面提及的4种*先来先服务:该算法按进程进入就绪队列的先后次序选择可以占用处理器的进程*优先数调度算法。
对每个进程都确定一个优先数,该算法总是让优先数最高的进程县使用处理器,然后再对具有相同优先数的进程按先来先服务的次序分配处理器。
系统常以任务的紧迫性和系统效率等因素确定进程的优先数。
进程的优先数是固定的,也可以随进程的执行过程动态变化。
一个高优先数的进程占用处理器后,系统处理该进程的方法有两种方法,一种是“非抢占式”,另一种是“可抢占式”。
前者使进程占用处理器后一直执行到进程结束,除非本身主动让出处理器。
后者则是任何时刻总是严格执行让优先数高的进程在处理器上运行。
时间片轮转调度法。
把那规定进程一次使用处理器的最长时间称为时间片。
时间片轮转调度算法让就绪进程按就绪的先后次序排成队列,每次总选择该队列的第一个进程占用处理器,但规定只能使用一个时间片,如该进程尚未完成,则排入队尾,等待下一个供它使用的时间片。
各个进程就这样轮转运行。
时间片轮转算法经常用于分时操作系统分级调度算法。
由系统设置多个就绪队列,每个就绪队列中的进程按时间片轮转法占用处理器,这就是分级调度算法(4)进程的切换进程调度将从就绪队列中另选一个进程占用处理器。
使一个进程让出处理器,有另一个进程占用处理器的过程称为“进程切换”若一个进程从运行状态变成等待状态,或完成工作后被撤销,则必定会发生进程切换,若一个进程从运行状态或等待状态变成就绪状态,则不一定发生进程切换。
各知识点间的相互联系为了发挥计算机处理器与外围设备的并行工作能力,可采用多道程序设计技术.为此,需引入进程的概念,以实现并发.每个进程由其进程控制块PCB作为唯一标示,每个进程在消亡之前有3种状态.等待CPU或其他事件的进程可分别放于相应的进程队列中,进程状态的切换由操作系统的中断负责处理,中断时操作系统赖以活动的基础,是操作系统内核的作基本功能.在多道程序设计的系统中,决定将就绪队伍中的哪个进程投入运行,由进程调度程序负责.另外,多道程序设计系统必须做好存储保护,程序浮动及资源分配,管理工作.多道程序设计系统利用,发挥了处理器与外部设备之间以及外部设备之间的并行工作能力.但是,多道程序设计可能会延长程序的执行时间.要特别注意的是,并行工作的道数与系统效率不成正比中断系统在实现进程并发执行,维护系统正常工作,进行故障处理及满足实时处理要求等方面起着重要的作用.由硬件的中断装置发现并响应中断,操作系统的中断处理程序队出线的中断时间进行处理.通过一次中断后可能引起若干进程的状态变化,因此,中断服务完成后应进程调度程序决定哪个进程占用CPU难点分析1 简述多道程序设计技术对算体量和算题时间的影响采用多道程序设计技术能提高系统的利用率,充分利用外部设备资源,发挥处理器与外围设备以及外围设备之间的并行工作能力,总体上提高了整个系统资源的利用率,增加了单位时间内的算体量,从而提高了吞吐量,但应注意以下两个问题;(1)可能延长程序的执行时间(2)并行的道数与系统效率不成正比2 为什么要引入“进程”?引入“进程”有什么利弊?引入“进程”的目的是基于多道程序和分时系统的需要,只有为多道程序建立了进程以后,才能实现并发,以改善资源利用率和提高系统的吞吐量利:(1)提高了资源的利用率。