欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统习题参考答案(第二版).docx

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

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

    操作系统习题参考答案(第二版).docx

    1、第 1 章 操作系统概述 习题参考答案1. 选择题(1) C(2) C(3) C(4) B (5) C(6) B(7) C(8) B(9) A2. 填空题(1) 存储管理 设备管理(2) 软硬件资源(3) 批处理操作系统 分时操作系统 实时操作系统(4) 20ms3. 问答题(1) 简述操作系统的概念答:操作系统是一组能控制和管理计算机系统的硬件和软件资源,合理地组织计算机工作流程并为用户使用计算机提供方便的程序和数据的集合。(2) 什么是批处理系统?为什么要引入批处理系统?答:批处理系统指用户的作业成批的处理,作业建立、过渡、完成都自动由系统成批完成。因为 19581964 年,晶体管时代,

    2、计算机速度、容量、外设品种和数量等方面和第一代计算机相比都有了很大发展,计算机速度有几十倍、上百倍的提高,故使手工操作的慢速度和计算机运算的高速度之间形成一对矛盾。只有设法去掉人工干预,实现作业自动过渡,这样就出现了成批处理。(3) 什么叫多道程序?试述多道程序涉及技术的基本思想及特征,为什么对作业进行多道批处理可以提高系统效率?答:多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插交替运行。当某道程序因某种原因不能继续运行下去时,管理程序就将另一道程序投入运行,这样使几道程序在系统内并行工作,可使中央处理机及外设尽量处于忙碌状态,从而大大提高计算机使

    3、用效率。在批处理系统中采用多道程序设计技术形成多道批处理系统,多个作业成批送入计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。(4) 何为分时系统?简述其特点。答:分时系统采用时间片轮转法,使一台计算机同时为多个终端服务。特点:多路性。若干个终端连接到计算机上,系统按分时原则为每个用户服务。宏观上多用户同时工作,共享系统资源。微观上,每个用户作业轮流在 CPU 上运行。独立性。各用户独立地使用一台终端工作,彼此互不干扰。用户感觉自己在独占使用计算机。及时性。用户的请求能在较短时间内得到响应。分时系统的响应时间指用户发出终端命令到系统响应,做出应答所需要的时间。此时间需要在用户能接受

    4、的范围之内,通常为 2至 3 秒。交互性。在分时系统中,用户能与计算机进行对话,以交互的方式进行工作。用户可联机对文件进行编辑,对源程序进行编译、链接,对程序进行调试,运行程序等活动。(5) 分时系统和实时系统有何不同?答:分时系统控制的主动权在计算机,计算机按一定时间间隔,以固定时间片或不固定时间片去轮流完成多个提交的任务,只是在用户反应相对较慢时,不感到机器“走开”。而实时系统控制的主动权在用户,用户规定什么时间要计算机干什么,计算机不能“走开”。分时系统通用性强,交互性强,及时响应性要求一般(通常数量级为秒);实时系统往往是专用的,系统与应用很难分离,常常紧密结合在一起,实时系统并不强调

    5、资源利用率, 而更关心及时响应性(通常数量级为毫秒或微秒)、可靠性等。(6) 实现多道程序解决哪些问题?答:首先包括分时使用硬件的硬件设计技术: CPU 和通道分时使用内存、只读存储器和数据通道等;通道与通道分时使用 CPU、内存、通道的公用控制部分等;同一通道中的I/O 又分时使用内存、通道等。其次包括共享硬件和软件资源的软件设计技术:包括引入“进程”“线程”等技术。第 2 章 操作系统用户界面习题参考答案1. 选择题(1)D(2)A(3)A(4)B(5)A(6) D(7) D(8) B2. 填空题(1) 命令控制接口 程序接口(系统调用)(2) 目(用户) 管(核心)(3) 用户程序(4)

    6、 编程bash(5) drw-r-r-3. 问答题(1) 什么是核心态与用户态?为什么需要区别出这两种状态?系统是如何区分的? 核心态是计算机的特权态,当执行操作系统程序时,处理机处于核心态。在核心态下CPU可以执行所有的指令,包括一般用户程序中不能使用的特权指令,从而能对所有寄存器和内存进行访问、启动I/O操作等。用户态是非特权态,用户程序是在用户态下执行,它的的权限最低,只能执行指令集中非特权指令。设置这两种不同状态的目的是保护计算机资源的合理分配与使用,防止用户程序干扰操作系统执行,提高计算机的可靠性。通常在PSW中有一个控制位控制这两种状态。(2) 什么是系统调用?系统调用是通过什么指

    7、令实现的?系统调用是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,是进入系统内核空间的一种方法。在用户程序中通过执行一条访管指令使得系统进入核心态,调用相应的系统调用功能。(3) (4) 系统调用与过程调用在功能及实现上有什么相同点和不同点?答:相同点:两者都由程序代码构成,可直接用高级程序设计语言(如C,C+和Perl语言)来编制;使用方式相同以函数调用的形式出现,调用时传送参数。不同点:代码层次不同,过程调用不属于操作系统的一部分,而系统调用是操作系统的一部分。运行状态不同。过程调用只能在用户态下运行,不能进入核心态,而系统调用

    8、是在核心态下运行的。进入方式不同。过程调用在用户程序中调用,并直接在用户空间内执行;而系统调用可以在用户程序中调用,但是在用户程序中执行到系统调用时,会产生异常事件。实现处理机状态从用户态到核心态的转变,从而进入操作系统核心空间去执行系统调用的代码。(5) 试说明特权指令和系统调用之间的区别与联系。答:特权指令是一类只能在核心态下执行的机器指令。而系统调用不是机器指令,它往往以函数调用的形式出现,实现操作系统提供的子功能,它是操作系统与用户的编程接口 。在用户程序中可以使用系统调用来获得操作系统服务,在系统调用代码中可以使用特权指令第 3 章 进程与进程通信习题参考答案1. 选择题(1) B(

    9、2) D(3) B(4)D(5)D(6) A(7) C(8) D(9) D(10) D(11) C(12) D(13) A(14) B(15) B(16) C(17) B(18) C(19)(20) (21)(22) (23) (24)(25)(26)(27) B(28) A(29)B(30) C2. 填空题(1) 数据段PCB(2) 并行并发(3) 资源分配调度(4) 阻塞(5) 共享存储(6) 运行时间短等待时间长(7) 阻塞状态(8) 后备(9) 可剥夺非剥夺(10) 1.53. 问答题(1) 简述进程和程序之间的区别和联系。答:进程和程序是既有区别又有联系的两个概念。1) 进程是动态的

    10、,程序是静态的。程序是一组有序的指令集合,是一个静态的概念; 进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。程序可看作是电影的胶片,进程可以看作电影院放电影的过程。2) 一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。3) 一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。4) 程序可以长期保存,进程只能存在于一段时间。程序是永久存在的,而进程有从被创建到消亡的生命周期。(2) 为什么将进程划分成运行、就绪和阻塞三个基本状态?答: 根据多道程序执行的特点

    11、,进程的运行是走走停停的。因此进程的初级状态应该是执行和等待状态。处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。因此,将等待状态的进程分成两部分,一部分是放在处理机上就能立即执行,这就是就绪的进程;另一部分是仍需等某种事件发生的进程,即使放在处理机上也不能执行的进程,这就是阻塞进程。(3) PCB的作用是什么?它主要包含哪些内容?答: 操作系统管理的进程是多种多样的,要对这些进程实施有效的管理,必须

    12、对进程进行抽象。为了便于系统控制和描述进程的活动,在操作系统核心为进程定义了一个进程控制块PCB。PCB用于描述进程的基本情况以及进程运行和变化的过程,它与进程一一对应。当系统创建进程时,为进程分配一个PCB;在进程运行过程中,系统通过PCB对进程实施管理和控制;进程结束时,系统将收回PCB。PCB中的内容主要包括调度信息和现场信息两大部分。调度信息包括进程名、进程号、优先级、当前状态、资源信息、程序和数据的位置信息、隶属关系和各种队列指针信息等。现场信息主要包括程序状态字、时钟寄存器和界限寄存器等描述进程运行情况的信息。(4) 简述创建进程的大致过程解 创建一个进程大体分以下几步:1) 申请

    13、一个空白的PCB和唯一的进程标识号pid2) 为新进程分配除CPU以外的资源,包括内存空间;3) 初始化PCB中的数据项,包括标志信息、状态信息、控制信息等;4) 将新进程的PCB插入系统的就绪队列。(5) 为何引入线程?线程与进程的关系是什么?答:在操作系统中引入进程的目的,是为了使多个程序并发执行,以改善资源利用率及提高系统的吞吐量;那么,在操作系统中再引入线程则是为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。线程具有许多传统进程所具有的特征,故又称为轻型进程(Light-Weight Process)或进程元;而把传统的进程称为重型进程(Heavy-Weight P

    14、rocess),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少需要有一个线程。(6) 何谓进程通信?试列举几种进程通信方式。答:进程之间的信息交换,就是进程通信。进程同步与互斥,就实现了进程之间交换信息,但由于交换的信息量少,可以看作是低级通信。并发执行的进程,有交换信息的各种需要,除同步与互斥外,还可采用其它的通信方式。介绍几种常用的通信方式:共享存储、消息传递、管道。运行23 1 就绪阻塞4(7) 进程的三个基本的转换如下图所示,图中1、2、3、4分别代表某种类型状态变迁, 请分别回答:1) 什么事件引起各状态之间的变迁?2) 系统中常常由于某一进程

    15、的状态变迁引起另一进程也产生状态变迁,试判断变迁 31、21、32、41、34 是否存在因果关系? 答:1) 引起各变迁的事件如下:变迁 1:正在执行的进程从处理机上退下,导致进程调度程序从就绪状态的进程中选取一个进程。变迁 2:正在执行的进程所分配的时间片用完,导致进程从处理机上退到就绪状态;或者在可抢占优先级的进程调度中,有更高有先级的进程进入就绪状态,导致正在执行的进程从执行状态退到就绪状态。变迁 3:进程需要等待事件的发生;变迁 4:进程所等待的某事件发生了(如 I/O 完成);2) 可能发生的因果变迁31:由于处于运行状态的进程转入阻塞状态,进程调度程序根据调度算法,又从就绪队列中选

    16、择一个进程投入运行;21:由于处于运行状态的进程时间片用完,重新转入就绪状态,从而使进程调度程序又从就绪队列中选择一个进程投入运行;32:此种变化不存在;41:4 的发生与 1 的发生没有必然关系;34:3 的发生和 4 的发生没有必然关系。(8) 设在内存中有三道程序A、B和C,并按A、B、C的优先次序运行,其在CPU上运行时间以及I/O时间分别为:A:计算30ms,I/O 40ms,计算10ms B:计算30ms,I/O 50ms,计算10ms C:计算20ms,I/O 40ms,计算20ms试画出按多道程序运行的时间关系图(调度程序的执行时间忽略不计),完成这三道程序共花多少时间?比单道

    17、运行节省多少时间?(假定运行环境为单CPU,每个程序所用的I/O设备相同,比如打印机)ABCA空闲B空闲CCPUI/O0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180t/ms图1 三道作业并发运行情况答:三道程序共花180ms,比单道(80+90+80)ms=250ms节省了70ms。(9) 下表给出了4个作业J1、J2、J3、J4的提交时间、运行时间,试分别采用FCFS、SJF 和HRRF调度算法,求出在各种作业调度算法下作业的平均周转时间。表1 4个作业的提交时间和运行时间表作业名提交时间运行时间/hJ110:

    18、002J210:181J310:480.5J411:000.8解:采用FCFS作业调度算法时,根据这4个作业提交作业的先后顺序依次运行,每个作业的周转时间如表2所示。表 2 FCFS调度算法性能表作业名提交时间运行时间/h开始时间完成时间周转时间/hJ110:00210:0012:002J210:18112:0013:002.7J310:480.513:0013:302.7J411:000.813:3014:183.3作业的平均周转时间 = (2+2.7+2.7+3.3)h/4=2.675h 采用SJF作业调度算法时,每个作业的周转时间如表3所示。表3 SJF调度算法性能表作业名提交时间运行时

    19、间/h开始时间完成时间周转时间/hJ110:00210:0012:002J210:18113:1814:184J310:480.512:0012:301.7J411:000.812:3013:182.3作业的平均周转时间 = (2+4+1.7+2.3)h/4=2.5h采用HRRF作业调度算法时,每个作业的周转时间如表4所示。当时间为10:00时,仅有作业J1,J1先运行。当作业J1结束后,此时系统中存在3个作业,计算这3个作业J2、J3、J4 的响应比,分别为2.7、3.4、2.25。作业J3的响应比高,作业J3运行。当作业J3结束后,系统中剩下2个作业,计算这2个作业J2、J4的响应比,分别

    20、为3.2、2.875。作业J2的响应比高, 运行作业J2。作业J2运行结束后,运行作业J4。表 4 HRRF调度算法性能表作业名提交时间运行时间/h开始时间完成时间周转时间/hJ110:00210:0012:002J210:18112:3013:303.2J310:480.512:0012:301.7J411:000.813:3014:183.3作业的平均周转时间 = (2+3.2+1.7+3.3)h/4=2.55h(10) 引起进程调度的主要因素主要有哪些? 答:1) 一个进程运行完毕;2) 一个正在运行的进程被阻塞;3) 在抢占式调度中,一个高优先级的进程被创建;4) 在抢占式调度中,一个

    21、高优先级进程由阻塞被唤醒;5) 在轮转式调度中,正在运行的进程运行完一个时间片。(11) 【答案要点】(1) 由于采用了静态优先数,当就绪队列中总有优先数较小的进程时,优先数较大的进程一直没有机会运行,因而会出现饥饿现象。(2) 优先数priority的计算公式为:priority=nice+k1*cpuTime-k2*waitTime,其中k10, k20, 用来分别调整cpuTime和waitTime在priority中所占的比例。waitTime可使长时间等待的进程优先数减小,从而避免出现饥饿现象。第 4 章 进程互斥、同步与死锁 思考与练习题参考答案1. 选择题(1) D(2)D(3)

    22、 C(4) A(5) B, A(6) B,D(7) A(8) A(9) B(10) C(11) D(12) A(13) D(14) D(15) A(16) B(17) C(18) C(19) B(20) D(21) D(22) C(23) D(24) B(25) B(26) B(27) B(28)A(29)B(30) C2. 填空题(1) 环路等待条件。(2) 临界资源。(3) P、V等待(4) 可用资源数目等待该资源的进程数。(5) 等待(6) PV(7) 进程(8) 安全不安全3. 问答题与同步题(1) 在多道程序系统中程序的执行失去了封闭性和再现性,因此多道程序的执行不需要这些特性,这种

    23、说法是否正确 ?答:这种说法不正确。可以想象,如果一个程序在多道程序系统中,在相同的输入的情况下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要封闭性和再现性,只不过单道程序系统的封闭性和再现性是先天固有的,多道程序系统的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。所使用的方法就是同步和互斥的方法。(2) 多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?解:因为 S 的当前值是-3,因此因为 S 处于阻塞状态的进程有 3 个;因为每进行一次 P(S)操作,S

    24、 的值都减 1,每执行 1 次 V 操作 S 的值加 1,故信号量的初值为-3+5-2=0;(3) 解: 在这个问题中,司机与售票员间是并行操作的,司机和售票员各自的操作是顺序进行的。因此司机是一个进程,售票员是一个进程,它们之间是合作关系,即同步关系。根据一般常识,司机和售票员在车上的操作规则如下:l 售票员操作的规则是只有司机停车后,售票员才能开门让乘客上下车;l 司机操作的规则是只有售票员关门后,司机才能启动开始行驶汽车。根据同步规则以及操作流程确定信号量的个数是 2 个,S1 和 S2。S1 的含义是否关门,其初值为 0,表示开门,其值若为 1 表示关门;S2 的含义是否停车,其初值为

    25、 1,表示停车,其值若为 0 表示开车。司机在的操作:在开车前看是否关门?若没关则等待,这是一个 P(S1)操作;若门关, 则开车。到达一个站点,则停车,这是一个 V (S2) 操作;售票员的操作:看是否停车?若没停则等待,这是一个 P (S2) 操作;若停则开门,这是一个 V(S1) 操作。司机与售票员的协调操作描述如下:int S1=0; int S2=1; main()cobegindriver();busman(); coenddriver()while(1)P(S1);启动车辆; 正常行车; 到站停车; V(S2);busserver ()while (1)(4) 解:关车门;V(S

    26、1);售票;P(S2);开车门; 上下乘客;信号量 S 的初值为 300; intS=300main()P1( );P2( ); Pn( ); P1() Pn( )P(S);进入售票厅; 购票;退出售票厅;V(S);P(S);进入售票厅; 购票;退出售票厅;V(S);(5) 解:该算法有错。若 A 进程永不要求访问临界资源,则不会执行 V(S1),意味着 B 进程的申请永远得不到操作临界资源的机会;同理,若 B 进程不要求访问临界资源,则不会执行 V(S2),意味着A 进程下次也得不到操作临界资源的机会。所以问题在于本应进行互斥控制而使用的却是同CSAV(S1)P(S2)P(S1)CSBV(S

    27、2)A 进程B 进程图 4-5 第(5)题图步控制。实现改正如下:设置信号 mutex,初值为 1;P(muyex)CSAV(mutex)P(mutex)CSBV(mutex)A 进程B 进程第(5)题改正图(6) 解 在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:int S=1; int Sa=0; int So=0; main()cobeginfather();son(); daughter();coendfather()while(1)P(S );将水果放入

    28、盘中;if (放入的是桔子) V(So); else V(Sa);son()while(1)P(So);从盘中取出桔子;V(S);吃桔子;daughter( )while(1)P(Sa);从盘中取出苹果;V(S);吃苹果;(7) 解按序分配是适应于动态分配的一种分配方法。为了避免产生死锁,系统将所有资源进行编号,并规定进程请求资源时,严格按照设备编号的大小,比如由小到大的顺序进程申请。如果某进程第n号资源没有获得,则进程不能请求第j(jn)号资源。(系统也可以规定由大到小的请求次序。)因为按序分配可以破坏环路等待条件,因此可以防止死锁。(8) 解:(1)从表1分析可知,可用资源数能满足进程P2

    29、,当P2运行结束后,释放它所占有的资源,使可用资源数目变为(6,2,3)。此刻,可用资源可满足其他任一进程,若将可用资源分配给进程P1,P1结束后,可用资源数变为(7,2,3)。再将可用资源分配给进程P3,P3结束后,可用资源数变为(9,3,4)。最后将可用资源分配给进程P4,P4结束后,可用资源数变为(9,3,6)。因此,系统在T0时刻是安全的。(2)由于P3请求资源数(1,0,1)小于可用资源数(1,1,2),因此现有资源能满足P3的 要求。系统先假定为P3分配资源,则可用资源数变为(0,1,1)。修改相关数据,如表2 所示。表 P3申请资源后的资源分配表资源进程MaxAllocationNeedAvailableR1 R2 R3R1 R2 R3R1 R2 R3R1 R2 R3P1322100222


    注意事项

    本文(操作系统习题参考答案(第二版).docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开