操作系统总结第3章.docx
- 文档编号:5751399
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:16
- 大小:29.48KB
操作系统总结第3章.docx
《操作系统总结第3章.docx》由会员分享,可在线阅读,更多相关《操作系统总结第3章.docx(16页珍藏版)》请在冰豆网上搜索。
操作系统总结第3章
第三章处理器管理
本章考核知识点:
1.多道程序设计2.进程3.进程状态4.进程控制块5.进程队列6.可再入程序7.中断及中断响应8.中断优先级
9.进程调度
自学要求:
通过本章学习应该掌握多道程序设计是如何提高计算机系统效率的;进程与程序有什么区别;进程的基本状态以及状态变化;进程队列及进程调度策略;中断的作用。
重点是:
多道程序设计;进程的定义和属性;进程调度策略。
一、多道程序设计(领会)
1、什么是多道程序设计。
让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种设计技术称“多道程序设计”,这种计算机系统称“多道程序设计系统”或简称“多道系统”。
存储保护:
在多道程序设计的系统中,主存储器中同时存放了多个作业的程序。
为避免相互干扰,必须提供必要的手段使得在主存储器中的各道程序只能访问自己的区域。
这样,每道程序执行时,都不会破坏其他各道的程序和数据。
特别是当某道程序发生错误的时,也不至于影响其它的程序。
程序浮动:
在多道程序设计系统中,对程序有一些特殊要求,也就是说,程序可以随机地从主存的一个区域移动到另一个区域,程序被移动后仍丝毫不影响它的执行,这种技术称为"程序浮动"。
在多道程序设计的系统中,有三点基本要求:
∙用"存储保护"的方法保证各道程序互不侵犯;
∙用"程序浮动"技术让程序能灵活地改变存放区域且能正确执行;
∙必须对资源按一定的策略分配和调度。
2、多道程序设计利用了系统与外围设备的并行工作能力,从而提高工作效率。
具体表现为:
∙提高了处理器的利用率;
∙充分利用外围设备资源:
计算机系统配置多种外围设备,采用多道程序设计并行工作时,可以将使用不同设备的程序搭配在一起同时装入主存储器,使得系统中各外围设备经常处于忙碌状态,系统资源被充分利用;
∙发挥了处理器与外围设备以及外围设备之间的并行工作能力;
从总体上说,采用多道程序设计技术后,可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。
3、多道程序设计对算题量和算题时间的影响。
采用多道程序设计能改变系统资源的使用情况,提高系统效率。
但是应注意以下两个问题:
∙可能延长程序的执行时间;
∙并行工作道数与系统效率不成正比。
从表面上看,增加并行工作道数就可提高系统效率,但实际上并行工作道数与系统效率是不成正比,因为并行的道数要根据系统配置的资源和用户对资源的要求而定:
(1)主存储器的大小限制了可同时装入的程序数量;
(2)外围设备的数量也是一个制约条件;
(3)多个程序同时要求使用同一资源的情况也会经常发生。
总之,多道程序设计能提高系统资源的使用效率,增加单位时间的算题量;但是对每个计算问题来说,从算题开始到全部完成所需要的时间可能延长,另外在确定并行工作道数时应综合系统的资源配置和用户对资源的要求。
二、进程(领会)
1、进程的定义:
把一个程序在一个数据集上的一次执行称为一个"进程"。
2、进程是由程序、数据集和进程控制块三部分组成。
我们举一个例子,比如在有一个用户程序notepad.exe(记事本),当它存放在磁盘上时,就是一个程序,在windows操作系统下运行它时,就会在内存中建立一个记事本程序的进程,而我们在记事本中编辑的当前文字就是这个进程的数据集,操作系统会为当前的进程设置一个进程控制块。
如果我们再打开一个记事本程序的窗口,就会建立另一个进程,此时运行的是同一个程序,但存在两个进程,第二个窗口中的编辑内容就是第二个进程的数据集。
3、进程与程序的区别及关系。
程序是静止的,进程是动态的。
进程包括程序和程序处理的对象(数据集),进程能得到程序处理的结果。
进程和程序并非一一对应的,一个程序运行在不同的数据集上就构成了不同的进程。
通常把进程分为“系统进程”和“用户进程”两大类,把完成操作系统功能的进程称为系统进程,而完成用户功能的进程则称为用户进程。
三、进程状态(领会)
1、进程的三种基本状态。
通常,根据进程执行过程中不同时刻的状态,可归纳为三种基本状态:
·等待态:
等待某个事件的完成;
·就绪态:
等待系统分配处理器以便运行;
·运行态:
占有处理器正在运行。
2、进程的状态变化
进程在执行中状态会不断地改变,每个进程在任何时刻总是处于上述三种基本状态的某一种基本状态,进程状态之间转换关系如下图所示:
运行态→等待态往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。
等待态→就绪态则是等待的条件已满足,只需分配到处理器后就能运行。
运行态→就绪态
不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。
例如时间片用完,或有更高优先级的进程来抢占处理器等。
就绪态→运行态系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。
进程有四个基本属性:
·多态性
从诞生、运行,直至消灭。
·多个不同的进程可以包括相同的程序
·三种基本状态它们之间可进行转换
·并发性
并发执行的进程轮流占用处理器
四、进程控制块(领会)
1、进程控制块的基本内容。
通常进程控制块包含四类信息:
·标志信息含唯一的进程名
·说明信息有进程状态、等待原因、进程程序存放位置和进程数据存放位置
·现场信息
包括通用、控制和程序状态字寄存器的内容
·管理信息存放程序优先数和队列指针
2、进程控制块的作用
进程控制块(ProcessControl
Block,简称PCB),是操作系统为进程分配的用于标志进程,记录各进程执行情况的。
进程控制块是进程存在的标志,它记录了进程从创建到消亡动态变化的状况,进程队列实际也是进程控制块的链接。
操作系统利用进程控制块对进程进行控制和管理。
进程控制块的作用有:
∙
(1)记录进程的有关信息,以便操作系统的进程调度程序对进程进行调度。
这些信息包括标志信息、说明信息、现场信息和管理信息等;
∙
(2)标志进程的存在,进程控制块是进程存在的唯一标志
五、进程队列(领会)
1、进程队列的链接。
在多道程序设计的系统中往往会同时创建多个进程。
在单处理器的情况下,每次只能让一个进程运行,其他的进程处于就绪状态或等待状态。
为了便于管理,经常把处于相同状态的进程链接在一起,称"进程队列",由于进程控制块能标志进程的存在和动态刻画进程的特性,因此,进程队列可以用进程控制块的连接来形成。
链接的方式有两种:
单向链接和双向链接。
2、进程基本队列
就绪队列:
由若干就绪进程按一定次序链接起来的队列。
等待队列:
把等待资源或等待某些事件的进程排列的队列
3、进程的入队和出队。
出队和入队:
当发生的某个事件使一个进程的状态发生变化时,这个进程就要退出所在的某个队列而排入到另一个队列中去。
出队:
一个进程从所在的队列退出的操作称为出队
入队:
一个进程排入到一个指定的队列的操作称为入队。
系统中负责进程入队和出队的工作称为队列管理。
无论单向链接还是双向链接,解决入,出队问题,都是首先找到该队列的队首指针,沿链找出要入队的进程以及它要插入的位置,或找出要出队的进程,然后修改本进程指针(入队情况)和相邻进程的有关指针值即可。
六、可再入程序(识记)
(1)什么是可再入程序。
一个能被多个用户同时调用的程序称做"可再入"的程序。
(2)可再入程序的性质。
∙可再入程序必须是纯代码,在执行时自身不改变;
∙一个可再入程序要求调用者提供工作区,以保证程序以同样方式为各用户服务。
编译程序和操作系统程序通常都是"可再入"程序,能同时被不同用户调用而构成不同的进程。
七、中断及中断响应(领会)
1、中断的定义。
一个进程占有处理器运行时,由于自身或者外界的原因(出现了事件)使运行被打断,让操作系统处理所出现的事件,到适当的时候再让被打断的进程继续运行,这个过程称为"中断"。
2、中断的类型。
从中断事件的性质出发,中断可以分为两大类:
·强迫性中断事件包括硬件故障中断,程序性中断,外部中断和输入输出中断等
·自愿性中断事件是由正在运行的进程执行一条访管指令用以请求系统调用而引起的中断,这种中断也称为"访管中断"。
自愿中断的断点是确定的,而强迫性中断的断点可能发生在任何位置。
3、中断的响应和处理。
中断响应(硬件即中断装置操作)
处理器每执行一条指令后,硬件的中断位置立即检查有无中断事件发生,若有中断事件发生,则暂停现行进程的执行,而让操作系统的中断处理程序占用处理器,这一过程称为"中断响应"。
中断响应过程中,中断装置要做以下三项工作:
∙是否有中断事件发生
判别自愿性中断,只要检查操作码是否为访管指令。
判别强迫性中断,则要检查中断寄存器内容。
若为0,则无中断;若非0,则表示有中断事件发生。
∙若有中断发生,保护断点信息
每个程序都有一个程序状态字(PSW)来反映本状态的执行状态,如基本状态、中断码和中断屏蔽位等内容。
处理器设有一个"程序状态字寄存器"用来存放当前运行程序的PSW。
程序状态字可分为当前PSW、旧PSW和新PSW。
当出现中断事件后,把被中断进程的PSW保存为旧PSW,即完成断点信息保护。
∙启动操作系统的中断处理程序工作
中断装置通过"交换PSW"过程完成此项任务,即把出现的中断事件存放到当前PSW中断码位置,然后把该当前PSW保存为旧PSW,再把操作系统中断处理程序的新PSW送到程序状态字寄存器中,成为当前的PSW。
中断处理(软件即操作系统操作)
操作系统的中断处理程序对中断事件进行处理时,大致要做三方面的工作:
∙保护被中断进程的现场信息
把中断时的通用寄存器,控制寄存器内容及旧PSW保存到被中断进程的进程控制块中。
∙分析中断原因
根据旧PSW的中断码可知发生该中断的具体原因。
∙处理发生的中断事件
一般只做一些简单处理,在多数情况下把具体的处理交给其他程序模块去做。
八、中断优先级和中断屏蔽(识记)
1、中断优先级是硬件设计时确定的。
中断装置按预定的顺序来响应同时出现的中断事件,这个预定的顺序称为"中断优先级"。
中断优先级是按中断事件的重要性和紧迫程度来确定的
,是由硬件设计时固定下来的。
一般情况下,优先级的高低顺序依次为:
硬件故障中断、自愿中断、程序性中断,外部中断和输入输出中断。
2、中断的嵌套处理
3、中断屏蔽的作用。
中断优先级只是规定了中断装置响应同时出现的中断的次序,当中断装置响应了某个中断后中断处理程序在进行处理时,中断装置也可能去响应另一个中断事件。
因此会出现优先级低的中断事件的处理打断优先级高的中断事件的处理,使得中断事件的处理顺序与响应顺序不一致,而且会形成多重嵌套处理,使多现场保护、程序返回等工作变的复杂。
中断屏蔽技术就是为了解决上述问题而提出的在一个中断处理没有结束之前不响应其他中断事件,或者只响应比当前级别高的中断事件。
于是,当中断装置检查到有中断事件后,便去查看PSW中中断屏蔽标志,如果没有屏蔽就响应该中断;否则,暂时不响应该中断,待屏蔽标志消除后再响应。
自愿中断是不能屏蔽的。
九、进程调度(领会)
1、进程调度的职责。
按选定的进程调度算法从就绪队列中选择一个进程,让它占用处理器。
2、选择进程调度算法的几个准则:
·提高处理器利用率
·增大吞吐量
·减少等待时间
·缩短响应时间
3、进程调度的常用算法:
先来先服务、优先数法、轮转法、分级调度。
∙先来先服务调度算法该算法按进程进入就绪队列的先后次序选择可以占用处理器的进程。
∙优先数调度算法对每个进程确定一个优先数,该算法总是让优先数最高的进程先使用处理器。
对具有相同优先数的进程,再采用先来先服务的次序分配处理器。
系统常以任务的紧迫性和系统效率等因素确定进程的优先数。
进程的优先数可以固定的,也可随进程执行过程动态变化。
一个高优先数的进程占用处理器后,系统处理该进程时有两种方法,一是"非抢占式",另一种是"可抢占式"。
前者是此进程占用处理器后一直运行到结束,除非本身主动让出处理器,后者则是严格保证任何时刻总是让优先数最高的进程在处理器上运行。
∙时间片轮转调度法把规定进程一次使用处理器的最长时间称为"时间片"。
时间片轮转调度算法让就绪进程按就绪的先后次序排成队列,每次总选择该队列中第一个进程占用处理器,但规定只能使用一个时间片,如该进程尚未完成,则排入队尾,等待下一个供它使用的时间片。
各个进程就这样轮转运行。
时间片轮转算法经常用于分时操作系统中。
∙分级调度算法由系统设置多个就绪队列,每个就绪队列中的进程按时间片轮转法占用处理器,这就是分级调度算法。
4、进程的切换
进程调度将从就绪队列中另选一个进程占用处理器,使一个进程让出处理器,由另一个进程占用处理器的过程称"进程切换"。
若有一个进程从运行态变成等待态,或完成工作后就撤消,则必定会发生进程切换。
若一个进程从运行态或等待态变成就绪态,则不一定发生进程切换。
第三章处理器管理
题号:
1234567891011121314
15161718
1、什么是多道程序设计?
答:
让多个计算问题同时装入一个计算机系统的主存储器并行执行,这种设计技术称“多道程序设计”,这种计算机系统称“多道程序设计系统”或简称“多道系统”。
2、多道程序设计怎样提高系统效率?
答:
多道程序设计利用了系统与外围设备的并行工作能力,从而提高工作效率。
具体表现为:
∙提高了处理器的利用率;
∙充分利用外围设备资源:
计算机系统配置多种外围设备,采用多道程序设计并行工作时,可以将使用不同设备的程序搭配在一起同时装入主存储器,使得系统中各外围设备经常处于忙碌状态,系统资源被充分利用;
∙发挥了处理器与外围设备以及外围设备之间的并行工作能力;
从总体上说,采用多道程序设计技术后,可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。
复习题1-3涉及了多道程序设计的各个问题,多道程序设计的目的是让系统提高效率多干活,也就是让外设和处理器可以并行工作,提高效率体现在处理器的利用率、外围设备的利用率以及并行的工作能力方面。
不过由于增加了进程调度等时间开销,对于每个计算问题而言反而要延长时间。
这就是整体效率与个体效率之间的关系。
3、多道程序设计一定能提高系统效率吗?
答:
多道程序设计对算题量和算题时间的影响。
采用多道程序设计能改变系统资源的使用情况,提高系统效率。
但是应注意以下两个问题:
∙可能延长程序的执行时间;
∙并行工作道数与系统效率不成正比。
从表面上看,增加并行工作道数就可提高系统效率,但实际上并行工作道数与系统效率是不成正比,因为并行的道数要根据系统配置的资源和用户对资源的要求而定:
(1)主存储器的大小限制了可同时装入的程序数量;
(2)外围设备的数量也是一个制约条件;
(3)多个程序同时要求使用同一资源的情况也会经常发生。
总之,多道程序设计能提高系统资源的使用效率,增加单位时间的算题量;但是对每个计算问题来说,从算题开始到全部完成所需要的时间可能延长,另外在确定并行工作道数时应综合系统的资源配置和用户对资源的要求。
4、操作系统中为什么要引入“进程”?
答:
程序是具有特定功能的一组指令或语句的集合,它指出了处理器执行操作的步骤。
在多道程序设计的系统中,可能有多个程序同时运行,而同一个程序也可能多次并行执行,仅用程序的概念不能正确反映出程序执行时的活动规律和状态变化,为了从变化的角度动态研究程序的执行,就需要引入“进程”的概念。
进程是指一个程序在一个数据集合上的一次执行(三个“一”)。
程序是静止的,进程是动态的(执行),进程包括程序和程序处理的对象,进程能够得到程序处理的结果。
5、可再入程序有什么特性?
答:
可再入程序是指一个能够被多个用户同时调用的程序。
(可以再次调入)。
它的特性有两点:
(1)可再入程序必须是纯代码,在执行时自身不改变;
(2)
一个可再入程序要求调用者提供工作区,以保证程序以同样方式为各用户服务。
6、进程有哪些基本状态?
它们的变化关系是怎样的?
答:
通常,根据进程执行过程中不同时刻的状态,可归纳为三种基本状态:
·等待态:
等待某个事件的完成;
·就绪态:
等待系统分配处理器以便运行;
·运行态:
占有处理器正在运行。
进程在执行中状态会不断地改变,每个进程在任何时刻总是处于上述三种基本状态的某一种基本状态.
运行态→等待态往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。
等待态→就绪态则是等待的条件已满足,只需分配到处理器后就能运行。
运行态→就绪态
不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。
例如时间片用完,或有更高优先级的进程来抢占处理器等。
就绪态→运行态系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。
这几道题中复习到了进程的定义,它是程序在一个数据集合上的一次执行。
讲到进程的属性:
进程是动态的、多个不同进程包含相同的程序(可再入的程序)、进程的三种基本状态:
等待态、就绪态和运行态及其如何变化的情况、进程可以并发执行。
为了标识每个并发执行的进程,就要给每个进程进行“登记造册”,这就是进行控制块。
7、阐述进程控制块的作用?
答:
进程控制块(ProcessControl
Block,简称PCB),是操作系统为进程分配的用于标志进程,记录各进程执行情况的。
进程控制块是进程存在的标志,它记录了进程从创建到消亡动态变化的状况,进程队列实际也是进程控制块的链接。
操作系统利用进程控制块对进程进行控制和管理。
进程控制块的作用有:
∙
(1)记录进程的有关信息,以便操作系统的进程调度程序对进程进行调度。
这些信息包括标志信息、说明信息、现场信息和管理信息等;
∙
(2)标志进程的存在,进程控制块是进程存在的唯一标志
8、进程能否访问自己的进程控制块内容?
进程控制块是系统为程序建立的用于标志进程,记录各进程执行情况的。
进程本身不能访问或者修改自己的进程控制块的内容,但父进程可以访问或修改其子孙进程的进程控制块内容,以便对它的子孙进程进行必要的管理和控制。
9、处理器为什么要区分“目态”和“管态”两种操作模式?
答:
硬件提供的指令系统中有一部分不允许用户程序直接使用,这些不允许用户程序使用的指令称特权指令,特权指令只允许操作系统进行调度、控制或启动外围设备的程序使用。
为了避免错误地使用特权指令,处理器分为两种操作模式:
目态-只能执行特权指令以外的指令、管态-可执行指令系统中的一切指令。
若程序处于"目态"操作模式,一旦出现特权指令,处理器就能识别出程序非法使用指令,形成程序性中断事件,终止程序的执行。
在计算机系统中往往把用户程序置于目态下运行,已保证计算机系统的安全可靠。
10、中断装置发现中断事件后应做哪些事?
答:
中断装置发现了中断事件后,由操作系统的中断处理程序对中断事件进行处理,中断处理程序的主要工作有:
∙保护被中断进程的现场信息把中断时的通用寄存器,控制寄存器内容及旧PSW保存到被中断进程的进程控制块中。
∙分析中断原因根据旧PSW的中断码可知发生该中断的具体原因。
∙处理发生的中断事件一般只做一些简单处理,在多数情况下把具体的处理交给其他程序模块去做。
特别要注意中断优先级和中断屏蔽是不同的系统处理的,中断优先级是硬件系统设计时固定的,由中断装置(硬件)根据它决定对同时产生的中断事件的响应次序。
而中断屏蔽位则是由中断处理程序(操作系统<软件>)设置的,二者的结合可以使整个系统改变响应中断的次序。
11、说明中断屏蔽的作用?
答:
中断优先级只是规定了中断装置响应同时出现的中断的次序,当中断装置响应了某个中断后中断处理程序在进行处理时,中断装置也可能去响应另一个中断事件。
因此会出现优先级低的中断事件的处理打断优先级高的中断事件的处理,使得中断事件的处理顺序与响应顺序不一致,而且会形成多重嵌套处理,使多现场保护、程序返回等工作变的复杂。
中断屏蔽技术就是为了解决上述问题而提出的,在一个中断处理没有结束之前不响应其他中断事件,或者只响应比当前级别高的中断事件。
于是,当中断装置检查到有中断事件后,便去查看PSW中中断屏蔽标志,如果没有屏蔽就响应该中断;否则,暂时不响应该中断,待屏蔽标志消除后再响应
。
12、为什么不能屏蔽自愿中断事件?
答:
自愿中断事件是正在运行程序所期待中的事件,它是正在运行程序为请求调用操作系统的某个功能服务而执行一条“访管指令”所引起的中断。
当处理器执行到访管指令时就产生一个中断,因而进程自愿中断的断点是确定的。
自愿中断不同于强迫性中断,强迫中断不是当前进程所期待的,而是由于外部请求或意外而被迫打断当前进程的。
自愿中断是用户程序访问系统功能的手段,在进程中是确定的,因而不能屏蔽。
13、哪些中断事件一定会引起进程状态的变化?
哪些中断事件可能引起进程状态变化?
有不引起进程状态变化的中断事件吗?
这道题比较模糊,如果说有一些中断事件是“可能”引起状态变化而不是“一定”引进进程状态变化的,那它也就是一种可能不引起状态变化的事件。
若题中的“不引起”是指任何情况下均不会引起任何进程状态变化。
则这类中断事件应该是不存在的。
因为这类中断毫无意义。
进程在执行中状态会不断地改变,每个进程在任何时刻总是处于三种基本状态之一:
等待态、就绪态、运行态。
中断事件是否引起进程状态的变化,还要看该中断事件的中断优先级和进程PSW的中断屏蔽位。
晓津认为:
硬件故障中断和自愿中断是一定会引起进程状态变化的,而其他中断则可能引起进程状态变化.
笑笑提供的答案:
一定会引起进程状态变化的中断事件:
硬件故障中断、输入输出中断、自愿中断;可能会引起变化的中断事件:
外部性中断事件、程序性中断事件,例
如定点溢出及除数为“0”等,不同的用户可以有不同的处理要求,所以有可能改变也有可能不改变;
有不引起变化的中断事件:
外部性中断事件。
引起外部中断的原因很多,因此处理方法也就截然不同。
例如时钟中断也是一种外部中断,但大多数情况下,时钟中断不改变进程的状态.以上只是个人理解,希望大家多跟我讨论,谢谢!
14、在一个单处理器的多道程序设计系统中,现有两道作业同时执行,其中以运算为主,另一道以输入输出为主,你将怎样赋予作业进程占有处理器的优先数?
解释为什么?
答:
赋于输入输出作业以较高的优先权。
确定作业的优先数一般从任务的紧迫性和系统效率等方面考虑。
交互式作业进程的优先数大于批处理作业进程的优先数。
15、假定就绪队列中的进程按优先数自大到小顺序排列,当即有进程要加入就绪队列时,应将它的优先数排入相应的位置,试就单向链接的方式写出实现进程入队的程序。
解:
这就是一个单向链表的插入操作,用类C语言描述如下:
procedureInsert(QueueReadyQue,PointerP)
{//ReadyQue是就绪队列指针,P是要插入队列进程指针
//P中的priority指示其进程的优先数
//P中的Next
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 总结