操作系统第三版刘振鹏王煜张明编著答案.doc_第1页
操作系统第三版刘振鹏王煜张明编著答案.doc_第2页
操作系统第三版刘振鹏王煜张明编著答案.doc_第3页
操作系统第三版刘振鹏王煜张明编著答案.doc_第4页
操作系统第三版刘振鹏王煜张明编著答案.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 引论1什么是硬件系统?什么是软件环境?它们之间有什么联系?答:计算机硬件是指计算机系统中由电子、机械和光电元件等组成的各种计算机部件和计算机设备。这些部件和设备依据计算机系统结构的要求构成的有机整体,称为计算机硬件系统。软件是计算机系统中的程序和有关的文件。程序是计算任务的处理对象和处理规则的描述;文件是为了便于了解程序所需的资料说明。硬件为软件提供具体实现的基础,软件是用户与硬件之间的接口界面。2什么是操作系统?操作系统追求的主要目标是什么? 答:操作系统是计算机系统中的一个系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行的一组程序 模块的集合。操作系统追求的主要目标包括四个方面,分别是:方便性、有效性、可扩充性、开放性。3在用户程序与硬件裸机之间,操作系统可以分为那几个模块?答:在用户程序与硬件裸机之间,操作系统可以分为:系统软件、支撑软件和应用软件三个模块。 4.操作系统如何实现计算机操作的自动化?如何看待操作系统在计算机系统中的地位?答:(1)计算机操作系统是实现自动化控制的一部分,大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统。批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。又可分为批处理单道系统和批处理多道系统。单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率。分时操作系统,这种系统中,一个计算机系统与许多终端设备连接,分时系统支持多个终端用户,同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。实时操作系统能使计算机系统接收到外部信号后及时进行处理,并在严格的规定时间内完成处理,且给出反馈信号。它是较少有人为干预的监督和控制系统。实时系统对可靠性和安全性要求极高,不强求系统资源的利用率。网络操作系统可以把若干计算机联合起来,实现各台计算机之间的通信及网络中各种资源的共享,像我们现在使用的Windows ,UNIX和Linux等操作系统都是网络操作系统。分布式操作系统的网络中各台计算机没有主次之分,在任意两台计算机间的可进行信息交换和资源共享。这一点上分布式操作系统和网络操作系统差别不大,他们的本质区别在于:分布式操作系统能使系统中若干计算机相互协作完成一个共同的任务。这使得各台计算机组成一个完整的,功能强大的计算机系统。(2)操作系统实际上是一个计算机系统中硬、软件资源的总指挥部。操作系统的性能高低,决定了整体计算机的潜在硬件性能能否发挥出来。操作系统本身的安全性和可靠程度,在一定程度上决定了整个计算机系统的安全性和可靠度。它是软件技术的核心,是软件的基础运行平台。操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充,支持其他所有软件运行。5.操作系统分成哪几类? 答:单道批处理系统、多道批处理系统、分时系统、实时系统、微机操作系统、多处理机操作系统、网络操作系统和分布式操作系统。6.从资源管理的角度来看,操作系统具有哪些功能?答:从资源管理的角度来看,操作系统的基本功能可分为五大部分 (1)处理器管理:为用户地分处理器时间,尽可能地使处理器处于忙状态,提高处理器的工作效率。(2)存储管理:实现对主存储器的管理,为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。 (3)文件管理:面向用户实现按文件名存取文件,管理用户信息的存储、检索、共享和保护,合理地分配和使用文件的存储空间。 (4)设备管理:负责管理各种外围设备,包括设备的分配、启动以及SPOOL的实现技术。 (5)作业管理:实现作业调度和控制作业的执行。作业调度从等待处理的作业中选择可以装入主存储器的作业,对已经装入主存储器的作业按用户的意图控制其执行。讨论操作系统可以从哪些角度出发,如何统一看待它们?答:可以从软件的观点、计算机系统资源管理的观点、进程的观点、用户与计算机硬件系统之间的观点、虚机器观点、服务提供者观点。简述操作系统发展的几个阶段。答:(1)1946年50年代末,第一代电子管时代,无操作系统(2)1950年代末60年代中期,第二代晶体管时代,批处理系统;(3)1960年代中期70年代中期,第三代,集成电路时代,多道程序设计;(4)1970年代中期至今,第四代,大规和超大规模集成电路时代,分时系统;也可以把操作系统的发展阶段总结为:第一代是以dos为代表的磁盘操作系统时代,以磁盘管理的方式来管理内容;第二代是以Windows为代表的文件操作系统时代,以文件管理的方式来管理内容;第三代是以安卓和ios为代表的应用操作系统时代,应用成为主要的管理内容的工具;第四代,则是即将来临的时代,超级app凌驾于操作系统之上的时代。什么叫批处理系统?它可分为哪两种?答:通常是把一批作业以脱机输入方式输入到磁带上,并在系统中配上监督程序,在监督程序的控制下使这批作业能一个接一个地连续处理,这样的系统成为批处理系统。可分为单道批处理系统和多道批处理系统。10什么是多道程序系统?其主要特性是什么?答:多道程序系统是指在内存中同时放入若干道作业,并且可以相互交替执行程序。 多道程序设计的基本特征:多道性、无序性、调度性。11.什么是分时系统?其主要特点是什么?答:分时系统是指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可以通过自己的终端以交方式使用计算机的系统。特点:多路性、独立性、及时性、交互性。12.什么是实时系统?主要有哪几大类?答:实时系统是指系统能及时响应外部事件请求,在规定的时间内完成该事件的处理,并控制所有实时任务协调一致的运行。主要包括:(1)按任务执行时是否呈现周期性来划分,包括:周期性实时任务、非周期性实时任务。(2)根据对截止时间的要求来分,包括:强实时任务、弱实时任务。13实时系统与分时系统命令的主要区别有哪些?答:分时操作系统特点:多路性、交互性、独立性、及时性实时操作系统特点:多路性、交互性、独立性、及时性、可靠性(1)多路性。实时信息处理系统也按分时原则为多个终端用户服务。实时控制系统的多路性则主要表现在系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。而分时系统中的多路性则与用户情况有关,时多时少。(2)独立性。实时信息处理系统与分时系统一样具有独立性,每个终端用户在向实时系统提出服务请求时,是彼此独立地操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。(3)及时性。实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微秒。(4)交互性。实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理和资源共享等服(5)分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统高度可靠。14简述操作系统的特征?答:并发、共享、虚拟、异步性。15简述处理机的组成和工作原理。你认为哪些部分和操作系统密切相关?为什么?一般处理器由运算器、控制器、一系列的寄存器以及高速缓存构成。运算器实现任何指令中的算术和逻辑运算,是计算机计算的核心;控制器负责控制程序运行的流程,包括取指令,维护CPU状态,CPU与内存之间的交互等等。寄存器是指令在CPU内部做处理的过程中暂存数据,地址一级指令信息的存储设备,在计算机的存储系统中它具有最快的访问速度。加上高速缓存以及内存管理单元()。16.为了支持操作系统,现代处理机一般都提供哪两种工作状态以隔离操作系统和普通程序?两种状态各有什么特点?答:管态(特权态)和目态(用户态)管态一般指操作系统管理程序运行时的状态,具有较高的特权级别,可以执行所有指令;而目态一般指用户程序运行时的状态,具有较低的特权级别,只可以执行非特权指令。17.什么是分级的存储体系结构?它主要解决了什么问题?答:为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。名称简称用途特点高速缓冲存储器Cache高速存取指令和数据存取速度快,但存储容量小主存储器主存存放计算机运行期间的大量程序和数据存取速度较快,存储容量不大外存储器外存存放系统程序和大型数据文件及数据库存储容量大,位成本低18.内存通常有哪两种类型?它们各自的特点是什么?用在那里?答:读/写型存储器(RAM)和只读存储器(ROM)读/写型存储器(RAM)是指可以把数据存入其中任一地址单元,并且可在以后的任何时候把数据读出来,或者重新存入别的数据的一种存储器,这种存储器通常称为随机访问存储器,断电后信息会消失。主要用于存放随机存取的程序和数据。只读存储器(ROM)是指只能从其中读取数据,但不能随意地用普通的方法向其中写入数据(向其中写入数据只能用特殊的方法),这种存储器通常称为只读存储器,断电后信息不会消失。通常把一些常驻内存的模块以微程序形式固化在ROM中。19.简述程序的局部性原理。这个原理在分级的存储体系结构中是怎样起作用?答:原理:程序执行时,处理器为了取得指令和数据而访问存储器。现代的程序设计技术很注重程序代码的复用,这样,程序中会有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合。类似地,对数据存取也有这样的局部性。在经过一段时间以后,使用到的代码和数据的集合会改变,但在较短的时间内它们能比较稳定地保持在一个存储器的局部区域中,处理器也主要和存储器的这个局部打交道。作用:基于这一原理,就有充分的理由设计出多级存储的体系结构,并使得存取级别较低的存储器的比率小于存取级别较高的存储器的比率。20.缓冲技术在计算机系统中起着什么样的作用?它是如何工作的?答:作用:解决了部件之间速度不匹配的问题。工作:每当用户要求输入数据时,先在缓冲区中寻找,如果已经在缓冲区,即可直接从中读取,如果不在,就再访问内存,由内存输入到缓冲区再由用户使用21.简述中断和操作系统的关系。操作系统是如何利用中断机制的?答:中断是处理机对系统中或系统外发生的异步事件的响应。中断装置就是在CPU每执行完一条指令后,判别是否有事件发生,如果没有事件发生,CPU继续执行;若有事件发生,中断装置中断原先占用CPU的程序的执行,把被中断程序的断点保存起来,让操作系统的处理服务程序占用CPU对事件进行处理,处理完后,再让被中断的程序继续占用CPU执行下去。中央处理器在任何时刻最多只能被一个程序占用。通过中断装置系统中若干程序可以交替地占用处理器,形成多个程序同时执行的状态。利用CPU与外围设备的并行工作能力,以及各外围设备之间的并行工作能力,操作系统能让多个程序同时执行。22.时钟对操作系统有什么作用?答:在计算机系统中,设置时钟是十分必要的。这是由于时钟以为计算机完成以下必不可少的工作:1. 在多道程序运行环境中,它可以为系统发现一个陷入死循环(编程错误)的作业,从而防止机时的浪费。2. 在分时系统中,用间隔时钟来实现作业间按时间片轮转。3. 在实时系统中,按要求的进间间隔输出正确的时间信息号给一个实时控制的控制设备(如A/D 、D/A转换设备。4. 定时唤醒那些要求延迟执行的各个外部事件(如定时为各进程计算优先数,银行系统中定时运行某类结账程序等)。5. 记录用户使用各种设备的时间和记录某外部事件发生的时间间隔。6. 记录用户和系统所需要的绝对时间,即年、月、日。23.操作系统结构设计有哪几种方法?各有何优缺点?答:操作系统结构设计有:(1)模块化结构操作系统 优点:提高了操作系统设计的正确性,可理解性和维护性;增强了操作系统的可适应性;加速了操作系统的开发过程;(2)层次结构操作系统 优点:易保证系统的正确性;易扩充性和易维护性;(3)微内核 优点:足够小的内核;基于客户/服务器模式;应用机制和策略分离的技术;采用面向对象的技术;(4)客户/服务器模式 优点:允许数据的分布处理要和存储,有便于集中管理,灵活性和可扩充性强,易修改。第2章 用户接口与作业管理1.解释作业和作业步?答:作业:把一次计算机过程或者事务处理过程中,肏输入输出结束,用户要求计算机所做的全部工作;作业步:完成作业的每一个步骤。2阐述程序、作业、作业步的联系与区别答:联系:用户要求计算机处理的问题,要用某种程序设计语言对要处理的问题编制程序后交给计算机系统,作业的每一个加工步骤称为一个作业步,针对每个作业步,计算机系统要创建一个或多个进程才能执行。区别:程序是指令的集合;进程是程序在一个数据集上的一次执行;用户要求计算机系统处理的个别计算问题成为一个“作业”。任何一个作业都要经过若干加工步骤才能得到结果,作业的每一个加工步骤称为一个作业步。3.什么是作业调度?作业调度选择作业的必要条件是什么?答:操作系统根据允许并行工作的道数和一定的算法从等待的作业(后备作业)中选取若干作业装入主存储器,使它们可以去获得处理器运行,这项工作称为作业调度。作业调度的必要条件是,即只有在系统当前尚未分配的资源可以满足在系统中等待执行的作业的资源要求。4.操作系统提供了哪些便于用户控制交互式作业的使用接口答:操作系统提供了命令接口、程序接口、图形接口三种类型的用户接口,其中程序接口是操作系统专门为用户程序设置的,也是用户程序取得操作系统服务的唯一途径。程序接口通常由各种各样的系统调用所组成。一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?为什么?答:在一个具有分时兼批处理的计算机系统中总是优先接纳终端用户作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业,允许终端作业和批处理作业混合同时执行。为了使终端用户有满意的时间,可采用分级调度的方法分配处理器。可把有关终端作业的就绪进程排成一个就绪队列,而把有关批处理作业的就绪进程排入另外的就绪队列中。当有终端作业的就绪进程时,总是让终端作业的就绪进程按“时间片轮转”的方法现占用处理器。当无终端作业的就绪进程时,才去查看批处理作业的就绪队列,按确定的算法从中选择一个就绪进程让它占用处理器。可使终端用户满意,又能提高系统效率。系统采用不能移动已在主存储器中作业的可变分区方式管理主存储器,现有供用户使用的主存空间100K,系统配有4台磁带机,有一批作业见表2.6。表2.6作业序号 进输入井时间 要求计算时间 需要主存量 申请磁带机数1l0:0025分钟15K2台210:2030分钟80K1台310:3010分钟50K3台410:3520分钟10K2台510:4015分钟30K2台该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,请分别写出采用“先来先服务调度算法”、“计算时间短的作业优先算法”和选中作业执行的次序以及各个作业的装入主存时间、开始执行时间、完成时间、周转时间以及它们的平均周转时间。注意:作业从提交到完成需要经过两级调度,分别是作业调度和进程调度,这两级调度采用相同的调度策略。答:1. 作业调度和进程调度均采用FCFS调度算法。作业序号进入输入井时间执行次序装入内存时间开始执行时间完成时间周转时间110:00110:0010:0010:2525210:20210:2010:2510:5535310:30411:3011:3011:4070410:35310:3510:5511:1540510:40510:5511:1511:3050平均周转时间=(25+35+70+40+50)/5=44(2)作业调度和进程调度均采用最短作业优先调度算法。最短作业优先作业序号进入输入井时间执行次序装入内存时间开始执行时间完成时间周转时间备注110:00110:0010:0010:2525210:20210:2010:2510:5535310:30511:3011:3011:4070410:35410:3511:1011:3055510:40310:5510:5511:1030平均周转时间=(25+35+70+55+30)/5=43(3)作业调度和进程调度均采用响应比最高者优先调度算法。作业序号进入输入井时间执行次序装入内存时间开始执行时间完成时间周转时间备注110:00110:0010:0010:2525210:20210:2010:2510:5535310:30511:3011:3011:4070410:35410:3510:5511:154010:55时,作业2结束,内在中有作业4和5,作业4的响应比=2,作业5的响应比=1,应调度4510:40310:5511:1511:3050平均周转时间=(25+35+70+40+50)/5=447在一个批处理单道系统中,采用响应比高者优先的作业调度算法。当一个作业进入系统后就开始调度。假定作业都仅是计算,忽略调度花费的时间。现有3个作业,进入系统的时间和需要计算的时间如表2-2表22 进入系统的时间和需要计算的时间表作业进入系统时间需要计算时间开始时间完成时间周转时间19:0060分钟9:0010:0060分钟29:1045分钟10:2511:10120分钟39:1525分钟10:0010:2570分钟(1)求出每个作业的开始时间、完成时间及周转时间。答:(1)由于作业1先被调度,所以作业1的开始时间为:9:00,完成时间为:10:00,周转时间:60分钟(完成时间-进入系统时间):作业2的响应比=1+50/45作业3的响应比=1+45/25因为作业3的响应比 作业2的响应比高,则作业3被调度。所以作业3开始时间为:10:00,完成时间:10:25,周转时间:70分钟,继续调度作业2,所以开始时间为:10:25,完成时间:11:10,周转时间:120分钟(2)计算三个作业的平均周转时间应为多少?平均周转时间=8383.3分钟8.批处理作业是如何控制执行的?答:按用户提交作业控制说明书控制作业的执行。一个作业往往要分几个作业步执行,一般说,总是按照作业步顺序控制作业执行的,一个作业步的工作完成后,继续下一个作业步的工作,直至作业执行结束,一个作业步的工作往往由多个进程合作来完成。9设有I/O频繁、I/O与计算机均衡和计算量大的3个作业,它们同时进入内存并行工作,请给每个作业赋予运行优先数,并说明理由。答:选择作业调度算法要考虑多种因素,其中一个重要的因素就是系统资源的均衡使用。用户作业所需资源差异很大,例如,进行科学计算的作业(CUP繁忙)要求较多的CPU时间,而输入/输出要求较少;事务处理作业(I/O繁忙)要求较少的CPU时间,而要求较多的输出打印各种表格。因此在考虑设计目标的前提下,合理搭配各种类型的作业,最大限度地发挥各种资源的效益,使它们得到充分利用,这对提高整个计算机系统效益会有好处。计算量大的作业的优先级为1、I/O与计算机均衡作业的优先级为2、I/O频繁作业的优先级为3。10什么是系统调用?系统调用与一般过程调用的区别是什么?答:系统调用在本质上是应用程序请求操作系统核心完成某一特定功能的一种过程调用,是一种特殊的过程调用,它与一般的过程调用有以下几方面的区别:(1)通过软中断进入一般的过程调用可直接由调用过程转向被调用过程;而执行系统调用时,由于调用和被调用过程是处于不同的系统状态,因而不允许由调用过程直接转向被调用过程,而通常都是通过软中断机制转向相应的命令处理程序。(2)运行在不同的处理机状态一般的过程调用,其调用程序和被调用程序都运行在相同的处理机状态。而系统调用与一般调用的最大区别就在于:调用程序运行在目态,而被调用程序运行在管态。(3)处理机状态的转换一般的过程调用不涉及系统状态的转换,直接由调用过程转向被调用过程。但在运行系统调用时,由于调用和被调用过程工作在不同的系统状态,因而不允许由调用过程直接转向被调用过程,通常都是通过软中断机制先由目态转换为管态,在操作系统核心分析之后,再转向相应的系统调用处理程序。(4)返回问题一般的过程调用在被调用过程执行完后,将返回到调用过程继续执行。但是,在采用抢占式调度方式的系统中,系统调用在被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍然具有最高优先级,则返回到调用进程继续执行,否则,将重新调度,以便让优先级最高的进程优先执行。此时,系统将把调用进程放入就绪队列中。(5)嵌套调用像一般过程一样,系统调用也允许嵌套调用,即在一个被调用过程的执行期间,还可以再利用系统调用命令去调用另一个系统调用。一般情况下,每个系统对嵌套调用的深度都有一定的限制,例如最大深度为6。11分时系统中终端处理程序的作用是什么?答:配置在终端上的终端处理程序主要用于实现人机交互,接收用户从终端上输入的字符、字符缓冲管理、回送显示、屏幕编辑和特殊字符处理。第3章 进程与进程管理什么是进程?它与程序有哪些异同点?答:进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。或者说,进程是进程实体的运行过程。异同点:进程是程序的一次执行,它是一个动态的概念,程序是完成某个特定功能的指令的有序序列,它是个静态的概念。但进程是把程序作为它的运行实体,没有程序,也就没有进程。进程和程序的区别还在于:一个进程可以执行一个或几个程序。反之,同一程序也可能由多个进程同时执行。进程是系统进行资源分配和调度的一个独立单位;程序则不是。程序可以作为一种软件资源长期保存,而进程是程序的一次执行过程,它是临时的,有生命期的。表现在它由创建而产生,完成任务后被撤消。进程是具有结构的。为了描述进程的运行变化过程,应为每个进程建立一个结构进程控制块。从结构上看,进程是由程序、数据和进程控制块三部分组成。进程控制块的作用是什么?它主要包括哪几部分内容?答:进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。也就是说,操作系统是根据进程控制块PCB来对并发执行的进程进行控制和管理的。PCB是进程存在的惟一标志。在进程控制块中,主要包括下述四个方面用于描述和控制进程运行的信息:进程表示符信息处理机状态信息进程调度信息进程控制信息3进程有哪几种基本状态?试举出使进程状态发生变化的事件并描绘它的状态转换图。 进程有以下三种基本状态:就绪状态。当进程已分配到除CPU以外所有必要的资源后,只要能再获得处理机便可立即执行,这时的状态称为就绪状态。执行状态。进程已获得处理机,程序正在执行。阻塞状态。进程因发生某种等待事件(如I/O请求、申请缓冲空间等)而暂停执行时的状态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等待”状态或“睡眠”状态。(2)进程状态的转换进程在运行期间不断地从一个状态转换到另一个状态,进程的各种调度状态依据一定的条件而发生变化,它可以多次处于就绪状态和执行状态,也可多次处于阻塞状态,但可能排在不同的阻塞队列中。进程的三种基本状态及其转换如下图所示。1. 什么是操作系统内核答:现代操作系统广泛采用层次式结构,而将操作系统的功能分别设置在不同的层次中,通常,将一些与硬件紧密相关的模块诸如中断处理程序、各种常用设备的驱动程序以及运行频率较高的模块(诸如时钟管理、进程调度以及许多模块公用的一些基本操作)都安排在紧靠硬件的软件层次中并使它们常驻内存,以便提高操作系统的运行效率,并对它们加以特殊的保护。通常把这一部分称为操作系统的内核。内核是计算机硬件的第一层扩充软件,它们为系统对进程进行控制、对存储器进行管理提供了有效的机制。大多数时间片轮转调度程序使用一个固定大小的时间片,请给出选择小时间片的理由。然后,再给出选择大时间片的理由。答:选择小时间片目的是使轮转的总时间减少,使用户进程尽快得到应答选择大时间片目的是减少进程调度的次数,提高系统效率。有5个批处理作业A到E几乎同时到达一计算中心。它们的估计运行时间分别为10、6、2、4和8分钟。其优先数(由外部设定)分别为3、5、2、1和4,其中5设为最高优先级。对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的开销。时间片轮转法(当时间片长短=6分钟时);优先级调度;先来先服务(按照次序l0、6、2、4、8运行);最短作业优先。对,假设系统具有多道处理能力,每个作业均获得公平的CPU时间,对到假设任时刻只有一个作业运行,直到结束。所有的作业都是CPU密集型作业。答:时间片轮转法的平均周转时间是21A, B, C, D, E分别时间为10,6,2,4,8,时间片大小为六,所以经过两轮时间片轮转,A的周转时间是34,B的是12,C的是14,D的是18,E的是24;所以102/5=21;优先级调度的平均周转时间是20 A, B, C, D, E分别优先级为3,5,2,1,4,时间片大小为六,所以次序为B,E,A,C,D,B的周转时间是6,E的是14,A的是24,C的是16,D的是30;所以100/5=20;先来先服务的平均周转时间是19.2 次序为 A, B, C, D, EA的周转时间是10,B的是16,C的是18,D的是22,E的是30;所以96/5=19.2;最短作业优先的平均周转时间是14 次序为 C, D,B, E,AA的周转时间是30,B的是12,C的是2,D的是6,E的是20;所以70/5=14;7.什么是线程?进程和线程的主要区别是什么?答:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出 口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。8.简述进程创建的步骤。答:(1)申请空白PCB;(2)为新进程分配资源,为新进程的程序和数据以及用户栈分配必要的内存空间。(3)初始化进程控制块(4)将新进程插入就绪队列。9.某系统采用最高响应比优先的调度算法,某个时刻根据用户要求创建了一个进程P,进程P在其存在过程中依次经历了如下进程:答:创建进程P:进程处于就绪状态;(1):就绪态执行态;执行态阻塞态;(2):阻塞态就绪态(3):就绪态 执行态(4):执行态就绪态(5):就绪态 执行态(6):执行态完成态10.若程序Pa、Pb和Pc单独执行的时间分别为Ta=15min,Tb=1 .5h,Tc=2h,其中处理机工作时间分别为Ta=10min,Tb=15min,Tc=35min,如果采用多道程序设计的方法,让Pa,Pb,Pc并行工作,假定处理机利用率达到60%,另加20分钟系统开销,请问系统效率能提高百分之几?答:单道花费的时间:1+1.5+2=4.5多道程序共花费的时间:(10+15+35)/60%=100min总花费时间:100+20=120min=2h效率提高:(1+1.5+2)-2)/4.5=5/911、假定有一个进程A,他的工作流程图3-21所示,如果系统中进程只有3中状态(就绪,执行,阻塞),且进程被进程调度选中后就可投入运行,时间片q=200ms,请顺序列出其从开始到结束所经历的状态转换过程,并注明原因。答:(1)开始时,进程被调度程序选中立即投入运行,运行200ms后,时间片到时,进程有运行状态转变成就绪态,发生进程切换,其他进程被调度运行。(2)某时刻,该进程重新被调度程序调度投入运行,进程从就绪态变成运行态,运行50ms后,进程请求磁盘I/0,有运行态变为阻塞态。(3)磁盘I/O完成后,进程有阻塞态变为就绪态,并在某时刻被调度程序调度到CPU运行,从就绪态变成运行态。(4)运行50ms后,进程因请求磁带I/O而阻塞(5)进程磁带I/O请求完成后,从阻塞态变成就绪态,某一时刻被调度程序选中执行,从就绪态变成运行态,运行200ms后时间片用完,进程从运行态变为就绪态。(6)某一时刻,调度程序选中进程执行,但进程要执行打印请求,此时进程从就绪态变为阻塞态。(7)打印请求结束后,进程有阻塞态变为就绪态,某一时刻进程又被重新调度执行,进程从就绪态变为运行态,运行150ms后进程结束。第4章 进程同步与通信1并发执行的进程在系统中通常表现为几种关系?各是在什么情况下发生的?答:对资源的共享引起的互斥关系:进程之间本来是相互独立的,但由于共享资源而产生了关系。间接制约关系,互斥关系。协作完成同一个任务引起的同步关系:一组协作进程要在某些同步点上相互等待发信息后才能继续运行。直接制约关系。同步关系。进程之间的前序关系:由于进程之间的互斥同步关系,使得进程之间具有了前序关系,这些关系决定了各个进程创建和终止的时间。2 什么叫临界资源?什么叫临界区?对临界区的使用应符合的四个准则(互斥使用、让权等待、有空让进、有限等待)。答: 临界资源:就是一次仅允许一个进程使用的资源。临界区:就是并发进程访问临界资源的那段必须互斥执行的程序。临界区使用的准则:互斥使用:不能同时有两个进程在临界区内执行让权等待:等待进入临界区的进程,应释放处理机后阻塞等待有空让进:在临界区外运行的进程不可阻止其他进程进入临界区 有限等待:不应使要进入临界区的进程无限期等待在临界区之外3若信号量s表示某一类资源,则对s执行wait、signal操作的直观含义是什么?答:wait(s)操作将信号量值增1后,若该值为负,则执行wait操作的进程等待。 signal(s)操作将信号量增1后,若该值为正,这执行signal操作的进程唤醒等待进程。4答:(1)利用信号量实现互斥。为临界资源设置一个互斥信号量mutex,初值为1;每个进程中将临界区代码置于wait和signal原语间。(2)用wait和signal实现进程同步时,同步信号量的初值与相应资源有关,也与wait和signal操作在程序代码中出现位置有关。5(1)当s0时,s表示可使用的资源数或新得可使用资源的进程数;(2)当s=0时,s表示无资源可使用或不允许进程再进入临界区;(3)当s0时,s表示等待使用资源的进程数或进入临界区的进程个数;6in=out 是空 (in+1)mod100=out 是满 7 有一个阅览室,读者进入时必须先 在一张登记表上进行登记,该表为每一座位列一表目,包括座号和读者姓名,读者离开时, 要删掉登记的信息,阅览室共有100个座位, 试问: 1、为描写读者动作,应编写几个程序, 应设置几个进程?进程与程序间关系如何? 2、试问P、V操作写出这些进程间的同步 算法。解法1、将读者入室查表登记和离室查表取消登记各编一个程序,这样每个读者需设两个进 程,分别执行入室和离室程序。2、semaphore mutex =1;/ 用于互斥使用登记表 semaphore s =100; / 表示资源信号量 while(1) p (s); p (mutex); 在登记表上进行登记 v(mutex); 在阅览室阅读; p (mutex); 在登记表上消除其登记信息 v(mutex); v(s); 8 复印室里有一个操作员为顾客复印资料,有5把椅子供顾客休息等待复印。如果没有顾客,则操作员休息。当顾客来到复印室时,如果有空椅子则坐下来,并唤醒复印操作员;如果没有空椅子则必须离开复印室。答: 信号量: customers表示正在等待复印的顾客数量(不包括正在复印的顾客) operator记录正在等候顾客的操作员数,只有1和0 mutex用于对waiting的访问; 变量: waiting表示等待的顾客数量。它实际上是customers的一个副本。之所以使用waiting是因为无法读取信号量的当前值。 semaphore customers=0,operator=0,mutex=1; waiting=0; process operator( )/操作员进程 while(1) wait(customers); /等待顾客到来复印; signal(operator); /通知顾客已经完成复印 process cusotmeri( )/顾客进程i wait(mutex); if(waiting5) waiting+;signal(customers); signal(mutex); wait(operator); wait(mutex); waiting-; signal(mutex);else signal(mutex); 离开复印室; main( ) cobegin operator( ); customeri( ); 91) 关系分析。供应者与三个抽烟者分别是同步关系。由于供应者无法同时满足两个或 以上的抽烟者,三个抽烟者对抽烟这个动作互斥(或由三个抽烟者轮流抽烟得知2) 整理思路。显然这里有四个进程。供应者作为生产者向三个抽烟者提供材料。3) 信号量设置。信号量offer1、offer2、offer3分别表示烟草和纸组合的资源、烟草和 火柴组合的资源、纸和火柴组合的资源。信号量finish用于互斥进行抽烟动作。代码如下:int random; /存储随机数semaphore offer1=0; /定义信号量对应烟草和纸组合的资源semaphore offer2=0; /定义信号量对应烟草和火柴组合的资源semaphore offer3=0; /定义信号量对应纸和火柴组合的资源semaphore finish=0; /定义信号量表示抽烟是否完成/供应者while(1)random = 任意一个整数随机数;random=random% 3;if(random=0)V(offerl) ; /提供烟草和纸else if(random=l) V(offer2); /提供烟草和火柴elseV(offer3) /提供纸和火柴/ 任意两种材料放在桌子上;P(finish);/拥有烟草者while(1)P (offer3);/ 拿纸和火柴,卷成烟,抽掉;V(finish);/拥有纸者while(1)P(offer2);/ 烟草和火柴,卷成烟,抽掉;V(finish);/拥有火柴者while(1)P(offer1);/ 拿烟草和纸,卷成烟,抽掉;v(finish);10为了互斥地入库和出库,需为仓库设置一初值为1的互斥信号量mutex;为了使生产的产品件数满足-nA的件数B的件数m,须设置两个同步的信号量,其中SAB表示当前允许A生产的产品数量,其初值为m,SBA表示当前允许B生产的产品数量,其初值为n;另外,还需设置一个整数difference表示所销售的A、B产品数量之差,而为了同步生产者和销售者并使销售的A、B产品的件数-nA的件数B的件数m,还需要设置三个资源信号量,其中S对应于仓库中的总的产品量,SA对应于仓库中的A产品量,SB对应于仓库中的B产品量,它们的初值都为0. Semaphore SAB=m,SBA=n,S=0,SA=0,SB=0,mutex=1; process A( ) while(1) wait(SAB); Produce a product A; signal(SBA); /入库操作,满足出入库操作互斥即可 wait(mutex); add the product A to the storehouse; signal(mutex); signal(SA); /入库产品A一件,所以给SA增值signal(S); /入库产品一件,所以给S增值,S是仓库中全部产品的数量 process B( ) while(1) /生产产品,-nA的件数B的件数m,方法同第4题 wait(SBA); Produce a product B; signal(SAB); /入库操作,满足出入库操作互斥即可 wait(mutex); add the product A to the storehouse; signal(mutex); signal(SB); /入库产品A一件,所以给SA增值 signal(S); /入库产品一件,所以给S增值,S是仓库中全部产品的数量 process C( ) while(1) wait(S); /首先检查有无产品,无产品阻塞,有产品,下面操作将会取走一件产品,所以S减1 if(difference=-n) wait(SA); / difference=m) wait(SB); / difference=m时只能取B产品一件,无B产品则需阻塞 /出库操作,满足出入库操作互斥 wait(mutex);take a product B from storehouse; signal(mutex); difference-; /取B产品一件,difference- else /-ndifferencem,即可以取产品A也可以取产品B,随意取一件产品出来,之后再根据取得产品是A还是B进行处理 /出库操作,满足出入库操作互斥 wait(mutex);take a product A 或B from storehouse; signal(mutex); if(product_type=A) /取的是产品A,则信号量SA减1,这里不可能发生没有A产品,进程C需要阻塞的情况wait(SA);difference+;/取A产品一件,difference+ else /取的是产品B,则信号量SB减1,这里不可能发生没有B产品,进程C需要阻塞的情况wait(SB);difference-;/取B产品一件,difference- Sell the product; main() cobegin A(); B(); C(); 11.某寺庙有小和尚和老和尚各若干人,水缸一只,由小和尚提水入缸给老和尚饮用。水缸可容水10桶,水取自同一口水井中。水井径窄,每次仅能容一只水桶取水,水桶总数为3个。若每次入、取水仅为1桶,而且不可同时进行。试用记录型信号量机制写出小和尚和老和尚的活动过程。互斥资源有水缸和水井,分别用mutex1和mutex2来互斥。水桶总数仅3只,由信号量count控制,信号量empty和full控制入水和出水量。semaphore mutex1,mutex2,empty,full,co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论