计算机操作系统(第三版)课后答案

合集下载

计算机操作系统课后习题答案张尧学

计算机操作系统课后习题答案张尧学

第一章绪论1.什么是操作系统的基本功能答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口;操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理文件系统管理和用户接口等;2.什么是批处理、分时和实时系统各有什么特征答:批处理系统batchprocessingsystem:操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序monitor自动依次处理;其主要特征是:用户脱机使用计算机、成批处理、多道程序运行;分时系统timesharingoperationsystem:把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用;其主要特征是:交互性、多用户同时性、独立性;实时系统realtimesystem:在被控对象允许时间范围内作出响应;其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低;3.多道程序multiprogramming和多重处理multiprocessing有何区别答;多道程序multiprogramming是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理 multiprocessing系统配置多个CPU,能真正同时执行多道程序;要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持;6.设计计算机操作系统时与那些硬件器件有关运算器、控制器、存储器、输入设备、输出设备第二章作业管理和用户接口2.作业由哪几部分组成各有什么功能答:作业由三部分组成:程序、数据和作业说明书;程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图;3.作业的输入方式有哪几种各有何特点答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING Simultaneous Peripheral OperationsOnline系统和网络输入方式,各有如下特点:1联机输入方式:用户和系统通过交互式会话来输入作业;2脱机输入方式:又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理,存储在后备存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作;3直接耦合方式:把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预宋传递后援存储器的过程;4SPOOLING系统:可译为外围设备同时联机操作;在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制;(5)网络输入方式:网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式;4.试述spooling系统的工作原理6.操作系统为用户提供哪些接口它们的区别是什么答:操作系统为用户提供两个接口,一个是系统为用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统;另一个接口是系统调用,编程人员使用系统调用来请求操作系统提供服务,例如申请和释放外设等类资源、控制程序的执行速度等;8.什么是系统调用系统调用与一般用户程序有什么区别与库函数和实用程序又有什么区别答:系统调用是操作系统提供给编程人员的唯一接口;编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等;因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能;它与一般用户程序、库函数和实用程序的区别是:系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务;9.简述系统调用的实现过程;答;用户在程序中使用系统调用,给出系统凋用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行;第三章用户管理和配置管理2.试比较进程和程序的区别;答:1进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程;2进程具有并行特征独立性,异步性,程序则没有;3不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程;4.试比较作业和进程的区别;答:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位;作业是用于需要计算机完成某项任务,而要求计算机所做工作的集合; 一个作业的完成要经过作业提交,作业收容、作业执行和作业完成4个阶段;而进程是已提交完毕的程序所执行过程的描述,足资源分配的基本单位;其主要区别关系如下:1作业是用户向计算机提交任务的任务实体;在用户向计算机提交作业之后,系统将存储在外存中的作业等待队列中等待执行;而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位;任一进程,只要它被创建,总有相应的部分存在于内存中;2一个作业可由多个进程组成;且必须至少由一个进程组成,但反过来不成立;3作业的概念主要用在批处理系统中;像Unix这样的分时系统中,则没有作业概念;而进程的概念则用在几乎所有的多道程序系统中;6.什么是临界区试举一临界区的例子;答:临界区是指不允许多个并发进程交叉执行的一段程序;它是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的;所以它又被称为访问公用数据的那段程序;例如:getspace:Begin local gtop=top-1Endreleasead:Begintop’top十1stacktop=adEnd8.什么是进程间的互斥什么是进程间同步答:进程间的互斥是指:一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以上的共享该资源的并发进程同时进入临界区;进程间的同步是指:异步环境下的一组并发进程因直接制约互相发送消息而进行互相合作、互相等待,各进程按一定的速度执行的过程;15.什么是线程试述线程与进程的区别,答;线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成;线程可分为用户级线程、核心级线程以及用户/核心混合型线程等类型;其中用户级线程在用户态下执行,CPU调度算法和各线程优先级都由用户设置,与操作系统内核无关;核心级线程的调度算法及线程优先级的控制权在操作系统内核;混合型线程的控制权则在用户和操作系统内核二者;线程与进程的主要区别有:1进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存空间、外部设备等;线程只是处理机调度的基本单位,它只和其他线程一起共享进程资源,但自己没有任何资源;2以进程为单位进行处理机切换和调度时,由于涉及到资源转移以及现场保护等问题,将导致处理机切换时间变长,资源利用率降低;以线程为单位进行处理机切换和调度时,由于不发生资源变化,特别是地址空间的变化,处理机切换的时间较短,从而处理机效率也较高;3对用户来说,多线程可减少用户的等待时间;提高系统的响应速度;例如,当一个进程需要对两个不同的服务器进行远程过程凋用时,对于无线程系统的操作系统来说需要顺序等待两个不同调用返回结果后才能继续执行,且在等待中容易发生进程调度;对于多线程系统而言,则可以在同一进程中使用不同的线程同时进行远程过程调用,从而缩短进程的等待时间;4线程和进程一样,都有自己的状态.也有相应的同步机制,不过,由于线程没有单独的数据和程序空间,因此,线程不能像进程的数据与程序那样,交换到外存存储空间;从而线程没有挂起状态; 5进程的调度、同步等控制大多由操作系统内核完成,而线程的控制既可以由操作系统内核进行,也可以由用户控制进行;第四章进程管理2.试述作业调度的主要功能;答: 作业调度的主要功能是:按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应进程,使该作业的相关进程获得竞争处理机的权利;另外,当作业执行完毕时,还负责回收系统资源; 3.作业调度的性能评价标准有哪些这些性能评价标准在任何情况下都能反映调度策略的优劣吗答:对于批处理系统,由于主要用于计算,因而对于作业的周转时间要求较高;从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣;但对于分时系统来说,平均响应时间又被用来衡量调度策略的优劣;对于分时系统, 除了要保证系统吞吐量大、资源利用率高之外,还应保证用户能够容忍的响应时间;因此,在分时系统中,仅仅用周转时间或带权周转时间来衡量调度性能是不够的;对于实时系统, 衡量调度算法优劣的主要标志则是满足用户要求的时限时间;4.进程调度的功能有哪些答:进程调度的功能有:1记录和保存系统中所有进程的执行情况;2选择占有处理机的进程;3进行进程上下文切换;5.进程调度的时机有哪几种答:进程调度的时机有:1正在执行的进程执行完毕;这时如果不选择新的就绪进程执行,将浪费处理机资源;2执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态;3执行中进程调用了P原语操作,从而因资源不足而被阻塞:或调用了V原语操作激活了等待资源的进程队列;4执行中进程提出I/O请求后被阻塞;5在分时系统中时间片已经用完;6在执行完系统调用等系统程序后返回用户程序时,可看做系统进程执行完毕,从而调度选择一新的用户进程执行;7在CPU执行方式是可剥夺时,还有:就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度;6.进程上下文切换由哪几部分组成描述进程上下文切换过程;答:进程上下文切换由以下4个步骤组成;1决定是否作上下文切换以及是否允许作上下文切换;包括对进程调度原因的检查分析,以及当前执行进程的资格和CPU执行方式的检查等;在操作系统中,上下文切换程序并不是每时每刻都在检查和分析是否可作上下文切换,它们设置有适当的时机;2保存当前执行进程的上下文;这里所说的当前执行进程,实际上是指调用上下文切换程序之前的执行进程;如果上下文切换不是被那个当前执行进程所调用,且不属于该进程,则所保存的上下文应是先前执行进程的上下文,或称为“老”进程上下文;显然,上下文切换程序不能破坏“老”进程的上下文结构;3使用进程调度算法,选择一处于就绪状态的进程;4恢复或装配所选进程的上下文,将CPU控制权交到所选进程手中;第五章处理器管理2.什么是虚拟存储器其特点是什么答:由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器;虚拟存储器不考虑物理存储器的大小和信息存放的实际位置,只规定每个进程中相互关联信息的相对位置;每个进程都拥有自己的虚拟存储器,且虚拟存储器的容量是由计算机的地址结构和寻址方式来确定;实现虚拟存储器要求有相应的地址转换机构,以便把指令的虚拟地址变换为实际物理地址;另外,由于内存空间较小,进程只有部分内容存放于内存中,待执行时根据需要再调指令入内存;3.实现地址重定位的方法有哪几类答:实现地址重定位的方法有两种:静态地址重定位和动态地址重定位;1静态地址重定位是在虚空间程序执行之前由装配程序完成地址映射工作;静态重定位的优点是不需要硬件支持,但是用静态地址重定位方法进行地址变换无法实现虚拟存储器;静态重定位的另一个缺点是必须占用连续的内存空间和难以做到程序和数据的共享;2动态地址重定位是在程序执行过程中,在CPU访问内存之前由硬件地址变换机构将要访问的程序或数据地址转换成内存地址;动态地址重定位的主要优点有:①可以对内存进行非连续分配;②动态重定位提供了实现虚拟存储器的基础;③动态重定位有利于程序段的共享;形式化描述:略;6.动态分区式管理的常用内存分配算法有哪几种比较它们各自的优缺点;答:动态分区式管理的常用内存分配算法有最先适应法FF、最佳适应法BF和最坏适应法WF;优缺点比较:①从搜索速度上看最先适应法最佳,最佳适应法和最坏适应法都要求把不同大小的空闲区按大小进行排队;②从回收过程来看,最先适应法也是最佳,因为最佳适应法和最坏适应法都必须重新调整空闲区的位置;③最佳适应法找到的空闲区是最佳的,但是会造成内存碎片较多,影响了内存利用率,而最坏适应法的内存碎片最少,但是对内存的请求较多的进程有可能分配失败;总之,三种算法各有所长,针对不同的请求队列,它们的效率和功能是不一样的7.节讨论的分区式管理可以实现虚存吗如果不能,需要怎样修改试设计一个分区式管理实现虚存的程序流程图;如果能,试说明理由;答:节讨论的分区式管理不能实现虚存;如果要实现虚存,可以在分区的基础之上对每个分区内部进行请求调页式管理;8.简述什么是覆盖什么是交换覆盖和交换的区别是什么答:将程序划分为若干个功能上相对独立的程序段,按照程序的逻辑结构让那些不会同时执行的程序段共享同一块内存区的内存扩充技术就是覆盖; 交换是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术;与覆盖技术相比, 交换不要求程序员给出程序段之间的覆盖结构,而且,交换主要是在进程或作业之间进行,而覆盖则主要在同一个作业或同一个进程内进行;另外,覆盖只能覆盖那些与覆盖程序段无关的程序段;9.什么是页式管理静态页式管理可以实现虚存吗答:页式管理就是把各进程的虚拟空间划分为若干长度相等的页面,把指令按页面大小划分后存放在内存中执行或只在内存中存放那些经常被执行或即将被执行的页面,而那些不被经常执行以及在近期内不可能被执行的页面则存放于外存中,按一定规则调入的一种内存管理方式;静态页式管理不能实现虚存,这是因为静态页式管理要求进程或作业在执行前全部被装入内存,作业或进程的大小仍受内存可用页面数的限制;11.请求页式管理中有哪几种常用的页面置换算法试比较它们的优缺点;答:比较常用的页面置换算法有:1随机淘汰算法randomglongram;即随机地选择某个用户页面并将其换出;2轮转法RRroundrobin;轮转法循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已经换进内存很长时间;3先进先出法FIFOfirstinfirstout;FIFO算法选择在内存驻留时间最长的一页将其淘汰;4最近最久未使用页面置换算法I.RU1east recently unused;该算法的基本思想是:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页面先淘汰;5理想型淘汰算法OPToptimalreplacementalgorithm;该算法淘汰在访问串中将来再也不出现的或是在离当前最远的位置上出现的页面;15.段式管理可以实现虚存吗如果可以,简述实现方法;答:段式管理可以实现虚存;段式管理把程序按照内容或过程函数关系分成段,每段拥有自己的名字;一个用户作业或进程所包含的段对应于—个二维线性虚拟空间段号s与段内相对地址w,也就是一个二维虚拟存储器;段式管理以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址;只把那些经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放入外存,待需要时产生缺段中断,自动调入;18.段页式管理的主要缺点是什么有什么改进办法答:段页式管理的主要缺点是对内存中指令或数据进行存取时,至少需要对内存进行三次以上的访问;第一次是由段表地址寄存器取段表始址后访问段表,由此取出对应段的页表在内存中的地址;第二次则是访问页表得到所要访问的指令或数据的物理地址;只有在访问了段表和页表之后,第三次才能访问真正需要访问的物理单元;显然;这将大大降低CPU执行指令的速度;改进办法是设置快速联想寄存器;在快速联想寄存器中.存放当前最常用的段号s,页号p和对应的内存页面地址与其他控制项;当需要访问内存空间某一单元时,可在通过段表、页表进行内存地址查找的同时,根据快速联想寄存器查找其段号和页号;如果所要访问的段或页的地址在快速联想寄存器中,则系统不再访问内存中的段表、页表而直接把快速联想寄存器中的值与页内相对地址d拼接起来得到内存地址;19.什么是局部性原理什么是抖动你有什么办法减少系统的抖动现象答:局部性原理是指在几乎所有程序的执行过程中,在一段时间内,CPU总是集中地访问程序中的某—个部分而不是对程序的所有部分具有平均的访问概率;抖动是指当给进程分配的内存小于所要求的工作区时,由于内存外存之间交换频繁,访问外存的时间和输入输出处理时间大大增加,反而造成CPU因等待数据而空转,使得整个系统性能大大下降;在物理系统中,为防止抖动的产生,在进行淘汰或替换时,—般总是把缺页进程锁住,不让其换出,从而防止抖动发生;防止抖动发生的另一个办法是设置较大的内存工作区;第八章文件系统1.什么是文件、文件系统文件系统有哪些功能答:在计算机系统中,文件被解释为一组赋名的相关字符流的集合,或者是相关记录的集合;文件系统是操作系统中与管理文件有关的软件和数据;文件系统的功能是用户建立文件,撤销、读写修改和复制文件,以及完成对文件的按名存取和进行存取控制;2.文件系统一般按什么分类可以分为哪几类答:文件系统一般按性质、用途、组织形式、文件中的信息流向或文件的保护级别等分类;按文件的性质与用途可以分为系统文件、库文件和用户文件;按文件的组织形式可以分为普通文件、目录文件和特殊文件;按文件中的信息流向可以分为输入文件、输出文件和输入/输出文件;按文件的保护级别可以分为只读文件、读写文件、可执行文件和不保护文件;3.什么是文件的逻辑结构什么是记录答:文件的逻辑结构就是用户可见的结构,可分为字符流式的无结构文件和记录式的有结构文件两大类;记录是一个具有特定意义的信息单位,它由该记录在文件中的逻辑地址相对地址与记录名所对应的一组关键字、属性及其属性值所组成;7.文件的物理结构有哪几种为什么说串联文件结构不适于随机存取答:文件的物理结构是指文件在存储设备上的存放方法;常用的文件物理结构有连续文件、串联文件和索引文件3种;串联文件结构用非连续的物理块来存放文件信息,这些非连续的物理块之间没有顺序关系,链接成一个串联队列,搜索时只能按队列中的串联指针顺序搜索,存取方法应该是顺序存取的;否则,为了读取某个信息块而造成的磁头大幅度移动将花去较多的时间;因此,串联文件结构不适于随机存取11.什么是文件目录文件目录中包含哪些信息答:一个文件的文件名和对该文件实施控制管理的说明信息称为该文件的说明信息,又称为该文件的目录;文件目录中包含文件名、与文件名相对应的文件内部标识以及文件信息在文件存储设备上第一个物理块的地址等信息;另外还可能包含关于文件逻辑结构、物理结构、存取控制和管理等信息;第九章外部设备管理1. 设备管理的目标和功能是什么答:设备管理的目标是:选择和分配输入/输出设备以便进行数据传输操作;控制输入/输出设备和CPU或内存之间交换数据,为用户提供一个友好的透明接口,提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作,以使操作系统获得最佳效率;设备管理的功能是:提供和进程管理系统的接口;进行设备分配;实现设备和设备、设备和CPU等之间的并行操作;进行缓冲区管理;4.什么是中断什么叫中断处理什么叫中断响应答:中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行的过程;CPU转去执行相应的事件处理程序的过程称为中断处理;CPU收到中断请求后转到相应的事件处理程序称为中断响应;5.什么叫关中断什么叫开中断什么叫中断屏蔽答:把CPU内部的处理机状态字PSW的中断允许位清除从而不允许CPU响应中断叫做关中断;设置CPU内部的处理机状态字PSW的中断允许位从而允许CPU响应中断叫做开中断;中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应;6.什么是陷阱什么是软中断试述中断、陷阱和软中断之间异同;答:陷阱指处理机和内存内部产生的中断,它包括程序运算引起的各种错误,如地址非法、校验错、页面失效;存取访问控制错、从用户态到核心态的切换等都是陷阱的例子;软中断是通信进程之间用来模拟硬中断的一种信号通信方式;7.描述中断控制方式时的CPU动作过程;答:1首先,CPU检查响应中断的条件是否满足;如果中断响应条件不满足,则中断处理无法进行;2如果CPU响应中断,则CPU关中断; 3保存被中断进程现场;4分析中断原因,调用中断处理子程序;5执行中断处理子程序;6退出中断,恢复被中断进程的现场或调度新进程占据处理机;7开中断,CPU继续执行;8.什么是缓冲为什么要引入缓冲答:缓冲即是使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入输出数据的器件;引入缓冲是为了匹配外设和CPU之间的处理速度,减少中断次数和CPU的中断处理时间,同时解决DMA或通道方式时的数据传输瓶颈问题;。

计算机操作系统三章习题答案

计算机操作系统三章习题答案

第三章处理机调度与死锁``030110011020101进程调度是从选择一个进程投入运行。

A.就绪队列B.等待队列C.作业后备队列D.提交队列``030110011020100A``030110022020101支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,下列选项中,不是引起操作系统选择新进程的直接原因。

A.运行进程的时间片用完B.运行进程出错C.运行进程要等待某一时件发生D.有新进程进入就绪状态``030110022020100D``030110032020101下列因素中,不一定是引起进程调度的因素。

A.一个进程运行完毕B.运行进程被阻塞C.一个高优先级进程被创建D.实时调度中,一个紧迫的任务到来``030110032020100C``030110042020101若进程P一旦被唤醒就能投入运行,则系统可能是。

A.非抢占式调度方式,进程P的优先级最高B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低C.就绪队列为空队列D.抢占式调度方式,P的优先级高于当前运行的进程``030110042020100D``030110051020101在批处理系统中,周转时间是指。

A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间``030110051020100B``030110062020101下列各项中,不是进程调度时机的是。

A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态``030110062020100D``030210012020201现有3个同时到达的作业J1、J2、J3,它们的执行时间分别为T1、T2和T3,且T1<T2<T3。

系统按单道方式运行且采用短作业优先算法,则平均周转时间为。

A.T1+T2+T3 B.(T1+T2+T3)/3 C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/3``030210012020200C``030210022020101下列算法中,操作系统用于作业调度的算法是。

计算机操作系统教程课后答案

计算机操作系统教程课后答案

第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。

操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。

2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。

其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。

分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。

其主要特征是:交互性、多用户同时性、独立性。

实时系统(realtimesystem):在被控对象允许时间范围内作出响应。

其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。

3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。

要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。

4.讨论操作系统可以从哪些角度出发,如何把它们统一起来?答:讨论操作系统可以从以下角度出发:(1)操作系统是计算机资源的管理者;(2)操作系统为用户提供使用计算机的界面;(3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。

上述这些观点彼此并不矛盾,只不过代表了同一事物(操作系统)站在不同的角度来看待。

每一种观点都有助于理解、分析和设计操作系统。

计算机操作系统慕课版第三章课后答案

计算机操作系统慕课版第三章课后答案

计算机操作系统慕课版第三章课后答案
1、高级调度与低级调度的主要任务是什么?为什么引入中级调度?
(1)、高级调度的主要任务是将外存的作业调入内存,又称作业调度。

低级调度的主要任务数为内存中处于就绪态的作业分配处理机。

(2)、为了提高内存的利用率与系统吞吐量。

ps:(中级调度是将作业调出掉回,高级调度是掉入,作业一次掉入,多次掉回,所以中级调度频次更高)
2、何谓作业和JCB?
作业是一组程序与数据和作业说明书,是高级调度的基本单位。

JCB是作业控制块,是作业存在的表示,包含管理,调度所需的全部信息。

ps:(对作业的控制是JCB和作业说明书一起的)
3、在什么情况下需要使用JCB?JCB通常包含了哪些内容?(1)作业进入系统。

(2)包含系统对作业调度,管理的全部信息。

4、在作业调度中应如何确定接纳多少作业和接纳哪些作业?
取决于多道程序度和调度算法。

5、试说明低级调度的主要功能?
从就绪队列中根据调度算法选择一个进程分配处理机。

6、简述引起进程调度的原因?
时间片完了、阻塞了、运行完了、被抢占了。

7、在抢占式调度算法中,应遵循的原则?
优先级、短进程优先、时间片原则。

8、在选择调度算法时应该遵循哪些规则?
公平性、资源利用率、平衡性、强制执行
9、何谓静态优先级?何谓动态优先级?确定优先级的依据是什么?
(1)、静态优先级创建进程时就确定,动态优先级随着时间与环境变化而改变。

(2)、用户要求,进程对cpu io等资源的要求,进程类型。

计算机操作系统三章习题答案

计算机操作系统三章习题答案

第三章处理机调度与死锁``0301进程调度是从选择一个进程投入运行。

A.就绪队列B.等待队列C.作业后备队列D.提交队列``0301A``0301支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,下列选项中,不是引起操作系统选择新进程的直接原因。

A.运行进程的时间片用完B.运行进程出错C.运行进程要等待某一时件发生D.有新进程进入就绪状态``0301D``0301下列因素中,不一定是引起进程调度的因素。

A.一个进程运行完毕B.运行进程被阻塞C.一个高优先级进程被创建D.实时调度中,一个紧迫的任务到来``0301C``0301若进程P一旦被唤醒就能投入运行,则系统可能是。

A.非抢占式调度方式,进程P的优先级最高B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低C.就绪队列为空队列D.抢占式调度方式,P的优先级高于当前运行的进程``0301D``0301在批处理系统中,周转时间是指。

A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间``0301B``0301下列各项中,不是进程调度时机的是。

A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态``0301D``0302现有3个同时到达的作业J1、J2、J3,它们的执行时间分别为T1、T2和T3,且T1<T2<T3。

系统按单道方式运行且采用短作业优先算法,则平均周转时间为。

A.T1+T2+T3 B.(T1+T2+T3)/3 C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/3``0302C``0302下列算法中,操作系统用于作业调度的算法是。

A.先来先服务算法B.先进先出算法C.最先适应算法D.时间片轮转算法``0302A``0302在作业调度中,排队等待时间最长的作业被优先调度,这是指调度算法。

计算机操作系统课后题答案(高等教育出版社)

计算机操作系统课后题答案(高等教育出版社)

练习题(一)Ⅰ问答题1. 操作系统的两个主要目标是什么?答:方便性与有效性。

2. 试说明操作系统与硬件、其它系统软件以及用户之间的关系?答:与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。

与其他系统软件的关系:操作系统是系统软件,但它不同于其它系统软件和应用软件,它为其它系统软件和应用软件提供接口。

应用软件要使用操作系统所提供的服务方可方便使用计算机。

与用户之间的关系:操作系统是为改善人机界面、提供各种服务,为用户使用计算机提供良好运行环境的一种系统软件。

3. 试论述操作系统是建立在计算机硬件平台上的虚拟计算机系统。

答:没有任何软件支持的计算机称为裸机,即使其硬件功能再强,也必定是难于使用的。

而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。

裸机位于最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机(Virtual Machine ),这样的计算机系统是概念上和逻辑上的计算机,不是物理上的真实计算机。

4. 什么是操作系统?它有哪些基本功能与基本特征?答:操作系统是位于硬件层之上,所有其它软件层之下的一种系统软件,它控制和管理计算机系统资源、合理组织计算机工作流程、提供用户与计算机系统之间的接口。

操作系统的基本功能有:处理器管理、存储器管理、设备管理、文件管理和提供用户接口。

操作系统的基本特征有:并发性、共享性、虚拟性和不确定性。

5. 请叙述并发和并行两个概念的区别?答:并发性是指两个或多个程序在同一时间段内同时执行,是宏观上的同时。

而并行性是从硬件意义上考虑,是不同硬件部件(如CPU与I/O)在同一时刻的并行,即微观上,多个程序也是同时执行的。

6. 什么是多道程序设计? 在操作系统中使用这种技术有什么好处?答:多道程序设计是指在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。

操作系统课后部分习题及答案

第2章操作系统的运行环境2.2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。

2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。

主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。

2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。

通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。

若无中断信号,就继续执行下一条指令。

若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。

发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。

3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。

操作系统课后习题答案

1.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口.2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。

A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。

B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。

试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。

0 50 100 150 200 250 30050 100 50 10050 100 20 100(1) cpu有空闲等待,在100ms~150ms的时候.(2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms.1.设公共汽车上,司机和售票员的活动如下:司机的活动:启动车辆;正常行车;到站停车。

售票员的活动:关车门;售票;开车门。

在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。

semaphore s1,s2;s1=0;s2=0;cobegin司机();售票员();coendprocess 司机(){while(true){P(s1) ;启动车辆;正常行车;到站停车;V(s2);}}process 售票员(){while(true){关车门;V(s1);售票;P(s2);开车门;上下乘客;}}2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。

请用信号量和P、V操作,写出能够正确执行的程序。

操作系统(1~8章的课后习题答案)

1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作(2)集中控制:由CPU集中管理(3)顺序性:程序计数器1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。

b:分时系统的特点:(1):并行性。

共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。

(2):独占性。

分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。

操作系统通过分时技术将一台计算机改造为多台虚拟计算机。

(3):交互性。

用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。

c:分时系统的响应比较快的原因:因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。

1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。

其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。

此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。

用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。

用户根据上步结果发出下道命。

分时操作系统将CPU 的时间划分成若干个片段,称为时间片。

操作系统以时间片为单位,轮流为每个终端用户服务。

每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。

分时系统具有多路性、交互性、“独占”性和及时性的特征。

计算机操作系统习题答案

第一章os引论1. 设计现代OS的主要目标是什么?方便性,有效性,可扩充性和开放性.2. OS的作用可表现为哪几个方面?a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. OS作为扩充机器.4. 试说明推动多道批处理系统形成和发展的主要动力是什么?不断提高计算机资源利用率和系统吞吐量的需要;5.何谓脱机I/O和联机I/O?a. 脱机输入输出方式(Off-Line I/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b. 若这种输入输出操作在主机控制下进行则称之为联机输入输出方式.6.试说明推动分时系统形成和发展的主要动力是什么?用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求.7. 实现分时系统的关键问题是什么?应如何解决?a. 关键问题:及时接收,及时处理;b. 对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.8为什么要引入实时操作系统? 更好地满足实时控制领域和实时信息处理领域的需要.12 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.a. 分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前者.b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的.c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高.13 OS具有哪几大特征?它的最基本特征是什么?a. 并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Asynchronism).b. 其中最基本特征是并发和共享.14 处理机管理具有哪些功能?它们的主要任务是什么?a. 进程控制,进程同步,进程通信和调度.b. 进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换.---进程同步的主要任务是对诸进程的运行进行调节.---进程通信的任务是实现在相互合作进程之间的信息交换.---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.15 内存管理有哪些主要功能?它们的主要任务是什么?a. 主要功能: 内存分配,内存保护,地址映射和内存扩充等.b. 内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址.---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.16 设备管理有哪些主要功能?其主要任务是什么?a. 主要功能: 缓冲管理,设备分配和设备处理,以及虚拟设备等.b. 主要任务: 完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O 设备.17 文件管理有哪些主要功能?其主要任务是什么?a. 主要功能: 对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.b. 主要任务: 对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.18 是什么原因使操作系统具有异步性特征?a. 程序执行结果是不确定的,即程序是不可再现的.b. 每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.第二章2. 试画出下面条语句的前趋图:S1: a=5-x; S2: b=a*x; S3: c=4*x; S4: d=b+c; S5: e=d+3.S1->S2->S4->S5......../......S33. 为什么程序并发执行会产生间断性特征?因为程序在并发执行过程中存在相互制约性.4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,多个程序共享系统中的各种资源,资源状态需要多个程序来改变,即存在资源共享性使程序失去封闭性;而失去了封闭性导致程序失去可再现性.5. 在操作系统中为什么要引入进程的概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而引入了进程概念.影响: 使程序的并发执行得以实行.6. 试从动态性,并发性和独立性上比较进程和程序.a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体.b. 并发性是进程的重要特征,同时也是OS的重要特征.引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的.c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行.7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志.8. 试说明进程在三个基本状态之间转换的典型原因.a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.9. 为什么要引入挂起状态?该状态具有哪些性质?a. 引入挂起状态处于5中需要: 终端用户的需要,父进程的需要,操作系统的需要,对换的需要和负荷调节的需要.b. 处于挂起状态的进程不能接收处理机调度.10 在进行进程切换时,所要保存的处理机状态信息主要有哪些?a. 进程当前暂存信息;b. 下一条指令地址信息;c. 进程状态信息;d. 过程和系统调用参数及调用地址信息.11 试说明引起进程创建的主要事件.a. 用户登陆;b. 作业调度;c. 提供服务;d. 应用请求.12 试说明引起进程撤消的主要事件.a. 正常结束;b. 异常结束;c. 外界干预;13 在创建一个进程时,需完成的主要工作是什么?a. 操作系统发现请求创建新进程事件后,调用进程创建原语Creat();b. 申请空白PCB;c. 为新进程分配资源;d. 初始化进程控制块;e. 将新进程插入就绪队列.14 在撤消一个进程时,需完成的主要工作是什么?a. OS调用进程终止原语;b. 根据被终止进程的标志符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态;c. 若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真;d. 若该进程还有子孙进程,还应将其所有子孙进程予以终止;e. 将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;f. 将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息.15 试说明引起进程阻塞或被唤醒的主要事件是什么?a. 请求系统服务;b. 启动某种操作;c. 新数据尚未到达;d. 无新工作可做. 17. 为什么进程在进入临界区之前,应先执行"进入区"代码,在退出临界区后又执行"退出区"代码?为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志.18. 同步机构应遵循哪些基本准则?为什么?a. 空闲让进.b. 忙则等待.c. 有限等待.d. 让权等待.20. 你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则?a. 在整型信号量机制中,未遵循"让权等待"的准则.b. 记录型信号量机制完全遵循了同步机构的"空闲让进,忙则等待,有限等待,让权等待"四条准则.23. 在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果会有何影响?生产者-消费者问题可描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp; ..wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;signal(mutex);/* ************** */ signal(full);/* ************** */until false;endconsumer: beginrepeatwait(full);wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);/* ************** */signal(empty);/* ************** */consume the item in nextc;until false;endparendend可见,生产者可以不断地往缓冲池送消息,如果缓冲池满,就会覆盖原有数据,造成数据混乱.而消费者始终因wait(full)操作将消费进程直接送入进程链表进行等待,无法访问缓冲池,造成无限等待.24. 在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置;或者是将signal(mutex)与signal(full)互换位置结果会如何?var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp; ..wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;/* ***************** */ signal(full);signal(mutex);/* ***************** */ until false;endconsumer: beginrepeat/* **************** */ wait(mutex);wait(full);/* **************** */nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);consume the item in nextc;until false;endparendendwait(full)和wait(mutex)互换位置后,因为mutex在这儿是全局变量,执行完wait(mutex),则mutex赋值为0,倘若full也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mutex为0而进行等待,使full始终为0,这样就形成了死锁. 而signal(mutex)与signal(full)互换位置后,从逻辑上来说应该是一样的.25. 我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥. 开锁原语:unlock(W):W=0;关锁原语:lock(W);if(W==1) do no_op;W=1;利用开关锁原语实现互斥:var W: semaphore:=0;beginparbeginprocess :beginrepeatlock(W);critical sectionunlock(W);remainder sectionuntil false;endparend26. 试修改下面生产者-消费者问题解法中的错误: producer:beginrepeat..producer an item in nextp;wait(mutex);wait(full); /* 应为wait(empty),而且还应该在wait(mutex)的前面 */buffer(in):=nextp;/* 缓冲池数组游标应前移: in:=(in+1) mod n; */signal(mutex);/* signal(full); */until false;endconsumer:beginrepeatwait(mutex);wait(empty); /* 应为wait(full),而且还应该在wait(mutex)的前面 */nextc:=buffer(out);out:=out+1; /* 考虑循环,应改为: out:=(out+1) mod n; */ signal(mutex);/* signal(empty); */consumer item in nextc;until false;end27. 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,4,...,2n),其中n为自然数.send(I):Beginif I mod 2==1 then{P(c[I]);P(c[I-1 mod 5]);Eat;V(c[I-1 mod 5]);V(c[I]);}else{P(c[I-1 mod 5]);P(c[I]);Eat;V(c[I]);V(c[I-1 mod 5]);End28. 在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法. int mutex=1;int empty=n;int full=0;int in=0;int out=0;main(){cobeginsend();obtain();coend}send(){while(1){.collect data in nextp; ..wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1) mod n;signal(mutex);signal(full);}}//sendobtain(){while(1){wait(full);wait(mutex);nextc:=buffer(out); out:=(out+1) mod n; signal(mutex);signal(empty);culculate the data in nextc;}//while}//obtain29. 画图说明管程由哪几部分组成?为什么要引入条件变量?管程由三部分组成:局部于管程的共享变量说明;对该数据结构进行操作的一组过程;对局部于管程的数据设置初始值的语句. (图见P80)因为调用wait原语后,使进程等待的原因有多种,为了区别它们,引入了条件变量.30. 如何利用管程来解决生产者-消费者问题?(见P82)31. 什么是AND信号量?试利用AND信号量写出生产者-消费者问题的解法.为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基本思想是将进程在整个运行过程中所需要的所有临界资源,一次性地全部分配给进程,用完后一次性释放.解决生产者-消费者问题可描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(s1,s2,s3,...,sn); //s1,s2,...,sn为执行生产者进程除empty外其余的条件wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;signal(mutex);signal(full);signal(s1,s2,s3,...,sn);until false;endconsumer: beginrepeatwait(full);wait(k1,k2,k3,...,kn); //k1,k2,...,kn为执行消费者进程除full 外其余的条件wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);signal(k1,k2,k3,...,kn);consume the item in nextc;until false;endparendend33. 试比较进程间的低级通信工具与高级通信工具.用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现. 而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据.34. 当前有哪几种高级通信机制?a. 共享存储器系统通信方式;b. 消息传递系统通信方式;c. 管道通信方式.第三章1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?a. 作业调度又称宏观调度或高级调度,其主要任务是按一定的原则对外存上处于后备状态的作业进行选择,给选中的作业分配内存,输入输出设备等必要的资源,并建立相应的进程,以使该作业的进程获得竞争处理机的权利.b. 进程调度又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程,将处理机分配给它.c. 为了提高内存利用7. 在选择调度方式和调度算法时,应遵循的准则是什么?a. 面向用户的准则有周转时间短,响应时间快,截止时间的保证,以及优先权准则.b. 面向系统的准则有系统吞吐量高,处理机利用率好,各类资源的平衡利用.13. 为什么说多级反馈队列能较好地满足各种用户的需要?a. 对于终端型作业用户,由于终端型作业用户所提交的作业,大都属于交互型作业,系统只要能使这些作业(进程)在第一队列所规定的时间片内完成,便可使终端型作业用户都感到满意.b. 对于短批处理作业用户,很短的批处理型作业如果仅在第一队列中执行一个时间片即可完成,便可获得与终端型作业一样的相应时间.对于稍长的作业,通常也只需在第二队列和第三队列中各执行-一个时间片即可完成,其周转时间仍然很短.c. 对于长批处理作业用户,用户也不必担心其作业长期得不到处理.18. 何谓死锁?产生死锁的原因和必要条件是什么?a. 死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;b. 产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;c. 必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件.19. 在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高?a. 解决死锁可归纳为四种方法: 预防死锁,避免死锁,检测死锁和解除死锁;b. 其中,预防死锁是最容易实现的;c. 避免死锁使资源的利用率最高.20. 请详细说明可通过哪些途径预防死锁.a. 摈弃"请求和保持"条件,就是如果系统有足够的资源,便一次性地把进程所需的所有资源分配给它;b. 摈弃"不剥夺"条件,就是已经保持了资源的进程,当它提出新的资源请求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再重新申请;c. 摈弃"环路等待"条件,就是将所有资源按类型排序标号,所有进程对资源的请求必须严格按序号递增的次序提出.21. 在银行家算法的例子中,如果P0发出的请求向量由Request0(0,2,0)改为Request0(0,1,0),问系统可否将资源分配给它?可以.首先,Request0(0,1,0)<=Need0(7,4,3), Request0(0,1,0)<=Available(2,3,0);分配后可修改得一资源数据表(表略),进行安全性检查,可以找到一个安全序列{P1,P4,P3,P2,P0},或{P1,P4,P3,P0,P2},因此,系统是安全的,可以立即将资源分配给P0.第四章2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?a. 首先由编译程序将用户源代码编译成若干目标模块,再由链接程序将编译后形成的目标模块和所需的库函数链接在一起,组成一个装入模块,再由装入程序将装入模块装入内存;b. 装入模块的方式有: 绝对装入方式,可重定位方式和动态运行时装入方式;c. 绝对装入方式适用于单道程序环境下;d. 可重定位方式适用于多道程序环境下;e. 动态运行时装入方式也适用于多道程序环境下.3. 何谓静态链接及装入时动态链接和运行时的动态链接?a. 静态链接是指事先进行链接形成一个完整的装入模块,以后不再拆开的链接方---式;b. 装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式;c. 运行时的动态链接是将某些目标模块的链接推迟到执行时才进行.4. 在进行程序链接时,应完成哪些工作?a. 对相对地址进行修改;b. 变换外部调用符号.4. 在动态分区分配方式中,可利用哪些分区分配算法?a. 首次适应算法;b. 循环首次适应算法;c. 最佳适应算法.5. 在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链? 应在每个分区的起始地址部分,设置一些用于控制分区分配的信息,以及用于链接各分区的前向指针;在分区尾部则设置一后向指针,通过前,后向指针将所有的分区链接成一个双向链.6. 为什么要引入动态重定位?如何实现?a. 为了在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位.b. 可在系统中增加一个重定位寄存器,用它来装入(存放)程序在内存中的起始地址,程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的,从而实现动态重定位.7. 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?a. 回收区与插入点的前一个分区相邻接,此时可将回收区与插入点的前一分区合并,不再为回收分区分配新表项,而只修改前邻接分区的大小;b. 回收分区与插入点的后一分区相邻接,此时合并两区,然后用回收区的首址作为新空闲区的首址,大小为两者之和;c. 回收区同时与插入点的前后两个分区邻接,此时将三个分区合并,使用前邻接分区的首址,大小为-三区之和,取消后邻接分区的表项;d. 回收区没有邻接空闲分区,则应为回收区单独建立一个新表项,填写回收区的首址和大小,并根据其首址,插入到空闲链中的适当位置.10. 在系统中引入对换后可带来哪些好处?能将内存中暂时不运行的进程或暂时不用的程序和数据,换到外存上,以腾出足够的内存空间,把已具备运行条件的进程或进程所需的程序和数据换入内存,从而大大地提高了内存的利用率.11. 为实现对换,系统应具备哪几方面功能?a. 对对换空间的管理;b. 进程的换出;c. 进程的换入.12. 在以进程为单位进行对换时,每次是否都将整个进程换出?为什么?a. 以进程为单位进行对换时,每次都将整个进程换出;b. 目的为了解决内存紧张的问题,提高内存的利用率.14. 较较详细地说明引入分段存储管理是为了满足用户哪几方面的需要.a. 方便了编程;b. 实现了分段共享;c. 实现了分段保护;d. 实现了动态链接;e. 实现了动态增长.15. 在具有快表的段页式存储管理方式中,如何实现地址变换?首先,必须配置一段表寄存器,在其中存放段表始址和段长TL. 进行地址变换时,先利用段号S,与段长TL进行比较,若S<TL,表示未越界,(若S>=TL,表示段号太大,访问越界,产生越界中断信号)于是利用段表始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再用块号b和页内地址构成物理地址.16. 为什么说分段系统较之分页系统更易于实现信息共享和保护?a. 对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项;b. 而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可. 17. 分页和分段存储管理有何区别?a. 分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;b. 对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减-内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;c. 页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;d. 分页的作业地址空间是一维的,而分段的作业地址空间是二维的.18. 试全面比较连续分配和离散分配方式.a. 连续分配是指为一个用户程序分配一个连续的地址空间,包括单一连续分配方式和分区式分配方式,前者将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,-但只能用于单用户单任务的操作系统中;分区式分配方式分为固定分区和动态分区,固定分区是最简单的多道程序的存储管理方式,由于每个分区的大小固定,必然会造成存储空间的浪费;动态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机操作系统答案(第一至五章) 第一章os引论 1. 设计现代OS的主要目标是什么? 方便性,有效性,可扩充性和开放性. 2. OS的作用可表现为哪几个方面? a. OS作为用户与计算机硬件系统之间的接口; b. OS作为计算机系统资源的管理者; c. OS作为扩充机器. 3. 试说明推动多道批处理系统形成和发展的主要动力是什么? 不断提高计算机资源利用率和系统吞吐量的需要; 4. 何谓脱机I/O和联机I/O? a. 脱机输入输出方式(Off-Line I/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的. 它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制 下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入 到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当 程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把 结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是 脱机输出技术. b. 若这种输入输出操作在主机控制下进行则称之为联机输入输出方式. 5. 试说明推动分时系统形成和发展的主要动力是什么? 用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求. 6. 试说明实时任务的类型和实时系统的类型. a. 实时任务的类型按任务执行时是否呈现周期性来划分,分为周期性实时任务和非周期性实时任务; ---根据对截止时间的要求来划分,分为硬实时任务和软实时任务; b. 通常把要同达行实时控制的系统统称为实时控制系统,把要求对信息进行实时处理的系统成为实时 信息处理系统. 7. 实现多道程序应解决哪些问题? a. 处理机管理问题; b. 内存管理问题; c. I/O设备管理问题; d. 文件管理问题; e. 作业管理问题. 8. 试比较单道与多道批处理系统的特点及优缺点. a. 单道批处理系统是最早出现的一种OS,它具有自动性,顺序性和单道性的特点; ---多道批处理系统则具有调度性,无序性和多道性的特点; b. 单道批处理系统是在解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾中形成的,旨在提高系统 资源利用率和系统吞吐量,但是仍然不能很好的利用系统资源; ---多道批处理系统是对单道批处理系统的改进,其主要优点是资源利用率高,系统吞吐量大;缺点是 平均周转时间长,无交互能力. 9. 实现分时系统的关键问题是什么?应如何解决? a. 关键问题:及时接收,及时处理; b. 对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输 入的数据; ---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行 一次. 10 为什么要引入实时操作系统? 更好地满足实时控制领域和实时信息处理领域的需要. 11 OS具有哪几大特征?它的最基本特征是什么? a. 并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Asynchronism). b. 其中最基本特征是并发和共享. 12 内存管理有哪些主要功能?它们的主要任务是什么? a. 主要功能: 内存分配,内存保护,地址映射和内存扩充等. b. 内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间, 允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要. ---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰. ---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址. ---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量. 13 处理机管理具有哪些功能?它们的主要任务是什么? a. 进程控制,进程同步,进程通信和调度. b. 进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态 转换. ---进程同步的主要任务是对诸进程的运行进行调节. ---进程通信的任务是实现在相互合作进程之间的信息交换. ---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个 作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新 进程,把处理机分配给它,并为它设置运行现场,是进程投入运行. 14 设备管理有哪些主要功能?其主要任务是什么? a. 主要功能: 缓冲管理,设备分配和设备处理,以及虚拟设备等. b. 主要任务: 完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速 度;以及方便用户使用I/O设备. 15 文件管理有哪些主要功能?其主要任务是什么? a. 主要功能: 对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护. b. 主要任务: 对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性. 16 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较. a. 分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统 虽然也有交互能力,但其交互能力不及前者. b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制 系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的. c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高. 17 是什么原因使操作系统具有异步性特征? a. 程序执行结果是不确定的,即程序是不可再现的. b. 每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可 预知性. 18 试说明在MS-DOS 3.X以前的版本中,其局限性表现在哪几个方面? a. 在寻址范围上,DOS只有1MB,远远不能满足用户需要. b. DOS试单用户单任务操作系统,不支持多任务并发执行,与实际应用相矛盾. 19 MS-DOS由哪几部分组成?每部分的主要功能是什么? 略. 20 为什么Microsoft在开发OS/2时,选中了80286芯片? 设计OS/2的主要目标之一是既能充分发挥80286处理器的能力,又能运行在8086处理器环境下开发的 程序.因为在80286内部提供了两种工作方式: 实方式和保护方式,使得Intel 80286处理器不仅提供了多 任务并发执行的硬件支持,而且还能运行所有在8086下编写的程序。 21 OS/2的主要功能是什么? a. 多任务. b. 进程管理. c. 存储器管理. d. 文件管理. e. 应用程序接口API. f. 表示管理. 22 多处理机OS有哪几种模式?各有何优缺点? a. 2种模式: 非对称多处理模式(Asymmetric Multiprocessing Model)和对称多处理模式(Symmetric Multiprocesing Model). b. 前者易于实现,但资源利用率低. ---后者优点是允许多个进程同时运行,缺点是必须小心控制I/O,以保证能将数据送至适当的处理器, 同时还必须注意使各CPU的负载平衡. 23 试说明网络OS的主要功能. a. 网络通信; b. 资源管理; c. 网络服务; d. 网络管理; e. 互操作能力. 24 试比较网络OS和分布式OS. a. 网络OS是基于由一些互联的自主计算机系统组成的计算机网络,以计算机技术和通信技术高度发展为 基础,能实现相互通信和相互合作功能的系统.分布式OS是指多个分散的处理单元,经互联网络连接而 形成的系统. b. 在分布性上,两者都具有分布处理功能,但网络OS的控制功能大多集中在某个(些)主机或网络服务器 中,即集中式,而分布式OS则是较均匀地分布在系统的各个站点上,是完全分布式的. ---在并行性上,分布式OS的任务分配程序可将多个任务分配到多个处理单元上而实现并行,网络OS中 通常无任务分配功能,每个用户的任务通常在自己(本地)的计算机上处理. ---在透明性上,两者都具透明性,但网络OS指在操作实现上的透明性,而分布式OS则在系统内部的细 节上实现了很好的隐藏,即具有物理上的透明性. ---在共享性上,分布式OS是比较完全的实现共享,而网络OS共享的资源大多是在主机或网络服务器中. ---在健壮性上,分布式系统由于处理和控制功能是分布的,还拥有容错技术实现系统重构,因而具有 很强的健壮性;而网络OS的控制功能大多集中在主机或服务器中,是系统具有潜在的不可靠性,健 壮性差. 第二章 1. 试画出下面条语句的前趋图: S1: a=5-x; S2: b=a*x; S3: c=4*x; S4: d=b+c; S5: e=d+3. S1->S2->S4->S5 ......../ ......S3 2. 试利用Bernstein条件证明上题中的S2和S3语句是可以并发执行的,而S3和S4语句是不能并发执行的? 证明: R(S2)={x,a}, W(S2)={b}, R(S3)={x}, W(S3)={c}; 可见,S2与S3的读集与写集两两不相交,S2与S3的读集之间也不相交,因而,他们满足Bernstein条件, S2与S3语句是可以并发执行的. 同理可证S3和S4不能满足Bernstein条件,是不能并发执行的. 3. 程序并发执行为什么会产生间断性? 因为程序在并发执行过程中存在相互制约性. 4. 程序并发执行为何会失去封闭性和可再现性? 因为程序并发执行时,多个程序共享系统中的各种资源,资源状态需要多个程序来改变,即存在资源共

相关文档
最新文档