操作系统复习提纲1、什么是作业,作业由哪三部分组成,作业说明书又由哪三部分组成?(21-22)答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。作业有三部分组成:程序、数据和作业说明书。作业说明书包含三方面的内容:作业的基本描述、作业控制描述和资源要求描述。2、JCB的全称是什么?它包含哪些信息?(25)答:JCB的全称为作业控制块。JCB包含了系统对作业进行管理所必须的信息。即:作业名、作业估计执行时间、优先数、作业建立时间、作业说明书文件名、程序语言类型、内存要求、外设要求、作业状态、以及作业在外存中的存储地址等。3、作业有哪四种状态,分别说明每种状态对应于作业的哪个阶段?(25)答:作业有以下四种状态:提交、后备、执行和完成。从作业输入请求开始到建立JCB表,作业处于提交状态;在建立JCB表之后到被作业调度程序选中进入内存,作业在作业等待队列中处于后备状态;作业进入内存后到执行结束,处于执行状态;作业执行结束到撤消之间,作业处于完成状态。4、操作系统为用户提供那两种接口界面?(26)答:操作系统为用户提供两个接口,一个是为系统用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。另一个接口是系统调用,编程人员使用系统调用来请求操作系统提供服务。5、简述程序顺序执行的特点。(37)答:程序顺序执行具有如下特点:(1)顺序性;(2)封闭性;(3)可再现性。6、简述多道程序环境下程序执行的特点。(38)答:多道程序环境下程序执行有如下特点:(1)独立性;(2)随机性;(3)资源共享。7、解释并发执行的概念以及两个相邻语句可以并发执行的条件。(39)答:程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。两个相邻语句可以并发执行的条件为:(1)R(S1)∩W(S2)=(∮),(2)W(S1)∩R(S2)=(∮),(3)W(S1)∩W(S2)=(∮)。8、进程的定义,及与程序的区别。(41)答:进程的定义:一个具有独立功能的程序对某个数据集在处理机上的执行过程和分配资源的基本单位。进程与程序的区别:(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。(2)进程具有并行特征(独立性,异步性),程序则没有。(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。9、PCB的全称是什么?它包含哪些信息?(42)答:PCB的全称是进程控制块。PCB包含一个进程的描述信息、控制信息及资源信息,有些系统还哟进程调度等待所使用的现场保护区。10、解释进程上下文,以UNIX为例,说明进程上下文的组成。(44、45)答:在UNIX系统中,进程上下文有用户级上下文、寄存器上下文以及系统上下文组成。(1)用户级上下文由进程的用户程序段部分编译而成的用户正文段、用户数据、用户栈等组成。(2)寄存器上下文由程序寄存器PC、处理机状态字寄存器PS、栈指针和通用寄存器的值组成。(3)系统级上下文分为静态部分和动态部分。动态部分是指在进入和退出不同的上下文层次时,系统为各层上下文中相关联的寄存器值所保存和恢复的记录。静态部分包括PCB结构、将进程虚地址映射到物理空间用的有关表格和核心栈。11、进程有哪三种基本状态?简述每种状态下进程的特点。(46)答:进程由执行、等待和就绪三种基本状态。(1)执行状态:一个进程在并发执行中,由于资源共享与竞争有时处于执行状态(2)等待状态:进程则因等待某种事件发生而处于等待状态(3)就绪状态:当一个处于等待状态的进程因等待事件发生被唤醒后,又因不可能立即得到处理机而进入就绪状态。12、画出进程状态转化图,并说明调度、唤醒、阻塞三种操作分别怎样实现状态转换?(46)答:进程状态转化图如右图。13、什么是临界区?它由什么引起而产生的?(51)答:把不允许多个并发进程交叉执行的一段程序称为临界区。它是由属于不同并发进程的程序段共享公用数据或公用数据变量引起的。14、互斥是对进程的一种制约,说明是一种什么样的制约?(52)答:(1)竞争公有资源而引起的间接制约。(2)并发进程互相共享对方的私有资源所引起的直接影响。15、什么是信号量,试说明信号量的取值与资源使用情况的关系。(54)答:信号量:管理相应临界区的公有资源,它代表可用资源实体。信号量Sem是一整数,在Sem大于等于零时代表可供并发进程使用的资源实体数,但Sem小于零时则表示正在等待使用临界区的进程数。用于互斥的信号量Sem的初值应该大于零,而建立一个信号量必须经过说明所建信号量所代表的意义,和赋初值以及建立相应的数据结构以便指向那些等待使用该临界区的进程。16、哪两种操作可以控制信号量的变化?如何实现。(55)答:P原语操作和V原语操作使用加锁法的软件实现方法。17、简述进程间通信的各种形式。(62)答:进程间通信可分为4种形式:(1)主从式;(2)会话式;(3)消息或邮箱机制;(4)共享存储区方式。18、什么是处理机调度?衡量处理机调度的指标有哪些?(81)答:衡量处理机调度的指标有:周转时间、吞吐率、响应时间以及设备利用率等。19、处理机调度分哪四级,其各自实现的功能是什么?(83)答:处理机调度可分为以下4级:(1)作业调度:按一定的原则对外存输入井上的大量后备作业进行选择,给选定的作业分配内存、输入输出设备等必要的资源,并建立相应的进程,以使该作业的进程获得竞争处理机的权利。(2)交换调度:按照给定的原则和策略,将处于外存交换区中的就绪状态或就绪等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。(3)进程调度:按照某种策略和方法选取一个处于就绪状态的进程占用处理机。(4)线程调度。20、简述进程调度的时机。(87)答:进程调度的时机与引起进程调度的原因以及进程调度的方式有关。引起进程调度的原因有:(1)正在执行的进程执行完毕。(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。(3)执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了V原语操作激活了等待资源的进程队列。(4)执行中进程提出I/O请求后被阻塞。(5)在分时系统中时间片已经用完。(6)在执行完系统调用,在系统程序返回用户进程时,可认为胸进程执行完毕,从而可调度选择一新的用户进程执行。(7)就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。21、简述各种调度算法的实现原理。(89-91)答:(1)先来先服务调度算法:将用户和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理。(2)轮转法:让每个进程在就绪队列中的等待时间与享受服务的时间成比例。(3)多级反馈轮转法:一个进程在它执行结束之前,可能需要反复多次通过反馈循环执行。(4)优先级法:确定进程或作业的优先级。(5)最短作业优先法:选择那些估计需要执行时间最短的作业投入执行,为他们创建进程和分配资源。(6)最高响应比优先法:同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入运行。22、简述实时操作系统的特点。(99)答:实时操作系统具有以下特点:(1)有限等待时间;(2)有限响应时间;(3)用户控制;(4)可靠性高;(5)系统出错处理能力强。23、什么是虚拟存储器?(106)答:由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。虚拟存储器不考虑物理存储器的大小和住处存放的实际位置,只规定每个进程中相互关联信息的相对位置。每个进程都拥有自己的虚拟存储器,且虚拟存储器的容量是由计算机的地址结构和寻址方式来确定。24、内外存数据传输的交换方式和请求调入方式的实现原理。(108)答:交换方式由操作系统把那些在内存中处于等待状态的进程换出内存,而把那些等待事件已经发行、处理就绪状态的进程换入内存。请求调入方式是在程序执行时,如果所要访问的程序段或数据段不在内存中,则操作系统自动地从外存将有关的程序段和数据段调入内存的一种操作系统控制方式。25、列举保护内存信息的方法及实现原理。(109)答:常用的内存保护方法有硬件法、软件法和软硬件结合保护法三种。上下界保护法是一种常用的硬件保护法。上下界存储保护技术要求为每个进程设置一对上下界寄存器。上下界寄存器中装有被保护程序和数据段的起始地址和终止地址。在程序执行过程中。在对内存进行访问操作时首先进行访问地址合法性检查,即检查经过重定位之后的内存地址是否在上、下界寄存器所规定的范围之内。若在规定的范围之内,则访问是合法的;否则是非法的,并产生访问越界中断。保护键法也是一种常用的软件存储保护法。保护键法为每个被保护存储块分配一个单独的保护键。在程序状态字中则设置相应的键开关字段,对不同的进程赋予不同的开关代码以和衩保护的存储块中的保护键匹配。保护键可以设置成对读写同时保护的或只对读写进行单项保护的。如果开关字段与保护键匹配或存储块未受到保护,则访问该存储块是允许的,否则将产生访问出错中断。另外一种常用的硬软件内存保护方式是:界限存储器与CPU的用户态,核心态相结合的保护方式。在这种保护方式下,用户态进程只能访问那些在界限寄存器所规定范围内的内存部分,而核心态进程则可以访问整个内存地址空间。26、简述内存分区管理中可用表、自由链和请求表的结构及作用。(112)答:(1)可用表的每个表目记录一个空闲区,主要参数包括区号、长度和起始地址。采用表格结构,管理过程比较简单但表的大小难以确定,可用表要占用一部分内存。(2)自由链则是利用每个内存空闲区的头几个单元存放本空闲区的大小及下个空闲区的起始地址,从而把所有的空闲区链接起来。然后。系统再设置一自由链首指针让其指向第一个空闲区,这样,管理程序可通过链首指针查到所有的空闲区。采用自由链法管理空闲区,查找时要经可用表困难,但由于自由链指针是利用的空闲区自身的单元,所以不必占用额外的内存区。(3)请求表的每个表目描述请求内存资源的作业或进程号以及所请求的内存大小。27、列举动态分区的各种方法及实现原理。(113)答:(1)最先适应法:要求可用表或自由链按起始地址递增的次序排列。该算法的最大特点是一旦找到大于或等于所要求内存长度的分区,则结束探索。然后,该算法从所找到的分区中划出所要求的内存长度分配给用户,并把余下的部分进行合并后留在可用表中,但要修改其相应的表项。(2)最佳适应法:要求从小到大的次序组成空闲区可用表或自由链。当用户作业或进程申请一个空闲区时,存储管理程序从表头开始查找,当找到第一个满足要求的空闲区时,停止查找。如果该空闲区大于请求表中的请求长度,则与最先适应法时相同,将减去请求长度后的剩余空闲区部分留在可用表中。(3)最坏适应法:要求空闲区按其大小递减的顺序组成空闲区可用或自由链。当用户作业或进程申请一个空闲区时,先检查空闲区可用表或自由链的第一个空闲可用区的大小是否大于或等于所要求的内存长度,若可用表或自由链的第一个项长度小于所要求的,则分配失败,否则从空闲区可用表或自由链中分配相应的存储窨给用户,然后修改和调整空闲区可用表或自由链。28、写出页式管理下地址的组成,理解并掌握相应地址变换。(119-121)29、掌握页式管理中的置换算法,解释FIFO中的Belady现象。(124)(1)随机淘汰算法。在系统设计人员认为无法确定哪些页被访问的概率较低时,随机地选择某个用户的页面并将其换出将是一种明智的作法。(2)轮转法和先进先出算法(FIFO),轮转法循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已换进内存很长时间。FIFO算法总是选择在内存驻留时间最长的一页将其淘汰。FIFO算法认为先调入内存的页不再被访问的可能性要比其他页大,因而选择最先调入内存的页换出来。实现FIFO算法需要把各个已分配页面按分配时间顺序