• 917.00 KB
  • 2022-04-22 11:30:01 发布

《操作系统》练习题及答案.doc

  • 45页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'《操作系统》练习及参考答案第1章操作系统概述1.3.1选择最合适的答案1.一般用户更喜欢使用的系统是()。A.手工操作B.单道批处理C.多道批处理D.多用户分时系统2.与计算机硬件关系最密切的软件是()。A.编译程序B.数据库管理系统C.游戏程序D.OS3.现代OS具有并发性和共享性,是()的引入导致的。A.单道程序B.磁盘C.对象D.多道程序4.早期的OS主要追求的是()。A.系统的效率B.用户的方便性C.可移植D.可扩充性5.()不是多道程序系统A.单用户单任务B.多道批处理系统C.单用户多任务D.多用户分时系统6.()是多道操作系统不可缺少的硬件支持。A.打印机B.中断机构C.软盘D.鼠标7.特权指令可以在()执行。A.目态B.浏览器中C.任意的时间D.进程调度中8.没有了()计算机系统就启动不起来。A.编译器B.DBMSC.OSD.浏览器9.通道能够完成()之间的数据传输。A.CPU与外设B.内存与外设C.CPU与主存D.外设与外设10.操作系统的主要功能有()。A.进程管理、存储器管理、设备管理、处理机管理B.虚拟存储管理、处理机管理、进程调度、文件系统C.处理机管理、存储器管理、设备管理、文件系统D.进程管理、中断管理、设备管理、文件系统11.单处理机计算机系统中,()是并行操作的。A.处理机的操作与通道的操作是并行的B.程序与程序C.主程序与子程序D.用户程序与操作系统程序12.处理机的所有指令可以在()执行。A.目态B.浏览器中C.任意的时间D.系统态13.()功能不是操作系统直接完成的功能。A.管理计算机硬盘B.对程序进行编译C.实现虚拟存储器D.删除文件-45- 14.要求在规定的时间内对外界的请求必须给予及时响应的OS是()。A.多用户分时系统B.实时系统C.批处理系统时间D.网络操作系统15.操作系统是对()进行管理的软件。A.硬件B.软件C.计算机资源D.应用程序16.()对多用户分时系统最重要。A.实时性B.交互性C.共享性D.运行效率17.()对多道批处理系统最重要。A.实时性B.交互性C.共享性D.运行效率18.()对实时系统最重要。A.及时性B.交互性C.共享性D.运行效率19.Windows98是()操作系统。A.多用户分时B.批处理系统C.单用户多任务D.单用单任务20.分布式系统与网络系统的主要区别是()A.并行性B.透明性C.共享性D.复杂性21.()操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。A.网络B.分布式C.分时D.实时22.如果分时操作系统的时间片一定,那么(),则响应时间越长。A.用户数越少B.用户数越多C.内存越小D.内存越大23.下面6个系统中,必须是实时操作系统的有()个。·航空订票系统·过程控制系统·机器口语翻译系统·计算机辅助系统·办公自动化系统·计算机激光照排系统A.1B.2C.3D.424.下面对OS不正确的描述是()。A.OS是系统资源管理程序B.OS是为用户提供服务的程序C.OS是其它软件的支撑软件D.OS是系统态程序的集合25.OS的不确定性是指()。A.程序的运行结果不确定B.程序的运行次序不确定C.程序多次运行的时间不确定D.A、B和C26.下面哪一个不是程序在并发系统内执行的特点( )。  A.程序执行的间断性B.相互通信的可能性C.产生死锁的必然性D.资源分配的动态性27.在下面关于并发性的叙述中正确的是()。  A.并发性是指若干事件在同一时刻发生B.并发性是指若干事件在不同时刻发生C.并发性是指若干事件在同一时间间隔内发生D.并发性是指若干事件在不同时间间隔内发生-45- 28.一般来说,为了实现多道程序设计,计算机最需要()A.更大的内存B.更多的外设C.更快的CPUD.更先进的终端1.3.2选择所有正确的答案1.多道程序系统的运行必须要依赖()硬件机构的支持。A.通道B.中断C.鼠标D.光盘2.在单处理机计算机系统中,多道程序的执行具有()的特点。A.程序执行宏观上并行B.程序执行微观上串行C.设备和处理机可以并行D.设备和处理机只能串行3.应用程序在()系统上,相同的数据的条件下多次执行,所需要的时间是可能不同的。A.多用户分时B.多道批处理C.单道批处理D.单用单任务4.能同时执行多个程序的OS是()。A.多道批处理B.单道批处理C.分时系统D.实时系统5.下列哪些指令只能在系统态执行?()A.关中断B.读系统时钟C.向寄存器存数据D.修改系统时钟6.()可以直接通过OS的(作业)控制接口完成。A.用户复制文件B.查看目录C.向寄存器存数据D.读磁盘的扇区7.用户要求()系统对用户的请求在一定的时间内给予及时响应。A.多道批处理B.单道批处理C.分时系统D.实时系统8.()系统不是操作系统A.WORDB.EXCELC.UNIXD.WINDOWS9.()不适合批处理。A.玩游戏B.飞行模拟C.解大型方程组D.调试程序10.下列的哪些特性是为多道操作系统特意准备的?()A.特权指令B.系统态/用户态模式C.时钟D.跳转指令11.Unix操作系统允许用户在()上使用系统调用。A.汇编语言B.C语言C.英语D.各种程序设计语言12.在单处理机系统中,相同的硬件条件下,要执行10个程序,每个程序单独执行需要6分钟,现在10个程序同时在多道程序系统执行,一般情况下,每个程序执行完毕需要的时间(),全部执行完毕总共需要的时间()。A.小于6分钟B.大于6分钟C.小于等于60分钟D.大于60分钟13.分时系统需要使用下面哪些技术()A.多道程序设计技术B.作业说明书C.终端命令解释程序D.中断处理E.作业调度F.系统调用-45- 14.下列哪几种指令应该只在核心态下执行()。A.屏蔽所有中断B.读时钟日期C.设置时钟日期D.改变存储映像图E.存取某地址单元的内容F.停机1.3.2判断正误,简要说明理由1.操作系统属于最重要的、最不可缺少的应用软件。2.操作系统完成的主要功能是与硬件相关的。3.操作系统的所有程序都在系统态执行。4.多道程序系统在单处理机的环境下,程序的执行是并发不是并行的,程序的执行与I/O操作也只能并发不能并行。5.当计算机系统没有用户程序执行时,处理机完全处于空闲状态。6.超级用户(管理员、特权用户)可以使用特权指令。7.系统的资源的利用率越高用户越满意。8.多道程序的执行一定不具备再现性。9.分时系统不需要多道程序技术的支持。10.分时系统的用户具有独占性,因此一个用户可以独占计算机系统的资源。11.设计实时操作系统时,首先应考虑系统的优良性和分配性。12.批处理系统不允许用户随时干涉自己程序的运行。13.虚拟机不需要硬件的支持。14.操作系统的所有程序是长驻内存的。1.3.4简答题1.客户机/服务器模型常用于网络和分布式系统,是否可以用于单机系统?2.系统调用与一般用户函数调用的区别?3.一般计算机的启动过程?4.一般用户最常用的操作系统与用户的接口是什么接口?5.过程调用和系统调用的共同点是什么,它们与中断调用的差别是什么?6.什么是处理机现场信息?7.操作系统对计算机系统性能的影响有哪些?8.多道程序系统如何实现CPU计算与I/O操作的并行?9.分时系统的响应时间受哪些因素影响?10.分时系统与实时系统的主要区别?1.3.5解答题1.在相同的硬件条件下,为什么一个程序可以在DOS和Windows上运行却不能在UINX上运行?2.举例说明,只有被操作系统管理和控制的资源才能被用户使用。3.举例说明,多道程序的引入提高了系统资源的利用率,同时也使操作系统复杂化。4.用于国家导弹防御系统的计算机系统是一个什么样的系统?5.为什么中断机构对于多道操作系统是必不可少的?6.网络操作系统与分布式操作系统的区别?7.评价一个操作系统的主要因素有哪些?8.多用户分时系统如何克服多道批处理系统的缺点?9.将手工操作、单道批处理、多道批处理、多用户分时系统按CPU的有效利用率,由小到大进行排列。-45- 1.4习题解答要点 1.4.1选择最合适的答案1.D2.D3.D4.A5.A6.B7.D8.C9.B10.C11.A12.D13.B14.B15.C16.B17.D18.A19.C20.B21.C22.B23.C24.D25.D26.C27.C28.A1.4.3选择所有正确的答案1.AB2.ABC3.AB4.ACD5.AD6.AB7.CD8.AB9.ABD10.AB11.A12.BC13.ACDF14.ADF1.3.3判断正误,简要说明理由1.错误操作系统是最接近于计算机硬件的系统软件。2.正确3.错误操作系统中有很多外部命令在用户态下执行,特别是微内核OS的许多功能是在外核的用户态上完成的。4.错误“多道程序系统在单处理机的环境下,程序的执行是并发不是并行的”这句话是正确的,但是程序的执行与I/O操作在通道、中断、DMA的支持下可以并行操作。5.错误系统进程可能正在执行,操作系统可以利用这段时间对系统进行整理等操作。6.错误这是把概念混淆了,超级用户是计算机系统中权利最大的用户,可以删除任何文件,撤消进程,这些操作的完成是超级用户通过使用操作系统提供的功能完成,这些功能一般用户没有权利使用。特权指令是只能在核心态执行的机器指令。7.错误系统的资源利用率高可能使用户等待更长的时间,方便性、交互性也可能受到影响。8.错误单道程序的再现性是本身固有的,多道程序的执行失去了再现性,多道程序执行的再现性不是自然获得的,是通过程序员的编程控制添加上去。9.错误分时系统本身就是多道程序系统。10.错误分时系统的独占性是终端上的用户在使用计算机时在感觉上好似单独使用一台计算机一样。这种感觉是通过将处理机的时间分成很小的时间片,轮流地分配给联机终端而完成的。因此,分时系统的用户是与其它用户共享计算系统的资源。11.错误设计实时操作系统时,首先要考虑系统的实时性和可靠性。12.正确13.错误通过OS将物理的资源转换为逻辑资源。14.错误内部命令长驻内存。1.3.4简答题1.客户机/服务器模型是一个通用的模型。广义上讲提供服务的叫服务器,请求服务的叫客户机。客户机/服务器模型操作系统中,文件服务、进程服务等功能是以服务器进程的方式运行于用户态,用户进程通过向服务器进程发出请求,获得服务器的服务。因此,客户机/服务器模型既可以用于网络和分布式系统,也可以用于单机系统,只不过网络和分布式系统更需要这种形式。-45- 2.系统调用执行的程序在操作系统中,在系统态执行;一般用户函数调用程序由用户准备,在用户态执行。3.一般计算机的启动过程是:(1)由ROM程序对硬件进行检测。(2)由ROM中的启动程序引导磁盘上引导块(bootblock)读入内存。(3)由引导块将OS的内核调入内存。(4)执行OS内核程序,对OS自身进行初始化。(5)加载外核处理程序,给出提示,等待用户操作4.一般用户最常用的操作系统与用户的接口是控制接口,用户使用这个接口控制、管理和操作计算机系统,利用它控制程序的执行。控制接口分为脱机接口、命令接口、图形接口、多媒体接口。5.过程调用和系统调用的执行完全是同步的,也就是在相同的数据集上重复执行,它们的调用点是相同的,都需要保存现场信息,转去执行另外的程序,执行后返回。中断调用是异步的,在相同的数据集上重复执行,中断的发生点可以是不同的。6.处理机现场信息是处理机在任意时刻的状态信息集合,主要包括处理机程序状态寄存器的值、程序计数器和各个寄存器的值。6.操作系统会影响到计算机系统的可靠性、方便性、效率、可维护性、处理任务的速度、软件成本等。7.在多道程序系统中,当需要I/O操作,不需要CPU直接控制I/O操作的完成,利用通道、DMA及中断机构控制直接控制I/O操作的完成,这时CPU也不是空闲等待I/O操作的完成,而是转去执行另外一道程序。8.分时系统的响应时间指用户从终端发出一个命令到系统处理完这个命令并做出回答所需要的时间,这个时间受时间片长度、终端用户个数、命令本身功能、硬件特性、主存与辅存的交换速度的影响。1.分时系统是指在一个系统中多个用户分时地使用同一计算机。实时系统是指计算机及时响应外部事件的请求,在规定时限内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地运行。实时系统与分时系统的主要区别有两点:(1)分时系统的目标是提供一种通用性很强的系统,有较强的交互能力;而实时系统则大都是具有特殊用途的专用系统,交互能力略差;(2)分时系统对响应时间虽有要求,但一般来说,响应时间由人所能承受的等待时间来确定;而实时系统对响应时间要求更高,一般由控制系统或信息处理系统所能接受的延迟时间来决定。1.3.5解答题1.虽然硬件环境相同,但是程序的运行需要OS的支持。由于Windows系统向下兼容DOS,因此,一个程序能在DOS上运行,也能在Windows上运行。但DOS、Windows与UNIX在系统结构、用户接口的约定、接口的功能、API等是不兼容的。如该程序使用的是Windows的API系统调用,而Unix下没有此系统调用,故这个程序在UNIX系统中无法执行。2.在没有操作系统的时候,计算机系统的资源完全由用户和用户程序来控制和管理,但是用户非常不方便。有了操作系统后,计算机系统的资源由操作系统控制和管理,用户通过操作系统的服务接口使用这些资源。如果操作系统没有控制和管理某些资源,用户就不能通过操作系统的服务获得这些资源的使用。例如,DOS只能管理1M的内存,硬件上装上再多的内存一般用户也无法使用。3.多道程序系统中存在着并发和并行操作。例如,在内存中同时装入几个用户程序,I/O操作与CPU计算操作并行。由并发和并行而产生一系列问题,如何从一个活动切换到另一个,怎样保护一个活动使其免受另外一些活动的影响,以及如何实现相互依赖的活动之间的同步。4.实时过程控制系统与实时信息处理系统相结合的系统。5.很多进程的切换是由中断引起的。如时钟中断,尤其是分时系统。用户程序进行系统调用时通过软中断来实现,如TRAP。通道和外设的操作也要向操作系统发送中断。6.-45- 网络OS中的用户使用自己的机器可以访问网络上别的机器的资源,通过网络将很多的机器连接起来,共享硬件资源,但是整个系统对用户来说是分散的、不透明的。分布式OS的用户也是通过网络将多台机器连接起来,但是整个系统对用户是透明的,用户面对整个OS就好像使用一个自己的机器一样。7.方便性、有效性、扩充性、开放性、可用资源的数量。8.尽管多道批处理系统已经大大地提高了计算机系统的资源利用率,但是它的致命缺点是缺少交互性。怎样才能使系统既具有交互性又不使资源的利用率降低?资源利用率与交互性是一对矛盾。如果一台计算机能够连接多个操作台(终端),允许多个用户同时在操作台上操作,每个操作台上的用户执行一个程序,就有多个程序进入系统,导致在计算机的内存中就装入了多个程序,形成多个程序的并发执行,通过并发程序的分时执行,确保每个用户的操作计算机终端就好像单独操作一台计算机一样。这样就避免了只有一个操作台时,大量的计算机的时间被一个用户的大量浪费,同时又克服多道批处理系统非交互性的缺点。9.手工操作、单道批处理系统、多用户分时系统、多道批处理系统。(1)手工操作没有操作系统,属于单道程序系统,大量的处理机时间被人工操作所浪费,因此CPU的利用率最低。(2)单道批处理系统在一定程度上克服了手工操作的缺点,但仍属于单道程序系统,大量的CPU时间浪费在等待I/O操作的完成上。因此它的CPU利用率比手工操作的系统要高,但比多道程序系统的要高。(3)多用户分时系统是多道程序系统,具有交互性,但是程序的分时运行需CPU不断地在多个程序之间进行切换,这种切换需要占用的CPU的时间。(4)多道批处理系统是多道程序系统,没有交互性。CPU在执行一道程序时一般不转换到其它道程序,只有在需要等待某种事件发生时,才切换到另一道程序执行。因此,它的CPU切换的次数远远低于分时系统,而CPU的有效利用率高于批处理系统。第2章进程和线程的管理-45- 2.3习题2.3.1选择最合适的答案1.UNIX操作系统的进程控制块中常驻内存的是()。A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构2.当()时,进程从执行状态转变为就绪状态。A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生3.在进程状态转换时,下列()转换是不可能发生的。A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态4.下列各项工作步骤中,()不是创建进程所必需的步骤。A.建立一个PCBB.作业调度程序为进程分配CPUC.为进程分配内存等资源D.将PCB链入进程就绪队列5.下列关于进程的叙述中,正确的是()。A.进程通过进程调度程序而获得CPU。B.优先级是进行进程调度的重要依据,一旦确定不能改变。C.在单CPU系统中,任一时刻都有1个进程处于运行状态。D.进程申请CPU得不到满足时,其状态变为等待状态。6.从资源管理的角度看,进程调度属于()。A.I/O管理B.文件管理C.处理机管理D.存储器管理7.下列有可能导致一进程从运行变为就绪的事件是()。A.一次I/O操作结束B.运行进程需作I/O操作C.运行进程结束D.出现了比现运行进程优先权更高的进程8.一个进程释放一种资源将有可能导致一个或几个进程()。A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9.一次I/O操作的结束,有可能导致()。A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪C.一个进程由睡眠变运行D.几个进程由睡眠变运行10.当一个进程从CPU上退下来时,它的状态应变为()。A.静止就绪B.活动就绪C.静止睡眠D.活动睡眠11.为使进程由活动就绪变为静止就绪,应利用()原语?A.SUSPENDB.ACTIVEC.BLOCKD.WAKEUP12.在下面的叙述中,不正确的是()。A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程13.若系统中只有用户级线程,则处理机调度单位是()。A.线程B.进程C.程序D.作业14.一个进程是()。A.由协处理机执行的一个程序B.一个独立的程序+数据集C.PCB结构与程序和数据的组合D.一个独立的程序15.下列几种关于进程的叙述,()最不符合操作系统对进程的理解?A.进程是在多程序并行环境中的完整的程序。B.进程可以由程序、数据和进程控制块描述。-45- C.线程是一种特殊的进程。D.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。16.在下面的叙述中正确的是()。A.线程是比进程更小的能独立运行的基本单位。B.引入线程可提高程序并发执行的程度,可进一步提高系统效率。C.线程的引入增加了程序执行时的时空开销。D.一个进程一定包含多个线程。17.下面关于线程的叙述中,正确的是()。A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。B.线程是资源的分配单位,进程是调度和分配的单位。C.不管系统中是否有线程,进程都是拥有资源的独立单位。D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。18.在下面的叙述中,正确的是()。A.引入线程后,处理机只在线程间切换。B.引入线程后,处理机仍在进程间切换。C.线程的切换,不会引起进程的切换。D.线程的切换,可能引起进程的切换。19.进程的控制信息和描述信息存放在()。A.JCBB.PCBC.AFTD.SFT20.进程依靠()从阻塞状态过渡到就绪状态。A.程序员的命令B.系统服务C.等待下一个时间片到来D.“合作”进程的唤醒21.在WINDOWSNT中()可以处于就绪状态。A.进程B.线程C.程序D.作业22.只作用于一个进程一次的原语是____________.A.创立B.解挂C.阻塞D.挂起23.在UNIX系统中,处于()状态的进程最容易被执行。A.辅存睡眠B.内存睡眠C.内存就绪D.辅存就绪24.从执行状态挂起的进程解除挂起时进入()状态。A.就绪B.执行C.阻塞D.挂起25.一个进程执行过程中不能可能对应()。A.一个PCBB.一个JCBC.多个PCBD.一个程序2.3.2选择所有正确的答案1.在下列进程的四个特征中,最基本的特征是()。A.并发性B.动态性C.独立性D.异步性2.下面会引起进程创建的事件是()。A.用户登录B.设备中断C.作业调度D.执行系统调用3.下面是关于线程的叙述,其中正确的是()。A.线程自己拥有一点资源,但它可以使用所属进程的资源。B.由于同一进程中的多个线程具有相同的地址空间,所以它们间的同步和通信也易于实现。C.进程创建与线程创建的时空开销不相同。D.进程切换与线程切换的时空开销相同。4.在下面的叙述中,不正确的是()。A.同一进程内的线程可并发执行,不同进程的线程只能串行执行。B.同一进程内的线程只能串行执行,不同进程的线程可并发执行。-45- C.同一进程或不同进程内的线程都只能串行执行。D.同一进程或不同进程内的线程都可以并发执行。5.线程是操作系统的概念,已具有线程管理的操作系统有()。A.Windows3.2B.OS/2C.WindowsNTD.Mach6.下面属于进程基本状态的是()。A.就绪B.运行C.后备D.阻塞7.下列各项工作步骤,()是创建进程所必须的步骤。A.建立一个PCBB.由CPU调度程序为进程调度CPUC.为进程分配内存等必要资源D.将PCB接入进程就绪队列8.关于进程的正确说法是()。A.进程就是程序,或者说,进程是程序的另一种叫法B.一个被创建了的进程,在它被消灭前,大多数时刻处于进程的三种基本状态之一。C.多个不同的进程可以包含相同的程序D.一个处于等待队列中的进程,即使进入其它状态,仍然放在等待队列中。9.在()时,可能挂起某进程。A.进程出现死锁B.进程的数目太少C.进程数目太多D.进程出现故障10.多道程序系统进程从执行状态转换到就绪状态的原因是()。A.时间片完B.等待其它进程的执行结果C.等待I/OD.有更高优先级的进程到来2.3.3判断正误,错误的简要说明理由1.有了线程之后,程序只能以线程的身份运行。2.线程的切换会引起进程的切换。3.多个线程可以对应同一段程序。4.系统内可以有无父进程的进程。5.线程所对应的程序肯定比进程所对应的程序短。6.进程从CPU退下时,将“现场”保存在系统栈内。7.在多道程序系统,进程需要等待某种事件的发生时,进程一定进入阻塞状态。8.进程上下文是进程执行活动全过程的静态描述。9.并发是并行的不同表述,其原理相同。10.进程是基于多道程序技术而提出的,其基本的特征是动态性;进程的执行是在多个状态间多次转换的过程,但只有处于就绪和执行状态的进程位于内存。11.操作系统对进程的管理和控制主要是通过控制原语实现的。12.原语的执行是屏蔽中断的。13.一般情况下,分时系统中处于就绪状态的进程最多。14.系统中进程的数目越多,CPU的利用率越高.15.多道程序的执行失去封闭性和再现性,因此多道程序系统不需要封闭性和再现性。16.一个多道程序可能具备封闭性和再现性。17.单道程序不具备封闭性和再现性。2.3.4简答题1.Windows这样的多任务系统与Unix这样的多进程系统在调度上有何不同?2.进程和线程的主要区别是什么?3.程序的并发执行为什么会有间断性?4.进程能自己将自己唤醒吗?进程能自己将自己撤消吗?5.什么是原语?原语的主要特点是什么?6.程序并发执行与顺序执行时相比产生哪些新特征?7.程序并发执行的主要特性是什么?8.一个因等待I/O操作结束而入阻塞状态的进程,何时被唤醒?-45- 9.在什么情况下,可以一次唤醒一个进程和一次唤醒多个进程?10.进程的就绪状态和阻塞状态的有何不同?11.程序的并行执行将导致运行结果失去封闭性,这对所有的程序都成立吗?12.父进程创建子进程之后,父子进程之间的关系是什么?2.3.5解答题1.什么是线程?进程和线程是什么关系?2.简述引进线程的好处。3.当系统内所有的进程都进入睡眠之后,系统还有可能复活吗?4.当一个进程的父进程被撤消时,该进程是撤消好还是不撤消好?5.进程的挂起操作和入睡操作有何异同?6.简述进程为什么不能从就绪状态直接变成阻塞(睡眠)状态?7.进程的三个基本的转换如下图所示,图中1、2、3、4分别代表某种类型状态变迁,请分别回答:(1)什么事件引起各状态之间的变迁?(2)统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,试判断变迁3——1、2——1、3——2、4——1、3——4,如果有的话,将发生什么因果变迁(3)在什么情况下,如果有的话,上述变迁将不引起其它变迁?2.4习题解答要点2.4.1选择最合适的答案1.A2.B3.D4.B5.A6.C7.D8.D9.A10.B11.A12.C13.B14.C15.A16.B17.C18.D19.B20.D21.A22.A23.C24.A25.C2.4.2选择所有正确的答案1.AB2.ACD3.ABC4.ABC5.BCD6.ABD7.ACD8.BC9.ACD10.AD2.4.3判断正误,简要说明理由1.正确1.错误属于同一进程的多个线程之间的切换不会引起进程的切换,只有属于不同进程的线程之间的切换才会引起进程的切换。3.正确4.正确5.错误不一定,若进程只有一个线程的话。6.错误:应该保存在PCB中,但有的系统也有例外。7.错误进程也可以循环等待。8.错误-45- 进程是进程实体的执行过程,具有动态性。9.错误若干个事件在同一时刻发生成为并行;若干个事件在同一时间间隔内发生成为并发。并行是并发的特例,并发是并行的拓展。10.错误(1)基本特征还有并发性、异步性、独立性等;(2)进程在新、终止两状态中只经过一次;(3)进程都在内存。11.正确12.正确13.正确14.错误进程容易产生资源竞争而处于阻塞或死锁状态15.错误需要,否则程序没有稳定性和可靠性而言,用户也无法使用。16.正确通过程序员的设计可以达到。17.错误这是单道程序的固有属性。2.4.4简答题1.从调度上讲,在Windows这样的多任务系统中,当前执行哪个任务是由用户决定的,是用户可控的;而在Unix这样的多进程系统中,当前运行哪个进程是由内部的调度算法决定的,是对用户透明的,用户是不可直接控制的。2.在有进程和线程的系统中,进程是系统资源分配的独立单位,而线程是可调度运行的独立单位。3.并发执行是指系统内有多道程序在宏观上“同时”执行,但系统内往往只有一台处理机(CPU),因此只能分时地为多个程序服务。就一道程序而言,往往不是一次能够运行完成,而是以“走走停停”的方式完成其运行,这就是并发系统内程序执行的间断性。4.唤醒进程和撤消进程都是要通过在CPU上运行程序来实现的。一个进程入睡了,它就不可能被调度到CPU上运行;一个进程在撤消前必须先进入终止状态,而处于终止状态的进程不可能被调度到CPU上运行。因此,进程被唤醒、被撤消都不能由自己来完成,只能由别的进程实现。5.原语是指由若干条机器指令构成的,并用以完成特定功能的一段程序。这段程序在执行期间是不可分割的。其主要特点是不可分割性。6.可分割性、失去封闭性、失去可再现性。7.并发程序间具有相互制约的关系,程序并发执行失去了程序的封闭性和再现性,程序和机器执行程序的活动不再一一对应。8.是在别的进程执行相应的I/O中断处理程序时唤醒的。9.在I/O中断处理程序中,当唤醒进程时,只唤醒等待该I/O结束的那一个进程;当一个进程释放一个系统资源(如I/O缓存)时,将要唤醒所有因等待使用该资源而进入阻塞状态的进程。10.阻塞状态的进程还不具备执行的条件,即使放到处理机上也不能执行;就绪状态的进程具备了执行的所有条件,放到处理机上就能执行。11.并不是所有程序的并行执行都会导致运行结果失去封闭性。例如,当程序中都使用内部变量,不可能被外部程序访问时,程序的运行不会受到外部环境的影响。12.一个进程创建子进程之后,创建进程与产生的进程之间的关系是父子关系,分别成为父进程和子进程。子进程一经产生就与父进程并发执行,子进程共享父进程的正文段和已经打开的文件。2.4.5解答题-45- 1.线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度实体。在具有多线程机制的操作系统中,处理机调度的基本单位不是进程而是线程。一个进程可以有多个线程,而且至少有一个可执行线程。进程和线程的关系是:(1)线程是进程的一个组成部分;(2)进程的多个线程都在进程的地址空间活动;(3)资源是分给进程的,而不是分给线程的,线程在执行中需要资源时,系统从进程的资源配额中扣除并分配给它;(4)处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程;(5)线程在执行过程中,需要同步。2.引进线程的好处为:(1)以线程作为系统调度的基本单位,减少了系统的时空开销。以进程为系统调度的基本单位的系统中,进程的切换是很频繁的。在切换中由于要保留当时的运行环境,还要设置新选中的进程的运行环境,这既花费了处理机的时间,又增加了主存的空间,从而也限制了系统进程的数量和进程的切换速度。(2)引进线程提高了系统的并行能力。线程作为进程内的一个可执行实体,减少了并行粒度。线程作为调度的基本单位而不是资源分配的基本单位,调度更为容易,而且采用线程提高系统的并行能力比采用进程更为有效。(3)同一进程的线程共享进程的用户地址空间,所以同一进程的线程间的通信更容易实现。3.只有两种情况下系统可以复活。一种情况是有因等待I/O操作完成而进入睡眠的进程,当相应的I/O操作完成后,I/O中断处理程序唤醒等待本次I/O的进程,而该进程在运行过程中又可能通过释放资源、发送消息等事件而唤醒其它进程,这样整个系统就又活跃起来了。另一种情况是没有等待I/O操作完成的进程,但有定时睡眠的进程,当睡眠时间到期,会由时钟中断将该入睡进程唤醒,从而获得可运行进程,并有可能使系统重新活跃起来。4.在实际系统中,两种处理办法都是可行的,且各有优缺点。若撤消,则该进程的任务可能还没有完成,这显然是不利的,特别是当该进程的运行结果对其它进程的运行很重要(如该进程是其它进程的前趋进程,没有它的运行结果其它进程无法运行)时;若不撤消,则该进程又可能成为不可控的“孤儿”,从而产生不可预测的结果。比较好的做法是,当一个进程的父进程被撤消时,可以将该进程“过继”给系统内一个级别较高的进程(如Unix中的1#进程),让它有一个“新的父亲”,这样既可以继续完成其任务又不会成为不可控的。5.最主要的不同是“入睡”是进程的主动行为,而“挂起”可以是系统的强制行为;此外,只有在CPU上运行的进程才能执行“入睡”操作,而不管进程处于什么状态,系统都可对其执行“挂起”操作。它们的相同点是:这两个操作都导致一个正在CPU上运行的进程从CPU上退下来。6.一个进程要进入阻塞(睡眠)状态,必须通过执行相应的程序才能实现,如sleep()或block()。就绪进程当前不在CPU上运行,不能执行任何程序,当然不能使自己直接进入阻塞状态。7.(1)引起各变迁的事件如下:变迁1:正在执行的进程从处理机上退下,导致进程调度程序从就绪状态的进程中选取一个进程。变迁2:正在执行的进程所分配的时间片用完,导致进程从处理机上退到就绪状态;或者在可抢占优先级的进程调度中,有更高有先级的进程进入就绪状态,导致正在执行的进程从执行状态退到就绪状态。变迁3:进程需要等待事件的发生;变迁4:进程所等待的某事件发生了(如I/O完成);(2)可能发生的因果变迁-45- 3——1:由于处于运行状态的进程转入阻塞状态,进程调度程序根据调度算法,又从就绪队列中选择一个进程投入运行;2——1:由于处于运行状态的进程时间片用完,重新转入就绪状态,从而使进程调度程序又从就绪队列中选择一个进程投入运行;3——2:此种变化不存在;4——1:4的发生与1的发生没有必然关系;3——4:3的发生和4的发生没有必然关系。(3)无关变迁变迁1、2、3与处理机有关,必然引起其它变迁,变迁4不涉及处理机,不直接引起其它变迁。-45- 第3章进程的同步与通信3.3习题3.3.1选择最合适的答案1.用P、V操作管理临界区时,信号量的初值一般应定义为()。A.–1B.0C.1D.任意值2.有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是()。A.1至–(m-1)B.1至m-1C.1至–mD.1至m3.在下面的叙述中,正确的是()。A.临界资源是非共享资源B.临界资源是任意共享资源C.临界资源是互斥共享资源D.临界资源是同时共享资源4.对进程间互斥地使用临界资源,进程可以()A.互斥地进入临界区B.互斥地进入各自的临界区C.互斥地进入同一临界区D.互斥地进入各自的同类资源的临界区5.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示()。A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待6.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1时表示()。A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待7.当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为()。A.>0B.<0C.≥0D.≤08.当一进程因在记录型信号量S上执行V(S)操作而导致唤醒另一进程后,S的值为()。A.>0B.<0C.≥0D.≤09.如果信号量的当前值为-4,则表示系统中在该信号量上有()个进程等待。A.4B.3C.5D.010.若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量的变化范围是()。A.3,2,1,0B.3,2,1,0,-1C.4,3,2,1,0D.2,1,0,-1,-211.若信号S的初值为2,当前值为-1,则表示有()个等待进程?A.0B.1C.2D.312.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为()。A.3B.1C.2D.013.并发进程之间()A.彼此无关B.必须同步C.必须互斥D.可能需要同步或互斥14.在操作系统中,有一组进程,进程之间具有直接相互制约性。这组并发进程之间()。A.必定无关B.必定相关C.可能相关D.相关程度相同-45- 15.()操作不是P操作可完成的。A.为进程分配处理机B.使信号量的值变小C.可用于进程的同步D.使进程进入阻塞状态3.3.2选择所有正确的答案1.有关进程的描述中,()是正确的。A.进程执行的相对速度不能由进程自己来控制B.利用信号量的P.V操作可以交换大量信息C.同步是指并发进程之间存在的一种制约关系D.并发进程在访问共享资源时,不可能出现与时间有关的错误2.下列资源中,()是临界资源。A.打印机B.非共享的资源C.共享变量D.共享缓冲区3.进程从执行状态转换到阻塞状态的可能原因是().A.时间片完B.需要等待其它进程的执行结果C.执行了V操作D.执行了P操作4.进程从阻塞状态转换到就绪状态的可能原因是().A.时间片完B.其它进程执行了唤醒原语C.执行了V操作D.执行了P操作5.在单处理机系统中,设系统中有n个进程(n>2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生()。A.没有运行的进程,有2个进程处于就绪状态,n个进程处于等待状态。B.一个进程处于运行状态,n-1个进程处于等待状态。C.一个进程处于运行状态,1个进程处于就绪状态,n-2个进程处于等待状态。D.一个进程处于运行状态,n-1个进程处于就绪状态,没有进程处于等待状态3.3.2判断正误,错误的简要说明理由1.一个临界资源可以对应多个临界区。2.互斥地使用临界资源是通过互斥地进入临界区实现的。3.同步信号量的初值一般为1。4.引入管程是为了让系统自动处理临界资源的互斥使用问题。5.生产者-消费者问题是一个既有同步又有互斥的问题。6.用管程实现进程同步时,管程中的过程是不可中断的。7.进程A、B共享变量x,需要互斥执行;进程B、C共享变量y,B、C也需要互斥执行,因此,进程A、C必须互斥执行。8.单道程序系统中程序的执行也需要同步和互斥。3.3.3简答题1.为什么说互斥也是一种同步?2.为什么说进程同步问题关系到OS的成败?3.同步机制应遵循的准则是什么?4.进程通信有哪三种基本类型?5.简述解互斥问题的软、硬件方法的异同。6.什么是原语?它与广义指令有什么区别?7.对临界区管理的要求是什么?8.设有n个进程共享一个互斥段,对于如下两种情况使用信号量,信号量的值的变化怎样?(1)如果每次只允许一个进程进入互斥段;(2)如果每次最多允许m个进程(m0S的值表示可继续进入售票厅的人数S=0表示售票厅中已有20名顾客S<0|S|的值为等待进入售票厅中的人数(2)上框为P(S)下框为V(S)(3)S的最大值为20S的最小值为20-N,N为某一时刻需要进入售票厅的最大人数。7.进程间存在着2种相互制约的关系:直接制约关系(即同步问题)和间接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待所产生的制约关系,互斥问题是相互无逻辑关系的进程间竞争使用相同资源所发生的制约关系。(1)属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学;(2)属于互斥关系,篮球只有一个,两队都要争夺;(3)属于同步关系,各道工序的开始都依赖前道工序的完成;(4)属于同步关系,商品没生产出来,消费无法进行,商品未消费完,生产也无须进行。8.因为P1和P2是两个并发进程,所以进程调度程序调度P1和P2的顺序是不确定的。这里不妨假设P1先执行。进程P1执行到语句P(S2)时,S2=-1,进程P1阻塞。此时,y=3,z=4。当进程调度程序调度到进程P2时,由于进程P1已执行了V(S1),进程P2在执行P(S1)时并未阻塞而继续执行,当执行到V(S2)时,将P1唤醒,然后执行最后一个语句z:=x+z,此时x=5,z=9。当进程P1再次被调度时,继续执行P1的最后一个语句,此时y=12,最终结果是:x=5,y=12,z=9。如果当P2进程执行到V(S2)时,将P1唤醒,然后P2进程被中断,此时x=5,y=3,z=4。P1进程开始执行然后执行最后一个语句y:=z+y,此时x=5,y=3,z=7。然后P2进程被调度,执行z:=x+z,此时x=5,y=3,z=12。如果P2先执行,则执行结果与上面相同。9.缓冲池各问题解答如下:.(1)互斥信号量和初值m(1)=1,m(2)=1,m(3)=1,m(4)=1(2)同步信号量full(i)表示buffer(i)是否有数据;初值为full(1)=0,full(2)=1,full(3)=0,full(4)=2;empty(i)表示buffer(i)是否有空间;初值为empty(1)=3,empty(2)=1,empty(3)=3,empty(4)=0(3)进程程序processProc(i){p(empty(i));p(full((i-1)mod4)+1));p(m(i));p(m(full((i-1)mod4)+1));move;v(m(i));v(m(full((i-1)mod4)+1));v(full(i));v(empty((i-1)mod4)+1));}-45- 第四章调度与死锁4.3习题4.3.1选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]=Allocation[i,j]+Max[i,j]C.Max[i,j]=Available[i,j]+Need[i,j]D.Need[i,j]=Available[i,j]+Max[i,j]3.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。A.非抢占式静态优先权法B.抢占式静态优先权法C.时间片轮转调度算法D.非抢占式动态优先权法4.在下列选项中,属于预防死锁的方法是()。A.剥夺资源法B.资源分配图简化法C.资源随意分配D.银行家算法5.在下列选项中,属于检测死锁的方法是()。A.银行家算法B.消进程法C.资源静态分配法D.资源分配图简化法6.在下列选项中,属于解除死锁的方法是()。A.剥夺资源法B.资源分配图简化法C.银行家算法D.资源静态分配法7.为了照顾紧迫型作业,应采用()。A.先来服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.优先权调度算法8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和()相同。A.先来先服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.长作业优先调度算法9.作业从后备作业到被调度程序选中的时间称为()。A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。A.互斥条件B.请求和保持条件C.不可剥夺条件D.环路等待条件4.3.2选择所有正确答案1.下列选项中,()可能是非抢占方式进程调度中引起调度的原因。A.当前的运行进程调用阻塞原语而进入阻塞状态B.当前的运行进程提出申请I/O而阻塞C.有更高优先级的进程到达而从执行状态变为就绪状态D.正在执行的进程执行了P原语操作,由于资源不足而阻塞2.选择排队作业中等待时间最长的作业被优先调度,该调度算法不可能是()。-45- A.先来先服务调度算法B.高响应比优先调度算法C.优先权调度算法D.短作业优先调度算法3.作业控制块JCB连成一串而形成的一个排队队列,该队列称为()。A挂起队列B.阻塞队列C.就绪队列D.后备队列4.下列哪个选项描述的时间属于响应时间的一部分()。A.处理机对请求信息进行处理的时间B.从键盘输入的请求信息传送到处理机的时间C.所形成的响应回送到终端显示器的时间D.用户查看响应回送到的信息5.下列四个选项描述的时间组成了周转时间,其中可能发生多次的是()。A.等待I/O操作完成的时间B.作业在外存后备队列上等待作业调度的时间C.进程在CPU上的执行时间D.进程在就绪队列上等待进程调度的时间6.下面列出的是选择调度方式和算法的4个面向用户的准则。其中,不完全适用于实时系统的准则是()。A.优先权准则B.响应时间快C.截止时间的保证D.周转时间短7.下面列出了选择调度方式和算法的4个准则。其中,对批处理、分时、实时系统都可以采用的是()。A.周转时间短B.响应时间快C.截止时间的保证D.优先权准则8.下列选项中,()是分时系统中确定时间片大小需要考虑的因素。A.各类资源的平衡利用B.就绪队列中进程的数目C.系统的处理能力D.系统对响应时间的要求9.下面列出的选项中,属于可剥夺性资源的有()。A.CPUB.内存C.磁盘D.磁带机10.在多级队列调度和多级反馈队列调度的叙述中,正确的是()。A.多级反馈队列调度中就绪队列的设置不是象多级队列调度一样按作业性质划分,而是按时间片的大小划分B.多级队列调度用到优先权,而多级反馈队列调度中没有用到优先权C.多级队列调度中的进程固定在某一个队列中,而多级反馈队列调度中的进程不固定D.多级队列调度中每个队列按作业性质不同而采用不同的调度算法,而多级反馈队列调度中除了个别队列外,均采用相同的调度算法4.3.3判断正误,简要说明理由1.作业调度能够使作业获得CPU。2.在多道程序系统中,系统的现有空闲可用资源能否满足一个后备作业J的资源要求,是选择作业J进入内存的必要条件。3.短作业(进程)优先调度算法具有最短的平均周转时间,因此这种算法是最好的算法。4.在优先权调度算法中确定静态优先权时,一般说,计算进程的优先权要高于磁盘I/O进程的优先权。5.摒弃不可剥夺条件的方法可用于预防多个打印进程死锁的发生。6.操作系统处理死锁,只要采用预防、解除、检测、避免之中的一种就足够了。7.如果系统在所有进程运行前,一次性地将其在整个运行过程所需的全部资源分配给进程,即所谓“静态分配”法,是可以预防死锁发生的。-45- 8.多个进程竞争比进程数目少的资源时就可能产生死锁,而当资源数目大于进程数目时就一定不会发生死锁。9.在银行家算法中,对某时刻的资源分配情况进行安全分析,如果该时刻状态是安全的,则存在一个安全序列,且这个安全序列是唯一的。10.进程调度算法各种各样,但是如果选择不当,就会造成死锁。4.3.4简答题1.高级调度和低级调度的主要任务是什么?为什么要引入中级调度?2.在作业调度中需作出哪些决定?3.在剥夺调度中,有哪些剥夺原则?4.在OS中引起进程调度的主要因素有哪些?5.在选择调度方式和调度算法时,应遵循的原则是什么?6.在批处理系统、分时系统和实时系统中,各采用哪几个进程(作业)调度算法?7.为什么说多级反馈队列能较好地满足各种用户的需要?8.在多用户分时系统中,时间片轮转调度的算法在确定时间片的大小时,应考虑哪些因素?9.为实现实时调度,对实时系统提出了哪些要求?10.目前常用的调度方式和算法,能否应用到实时系统中?11.在多处理机系统中,比较有代表性的线程调度方式有哪几种?12.试比较自调度和成组调度?13.在OS/2中采用哪种调度方式和调度算法?14.何为死锁?产生死锁的原因和必要条件是什么?15.在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高?16.请详细说明可通过哪些途径预防死锁?17.在银行家算法的例子中,如果P0发出的请求向量由Request0(0,2,0)改为Request0(0,1,0),问系统可否将资源分配给它?4.4习题解答要点4.4.1选择最合适的答案1.B2.B3.B4.D5.D6.A7.D8.A9.C10.B4.4.2选择所有正确答案1.ABD2.BCD3.D4.ABC5.ACD6.AD7.D8.BCD9.ABC10.ACD4.4.4简答题1.错误作业调度是高级调度。它只能使某作业获得使用CPU的资格。而只有进程调度或线程调度才能使作业真正获得CPU。2.错误多道系统中的资源分配有两种方法:(1)静态分配:作业调度的功能之一是审查系统能否满足用户作业的资源要求;之二是按照一定的算法选取作业。(2)动态分配:进程所需的资源是在运行中分配的,作业调度并不考虑当前空闲的资源量,只是按照一定的算法选取作业。3.错误前半句话讲的正确,但由此说短作业(进程)优先调度算法是最好的,就不正确了。因为一个算法的好坏要看其是否适于系统的需要而判定。4.错误-45- 因为磁盘I/O进程属于系统进程。而系统在确定进程的静态优先权时遵循的原则是:系统进程的优先权高于一般用户进程的优先权(除非用户的进程特别紧迫或重要)1.错误因为摒弃不剥夺条件的方法可预防死锁的发生。2.错误因为,操作系统要兼顾资源的使用效率和安全性两个方面,常见的是,将预防、解除、检测、避免四种处理混合起来使用。举例来说,只有检测死锁而无解除死锁,检测出死锁又有什么用呢?3.正确因为资源的“静态分配”方法,可以摒弃“请求和保持”条件,是可以预防死锁的。4.错误进程是否发生死锁,需要考虑每个进程申请资源的数目、所申请资源的种类、进程推进情况等因素。不能简单地比较进程数目和资源数目就来确定是否死锁。5.错误系统在调用银行家算法进行安全检查时,只要找到一个安全序列就可断定系统是安全的。但安全序列可能不止一个,有的情况下可能是只有一个,有的情况下可能有2个或者更多。6.错误如果进程调度算法选择不当,会造成某些进程的长期等待。我们将这种进程称为“饥饿”进程(长期“饥饿”的极端情况是“饿死”)。“饿死”和“死锁”具有完全不同的含义。4.3.4简答题1.高级调度和低级调度的主要任务以及引入中级调度原因如下:(1)高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是,按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为它们创建进程、分配必要的资源,然后再将创建的进程控制块挂入就绪队列上。(2)低级调度又称进程调度。它是距离硬件最近的一级调度。其主要任务是,按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调出到外存上等待。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存,将其状态变为内存就绪状态。2.在作业调度中需作出的决定如下:(1)作业调度需要按照多道程序度(即,最大道数)决定一次接纳多少作业进入内存。如果太少将导致系统资源利用率低,且系统吞吐量低;太多将导致内存空间紧张,系统服务质量下降,使作业运行周期过长。(2)作业调度需要决定接纳哪些作业进入内存。常用的算法是,先来先服务,短作业优先,最高优先级调度、响应比高者优先等。3.在剥夺进程调度中,剥夺原则如下:(1)时间片原则。在轮转算法中,CPU轮流为诸多进程服务,每个进程运行完自己的时间片后,系统就将它的CPU剥夺过来,交给下一个进程使用。(2)优先级原则。为紧迫的作业赋予较高的优先级,这种作业到达系统,或者由阻塞状态被唤醒后,若其优先级高于当前运行的进程的优先级,可以剥夺其CPU。(3)短作业(进程)优先原则。若一个作业(进程)到达系统,其运行长度比当前运行的进程长度明显的短,则剥夺它的CPU。4.引起进程调度的主要因素主要有:(1)一个进程运行完毕;(2)一个正在运行的进程被阻塞;(3)在抢占式调度中,一个高优先级的进程被创建;(4)在抢占式调度中,一个高优先级进程由阻塞被唤醒;(5)在轮转式调度中,正在运行的进程运行完一个时间片。5.在选择调度方式和调度算法时,应遵循的原则如下:(1)-45- 面向用户准则。首先,对于用户的紧迫性作业,系统能够及时地处理,不至于运行延误。其次,对于批处理系统,还应追求作业的周转时间短;分时系统中作业的响应时间块;实时系统中作业的截止时间有保证。(1)面向系统准则。系统的吞吐量高,处理机的利用率高,各类系统资源能够得到平衡利用。6.批处理系统、分时系统和实时系统中的主要调度算法如下:(1)批处理系统中的作业调度算法有先来先服务(FCFS)、短作业优先(SJF)、优先级调度(HPF)和高响应比优先(RF)。批处理系统的进程调度算法有:先进先出(FIFO)、短进程优先(SPF)、优先级调度(PRI)和高响应比优先(RF)。(2)分时系统中只设有进程调度(不设作业调度),其进程调度算法只有轮转法(RR)一种。(3)实时系统中只设有进程调度(不设作业调度),其进程调度算法有:轮转法、优先级调度算法。前者适用于时间要求不严格的实时系统;后者用于时间要求不严格的实时系统。后者又可细分为:非抢占式优先级调度、抢占式优先级调度、基于时钟中断的抢占式优先级调度。注意,一个纯粹的实时系统是针对特定应用领域设计的专用系统。作业提交的数量不会超过系统规定的多道程序度,因而可全部进入内存。若将实时系统与批处理系统结合的话,就可以让作业量超过多道程序度,使优先级低的作业呆在外存的后备队列上。7.多级反馈队列能较好地满足各种用户的需要的原因:(1)终端用户的作业一般比较短小精悍,大多数在进入多级队列的第一级队列中后运行一个时间片就可以完成,因而感到满意。(2)批处理作业用户,其作业进入多级队列的第一级队列中后,若作业较短,运行一个时间片就可以完成。对于稍长一些的作业,只需在第二或第三队列上各执行一个时间片就可完成,因而感到满意。对于长作业来说,它将依次在第1,2,…,n个队列上运行,不会因作业太长而长期得不到处理。8.在多用户分时时间片长度的选择上,既要保证交互性,又要保证系统的效率。(1)系统对响应时间T的要求(一般应小于等于2~3秒钟);(2)就绪队列中的进程数目N(N与终端上的用户数目有关);(3)系统的处理能力,一个时间片的长度q应能保证用户的大部分常用命令可处理完;(4)进程的转换时间p;(5)三者的关系可表示为:T=N(q+p)。9.对实时系统提出了要求如下:(1)任务要提供必要的调度信息:主要包括:开工的最后期限或完工的最后期限、处理时间长度、优先级、就绪时间,以及资源需求。(2)采用适当的调度方式:如果实时任务的运行长度较长且时间要求严格,那么实时系统应采用抢占式调度;如果所有的实时任务都比较小,且预知任务的开工最后期限,也可以采用非剥夺式调度。(3)能够快速响应外部中断:这要求,硬件上要有较高的中断机制,软件上要使“封中”的时间间隔尽量短,以免贻误时机。(4)快速的任务分派能力:尽量减少任务切换时间开销,使得一个任务完成后可以较快地切换到下一个任务去。10.抢占方式和非抢占方式都可以用于实时系统中。能够使用的算法有:轮转算法(RR)和优先级调度算法(HPF);不可以使用的算法有:先进先出(FIFO)和短进程优先算法(SPF)。11.在多处理机系统中,有代表性的线程调度方式有:(1)自调度方式:诸多CPU可以共享同一就绪队列,从中获取就绪线程运行。(2)成组调度方式:由系统将若干相关的线程同时分配到多台CPU上运行。线程与CPU一一对应。(3)专用处理机分配方式:将若干同属于一个应用程序的线程分配到一组CPU上。让这组CPU专门处理它们。12.调度方式的比较如下:-45- (1)自调度方式中,就绪队列与单机的相同,调度算法也与之相同。系统没有集中调度机制,任何CPU都可调用系统的调度例程去选择一个线程。只要就绪队列不空,就不会有空闲的CPU。它存在的问题是,多CPU共享一个就绪队列将产生瓶颈;各线程在其生命周期中可能要换好几台CPU,每次更换都要将CPU中的高速缓存(Cache)重新拷入现场数据,造成效率低下;由于合作的一组线程很难同时获得CPU,一些运行的线程只好阻塞等待未获得CPU的线程,所以线程切换频繁。(2)成组调度中,合作的各线程可以同时获得CPU,减少因同步造成的阻塞,减少了切换次数。同时,也可减少调度的频率。13.多优先级的抢占式调度,调度的基本单位是线程。优先级分为3类:每一类共细分32级,以31级为最高级。其中:时间紧迫类为最高类,对应的是实时线程及通信管理等;常规类为中档优先类,对应的是一般线程;空闲时间类为较低类,对应的是紧迫度低的线程。调度算法:在同一类的同一优先级中采用轮转算法。每当运行完一个时间片就检查是否有更高优先级线程到来,若有便抢占CPU。14.(1)死锁是指多个进程因竞争资源而造成的一种僵持状态。若无外力作用,这些进程都将永远处于阻塞状态,不能再运行下去。(2)产生死锁的原因有:资源不足资源、进程推进次序不当。(3)产生死锁的必要条件有:互斥条件、请求和保持条件、不可剥夺条件、环路等待条件。15.(1)预防死锁方法,主要是破坏产生死锁的必要条件。该方法是最容易实现的,但系统资源利用率较低。(2)避免死锁方法,比较实用的有银行家算法(BankerAlgorithm)。该算法需要较多的数据结构,实现起来比较困难,但资源利用率最高。(3)检测死锁方法是基于死锁定理设计的,定期运行该算法对系统的状态进行检测,发现死锁便予以解除。其中,需要比较一下各种死锁解除方案的代价,找到代价最小的方案。该方法最难实现,资源利用率较高。16.预防死锁方法是破坏产生死锁的必要条件,主要有:(1)摈弃请求和保持条件。采用静态分配方案,一次性地分配给进程所请求的全部资源。进程运行过程中不可再请求新资源。(2)摈弃不剥夺条件。采用动态分配方案,进程运行中可以请求新资源。若进程请求资源不能满足时,就应使其释放已占有的资源。(3)摈弃环路等待条件。采用动态分配方案,要求进程请求资源时,按资源序号递增(或递减)顺序提出。17.系统的资源数量为:(10,5,7)。经过一段时间的分配后,资源分配与占用情况见下表所示。进程MAXABCAllocationABCNeedABCAvailableABCP0753010743332P1322200122P2902302600P3222211011P4433002431(1)Request1(1,0,2):P1请求满足后的占用情况如下。进程MAXABCAllocationABCNeedABCAvailableABCP0753010743230P1322302020-45- P2902302600P3222211011P4433002431(2)检测系统此刻存在一条安全序列{P1,P3,P4,P0,P2}。检测过程为:1)资源可用量(230),不能满足P0,可满足P1。2)资源可用量(532),不能满足P2,可满足P3。3)资源可用量(743),可满足P4。4)资源可用量(745),可满足P0。5)资源可用量(755),可满足P2。待其完成后使系统的资源可用量达到初始值(10,5,7)。(3)Request4(3,3,0):P4的请求超过系统当前的可用量(2,3,0),应推迟分配。(4)Request0(0,1,0):P0请求满足后的占用情况如下:进程MAXABCAllocationABCNeedABCAvailableABCP0753020733220P1322302020P2902302600P3222211011P4433002431检测系统此刻存在安全序列{P1,P3,P4,P0,P2}。1)资源可用量(220),不能满足P0,可满足P1。2)资源可用量(522),不能满足P2,可满足P3。3)资源可用量(733),可满足P4。4)资源可用量(735),可满足P0。5)资源可用量(755),可满足P2。待其完成后使系统的资源可用量达到初始值(10,5,7)。-45- 第5章存储器管理5.3习题5.3.1选择最合适的答案1.分页存储管理的存储保护是通过()完成的.A.页表(页表寄存器)B.快表C.存储键D.索引动态重定2.把作业地址空间中使用的逻辑地址变成内存中物理地址称为()。A、加载B、重定位C、物理化D、逻辑化3.在可变分区存储管理中的紧凑技术可以---------------。A.集中空闲区B.增加主存容量C.缩短访问时间D.加速地址转换4.在存储管理中,采用覆盖与交换技术的目的是()。A.减少程序占用的主存空间B.物理上扩充主存容量C.提高CPU效率D.代码在主存中共享5.存储管理方法中,()中用户可采用覆盖技术。A.单一连续区B.可变分区存储管理C.段式存储管理D.段页式存储管理6.把逻辑地址转换成物理地址称为()。A.地址分配B.地址映射C.地址保护D.地址越界7.在内存分配的“最佳适应法”中,空闲块是按()。A.始地址从小到大排序B.始地址从大到小排序C.块的大小从小到大排序D.块的大小从大到小排序8.下面最有可能使得高地址空间成为大的空闲区的分配算法是()。A.首次适应法B.最佳适应法C.最坏适应法D.循环首次适应法9.那么虚拟存储器最大实际容量可能是()。A.1024KB.1024MC.10GD.10G+1M10.用空白链记录内存空白块的主要缺点是()。A.链指针占用了大量的空间B.分配空间时可能需要一定的拉链时间C.不好实现“首次适应法”D.不好实现“最佳适应法”11.一般而言计算机中()容量(个数)最多.A.ROMB.RAMC.CPUD.虚拟存储器12.分区管理和分页管理的主要区别是()。A.分区管理中的块比分页管理中的页要小B.分页管理有地址映射而分区管理没有C.分页管理有存储保护而分区管理没有D.分区管理要求一道程序存放在连续的空间内而分页管理没有这种要求。13.静态重定位的时机是()。A.程序编译时B.程序链接时C.程序装入时D.程序运行时14.通常所说的“存储保护”的基本含义是()A.防止存储器硬件受损B.防止程序在内存丢失C.防止程序间相互越界访问D.防止程序被人偷看15.能够装入内存任何位置的代码程序必须是()。A.可重入的B.可重定位C.可动态链接D.可静态链接-45- 16.虚存管理和实存管理的主要区别是()。A.虚存区分逻辑地址和物理地址,实存不分;B.实存要求一程序在内存必须连续,虚存不需要连续的内存;C.实存要求一程序必须全部装入内存才开始运行,虚存允许程序在执行的过程中逐步装入;D.虚存以逻辑地址执行程序,实存以物理地址执行程序;17.在下列有关请求分页管理的叙述中,正确的是()。A.程序和数据是在开始执行前一次性装入的B.产生缺页中段一定要淘汰一个页面C.一个被淘汰的页面一定要写回外存D.在页表中要有“中段位”.“访问位”和“改变位”等信息18.LRU置换算法所基于的思想是()。A.在最近的过去用得少的在最近的将来也用得少B.在最近的过去用得多的在最近的将来也用得多C.在最近的过去很久未使用的在最近的将来会使用D.在最近的过去很久未使用的在最近的将来也不会使用19.在下面关于虚拟存储器的叙述中,正确的是()。A.要求程序运行前必须全部装入内存且在运行过程中一直驻留在内存B.要求程序运行前不必全部装入内存且在运行过程中不必一直驻留在内存C.要求程序运行前不必全部装入内存但是在运行过程中必须一直驻留在内存D.要求程序运行前必须全部装入内存但在运行过程中不必一直驻留在内存20.在请求分页系统中,页表中的改变位是供()参考的。A.页面置换B.内存分配C.页面换出D.页面调入21.在请求分页系统中,页表中的访问位是供()参考的。A.页面置换B.内存分配C.页面换出D.页面调入22.在请求分页系统中,页表中的辅存始地址是供()参考的?A.页面置换B.内存分配C.页面换出D.页面调入23.适应于请求段的内存分配方法是()。A.首次适应和最佳适应B.固定分区和可变分区C.首次适应和固定分区C.最佳适应和可变分区24.在请求分页管理中,已修改过的页面再次装入时应来自()。A.磁盘文件区B.磁盘对换区C.后备作业区D.I/O缓冲池25.选择在最近的过去使用次数最少的页面予以淘汰的算法称为()。A.Opt.B.LRUC.MFUD.LFU26.选择在最近的过去最久未访问的页面予以淘汰的算法称为()。A.Opt.B.LRUC.MFUD.LFU27.程序动态链接的时刻是()。A.编译时B.装入时C.调用时D.紧凑时28.虚存的可行性基础是()。A.程序执行的离散性B.程序执行的顺序性C.程序执行的局部性D.程序执行的并发性29.虚存最基本的特征是()。A.一次性B.多次性C.交换性D.离散性30.在下列关于虚存实际容量的说法中,正确的是()。A.等于外存(磁盘)的容量B.等于内.外存容量之和C.等于CPU逻辑地址给出的空间的大小-45- D.B.C之中取小者31.实现虚存最主要的技术是()A.整体覆盖B.整体对换C.部分对换D.多道程序设计32.首次适应算法的空闲区是()。A.按地址递增顺序连在一起B.始端指针表指向最大空闲区C.按大小递增顺序连在一起D.寻找从最大空闲区开始33.采用()不会产生内部碎片。A.分页式存储管理B.分段式存储管理C.固定分区式存储管理D.段页式存储管理34.下面哪种内存管理方法有利于程序的动态链接?A.分段存储管理B.分页存储管理C.可变分区分配D.固定分区分配35.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1,2,3,4,1,2,5,1,2,3,4,5,6时,将产生()次缺页中断?A.7B.8C.9D.1036.系统“抖动”现象的发生是由()引起的?A.置换算法选择不当B.交换的信息量过大C.内存容量充足D.请求页式管理方案37.采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是()。A.224B.216C.28D.23238.实现虚拟存储器的目的是()。A.实现存储保护B.实现程序浮动C.扩充辅存容量D.扩充主存容量39.在请求分页存储管理中,若采用FIFO页面淘汰算法,则当进程分配到的页面数增加时,缺页中断的次数()。A.减少B.增加C.无影响D.可能增加也可能减少40.在固定分区分配中,每个分区的大小是()。A.相同B.随作业长度变化C.可以不同但预先固定D.可以不同但根据作业长度固定41.在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减2的情况是()。A.无上邻空闲区,也无下邻空闲区B.有上邻空闲区,但无下邻空闲区C.有下邻空闲区,但无上邻空闲区D.有上邻空闲区,也有下邻空闲区42.如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能被修改,即程序应该是()。A.可执行码B.可重入码C.可改变码D.可再现码43.下述()页面淘汰算法会产生Belady现象。A.先进先出B.最近最少使用C.最不经常使用D.最佳44.某段表的内容如下图所示,现执行某条指令Load1,2/154,逻辑地址2/154(其中段号为2,段内地址为154),它对应的物理地址为()。A.120K+2B.480K+154-45- C.30K+154D.2+480K段号段首址段长度0120K40K1760K30K2480K20K3370K20K45.在一页式存储管理系统中,页表内容如下图所示。若页的大小为4K,则地址转换机构将逻辑地址0转换成物理地址为()。A.8192B.4096C.2048D.1024页号块号021126334746.设内存的分配情况如下图所示。若要申请一块40K字节的内存空间,若采用最佳适应算法,则所得到的分区首址为()。A.100KB.190KC.330KD.410K占用占用占用占用┇000K100K180K190K280K330K390K410K512K-147.下面哪种内存管理方法不能实现虚存?A.动态页式管理B.静态页式管理C.分段存储管理D.段页式存储管理48.在请求页式存储管理中,若页面尺寸变小,则缺页中断的次数()。A.减少B.增加C.无影响D.可能增加也可能减少49.解决碎片问题,以及使程序可浮动的最好的办法是采用()技术。A.静态重定位B.动态重定位C.内存静态分配D.内存动态分配50.在可变分区存储管理中的拼接技术可以()。A.集中空闲区B.增加主存容量C.缩短访问周期D.加速地址转换51.设主存容量为1MB,辅存容量为400MB,计算机系统的地址寄存器有24位,那么虚存的最大容量是()。A.1MBB.401MBC.1MB+224BD.224B52.在可变式分区分配方案中,只需要进行一次比较就可以判定系统是能否满足作业对主存空间要求的是()。A.最先适应算法B.最佳适应算法C.最差适应算法D.固定式分区方法53.虚存的基础是()。A.局部性理论B.程序执行时对内存访问不均匀C.指令局部性D.变量的连续访问-45- 54.页式虚拟存储管理的主要特点是()。A.不要求将作业装入到主存的连续区域B.不要求将作业同时全部装入到主存的连续区域C.不要求进行缺页中断处理D.不要求进行页面置换55.在请求分页存储管理中,当所访问的页面不在内存时,便产生缺页中断,缺页中断是属于()。A.I/O中断B.程序中断C.访管中断D.外中断56.采用动态重定位方式装入的作业,在执行中允许()将其移动。A.用户有条件地B.用户无条件地C.操作系统有条件地D.操作系统无条件地57.虚存是()。A.容量扩大了的内存B.提高运算速度的设备C.不存在的存储器D.充分利用了地址空间58.分页式虚拟存储系统中,页面的大小与可能产生的缺页中断次数()。A.成正比B.成反比C.无关D.成固定比例59.在硬件条件和环境条件相同的条件下,一个作业在()存储管理系统中执行的时间最多。A.分区B.分页C.分段D.段页5.3.1选择所有正确的答案1.使用下面哪些存储管理方法可以实现虚拟存储器?()A.分区B.分段C.段页D.分段2.在页式存储管理中,块内位移量等于页内位移量是因为()。A.页和块的大小都是2的整数次方B.一页是装入内存的连续空间内C.页和块大小相等D.页和块大小不等3.分段管理的主要优点有()。A.可以实现有意义的共享B.用户可以使用覆盖技术C.方便地址转换D.程序不需要连续的内存E.可以实现动态链接F.可以给不同段赋予不同存取权4.下列存储器哪些可用来存储页表?A.CacheB.磁盘C.主存D.快表5.在请求分页管理中,一个首次装入内存的页面可能来自()。A.磁盘文件区B.磁盘对换区C.后备作业区D.I/O缓冲池6.一个作业需要占用较大连续内存的存储管理是()。A.可变分区存储管理B.页式存储管理C.段式存储管理D.段页式存储管理7.段式和页式存储管理的地址结构很类似,但是它们之间有实质上的不同,表现为()。A.页式的逻辑地址是连续的,段式的逻辑地址可以不连续B.页式的地址是一维的,段式的地址是二维的C.分页是操作系统进行,分段是用户确定D.各页可以分散存放在主存,每段必须占用连续的主存空间E.页式采用静态重定位方式,段式采用动态重定位方式8.下面哪些存储分配方法可能使系统抖动?()A.可变分区B.页式C.段式D.段页式-45- 9.下面哪些概念在页式虚存管理系统中一定用到?A.抖动B.缺页中断C.联想存储器D.段表10.下列关于请求页式存储管理的说法中,正确的是()。A.采用静态重定位B.采用动态重定位C.内存静态分配D.内存动态分配11.下面哪些表格是分页存储管理系统中使用到的?A.进程表B.存储分块表C.页表D.文件映象表12.在以下存储管理方案中,适用于多道程序设计系统的是()。A.单用户连续分配B.固定式分区分配C.可变式分区分配D.页式存储管理13.动态重定位过程依赖于()。A.可重定位装入程序B.重定位寄存器C.地址变换机构D.目标程序14.将分区管理发展为分页管理的主要目的是()。A.提高系统的吞吐量B.提高程序的并发度C.提高内存的利用率D.使系统能运行更大的程序15.()存储管理中存在页表。A.页式B.段式C.分区D.段页式5.3.3判断正误,错误的简要说明理由1.请求分页存储管理系统,若把页面的大小增加一倍,则缺页中断次数会减少一倍。2.虚地址即程序执行时所要访问的内存地址。3.交换可以解决内存不足的问题,因此,交换也实现了虚拟存储器。4.为了使程序在内存中浮动,编程时都使用逻辑地址。因此,必须在地址转换后才能得到主存的正确地址。5.在请求分页式存储管理中,页面的调入.调出只能在内存和对换区之间进行。6.请求分页存储管理中,页面置换算法很多,但只有最佳置换算法能完全避免进程的抖动,因而目前应用最广。其他(如改进型CLOCK)算法虽然也能避免进程的抖动,但其效率一般很低。7.虚拟存储器的实现是基于程序局部性原理,其实质是借助外存将内存较小的物理地址空间转化为较大的逻辑地址空间。8.虚存容量仅受外存容量的限制。9.UNIX操作系统没有提供虚拟存储器,为了使容量有限的内存能支持较大规模的程序,系统除采用正文段共享和自我覆盖技术外,主要采用了程序对换技术来扩充存储容量,使其具有类似于虚拟存储器的作用。10.静态页式管理可以实现虚存。11.用可变分区法可以比较有效地消除外部碎片,但不能消除内部碎片。12.页表的作用是实现逻辑地址到物理地址的映射。13.系统中内存不足,程序就无法执行。14.用绝对地址编写的程序不适合多道程序系统。5.3.4简答题1.什么是动态链接?用何种内存分配方法可以实现这种链接技术?2.为什么静态重定位后的程序在内存中不能移动?动态地址重定位的程序在内存中可以移动什么?3.在什么时候只能使用交换的方法,而不能使用覆盖的方法?4.虚拟存储器的理论容量与什么有关,实际容量与什么有关?5.考虑一个由8个页面,每页1K字节组成的逻辑空间,把它映射到由32个物理块组成的存储器。问:-45- (1)有效的逻辑地址有多少位?(2)有效的物理地址有多少位?6.程序员如何识别系统采用的是分页式虚存还是段式虚存?7.设某进程分得的内存页面数为m,其需访问的页面个数为p,其中有n个不相同的页面,对于任意置换算法,(1)求页面失效次数的下限(2)求页面失效次数的上限8.在某分页虚存系统中,测得CPU和磁盘的利用率如下,试指出每种情况下的问题和措施。(1)CPU的利用率为15%,盘利用率为95%;(2)CPU的利用率为88%,盘利用率为3%;(3)CPU的利用率为13%,盘利用率为5%。9.对访问串:1,2,3,4,1,2,5,1,2,3,4,5,指出在驻留集大小分别为3,4时,使用FIFO和LRU替换算法的缺页次数。结果说明了什么?10.存储管理的主要任务是什么?11.实现虚拟存储器的物质基础是什么?12.分页存储管理如何克服分区存储管理的缺点的?13.快表的引入为何能明显改进系统的性能?14.操作系统中存储管理的主要对象是什么?15.覆盖技术的基本思想是什么?5.35解答题1.分页存储管理与分段管理的主要区别是什么?提出分页管理和分段管理的目的分别是什么?2.考虑一个分页存储器,其页表存放在内存。(1)若内存的存取周期为0.6us,则CPU从内存取一条指令(或一个操作数)需多少时间?(2)若使用快表且快表的命中率为75%,则内存的平均存取周期为多少?3.虚存管理与实存管理的根本区别是什么?4.就虚存回答以下问题:(1)虚存的应用背景是什么?(2)虚存的可行性基础是什么?(3)实现虚存的主要技术是什么?(4)虚存可以有多大?5.设某进程访问内存的页面走向序列如下:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6则在局部置换的前提下,分别求当该进程分得的页面数为1,2,3,4,5,6,7时,下列置换算法的缺页数:①LRU②FIFO③Optimal6.考虑一个有快表的请求分页系统,设内存的读写周期为1us,内外存之间传送一个页面的平均时间为5ms,快表的命中率为80%,页面实效率为10%,求内存的有效存取时间。7.对于一个使用快表的页式虚存,设快表的命中率为70%,内存的存取周期为1us;缺页处理时,若内存有可用空间或被置换的页面在内存未被修改过,则处理一个缺页中断需8ms,否则需20ms。假定被置换的页面60%是属于后一种情况,则为了保证有效存取时间不超过2us,问可接受的最大缺页率是多少?8.为什么要引入动态链接?9.在分页存储管理系统中,存取一次内存的时间是8us,查询一次快表的时间是1us,缺页中断的时间是20us。假设页表的查询与快表的查询同时进行,当查询页表时,如果该页在内存但快表中没有页表项,系统将自动把该页页表项送入快表。一个作业最多可保留3个页面在内存。现开始执行一作业,系统连续对作业的2、4、5、2、7、6、4、2各页面的数据进行1次存取,如分别采用FIFO-45- 算法和最优页面置换算法,求每种算法下存取这些数据需要的总时间?5.4习题解答要点5.4.1选择最适合的答案1.B2.B3.A4.A5.A6.B7.C8.A9.B10.B11.D12.D13.C14.C15.B16.C17.D18.D19.B20.C21.A22.D23.D24.B25.D26.B27.C28.C29.C30.D31.C32.A33.B34.A35.D36.A37.B38.D39.D40.C41.D42.B43.A44.B45.A46.C47.B48.D49.B50.A51.D52.C53.A54.B55.B56.C57.D58.B59.D60.B5.4.2选择所有正确的答案1.BCD2.ABC3.AE4.ACD4.AC(批处理是C,其它是A)4.AC5.ABCD6.BCD7.ABC8.BD9.ABCD10.BCD11.BCD12.CD13.AD5.4.3判断正误,错误的简要说明理由1.错误产生页面中断的次数与页面大小的关系不是绝对的,它还和访问页面的踪迹P、主存的容量M、以及淘汰算法有关。2.错误虚地址是作业的逻辑地址,只有经过地址转换机构后得到的物理地址才是程序执行时所要访问的内存地址。1.错误交换技术与非连续存放技术相结合,才构成虚拟存储器。4.正确2.错误页面的调入、调出应在内存与文件区及对换区。调入可以从文件区和交换区,调出到交换区。3.错误首先,最佳置换算法(OPT算法)不能实用,只可作为一种评价标准,因此目前很少在实际中使用。另外,改进型CLOCK算法能相对避免进程的抖动,并且效率较高。4.正确5.错误虚存容量不仅受外存容量的限制,还受到CPU逻辑地址所能表示范围的限制。9.正确10.错误静态页式管理不能实现虚存,这是因为静态页式管理要求进程或作业在执行前全部被装入内存,作业或进程的大小仍然受内存可用页面数的限制。11.错误采用可变分区,可以消除内部碎片,但极易产生外部碎片,可以通过紧缩办法消除外部碎片。12.正确13.错误可采用虚拟存储器、覆盖、交换解决。14.正确5.4.4简答题1.动态链接就是指当程序运行到需要调用某一模块时,再去链接,对于未使用的模块就可以不必链接。采用段式内存分配方法可以实现这种技术。-45- 2.静态重定位后的程序的代码已经发生了变化,由原来逻辑地址的程序已经变为物理地址的程序,按物理地址的方式运行,因此不能再进行移动。动态重定位是在程序运行过程中由硬件进行地址变换,变换的结果存放在内存地址寄存器中,程序代码并没有发生变化,仍然是逻辑地址的代码,按逻辑地址的方式运行,因此,在内存中移动程序代码之后,仅需要根据代码新的启始位置,重新设定基地址寄存器的值。3.当需要覆盖的内容在以前程序的执行过程中修改过,并且在以后的执行中仍然需要,这时就必须采用交换的方式。4.理论容量由逻辑地址位长决定。实际容量由逻辑地址位长以及内外存容量综合决定。5.(1)逻辑地址有13位(2)物理地址有15位说明:解此题的关键是要知道在分页管理中,“页”和“块”是一样大小的,这样才知道物理存储器是32K。6.页式虚存面向程序员的逻辑地址是1维的,而段式虚存面向程序员的逻辑地址是2维。7.(1)下限是n(2)上限是p说明:因为页面序列中有n个不同的页号,这n个页面可定是要通过页面失效中断装入内存的,故失效数的下限是n;因为页面序列的长度是p,即使每个页面都失效,其次数也不会超过p,故上限是p。8.(1)可能已出现了抖动现象,应减少系统的进程数;(2)系统比较正常,可考虑适当增加进程数以提高资源利用率;(3)CPU和磁盘的利用率都较低,必须增加并发进程数。9.首先采用FIFO,当m=3时,缺页次数=9;m=4时,缺页次数=10。采用LRU算法,当m=3时,缺页次数=10;m=4时,缺页次数=8。结果说明:FIFO有Belady奇异现象,即不满足驻留集增大,缺页次数一定减小的规律;另在m=3时,LRU的缺页次数比FIFO要多,所以LRU算法并不总优于FIFO,还要看当前访问串的特点。10.存储管理的主要研究内容是主存存储分配、地址再定位、存储保护和存储扩充。11.实现虚拟存储器的物质基础是:一定容量的主存、足够的辅存和地址变换机构。12.(1)通过分页处理,使程序可以不需要占用连续的内存空间;(2)通过实现虚拟存储器,解决程序大小不能超过内存的容量的问题。13.(1)存储器访问具有时间和空间的“局部性”,因此快表的命中率一般可达70%到90%;(2)页表是在系统执行过程中,每时每刻都需要访问的,因此,访问时间的微小缩短,其累计节约的时间却可以达到很大。14.OS中存储管理的主要对象是内存储器的用户空间,以及作为内存用户空间的扩展和延伸的磁盘对换区(Unix)。内存的系统空间是存放OS内核的,不存在多道程序之间进行分配的问题,故不属存储管理的范围;在Unix中,磁盘对换区是用于进程映象对换的,因而从概念上讲是内存用户空间的扩充,故将它的管理也纳入存储管理之中。当然,不是所有的系统都有磁盘对换区,因而也不是所有系统的存储管理都有此管理对象。15.覆盖技术的基本思想是什么?解覆盖技术的基本思想是,若一个大的程序是由多个相对独立的程序模块组成,且有些模块是相互排斥的,即执行甲就不会执行乙,则在这种情况下,就没有必要将该程序的所有模块装入内存,而是将那些二者(或多者)执行时取其一的模块处理成“覆盖”,让它们共享内存的一个“覆盖区”。这样就可大大节省内存空间,达到用小内存运行大程序的目的。5.4.5解答题1.总结出的区别如下表所示:分页分段单一连续逻辑地址空间二维逻辑地址空间-45- 页是信息的物理单位页是面向系统的页内的信息逻辑上可能不完整的段是信息的逻辑单位段是面向用户的段内的信息在逻辑上是完整的页的大小固定由系统划分对用户透明段长度可变增长用户可见便于动态链接和存储保护修改和共享以页面为单位分配空间存在内零头不需要紧凑技术以段大小为单位分配的空间存在外零头需采用紧凑技术提出分页管理的目的是为了提高内存空间的利用率;提出分段管理的目的除了也可以提高内存空间的利用率(相对分区管理而言)外,主要是为了更好地实现程序的共享和动态链接,并方便用户编程。2.(1)因为页表放在内存,故取一条指令(或一个操作数)须访问两次内存,所以需0.6us×2=1.2us的时间。(2)这里假定访问快表的时间可以忽略不计,命中快表时取数只要一次访存,故此时的平均存取周期为0.6us×0.75+1.2us×(1-0.75)=0.75us说明:解此题的关键是要知道访问快表的时间可以忽略不计和平均存取周期的概念。3.根本区别就在于,虚存管理允许部分装入和部分对换,而实存管理不允许这样做。所谓“部分装入”,指的是一道应用程序不是全部装入内存以后才开始执行而是只装入其一部分(甚至一点都不装)就开始运行,然后在运行的过程中根据需要逐步地装入其余部分;“部分对换”,指的是当内存已满而又有新的将“部分”需要装入时,要把已在内存的某一“部分”换出去,以腾出空间存放新来者。部分装入和部分对换的结果是可以用小的内存运行大的程序。实存管理则不同,它所要求的是整体装入。4.(1)虚存的运行背景是用小内存运行大程序。这里的“大程序”是指比整个内存用户空间还要大的程序,它可以是一道程序,也可以是多道程序之和。(2)虚存的可行性基础是程序运行的局部性原理。(3)实现虚存的主要技术是部分装入、部分对换、局部覆盖、动态重定位。(4)从原理上讲,虚存空间就是CPU逻辑地址所给出的空间,例如,逻辑地址是25位,则虚存空间就是225=32M;但实际的虚拟存储器的容量还要受辅存和内存空间之和的限制,即虚存空间不能超过这两个物理空间之和。5.通过逐个演算,获得下表所示的结果。过程分得的页面数OptimalLRUFIFO1202020215171831115164810145781267797777说明:每一个页面第一次进入内存也算缺页。由上表可见,当进程分得的页面数在2~5之间时,Optimal缺页数最少,LRU次之,FIFO最多。大量统计证明LRU算法是实用算法中性能最好的。6.内存的有效存取时间EAT(EfficentAccessTime)也叫平均存取时间AAT(Average-45- AccessTime),其计算公式如下:EAT=命中快表时的存取时间×快表命中率+命中内存时的存取时间×内存命中率+页面失效时的存取时间×页面实效率将题中的已知条件代入可得EAT=1us×80%+2us×10%+(5000us+2us)×10%=0.8us+0.2us+500.2us=501.2us说明:解此题除了要了解“有效存取时间”的计算公式外,还应了解在命中快表、命中内存和页面失效三种情况下存取时间的计算方法。特别是,当页面失效时,除了页面传送时间,还应加上2次访问内存的时间,因为页面失效的前提是不命中快表。7.设可接受的最大缺页率为p,则有1us×0.7+2us×(1-0.7-p)+0.4p×8ms+0.6p×20ms=2us即0.7+0.6-2p+3200p+1200p=215198p=0.7p=0.0000468.(1)节约内存在许多情况下,每次要运行的模块可能是不相同的,但由于事先无法知道本次要运行哪些模块,故只能是将所有可能要运行到的模块,全部链接在一起,是每次执行时的装入全部的模块。显然这是低效的。因为装入的某些模块在运行过程中,根本就不运行。比较典型的例子是错误处理模块,如果程序在整个运行过程中,都不出现错误,便不会用到该模块。动态连接的方式就可以解决这个问题。(2)便于软件版本的修改和更新在采用装入时动态链接方式时,要修改或更新各个目标模块,是件非常容易的事,但对于经静态链接以装配在一起的装入模块,如果要修改或更新其中的某个目标模块时,则要求重新打开装入模块,这不仅是低效的,而且对于普通用户是不可能的。(3)便于实现目标模块共享和构建程序。若采用装入时动态链接方式,OS能够将一个目标模块链接到几个应用程序中去,即实现多个应用程序对该模块的共享。然而,采用静态链接方式时每个应用模块都必须含有该目标模块的拷贝,则无法实现共享。9.(1)LRU第2页面:20+8*3第4页面:20+8*3第5页面:20+8*3第2页面:8+1第7页面:20+8*3第6页面:20+8*3第4页面:20+8*3第8页面:20+8*3因此总的时间是(20+8*3)*7+(8+1)(2)OPT第2页面:20+8*3第4页面:20+8*3第5页面:20+8*3第2页面:8+1第7页面:20+8*3第6页面:20+8*3第4页面:8+1第8页面:8+1因此总的时间是(20+8*3)*5+(8+2)*3-45- 第六章设备管理习题一、选择最合适的答案1.在下面的I/O控制方式中,需要CPU干预最少的方式是()。(A)程序I/O方式(B)中断驱动I/O控制方式(C)直接存储器访问DMA控制方式(D)I/O通道控制方式2.某操作系统中,采用中断驱动I/O控制方式,设中断时,CPU用1ms来处理中断请求,其它时间CPU完全用来计算,若系统时钟中断频率为100HZ,则,CPU的利用率为()。(A)60%(B)70%(C)80%(D)90%3.下列哪一条不是磁盘设备的特点()。(A)传输速率较高,以数据块为传输单位(B)一段时间内只允许一个用户(进程)访问(C)I/O控制方式常采用DMA方式(D)可以寻址,随机地读/写任意数据块4.利用通道实现了()之间数据的快速传输。(A)CPU和外设(B)内存和CPU(C)内存和外设(D)外设和外设5.假脱机技术中,对打印机的操作实际上是用对磁盘存储实现的,用以替代打印机的部分是指()。(A)共享设备(B)独占设备(C)虚拟设备(D)物理设备6.设从磁盘将一块数据传送到缓冲区所用时间为80μs,将缓冲区中数据传送到用户区所用时间为40μs,CPU处理数据所用时间为30μs,则处理该数据,采用单缓冲传送某磁盘数据,系统所用总时间为()。(A)120μs(B)110μs(C)150μs(D)70μs7.对于速率为9.6KB/s的数据通信来说,如果说设置一个具有8位的缓冲寄存器,则CPU中断时间和响应时间大约分别为()。(A)0.8ms,0.8ms(B)8ms,1ms(C)0.8ms,0.1ms(D)0.1ms,0.1ms8.在调试程序时,可以先把所有输出送屏幕显示而不必正式输出到打印设备,其运用了()。(A)SPOOLing技术(B)I/O重定向(C)共享技术(D)缓冲技术9.设备驱动程序是系统提供的一种通道程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。下面的选项中不是设备驱动程序功能的是()。(A)检查用户I/O请求的合法性(B)及时响应由控制器或通道发来的中断请求(C)控制I/O设备的I/O操作(D)了解I/O设备的状态,传送有关参数,设置设备的工作方式10.下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是()。-45- (A)设备控制器和通道可以分别控制设备(B)设备控制器控制通道和设备一起工作(C)通道控制设备控制器,设备控制器控制设备(D)设备控制器控制通道,通道控制设备二、选择所有正确的答案1.下列哪一个选项是引入缓冲的原因()。(A)缓和CPU和I/O设备间速度不匹配的矛盾(B)减少对CPU的中断频率,放宽对中断响应时间的限制(C)减少CPU对I/O控制的干预(D)提高CPU和I/O设备之间的并行性2.从设备分配的角度来看,设备分成()。A.独享设备B.系统设备C.用户设备D.共享设备E.虚拟设备3.在操作系统中,下列选项属于软件机制的是()。(A)缓冲池(B)通道技术(C)覆盖技术(D)Spooling技术4.下列哪种设备是从设备分配策略角度来说的()。(A)系统设备(B)独享设备(C)共享设备(D)虚拟设备5.下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是()。(A)控制器和通道可以分别控制设备(B)控制器、通道和设备一起工作(C)通道控制设备控制器,设备控制器控制设备(D)设备控制器控制通道,通道控制设备6.在假脱机I/O技术中,对打印机的操作实际上是用对磁盘存储的访问。那么,用以替代打印机的部分通常称作()。(A)共享设备(B)独占设备(C)虚拟设备(D)物理设备7.下列存储设备中,适合作为共享设备的是()。(A)语音输入输出设备(B)打印机(C)鼠标(D)磁盘8.低速设备一般被设置成独占设备,可用作独占设备的有()。(A)软磁盘(B)磁带机(C)可擦写光驱(D)磁鼓9.系统中的通道数量较少,可能会产生“瓶颈”问题。()不是解决此问题的有效方法(A)在结构上增加一些连线,以增加数据传送通路(B)在数据传输线路上多增设一些缓冲区(C)提高CPU的速度(D)采用虚拟设备技术10.I/O系统硬件结构分为4级:1.设备控制器2.I/O设备3.计算机4.I/O通道,按级别由高到低的顺序是()。(A)2-4-1-3(B)3-1-4-2(C)2-1-4-3(D)3-4-1-2三、判断正误,简要说明理由1.操作系统采用缓冲技术的缓冲池主要是通过硬件来实现的。2.低速设备一般被设置成共享设备。-45- 3.通道指令和一般机器的指令没有什么不同。4.数组选择通道和数组多路通道可以支持多个通道程序并发执行,而字节多路通道不支持多个通道程度并发执行。5.共享设备允许多个作业同时使用设备,即每一时刻可有多个作业在使用该共享设备,因而提高了系统设备资源的利用率。6.由于设备分配中设置了若干数据结构,所以在设备分配中不会发生死锁。7.I/O通道控制方式中不需要任何CPU干预。8.先来先服务算法、优先级高者优先算法、时间片轮转算法等是经常在设备分配中采用算法。9.由于独占设备在一段时间内只允许一个进程使用,因此,多个并发进程无法访问这类设备。10.操作系统中应用的缓冲技术,多数通过使用外存来实现。四、简答题1.计算机中设备控制器是由哪些部分构成的?2.什么是字节多路通道?什么是数组选择通道和数组多路通道?3.有哪几种I/O控制方式?分别适用何种场合?4.试说明DMA的工作流程。5.在单缓冲情况下,为什么系统对一块数据的处理时间为max(C,T)+M。6.为什么在双缓冲情况下,系统对一块数据的处理时间为max(C,T)?7.试绘图说明把多缓冲用于输出时的情况。8.试说明收容输入工作缓冲区和提取输出工作缓冲区的工作情况。9.何谓安全分配方式和不安全分配方式?10.为什么要引入设备独立性?如何实现设备独立性?11.试说明SPOOLing系统的组成。12.在实现后台打印时,SPOOLing系统应为请求I/O的进程提供哪些服务?13.试说明设备驱动程序具有哪些特点?14.试说明设备驱动程序应具有哪些功能?15.设备驱动程序通常要完成哪些工作?16.设备中断处理程序通常需完成哪些工作?习题解答一、1.D2.D3.B4.C5.C6.A7.C8.B9.C10.C二、1.(ABD)2.(ADE)3.(ACD)4.(BCD)5.(BC)6.(C)7.(D)8.(ABC)9.(BCD)10.(D)三、1.答案:(错)。缓冲技术的实现方法有硬件和软件两种。·硬件方法,适于应用在速度和安全性要求较高的重要场合,且费用很高;·软件方法,即在内存中开辟出专门的存储区来做缓冲区。操作系统采用的缓冲池技术是系统公用资源,由多个缓冲区组成,是通过采用软件的方法在内存中实现的。2.答案:(错)计算机外部设备分为:高速设备和低速设备。低速设备是不可以共享使用的,因为在一段时间内不能由多个进程同时访问。3.答案:(错)通道指令与一般机器指令有如下几点不同之处:①通道指令的寻址方式较一般机器指令简单。②通道指令的指令格式方式较一般机器指令简单。③通道指令的操作码较一般机器指令简单。4.答案:(错)在硬件结构中只有数组多路通道支持多个通道程序并发执行。-45- 5.答案:(错)共享设备允许多个作业在一段时间内同时使用设备。6.答案:(错)为了保证每一次设备分配的顺利实施,系统中设置了DCB、COCB、CHCB、SDT等数据结构。但这并不能保证设备分配的安全性。要想保证分配不发生死锁,还需进行安全性测算。7.答案:(错)通道在I/O程序执行的开始或结束时,必需要CPU进行一定的处理。只有在执行I/O程序期间,无需CPU干预。8.答案:(错)前两种算法可用在设备分配中采用,而时间片轮转算法则不适合在设备O分配中。因为一般设备的I/O操作一经启动后,便一直运行下去直到完成,I/O操作期间不宜中断,更不宜切换给其他进程使用。9.答案:(错)可以把独占设备作为系统的一种临界资源,用互斥的方法访问它。10.错。因为操作系统中应用的缓冲技术是有其限定性的,一般是在内存中或通过硬件技术来实现的。基本上不通过外存来实现。四、1.答:包括:①设备控制器与CPU的接口;②设备控制器与设备的接口;③输入输出逻辑(见下图所示)。2.答:①字节多路通道含有多个子通道。每个子通道连接一台低速设备,以轮流方式共享主通道。任一子通道交换完一个字节后就将主通道让给下一个子通道。②数组选择通道可连接多台高速外设,具有较高的传输速率。它有一台分配型子通道,一段时间内只能执行一道通道程序,使一台设备独占通道以进行数据交换,直到交换完后才可让给其他的设备。③数组多路通道含有多个非分配型子通道,每个子通道连接一台高速外设,以轮流方式共享主通道。任一子通道交换完若干字节后就将主通道让给下一个子通道。3.答:共有四种I/O方式:①程序I/O方式,又称作“忙-等”方式。该方式执行一个循环程序,反复查询外设状态,如果外设“忙碌”则循环查询,直到查得外设状态为“闲置”时止。该方式适用于机内没有中断机构的场合。②中断控制I/O方式。该方式在进行I/O时,CPU向控制器发出I/O命令后,由控制器控制外设操作,CPU转其他任务的处理,即,CPU与外设并行工作。当外设完成I/O后向CPU发中断信号,CPU只需花费很少的时间进行I/O的善后处理,此前毋须进行干预。该方式可适于低速外设I/O,并可配合DMA和通道方式实现I/O。③DMA(直接内存访问)方式。该方式适于高速外设I/O,一次可以在外设与内存之间传输一个或多个数据块。传输完毕后才需CPU干预。④通道方式。该方式中,系统预先要将I/O的过程实现为一段通道程序,置于内存的特定位置,而后启动通道。由通道负责执行通道程序对外设进行I/O控制,CPU转其他程序运行。I/O完成后通道向CPU发中断信号,CPU花很少时间作善后处理。4.答:①CPU需要访问外存时,便发送一条访问命令给DMA的命令寄存器CR、一个内存地址码给DMA的内存地址寄存器MAR、本次要传送的字节数给DMA的数据计数器DC、外存地址给DMA的I/O控制逻辑中。②启动DMA控制器,然后CPU转其他任务处理。③DMA控制器负责控制数据在内存与外存之间传送。每传送一个字节就需挪用一个内存周期,按MAR从内存读出或写入内存一个字节,修改MAR和计数器DC。-45- ③当DC修改为0,表示传送结束,由DMA向CPU发出中断请求。5.答:令T是读外存数据送内存缓冲区时间,M是数据从缓冲区传送到用户区的时间,C是读内存用户区数据进行计算的时间。当进行第I次读外存数据送缓冲区时,系统可同时读出用户区中第(I-1)次数据进行计算。此两项操作并行进行且互不干扰,并与数据从缓冲区传送到用户区的操作串行进行,因此处理一块数据的时间大约为max(C,T)+M。6.答:该方式又称缓冲对换方式。写入者花费时间T将数据写满一个缓冲区后再写另一个缓冲区;读出者花费时间M将一个缓冲区数据送到用户区后再传送另一个缓冲区数据,运算者读出用户区进行处理。由于将数据从缓冲区传送到用户区操作必须与读用户区数据进行处理串行进行,而且它们又可以与从外存传送数据填满缓冲区的操作并行。因此耗时大约为max(C+M,T)。考虑到M是内存中数据块的“搬家”耗时,非常短暂可以省略,因此近似地认为是:max(C,T)。7.答:一般情况下,需要将多缓冲区形成一个环。环上设置两个指针:Nexti和Nextg。前者指出数据的存入位置,后者指出数据的提取位置。下图是由6个缓冲区组成的环,其中,带阴影的表示是装满数据的缓冲区,不带阴影的是空缓冲区。当需要将环中的一个缓冲区数据输出时,①用P操作独占该环;②判断Nexti与Nextg是否重合,若是重合则表示环中数据已空,需要通过V操作释放该环,并阻塞等待。③若Nexti与Nextg没有重合,则从Nextg处取出一个缓冲区的数据,将Nextg顺序向后推一个位置,需要通过V操作释放该环。8.答:①当需要输入数据时,调用GetBuf(emq)过程从空闲队列上摘下一个空缓冲区,作为收容输入工作缓冲区hin,输入的数据被装入hin中,装满hin后,调用PutBuf(inq,hin)过程将hin挂入输入队列inq中。②当需要输出数据时,调用GetBuf(outq)过程从输出队列上摘下一个装满数据的缓冲区,作为提取输出工作缓冲区sout,将sout中的数据提取输出,sout的数据被提取完后,调用PutBuf(emq,sout)过程将sout挂入空闲队列中。9.答:①安全分配是一种“摈弃请求和保持条件”的资源分配方式。在这种方式中,一个进程请求资源一旦获得(比如I/O请求时获得所需的设备),该进程就由运行状态变为阻塞状态,使它不可能再请求新的资源。相反,当该进程开始运行时(比如I/O完成后被唤醒),它已不占有资源。因此,这种分配摈弃了造成死锁的一个条件,分配是安全的。这种分配方式的缺点是进程推进速度慢,因为CPU与I/O是串行的。②不安全的分配方式是指,进程在提出资源请求时(比如I/O请求)并不将它阻塞,而是允许它继续使用CPU,并提出第二次资源请求。这样,若第二次请求的资源已被其他进程占用使该进程被阻塞时,则该进程具备了“请求和保持”条件,可能产生死锁,因而说,这种分配是不安全的分配。10.答:①设备独立性又称为设备无关性。它指的是应用程序在使用设备进行I/O时,使用的是逻辑设备,而系统在实际执行时使用的是物理设备,由操作系统负责逻辑设备与物理设备的映射。引入设备独立性可以使设备的分配具有极大的灵活性,并易于实现I/O重定向。②系统为每个进程设置一张“逻辑设备表”(LUT)。当某进程用逻辑名来请求设备时,系统查阅“系统设备表”SDT,为它分配相应的可用物理设备。系统将这种用户逻辑设备与系统物理设备的映射,建立在该用户的LUT中,并将该物理设备的驱动程序入口地址填入LUT中。以后,该进程利用逻辑设备名请求I/O操作时,系统通过查找LUT即可找到物理设备及其驱动程序。②SPOOLing技术实现了将独占设备虚拟为多台逻辑设备的功能。-45- 11.答:①输入输出井。这是在磁盘上开辟两个大空间,一个是输入井,用来收容输入设备上的数据(模拟拖机输入的磁盘);另一个是输出井,用来收容用户进程的输出数据(模拟脱机输出的磁盘)。②输入缓冲区和输出缓冲区。这是内存中开辟的两个缓冲区,一个是输入缓冲区,暂存输入设备来的数据,以后再传送到输入井;另一个是输出缓冲区,暂存输出井送来的数据,以后传送到输出设备。③输入进程和输出进程。输入进程实现的是收容输入和提取输入。在收容输入时,负责将输入设备的数据通过内存输入缓冲区转存到磁盘的输入井中;提取输入时,负责将磁盘输入井的数据送入内存用户区。输出进程实现的是收容输出和提取输出,过程与输入过程相反。④请求打印队列。12.答:这项工作由SPOOLing的输出进程来承担,主要做三件事:①在输出井上请求一块缓冲区,将要打印的数据送入其中。②请求一张空白“用户请求打印表”,填入打印说明信息后挂入请求打印队列。③一旦打印机空闲,就从请求打印队列头部取下一个请求打印表,根据表中要求将输出井的数据读入内存缓冲区,由打印机输出。13.答:设备驱动程序又称设备处理程序,主要特点有:①将进程的I/O请求传送给设备控制器,并将设备控制器记录的设备状态、I/O完成情况反馈给进程。②设备驱动程序与设备的紧密性相关,不同的设备应配置不同的设备驱动程序。③设备驱动程序与I/O控制方式紧密相关,四种控制方式应当各不相同。④设备驱动程序与硬件紧密相关,部分程序必须用汇编语言编写。目前,驱动程序的基本操作都被固化到ROM中了。14.答:设备驱动程序是请求I/O的进程与设备控制器之间的一个通信程序,主要功能有:①将用户的要求转换为具体要求。②检查用户的合法性,了解设备状态,根据要求传递参数,设置设备的工作方式。③向设备控制器发I/O命令启动设备,完成具体的I/O操作。④及时响应外设的中断请求,根据中断类型调用相应的中断处理程序。⑤具有通道的控制系统,还要构造通道程序。15.答:设备驱动程序在启动设备前做一些必要的预备工作,然后启动设备。即:①将抽象要求转换为具体要求。②检查I/O请求的合法性。③读出设备状态并检查。④传递参数。⑤设置工作方式。⑥启动I/O设备。16.答:当设备完成了I/O之后,设备控制器向CPU发送一个中断请求,CPU响应后即可转向中断处理程序。中断处理程序的工作可分为以下几步:①唤醒等待该项I/O的进程。②保护被中断进程的CPU运行环境。③分析中断原因,转入相应的中断处理程序。④进行中断处理。⑤恢复被中断进程的现场。-45-'