欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作系统课后题练习答案.doc

    • 资源ID:28498812       资源大小:243.50KB        全文页数:28页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统课后题练习答案.doc

    精品文档,仅供学习与交流,如有侵权请联系网站删除1练习题(一) 问答题1. 操作系统的两个主要目标是什么? 答:方便性与有效性。2. 试说明操作系统与硬件、其它系统软件以及用户之间的关系? 答:与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。与其他系统软件的关系:操作系统是系统软件,但它不同于其它系统软件和应用软件,它为其它系统软件和应用软件提供接口。应用软件要使用操作系统所提供的服务方可方便使用计算机。与用户之间的关系:操作系统是为改善人机界面、提供各种服务,为用户使用计算机提供良好运行环境的一种系统软件。3. 试论述操作系统是建立在计算机硬件平台上的虚拟计算机系统。答:没有任何软件支持的计算机称为裸机,即使其硬件功能再强,也必定是难于使用的。而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。裸机位于最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机(Virtual Machine ),这样的计算机系统是概念上和逻辑上的计算机,不是物理上的真实计算机。4. 什么是操作系统?它有哪些基本功能与基本特征?答:操作系统是位于硬件层之上,所有其它软件层之下的一种系统软件,它控制和管理计算机系统资源、合理组织计算机工作流程、提供用户与计算机系统之间的接口。操作系统的基本功能有:处理器管理、存储器管理、设备管理、文件管理和提供用户接口。操作系统的基本特征有:并发性、共享性、虚拟性和不确定性。5. 请叙述并发和并行两个概念的区别?答:并发性是指两个或多个程序在同一时间段内同时执行,是宏观上的同时。而并行性是从硬件意义上考虑,是不同硬件部件(如CPU与I/O)在同一时刻的并行,即微观上,多个程序也是同时执行的。6. 什么是多道程序设计? 在操作系统中使用这种技术有什么好处?答:多道程序设计是指在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。好处: 提高了CPU的利用率。各道程序是轮流占用一个CPU,交替地执行。 改进了系统的吞吐量(系统吞吐量是指计算机系统在单位时间内完成的总工作量)。 充分发挥了系统的并行性,使CPU与I/O并行工作。提高CPU、设备、内存等各种资源的利用率,从而提高系统效率。7. 什么是批处理、实时、分时系统?它们各有什么特征?各适用哪些场合? 答:(1)批处理系统"多道"是指在计算机内存中同时可以存放多道作业:" 批处理"是指用户与作业之间没有交互作用,用户不能直接控制作业的运行,一般称为"脱机操作.在多道批处理系统中,用户的作业可以随时被接受进入系统,首先存放在外存缓冲存储器中,形成一个作业队列,OS按照一定的调度原则或根据作业的优先程度从作业队列中调出一个或多个作业进入内存,待作业运行完毕,由用户索取运行结果。多道批处理的特点是: 多道。 宏观上并行执行。 微观上串行执行。(2)分时系统分时系统是指多个用户分享同一台计算机,它将计算机的中央处理机在时间上分割成很小的时间段,每个时间段称为一个时间片,系统将CPU的时间片轮流分配给多个用户,每个用户通过终端使用同一台计算机,并通过终端直接控制程序运行,进行人与机器之间的交互。分时操作系统的特性: 同时性(多路性)。 独立性(独占性)。 及时性。 交互性该系统主要用于教育与科研。(3)实时系统这类系统要求计算机能对外部发生的随机事件作出及时响应,并对它进行处理。实时系统应当具有如下两个基本特征:(1)实时性。(2)高可靠性和安全性。实时系统具有专用性,不同的实时系统用于不同的应用领域。它有三种典型的应用形式,即:过程控制系统(如工业生产自动控制、卫星发射自动控制)、信息查询系统(如仓库管理系统、图书资料查询系统)和事务处理系统(如飞机订票系统、银行管理系统)。8. 在分时系统中响应时间与哪些因素有关?答:主要与联机的终端数目、时间片的长短、CPU速度、系统调度切换速度等有关。9. 网络操作系统最基本的功能是什么?它最使你感兴趣的是什么?答:网络通信和网络资源管理。10. 分布式操作系统与网络操作系统有什么不同之处?答:(1)分布性:分布式操作系统是驻留在系统的各个结点上,而网络操作系统的控制功能大部分是集中在服务器上。(2)并行性:分布式操作系统可将一个用户的多个任务分配到多个计算机上并行执行;而网络环境下,每个用户的一个或多个任务只能在自己的计算机上处理。(3)透明性:分布式系统能隐藏自己内部的物理位置、并发控制、系统故障等实现细节来使用系统;而网络操作系统计算机之间的通信需要IP地址。(4)共享性:分布式系统中,所有分布在各个站点的软、硬件资源均可供系统中所有用户共享,并能以透明的方式使用它们;而网络操作系统共享的资源大多数是设置在服务器中,它机的资源一般由本机用户使用。(5)健壮性:分布式系统任何结点的故障都不会对系统造成太大的影响,某些部件的故障可以通过容错技术实现系统的重构;而网络操作系统的控制功能大部分集中在服务器中,这使得服务器会成为单点故障,它一出故障,就会影响整个系统的可靠性。11. 操作系统发展的动力是什么?你对21世纪的操作系统有什么见解?答:(1)器件快速更新换代。每隔18个月其性能要翻一翻。(2)计算机体系结构不断发展。计算机由单处理机系统改进为多处理机系统,操作系统也由单处理机操作系统发展到多处理机操作系统和并行操作系统。(3)提高计算机系统资源利用率的需要。多用户共享一套计算机系统的资源,必须提高计算机系统中各种资源的利用率,要不断研究和采用各种调度算法和分配策略。(4)用户使用计算机方便程度的需要。要求操作系统的界面变得更加友善。(5)满足用户的新要求,提供给用户新服务。12. 计算机系统中“引导程序”的主要功能是什么?答:完成装入操作系统并开始执行系统。主要完成工作是:把标准设备的驱动程序从BIOS读入内存的固定位置,让所有的标准设备都能开始工作;运行自动检测程序,检测各种设备是否正常工作;读入256个中断处理服务程序。13. 简述主存储器与辅助存储器的作用和特点。答:主存储器的作用是存放指令和数据,并能由中央处理器直接访问的唯一存储空间,任何程序和数据都必须装入主存后才能执行。内存是易失性存储设备,当掉电或有其它原因时会丢失所有内容。辅助存储器用它来作为内存的扩充,并能够永久性地存储大量的数据。14. 双重工作模式的思想是什么?为什么要这样设计?答:为保护操作系统和所有用户程序不受错误用户程序的影响,许多计算机系统提供用户模式和系统模式两种运行模式(两种执行状态)操作,并将指令系统分为特权指令和非特权指令。只有操作系统才能执行全部指令(特权指令和非特权指令),而一般用户只能执行非特权指令,否则会导致非法执行特权指令而产生保护中断。特权指令的规定既保障了系统的安全,也使得操作系统拥有了对计算机系统中所有软、硬件资源的控制权和管理特权。15. 陷入与中断之间的区别是什么?各自有什么用途?答:陷入与中断之间的主要区别是:陷入的中断源头来自CPU的内部,而中断的中断源头来自CPU外部。中断的用途:它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行CPU原来的工作。陷入的用途是当程序出现错误(如某数除以0,或非法访问内存等)或用户程序执行非法操作可产生陷入,它属于软件生成中断。16. 系统调用的用途是什么?它与过程调用的主要区别是什么?答:系统调用是操作系统为了扩充机器功能、增强系统能力、方便用户使用而建立的。用户程序或其它系统程序通过系统调用就可以访问系统资源,调用操作系统功能,而不必了解操作系统内部结构和硬件细节,它是用户程序或其它系统程序获得操作系统服务的唯一接口。系统调用与过程调用的主要区别是:(1)调用形式不同;(2)被调用代码的位置不同;(3)提供方式不同;(4)调用的实现不同17. 采用层次式结构设计操作系统的主要优点是什么?答:层次结构,即是把操作系统划分为内核和若干模块,这些模块按功能的调用次序排列成若干层次,各层次之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能,反之则不能。这样不但系统结构清晰,适应性强,易于扩充和移植,而且不构成循环调用。18. 采用微内核的方法设计操作系统的主要优点是什么?答:微内核方法是将操作系统所有非基本部分从内核中移走,仅存放那些能实现现代OS最基本的核心功能的部分,使得操作系统核心部分很小,这样可以提高了系统的可扩展性;增强了系统的可靠性,可移植性,提供了对分布式系统的支持。 单项选题C C B C D BAC C A C BD B B B B D B B 思考题1. 举例写出你最熟悉的操作系统的特征和缺点?2. 请在网上查询或查看有关书籍,列出目前经常使用哪些操作系统?说明它们的应用对象和环境?并比较这些操作系统各有什么特点?练习题(二) 问答题1. 什么是进程?为什么要引入进程概念?进程都有哪些特征?答:(1)进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和调度的独立单位。(2)在多道程序环境下,程序的并发执行代替了程序的顺序执行,资源共享和竞争又导致并发程序之间的相互制约性,使得系统中运行的程序是处于走走停停的状态之中,当一个程序获得处理机后向前推进,当它需要某种资源而未得到时只好停下来,以后得到所申请资源时再继续前进。基于“程序”这个静态概念已不能完整、有效地描述并发程序在内存中的运行状态。因此,为了实现程序在多道程序环境下的并发执行,必须引入一个能确切描述并反映并发过程的新概念进程,以便从变化的角度动态地研究程序的执行。(3)进程的特征:动态性、并发性、独立性、异步性、结构性。2. 叙述进程和程序的关系?答:进程与程序的联系是:(1)进程包括一个程序;(2)进程存在的目的就是执行这个程序。进程与程序的区别是:(1)进程是动态的概念,程序是静态的概念。程序是指令代码的有序集合;进程是程序的一次执行过程,它能动态的被创建、调度执行,执行后消亡。(2)进程是暂时的,程序是永久的。进程是一个程序执行状态变化的过程,程序是可长久保存。(3)进程是由程序、数据和进程控制块组成。程序是由若干行代码组成。(4)通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。(5)进程能够独立运行,可以为其独立分配资源,独立接受调度的单位,而程序不能在多道程序设计环境下运行。3. 叙述进程的并发性和制约性。答:并发性是进程的重要特征。即多道程序中多个进程同时向前推进的过程,每个进程总是与其它进程并发地执行的。进程的制约性是指一个进程的运行受到另一进程的制约(直接制约和间接制约)。如进程在运行过程中,有的进程可能正在等待另一进程的计算结果而无法运行,或者进程所需的资源被别的进程占有而无法运行。4. 进程最少应设置几个状态?为什么?答:一个进程在它的生命期中至少应有如下三种基本状态:就绪、运行和阻塞。这三种状态可以简单的描述每个进程的执行过程,进程任一时刻当且仅当处于上述三种基本状态之一。5. 进程控制块的作用是什么?它是如何描述进程动态性质的?答:进程控制块是系统占用区中的一个连续区域,存放着操作系统用于描述进程情况和进程运行所需的全部信息,它是OS感知进程的存在,以及管理和控制进程执行的唯一依据。每个进程在操作系统内用(PCB)来表示,在PCB中记录了与特定进程相关的信息,即描述进程当前情况,以及控制进程运行的全部信息。它主要包含进程描述信息、控制信息和资源管理信息三类。进程控制块中有一些信息是专门用来描述进程动态性质的,如进程状态信息,存放该进程的现行状态,是进程调度分配CPU的重要依据。又如处理机现场信息,当执行进程变成其他状态让出处理机时,将处理机的现场信息如程序状态字、通用与专门寄存器、程序计数器等内容必须保留,以便当进程调度程序调度到相应进程时,从现场信息中取出恢复到CPU相关的寄存器中,让进程继续正常执行。又如,进程在整个生命期中,经常处于不同的队列,那末PCB中进程队列链接字的内容,随进程控制块从一个队列移到另一个队列而动态变化。6. 用户进程能否修改或访问自己的进程控制块内容?为什么?答:不能,因为进程控制块是操作系统中最重要的数据结构,只能由操作系统进行修改和访问。7. 什么是原语操作?一般进程控制原语都有哪些?答:原语是由若干条机器指令构成的,在管态下执行和完成系统特定功能的程序段。原语和机器指令类似,它在执行过程中不允许被中断,是一个不可分割的基本单位,原语的执行是顺序的而不可能是并发的。进程控制原语有:进程创建原语、进程撤销原语、进程阻塞原语、进程唤醒原语、进程挂起原语和进程激活原语。8. 试说明引起创建一个进程、撤销一个进程的主要事件?答:引起进程创建的主要事件有: 用户登录。用户登录时验证是否为合法的用户。若合法,则为他创建一进程。 作业调度。当作业调度程序调度到某作业,应为它创建一进程。 提供服务。运行中的用户程序提出某种请求。如父进程创建子进程。引起进程撤消的主要事件有: 正常结束。当进程正常完成执行,应终止该进程,并将它删除。 异常结束。当进程执行中遇到越界错误、保护错、特权指令错、非法指令错、算术运算错、I/O故障等应终止该进程,并将它删除。 外界干预。操作员或操作系统干预。9. 请画出流程图说明创建一个新进程的步骤。入口答:返回创建失败,返回查PCB链表有空PCB?取空PCB(i)将有关参数填入PCB(i)相应表项PCB(i)入就绪队列PCB(i)入进程家族或进程链无有10. 操作系统内核都包括哪些内容?答:内核包括两个方面:一是支撑功能,包括中断处理、时钟管理和原语操作等;二是资源管理功能,包括进程管理、存储器管理和设备管理等。内核运行在系统态下,是系统的控制和协调中心,由它来组织、启动及协调系统中各种用户活动和系统活动有条不紊地进行。11. 模式切换和进程切换有什么区别?答:进程切换是由进程状态的变化引起的,而进程状态的变化又与出现的中断事件有关。用户态到核心态或者核心态到用户态的转变是CPU模式的改变。模式切换是用户态到核心态或核心态到用户态的转变。12. 操作系统中引入进程概念后,为什么又引入线程概念?答:操作系统中引入进程的目的是为了使多个程序并发执行,改善资源的利用率以提高系统的吞吐量。但是,进程给并发程序设计效率带来下列问题:进程切换开销大;进程通信代价大;进程之间的并发性粒度较粗,并发度不够高;不适合并行计算和分布并行计算的要求;不适合客户/服务器计算的要求等。于是引入线程。引入线程后,把进程的两个属性(“独立分配资源”与“被调度分派执行”)分离开来考虑,将进程是作为独立分配资源的基本单位,线程是进程的一个实体,是作为系统独立调度和分派处理机的基本单位,以使之轻装运行,而对于拥有资源的单位又不必频繁地进行切换。这样可以大大减少程序并发执行时所付出的时间和空间开销,使操作系统具有更好的并发性。13. 试从资源分配单位和调度的基本单位两方面对进程和线程进行比较。答:资源分配单位:进程是作为独立分配资源的基本单位,一般地说,线程自己不拥有系统资源(只有少量的必不可少的资源),但它可以访问其隶属进程的资源。调度的基本单位:线程作为系统独立调度和分派处理机的基本单位。在同一个进程中,线程的切换不会引起进程的切换,只有当从一个进程中的线程切换到另一个进程中的线程时,才会引起进程的切换14. 请指出用户级线程和内核级线程的不同点?答:用户级线程只存在于用户层,它的管理都在一个进程的用户地址空间中进行,用户级线程的切换也仍在用户态下运行,不需要转换到核心态,这就节省了系统从核心态到用户态或从用户态到核心态转换的时间和空间的开销。同一进程中多个线程不能真正并行。内核级线程线程管理的所有工作都是由内核来完成的,同一进程内多个线程可以并行执行,即如果进程中的一个线程被阻塞,内核可以调度同一个进程中的另一个就绪线程执行。在多处理机环境中,内核可以同时把同一个进程的多个线程分配到多个处理机上。在同一个进程中把控制权从一个线程切换给另一个线程需要内核的状态转换(即用户态到核心态的转换),所以内核级线程的创建和管理通常要慢于用户级线程的创建和管理。 单项选择题C D D C C D B C D CC D D A. 思考题1. 考虑到图2.6中的状态转换图。假设操作系统正在分派进程,有进程处于就绪状态和就绪挂起状态,并且至少有一个处于就绪挂起状态的进程比处于就绪状态的所有进程的优先级都高。有两种极端的策略:(1)总是分派一个处于就绪状态的进程,以减少交换;(2)总是把机会给具有最高优先级的进程,即使会导致在不需要交换时进行交换。请给出一种能均衡考虑优先级和性能的中间策略。答:对于一个就绪挂起态的进程,降低一定数量的优先级,从而保证只有当一个就绪挂起态的进程比就绪态的进程的最高优先级还高出几个优先级时,它才会被选做下一个执行。2. 举两个例子说明多线程比单线程方案提高性能,同时再举两个例子说明多线程不比单线程方案提高性能。练习题(三)I 问答题1. 处理器调度分哪几种类型?简述各类调度的主要任务。答:处理器调度分三级调度:高级调度、中级调度和和低级调度。高级调度主要功能是根据一定的算法,决定把外存上处于后备队列中的作业调入内存,并为它们创建进程和分配必要的资源,然后,再将新创建的进程插入到进程就绪队列中,准备执行。在作业完成后负责回收该作业所使用的资源。中级调度主要功能是在内存使用情况紧张时,将一些暂时不运行的进程从内存调出到外存上等待,当以后内存有足够的空闲空间时,再将适合的进程重新调入内存,等待进程调度。低级调度其主要功能是按照一定的算法决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。2. 叙述衡量一个处理器调度算法好坏的主要标准。答:(1)CPU利用率。使得CPU尽可能的忙。(2)吞吐率。指一个时间单位内所完成的作业数量。(3)周转时间。用户作业从提交给系统开始,到作业完成中间的时间间隔称为作业周转时间,应使作业周转时间或平均作业周转时间尽可能短。(4)等待时间。指作业或进程从进入系统到被调度到并开始执行所经历的时间。等待时间越短越好。(5)响应时间。交互式系统中定义进程从提交一个请求到产生响应所需的时间间隔称为响应时间。分时系统要求用户的响应时间尽可能短,实时系统要求尽快处理实时任务。(6)公平性。确保每个用户的每个进程获得合理的CPU 份额或其它资源份额,不会出现饿死情况。上述这些指标不是所有操作系统在设计时都要达到最优,而必须根据操作系统类型的不同进行权衡,以达到较好的效果。一般人们需要使CPU使用率和吞吐量最大化,而使周转时间、等待时间和响应时间最小化。3. 简述作业状态及其转换过程。答:通常把作业在系统中的状态分为四种:提交、后备、执行和完成。批处理系统中作业的状态及其转换如下图所示。(1)提交状态。此时作业的信息正在从输入设备上预输入。(2)后备状态。此时作业预输入结束放在辅存中,但尚未被选中执行。(3)执行状态。作业已被选中进入主存,并构成进程去竞争处理器资源已获得运行。(4)完成状态。作业已经运行结束(正常或非正常结束),甚至已经撤离,但正在等待缓输出运行结果。4. 叙述作业、进程和程序三者的关系。答:程序、进程、作业之间的区别与联系 程序与进程之间的区别:(1)进程更能真实地描述并发,而程序不能。(2)进程由程序和数据两部分组成,进程是竞争计算机系统有限资源的基本单位,也是进程处理机调度的基本单位。(3)程序是静态的概念;进程是程序在处理机上一次执行的过程,是动态的概念。(4)进程有生存周期,有诞生有消亡。是短暂的;而程序是相对长久的。(5)一个程序可以作为多个进程的运行程序;一个进程也可以运行多个程序。(6)进程具有创建其他进程的功能;而程序没有。作业与进程的区别:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用户需要计算机完成的某项任务,是要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。而进程是对已提交完毕的程序所执行过程的描述,是资源分配的基本单位。作业、进程和程序之间的联系:一个作业通常包括程序、数据和操作说明书3部分。每一个进程由PCB、程序和数据集合组成。这说明程序是进程的一部分,是进程的实体。因此,一个作业可划分为若干个进程来完成,而每一个进程有其实体程序和数据集合。5. 何谓响应比最高优先算法?它有何主要特点?答:响应比最高者优先算法是既要考虑作业的等待时间,又要考虑作业的运行时间,是介于先来先服务算法和最短作业优先算法之间的一种折衷策略。该算法把作业进入系统后的等待时间与估计作业运行时间之和称为作业的响应时间,作业的响应时间除以作业运行时间称为作业响应比,作业响应比Rp定义为:Rp=1+6. 何谓进程调度中“可抢占”和“非抢占”两种方式?哪一种系统的开销更大?为什么?答:因为“可抢占”的进程调度方式是一个进程能把处理机资源从正在运行的进程哪里抢占过来。它的优点是能保证系统当前运行的进程是所有进程中优先级最高的进程。但由于在处理机调度过程中,处理机资源的交换比较频繁,所以引起的系统开销比较大。这也是可抢占调度方法的一大缺点。7. 进程调度功能有哪些?进程调度的时机有哪几种?答:进程调度的功能是:记录进程的运行状况;根据一定调度算法从就绪队列中选择一个进程投入运行(处理机的分配);进行进程的上下文切换。进程调度时机:当发生下述几种情况之一时,引起进程重新调度:(1)当一个进程从运行状态转换到阻塞状态(2)当一个进程从运行状态转换到就绪状态(3)当一个进程从阻塞状态转换到就绪状态。(4)当一个进程终止时。8. 试比较进程调度与作业调度的不同点。答:作业调度程序的主要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作业,为该作业创建一进程。 进程调度主要功能是根据一定的算法将cpu分派给就绪队列中的一个进程。进程调度是操作系统中最基本的一种调度,其调度策略的优劣直接影响整个系统的性能。9. 假定有一个支持实时、分时和批处理的操作系统,对该系统应如何设计进程调度策略?答:调度算法:在操作系统中调度是指一种自远方分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法。对于不同的的系统和系统目标,通常采用不同的调度算法,例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法;又如在分时系统中,为了保证系统具有合理的响应时间,应当采用轮转法进行调度;又如在实时系统中最好采用基于优先级的抢先式调度策略。对于一个支持实时、分时和批处理的操作系统,最好将批处理作为后台作业,采用短作业优先的调度算法;分时系统和实时系统作为前台作业,采用优先级调度策略。10. 在多级反馈队列系统中设置不同大小的时间片有什么优点?答:多级反馈队列调度算法是一种CPU处理机调度算法,UNIX操作系统采取的便是这种调度算法。多级反馈队列调度算法中设置不同大小的时间片,即能使高优先级的作业得到响应又能使短作业(进程)迅速完成。(对比一下FCFS与高优先响应比调度算法的缺陷)。 单项选择题C B B D A D C C D DA A B B B 应用题表 进程到达时间进程到达就绪队列的时间(基本时间单位)运行时间(基本时间单位)优先级P1091P2143P3282P431041. 设有4个进程Pl,P2,P3,P4,它们到达就绪队列的时间、运行时间及优先级如表3.10所示。试问:若采用可剥夺的优先级调度算法,给出各个进程的调度次序以及每个进程的等待时间。若采用时间片轮换调度算法,且时间片为两个基本时间单位,给出各个进程的调度次序以及平均等待时间。答:假设优先数越大,优先级越高(1) t0时刻:P1到达且投入运行。 t1时刻:P2到达,因为P2的优先级比P1高,P2投入运行,P1进入就绪队列。 t2时刻:P3到达,仍然P2的优先级最高,继续运行。就绪队列有:P1、P3。 t3时刻:P4到达,且P4的优先级最高,投入运行,就绪队列有:P1、P2、P3。 t13时刻:P4结束,此时P2的优先级最高,P2投入运行,就绪队列有:P1、P3。 t15时刻:P2结束,此时P3的优先级最高,P3投入运行,就绪队列有:P1。T23时刻:P3结束, P1又投入运行。t31时刻:P1结束。 调度次序:P1P2P4P2P3P1进程到达时间运行时间开始运行时间运行结束时间等待时间周转时间P1090312231P2141151014P32815231321P4310313010平均等待时间=(22+10+13+0)/4=11.25ms平均周转时间=(31+14+10)/4=19(2)时间片轮转法t0时刻:P1就绪切得到时间片开始运行。t1时刻:P2就绪,等待时间片。t2时刻:P1时间片完成,P2得到时间片投入运行,同时P3就绪。就绪:P2、P3、P1。t3时刻:P4就绪。P2时间片未结束,继续运行。就绪:P2、P3、P1、P4。t4时刻:P2时间片结束,P3得到时间片投入运行,就绪:P3、P1、P4、P2。t6时刻:P3时间片结束。P1得到时间片,就绪:P1、P4、P2、P3。t8时刻:P1时间片结束。P4得到时间片,就绪:P4、P2、P3、P1。t10时刻:P4时间片结束。P2得到时间片,就绪:P2、P3、P1、P4。t12时刻:P2时间片结束且P2运行结束。P3得到时间片投入运行,就绪:P3、P1、P4。t14时刻:P3时间片结束,P1得到时间片投入运行,就绪:P1、P4、P3。t16时刻:P1时间片结束,P4得到时间片投入运行,就绪:P4、P3、P1。t18时刻:P4时间片结束,P3得到时间片投入运行,就绪:P3、P1、P4。t20时刻:P3时间片结束,P1得到时间片投入运行,就绪:P1、P4、P3。t22时刻:P1时间片结束,P4得到时间片投入运行,就绪:P4、P3、P1。t24时刻:P4时间片结束,P3得到时间片投入运行,就绪:P3、P1、P4。t26时刻:P3时间片结束,且P3运行结束。P1得到时间片投入运行,就绪有:P1、P4。t27时刻:P1运行结束。P4得到时间片投入运行。t31时刻:P4运行结束。 等待时间的计算:P1=4+6+4+4=18P2=1+6=7P3=2+6+4+4=16P4=5+6+4+3=18练习题(四)I 问答题1. 试说明进程的互斥和同步两个概念,并说明它们之间的异同。答:进程互斥是解决进程间竞争关系(间接制约关系)的手段。它是指一组并发进程中的一个或多个程序段,因共享同一临界资源时,任何时刻不允许两个以上的共享该资源的并发进程同时进入临界区。进程同步指的是两个或多个进程为了合作完成同一个任务,在执行速度或某些确定的时序点上必须相互协调,即一个进程的执行依赖于另一个进程其合作伙伴的消息,当一个进程到达了某一确定点而没有得到合作伙伴发来的“已完成某些操作”的消息时必须等待,直到该消息到达被唤醒后,才能继续向前推进。进程同步与互斥相似之处是:进程的互斥实际上是进程同步的一种特殊情况,即逐次使用互斥共享资源,也是对进程使用资源次序上的一种协调。进程的互斥和同步统称为进程同步。进程同步与互斥的差别是:进程互斥是进程间共享资源的使用权,这种竞争没有固定的必然联系,哪个进程竞争到资源的使用权,该资源就归那个进程使用,直到它不再需要使用时才归还资源;而进程同步则涉及共享资源的并发进程间有一种必然的联系,当进程必须同步时,即使无进程在使用共享资源时,那么尚未得到同步消息的进程也不能去使用该资源。2. 进程之间存在哪几种相互制约关系?各是什么原因引起的?请说明下列活动分别属于哪种制约关系?(1)若干同学去图书馆借书;(2)两队举行篮球比赛;(3)流水线生产的各道工序;(4)商品生产和社会消费。答:进程之间存在直接制约关系(进程间的同步)和间接制约关系(进程间的互斥)。直接制约关系是指两个或多个进程为了合作完成同一个任务,间接制约关系是指两个或多个进程为了竞争临界资源。(1)属于互斥关系(2)属于互斥关系(3)属于同步关系(4)属于同步关系3. 什么是临界区和临界资源?对临界区管理的基本原则是什么?答:把一次只允许一个进程使用的资源称为临界资源。把每个进程中访问临界资源的那段代码从概念上分离出来,将其称为临界区。即临界区是指对临界资源实施操作的程序代码段。对临界区管理的原则是: 互斥。如果某个进程在临界区内执行,则其它进程不能进入临界区。 有空让进。如果没有进程在其临界区内执行,则选择一进程(如有)进入临界区。 有限等待。当有若干个进程同时要求进入临界区时,应在有限时间内使一个进程进入。4. 什么是信号量?在信号量S 上作P、V 操作时,S 的值发生变化,当S0、S=0、S<0 时,它们的物理意义是什么? 答:信号量是用于表示资源数目或请求使用某一资源的进程个数的整型变量。当S0时,其值表示系统中当前可用的某类资源数量;当S0时,表示系统中当前已无某类资源可用;当S0时,其绝对值表示系统中因请求该类资源而被阻塞的进程数量或登记排列在该信号量S队列之中等待的进程个数。5. 请说明P、V 操作的定义和作用?为什么它们均为不可分割的原语操作?答:定义:设S为一个记录型数据结构,其中一个分量为整型量value ,另一个分量为信号量队列queue,value 通常是一个具有非负初值的整型变量,queue 是一个初始状态为空的进程队列。信号量S的初值可定义为0,l 或其它正整数,在系统初始化时确定。记录型信号量和P 操作和V 操作可表示成如下的数据结构和不可中断的过程:void P(semaphore S) /* P操作定义 */S.value; /* 把信号量值减1 */ if (S.value< 0) add this process to S.queue;block();void V(semaphore S) /* V操作定义 */S.value + +; /* 把信号量值加1 */ if (S.value< = 0) remove a process P from S.queue;wackup(P);作用:利用信号量和P、V 操作既可以解决并发进程的竞争问题,又可以解决并发进程的协作问题。它们均为不可分割的原语操作原因:因为P操作和V操作都是对信号量的操作,是为了实现进程同步和互斥的,互斥要解决的就是如何在一个进程修改共享内存区时不让操作系统切换给另一个同样访问这块共享内存区的进程的问题,所以在执行P、V操作时一定不能让进程切换,所以必须采用原语。6. 已经有信号量和P、V 操作可用作进行进程间的通信,为什么还要引入管程? 答:采用P、V同步机制来编写并发程序,其主要缺点是:(1)同步操作分散。信号量机制中,同步操作分散在各个进程中,使用不当就可能导致进程死锁(如P、V操作的次序错误、重复或遗漏);(2)易读性差。要了解对于一组共享变量及信号量的操作是否正确,必须通读整个系统或者并发程序;(3)正确性难以保证。操作系统或并发程序通常很大,很难保证这样一个复杂的系统没有逻辑错误。引入管程机制保证进程能互斥地访问共享变量,并方便地阻塞和唤醒进程。其基本思想是把信号量及其操作原语封装在一个对象内部。即:将共享变量以及对共享变量能够进行的所有操作都集中在一个模块中。管程可以函数库的形式实现。相比之下,管程比信号量更好控制。7. 叙述产生死锁的必要条件。答:系统出现死锁一定同时保持以下四个必要条件:(1)互斥条件。进程应互斥使用资源,任一时刻一个资源仅为一个进程独占,若另一个进程请求一个已被占用的资源时,它被置成等待状态,直到占用者释放了该资源。(2)占有和等待条件。一个进程请求资源得不到满足而等待时,不释放已占有的资源。(3)不剥夺条件。任何一个进程不能抢夺其它进程占用的资源,即已被占用的资源只能由占用资源的进程自己来释放。(4)循环等待条件。存在一个循环等待链,链中每一个进程已获得资源,同时分别等待它前一个进程所持有的资源,造成永远等待。8. 简述死锁的防止与死锁的避免的区别。答:死锁的预防就是在运行之前,预先防止死锁的产生,主要是通过破坏产生死锁的4个必要条件中任何一个来实现的。所以系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生。死锁的避免是在系统运行过程中注意避免死锁的发生,这就要求系统每当在进程申请资源时,都应根据一定的算法进行判断,仅当系统处于安全状态时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。死锁的避免策略比起死锁的预防策略系统资源的利用率更高一些。9. 列举死锁的各种预防策略。答:静态分配资源策略:要求每一个进程在开始执行前就要申请它所需要的全部资源,仅当系统能满足进程的资源申请要求时才把资源分配给进程,该进程才能开始执行(注意,所有并发执行的进程要求的资源总和不能超过系统拥有的资源数)。按序分配资源策略:把系统中所有资源排一个顺序,对每一个资源给一个确定的编号,规定任何一个进程申请两个以上资源时总是先申请编号小的资源,后申请编号大的资源(或者先申请编号大的,后申请编号小的资源)。系统按进程对资源的申请顺序来分配资源。按序分配策略将阻止死锁 的第四个条件(循环等待条件)的出现。10. 何谓银行家算法?叙述其基本思想? 答:银行家算法是一种能够避免死锁的调度方法。银行家算法的基本思想描述如下:假定一个银行家拥有资金,被N个客户共享。银行家对客户提出下列约束条件是:每个客户

    注意事项

    本文(操作系统课后题练习答案.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开