操作系统原理课后习题答案.docx

上传人:h**** 文档编号:132270 上传时间:2018-07-09 格式:DOCX 页数:25 大小:458.67KB
下载 相关 举报
操作系统原理课后习题答案.docx_第1页
第1页 / 共25页
操作系统原理课后习题答案.docx_第2页
第2页 / 共25页
操作系统原理课后习题答案.docx_第3页
第3页 / 共25页
操作系统原理课后习题答案.docx_第4页
第4页 / 共25页
操作系统原理课后习题答案.docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、操作系统原理作业 第 1 章 1-2 批处理系统和分时系统各有什么特点?为什么分时系统的响应比较快? 答 :在批处理系统中操作人员将作业成 批装入计算机并由计算机管理运行,在程 序的运行期间用户不能干预,因此批 处理系统的特点是:用户脱机使用计算机 ,作业成批处理,系统内多道程序并 发执行以及交互能力差。在分时系统中不 同用户通 过各自的终 端以交互 方式共同使 用一台计算 机,计算 机以“分时 ”的方 法轮流为 每个用户服 务。分时 系统的主要 特点是: 多个用户同 时使用计 算机的 同时性,人机问答方 式的交互 性,每个用 户独立使 用计算机的 独占性以 及系统 响应的及 时性。分时 系统

2、一般 采用时间片 轮转的方法使一台计算机同 时为多个终端用户服务,因此分时系统的响 应比较快。 1-4 什么是多道程序设计技术?试述多道程序运行的特征。 答:多道程序设计技术 是指同时 把多个作业 (程序) 放入内存并 允许它们 交替执行和 共享系统 中的各 类资源;当一道程序因某种原因(如 I/O 请求)而暂停执行时, CPU 立即转去 执行另一道程序。多道程序运行具有 如下特征: 多道计算机内存中同时存放几道相互独立 的程序。宏观上并行:同时进入系统的 几道程序都处于运行过程中,它们先后开始了各自的运行但都未运行完毕。 微观上串行:从微观上看内存中的多道程序轮流或分 时地占有处理机,交替执

3、行。 1-6 操作系统的主要特性是什么?为什么会有这样的特性? 答:并发性,共享性,异步性,虚拟性,这些特性保证了计算机能准确的运行,得出想要的结果。 1-7 ( 1) 工作情况如图。 ( 2) CPU 有空闲等待,它发生在 100 ms 150 ms 时间段内,此时间段内程序 A与程序 B 都在进行 I/O 操作。 ( 3)程序 A 无等待现象,程序 B 在 0 ms 50 ms 时间段与 180 ms 200 ms 时间段内有等待现象。 第 2 章 2-1 什么是操作系统虚拟机? 答:在裸机上配置了操作系统程序后就构成了操作系统虚拟机 2-3 什么是处理机的态?为什么要区分处理机的态? 答

4、:处理机的态,就是处理机当前处于何种状态,正在执行哪类程序。为了保护操作系统,至少需要区分两种状态:管态和用户态。 2-5 什么是中断?在计算机系统中为什么要引用中断? 答:中断是指某个事件发生时,系统终止现行程序的运行、引出处理该事件程序进行处理,处理完毕后返回断点,继续执行。为了实现并发活动,为了实现计算机系统的自动化工作,系统必须具备处理中断的能力。 2-8 中断和俘获有什么不同? 答:中断指由处理机外部事件引起的中断称为外中断,又称中断。包括 I/O 中断、外中断。俘获是指由外处理内部事件引起的中断称为俘获。包括访管俘获、程序性中断、机器故障中断。 2-9 什么是中断响应,其实质是什么

5、? 答:中断响应是当中央处理机发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。中断响应的实质是交换指令执行地址和处理器状态,以达到如下目的:( 1)保留程序断点及有关信息;( 2)自动转入相应的中断处理程序执行。 2-12 以 trap 指令为例,用图说明自陷处理的一般过程? 第 3 章 3-1 什么是系统生成? 答:系统生成就是操作系统的生成过程。 3-2 系统引导的主要任务是什么? 答:将操作系统的必要部分装入主存并使系统运行,最终处于命令接受状态。 3-3 处理应用程序分哪几个作业步? 答:用某种预言编制一个程序,该程序被称为源程序。 将源程序和初始数据记录在某种输入

6、介质上,一般在终端设备上直接编辑源程序。 按照一定的要求控制计算机工作,并经过加工,最终计算出结果。 3-5 用户与操作系统的接口是什么?一个分时系统提供什么接口?一个批处理系统又提供什么接口? 答 :用户与 操作系统的 接口是指 操作系统提 供给用户 与计算机打 交道的外 部机制 。 一 个分时系统提供的接口有系统功能调 用和键盘操作命令。 一 个批处理系统提供的接口有系统功能 调用和作业控制语言。 PC(指令计数器 ) ) PS(处理机状态字 ) SP(处理机堆栈指针) PC 进栈 PS 进栈 自陷处理程序的 PC 自陷处理程序的 PS 3-7 假定某系统提供硬件的访管指令(例如形式为“

7、svc n”),为了实现系统调用,系统设计者应做哪些工作?用户又如何请求操作系统服务? 答:当处理机执行到这一条指令时就发生中断,该中断称为访管中断,它表示正在运行的程序对操作系统的某种需求。借助中断,使机器状态由用户态转为管态。为了使控制能转到用户当前所需的那个例行子程序 去,需要指令提供一个地址码。这个地址码表示系统调用的功能号,它是操作系统提供的众多的例行子程序的编号。在访管指令中填入相应的号码,就能使控制转到特定的例行子程序去执行以提供用户当前所需的服务。 第 4 章 4-3 什么是进程?进程与程序的主要区别是什么? 答:进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动

8、。进程是动态的,程序的静态的,进程是程序的动态执行过程。 4-6 进程有哪几个基本状态?试画出进程状态迁移图,并注明发生变迁的原因。 答:进程有三种基本状态,即运行状态,就绪状态,等待状态。如果系统能为每个进程提供一台处理机,则系统中所有进程都可以同时执行,但实际上处理机的数目总是小于进程数,因此往往只有少数几个进程可真正获得处理机控制权。 4-9n 个并发程序共用一个公共变量 Q,写出用信号灯实现 n 个进程互斥时的程序描述,给出信号灯值的取值范围,并说明每个取值的物理意义。 答: main( ) int mutex=1; int i; cobegin for(i=1;i=n;i+) Pi;

9、 coend P( ) . . p(mutex); . v(mutex); . 若 mutex=1,表示没有进程进入临界区; 若 mutex=0,表示有一个进程进入临界区; 若 mutex=-1,表示一个进程进入临界区,另一个进程等待进入。 4-11 在如图 4.33 所示的进程流程图中,有五个进程合作完成某一任务。说明这五个进程之间的同步关系,并用 P,V 操作实现之,要求写出程序描述。 答: main( ) int s2,s3,s4,s5=0; /*表示进程 p2, p3, p4,p5 能否执行 */ cobegin P1( ); P2( ); P3( ); P4( ); P5( ); c

10、oend P1( ) P2( ) P3( ) P4( ) P5( ) . p(s2); p(s3); p(s4); p(s5); . . . . . v(s2); . . . . v(s3); v(s5); v(s5); v(s4); 4-12 如图 4.34 所示, get,copy,put 三个进程共用两个缓冲区 s,t。Get 进程负责不断地把输入记录 送入缓冲区 s 中, copy 进程负责从缓冲区 s 中取出记录复制到缓冲区 t 中,而 put 进程负责把记录从缓冲区 t 中取出打印。试用 P,V 操作实现这三个进程之间的同步,并写出程序描述。 答: main( ) int s,t=

11、0; /*表示进程 get,copy, put 能否执行 */ cobegin Get( ); Copy( ); Put( ); coend Get( ) Copy( ) Put( ) p(s); p(t); . . . v(t); v(s); 4-13 什么是进程的互斥,什么是进程的同步?同步和互斥这两个概念有什么联系与区别? 答:互斥:多个操作不能在同一时间,同一临界区里执行。 同步:并发进程在一些关键点上可能需要互相等待与互通消息 互斥可以说是同步的特殊情况,通过锁和信号灯机制可以实现同步与互斥。 4-18 用于进程控制的原语主要有哪几个? 答:主要有:进程创建,进程撤销,进程阻塞,进程

12、唤醒。 4-19 什么是线程,线程与进程有什么区别? 答:线程是进程的进一步划分,线程也称为轻量进程。 第 5 章 5-5, p 进程共享 m 个同类资源,每一个资源在任一时刻只能供一个进程使用,每一进程对任一资源都只能使用一有限时间,使用完便立即释放,并且每个进程对该类资源的最大需求量小于该类资源的数目。设所有进程对资源的最大需求数目之和小于 p+m.试证:在 该系统中不会发生死锁。 证:假设每个进程最多请求 Xi(1ip)个资源,则根据题意有, X1+X2+.+Xp-1+Xpp+m X1+X2+.+Xp-1+Xp - pm (X1-1)+(X2-1)+.+(Xp-1-1)+(Xp-1)m

13、(X1-1)+(X2-1)+.+(Xp-1-1)+(Xp-1)+1m+1 (X1-1)+(X2-1)+.+(Xp-1-1)+(Xp-1)+1m 这说明在最坏情况下,每个进程均还差一个资源,而此时系统 中还有一个没被分配的可用资源。将它分配给任何一个进程,都可以使该得到全部资源的 进程运行结束而释放其占有的资源,并将释放的资源分配给其它的进程,使其 它进程都能运行结束,系统不会发生死锁。 证毕。 5-6 图 5.9 表示一带闸门的运河,其上有两家吊桥。吊桥坐落在一条公路上,为使该公路避开一块沼泽地而令其横跨运河两次。运河和公路的交通都是单向的。运河上的基本运输由驳船担负。在一般驳船接近吊桥 A

14、时就拉汽笛警告,若吊桥上无车辆,吊桥就吊起,直到驳船尾部通过此桥为止。对吊桥 B 也按同样次序处理。 一艘典型驳船的长度为 200m,当它在河上航行时是否会产生死锁?若会,其理由是什么? 如何能克服一个可能的死锁?请提出一个防止死锁的办法。 如何利用信号灯的 P,V 操作,实现车辆和驳船的同步? ( 1)驳船长 200 米,当驳船通过了 A 桥,其船头到达 B 桥,请求 B 桥吊起,而此时它的尾部仍占据 A 桥。若这个时候 B 桥上及 B 桥到 A 桥之间的公路上都被汽车占据,而汽车又要求通过 A 桥。这样驳船和汽车都无法前进,形成死锁的局面。 ( 2)可以有以下两种方法: c 资源的静态分配

15、。即进程把它所需要的所有资源在运行前提前申请,系统把它所需要的全部资源一次性都分配给它。也就是说,这时把 A 桥和 B 桥看成一个资源。打破了产生死锁的四个必要条件之一的部分分配条件。 d 可以规定资源按序申请和分配,从而破坏了死锁的循环等待条件,防止死锁的发生。规定如下: B 桥的序号小于 A 桥的序号,驳船和汽车都必须先申请序号小的资源 B 桥,申请得到满足后,再申请序号大的资源 A 桥。 ( 3)算法如下: c 设置两个互斥信号量 mutexa, mutexb,用来实现驳船和汽车对 A 桥和对 B 桥的互斥使用;设置一个共享变量 count,用来记录当前占用 A 桥和 B 桥的汽车数并设置互斥信号量 mutex,用来实现汽车对共享变量 count 的互斥访问。 Main( ) int mutexa, mutexb, mutex, count mutexa=1; mutexb=1; mutex=1; count=0; cobegin bargei; /i=1,2,.,m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。