操作系统课程设计5答案

合集下载

(完整版)操作系统教程第5版课后标准答案

(完整版)操作系统教程第5版课后标准答案

操作系统教程第5版课后答案费祥林、骆斌编著第一章操作系统概论习题一一、思考题1.简述现代计算机系统的组成及层次结构。

答:现代计算机系统由硬件和软件两个部分组成。

是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。

硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。

软件层由包括系统软件、支撑软件和应用软件。

其中系统软件是最靠近硬件的。

2、计算机系统的资源可分成哪几类?试举例说明。

答:包括两大类,硬件资源和信息资源。

硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。

3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

操作系统在计算机系统中主要起4个方面的作用。

(1)服务用户观点——操作系统提供用户接口和公共服务程序(2)进程交互观点——操作系统是进程执行的控制者和协调者(3)系统实现观点——操作系统作为扩展机或虚拟机(4)资源管理观点——操作系统作为资源的管理者和控制者4.操作系统如何实现计算与操作过程的自动化?答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。

其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。

又可分为批处理单道系统和批处理多道系统。

单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。

批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率5.操作系统要为用户提供哪些基本的和共性的服务?答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。

计算机操作系统第五版答案,操作系统-第5版-习题答案.doc

计算机操作系统第五版答案,操作系统-第5版-习题答案.doc

计算机操作系统第五版答案,操作系统-第5版-习题答案.doc 第⼀章⼀、选择题1. D2. C3,B4.A5.6. D7. C⼆、填空题1. 硬件、软件2. 交互性、多路性和独占性3.⾬提⾼系统的⼯作效率4.处理器管理、存储器管理、⽂件管理、设备管理和接⼝管理。

5. 程序级和⽤户组(程序接⼝和命令接⼝)。

三、简答题1.计算机系统由哪些部分组成?处理器管理、存储器管理、⽂件管理、设备管理和接⼝管理2. 什么是操作系统?(1)管理和控制计算机的硬件和软件资源。

(2)合理组织计算机⼯作流程。

(3)提供⽅便⽤户操作的接⼝的软件。

3. 实时操作系统的主要特点是什么?及时性、可靠性。

4. 从资源管理的⾓度来看,操作系统的基本功能可分成哪些部分?管理和控制计算机的硬件和软件资源。

5. 操作系统的分类?(1)批处理操作系统。

(2)实时操作系统。

(3)分时操作系统。

(4)⽹络操作系统。

(5)分布式操作系统。

(6)嵌⼊式操作系统。

(7)微型计算机操作系统。

第⼆章⼀、选择题(1)进程部分1. D2. B3,D4.B5.6. B7. B(2)并发和通信部分1. B2. B3.B4.B5.D6. C7. B8.11. B 12.D⼆、填空题1. 动态和静态。

2. 程序、数据和PCB(进程控制块)3. 程序、数据和PCB(进程控制块、PCB、程序段。

4. 动态、静态5. 分配资源的基本单位,执⾏和调度单位6. 临界资源的概念是 ⼀次仅允许⼀个进程访问的资源 ,⽽临界区是指进程中访问临界资源的那段程序代码。

7. ⽤PV操作管理临界区时,任何⼀个进程进⼊临界区之间必须应⽤P操作,退出临界区必须调⽤V操作。

8. 信息分信箱头和信箱体,信箱头中存放有关信箱的描述,信箱体由若⼲格⼦组成,每格存放⼀封信件,格⼦的数⽬和⼤⼩在创建信箱时确定。

三、简答题1. 什么叫多道程序设计?为什么要采⽤多道程序设计?答:多道程序设计是指在主存中同时存放多个程序,它们都处于执⾏的开始点和结束点之间,这些程序轮渡或以其他⽅式共享CPU。

操作系统教程第5版部分习题答案(1)

操作系统教程第5版部分习题答案(1)

第一章:一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的区别。

(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。

从宏观上看是并行的,从微观上看是串行的。

(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。

23.现代操作系统具有哪些基本功能?请简单叙述之。

(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。

27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。

35.简述操作系统资源管理的资源复用技术。

系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。

(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。

.二、2、52、答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。

操作系统精髓与设计原理第五版中文答案全

操作系统精髓与设计原理第五版中文答案全

•2.1 情况(a)和情况(b)具有相同的答案。

•假设处理器的操作不能重叠,但I/O操作可以。

•1job:时间周期=NT•处理器利用率=50%;•2jobs:时间周期=NT•处理器利用率=100%;•4jobs:时间周期=(2N-1)NT•处理器利用率=100%•2.2 I/O限制程序只用相对较少的处理时间,因此,受到短期调度算法的偏爱。

然而,如果一个处理器限制程序在一段很长的时间内被处理器时间拒绝,那同样的这个短期调度算法则会允许处理机去处理过去一段时间一直没有使用处理机的程序,所以,并不是永远不受理处理器限制程序所需的处理器时间。

•2.3 关于分时系统,我们所关注的是周转时间。

•首选的是时间片,因为它在一个很短的时间给•所有的程序一个访问权限去使用处理器。

在批•处理系统,我们所关注的是吞吐量和更少量的上•下文转换,对于进程来说获得了更多的处理时•间。

因此,最小化上下文转换的处理是有优势•的。

•2.4 应用程序运用系统调用去调用操作系统所•提供的功能。

关键的是,系统调用导致转换到•进入内核模式的系统程序。

操作系统第三章习题解答•3.1 系统和用户进程的创建和删除:在系统中进程对于信息共享,加速计算,模块性和便利性都能并发执行。

并发的执行需要进程的创建和删除机制。

进程所需要的资源在进程被创建时获得或者在其运行的时候分配。

当进程结束时,操作系统需要收回任何可重用资源。

•进程的挂起和恢复:在进程调度中,当进程在等待某些资源时,操作系统需要把进程状态改变成等待或者就绪状态。

当进程所要求的资源可用时,操作系统需要把它的状态变为运行状态恢复它的执行。

•进程同步机制:协调进程分享数据。

并发访问使用共享数据可能导致数据不一致性,操作系统不得不为其提供一种进程同步机制用来确保协作进程有序的实行,从而保证数据的一致性。

•进程通信机制:在操作系统下执行的进程要么是独立的进程要么是协作的进程。

协作进程必须使用某些方法来实现进程间的通信。

操作系统第五版费祥林-课后习题答案解析参考

操作系统第五版费祥林-课后习题答案解析参考

第一章操作系统概论1、有一台计算机,具有IMB内存,操作系统占用200KB ,每个用户进程各占200KB。

如果用户进程等待I/O的时间为80 % ,若增加1MB内存,则CPU的利用率提高多少?答:设每个进程等待I/O的百分比为P ,则n个进程同时等待刀0的概率是Pn ,当n 个进程同时等待I/O期间CPU是空闲的,故CPU的利用率为「Pn。

由题意可知,除去操作系统,内存还能容纳4个用户进程,山于每个用户进程等待I/O的时间为80 % ,故:CPU 利用率=1- (80%) 4 =若再增加1MB内存,系统中可同时运行9个用户进程,此时:cPu利用率=1 - (1-80%)9 =故增加IMB内存使CPU的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2—个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始运行。

程序A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms ,结束。

程序B的运行轨迹为:计算50ms、输入80ms、再计算100ms ,结束。

试说明(1 )两道程序运行时,CPU有无空闲等待若有,在哪段时间内等待为什么会等待(2 )程序A、B有无等待CPU的情况若有,指出发生等待的时刻。

答:画出两道程序并发执行图如下:处理器|A汁H |R计建|iiA计篁]iiR计|辎入机i u蛤入i1 •打印机•i i rren j i i1A打印|程序A L i 打印i计垃| rren|程序B1计篁1i 竝入总1rfrM|时(B](ms) 1 I 1 11|050 100 150180 200250300(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)(2)程序A无等待现象,但程序B有等待。

程序B有等待时间段为180rns至200ms间(见图中有色部分)3设有三道程序,按A、B、C优先次序运行,其内部计算和UO操作时间由图给出。

(完整)《操作系统精髓与设计原理·第五版》练习题及答案(DOC)

(完整)《操作系统精髓与设计原理·第五版》练习题及答案(DOC)

第1章计算机系统概述1。

1、图1.3中的理想机器还有两条I/O指令:0011 = 从I/O中载入AC0111 = 把AC保存到I/O中在这种情况下,12位地址标识一个特殊的外部设备。

请给出以下程序的执行过程(按照图1.4的格式):1.从设备5中载入AC。

2.加上存储器单元940的内容.3.把AC保存到设备6中。

假设从设备5中取到的下一个值为3940单元中的值为2。

答案:存储器(16进制内容):300:3005;301:5940;302:7006步骤1:3005-〉IR;步骤2:3->AC步骤3:5940-〉IR;步骤4:3+2=5-〉AC步骤5:7006-〉IR:步骤6:AC-〉设备 61。

2、本章中用6步来描述图1。

4中的程序执行情况,请使用MAR和MBR扩充这个描述。

答案:1。

a。

PC中包含第一条指令的地址300,该指令的内容被送入MAR中。

b。

地址为300的指令的内容(值为十六进制数1940)被送入MBR,并且PC增1。

这两个步骤是并行完成的。

c。

MBR中的值被送入指令寄存器IR中。

2。

a。

指令寄存器IR中的地址部分(940)被送入MAR中。

b. 地址940中的值被送入MBR中。

c。

MBR中的值被送入AC中。

3. a. PC中的值(301)被送入MAR中.b. 地址为301的指令的内容(值为十六进制数5941)被送入MBR,并且PC增1。

c. MBR中的值被送入指令寄存器IR中。

4. a。

指令寄存器IR中的地址部分(941)被送入MAR中。

b. 地址941中的值被送入MBR中。

c。

AC中以前的内容和地址为941的存储单元中的内容相加,结果保存到AC中。

5. a。

PC中的值(302)被送入MAR中。

b. 地址为302的指令的内容(值为十六进制数2941)被送入MBR,并且PC增1。

c. MBR中的值被送入指令寄存器IR中。

6。

a。

指令寄存器IR中的地址部分(941)被送入MAR中。

操作系统——精髓与设计原理(第五章答案)

操作系统——精髓与设计原理(第五章答案)

• 5.9 • 错误情形:假设有2个进程都调用Wait且s的 初值为0。在第一个进程执行完 SignalB(mutex)且尚未执行WaitB(delay)时, 第二个进程开始调用Wait,也停在同一点 (即SignalB(mutex)和WaitB(delay)之间)。 这时,s的值为-2,而mutex是打开的。假如 有另外2个进程在这时相继调用了Signal, 那么他们每个都会做SignalB(delay)操作, 但程序中后一个SignalB将没有意义。
5.14
• 考虑图5.17。如果按照以下的顺序改变程序 中的相应处程序的意思会改变吗? • a. wait(e); wait(s) • b. signal(s);siБайду номын сангаасnal(n) • c. wait(n);wait(s) • d. signal(s);signal(e)
• a.互换wait(e)和wait(s): • 结果: • 对于生产者进程来说,若wait(s)成功,则说明 可以使用缓冲池。若wait(e)不成功说明没有空 缓冲区可用,此时生产者进程等待。 • 对于消费者进程来说,若wait(n)成功,则说明 缓冲池不空。若wait(s) 成功说明可以使用缓冲 池,但此时由于生产者进程已将缓冲池占有, 此时消费者进程等待。结果发生死锁。 • b.意思不变 • c.同a • d.意思不变
• • • • • • • • • •
分析: 三类进程:Santa Claus, reindeer, kids Santa Claus: sleep in North Pole waken by reindeer(9头) Kids(3个) Reindeer:Vacation in tropics Return North Pole Christmas activity Kids: Making toys having difficulties ,need help

操作系统第五章参考答案

操作系统第五章参考答案

第五章参考答案1、设备控制器位于设备与CPU之间,它要与CPU、设备进行通信。

设备控制器一般都由3部分构成:设备控制器与CPU的接口、设备控制器与设备的接口、I/O逻辑。

2、设备控制器应具备下列功能1)接收与识别命令:接收与识别CPU发送的命令,这些命令放在寄存器中。

由设备驱动程序进行解释与执行。

2)交换数据:3)标识与报告设备状态4)地址识别:如内存的每一个单元都有地址,每个设备已都有一个地址。

CPU就是通过这些地址来控制与识别设备。

5)数据缓冲:由于CPU和内存的速度较高,而I/O设备的速度较低,因此在他们中间必要通过缓冲区进行速度匹配。

6)差错控制9、引入缓冲主要原因有(1)缓和CPU与I/O设备间速度不匹配的矛盾。

凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。

在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率(2)减少对CPU的中断次数(频率)。

14、1)安全分配方式:当进程发出I/O请求后,便进入阻塞状态,直到I/O完成才被唤醒。

不可能造成死锁2)不安全分配方式:在这种方式中,当进程提出I/O请求后,仍然进行运行,需要时又提出第二个I/O请求。

可能造成死锁。

设备独立性是指应用程序独立于具体使用的物理设备。

引入设备独立性有二:1)设备分配具有灵活性:当进程以物理设备名来请求某设备时,如果该设备已经分配,而尽管这是还有其它的相同设备正在空闲(但名字不同),该进程仍然要被阻塞。

但如果用逻辑设备名来请求,系统就会从这类设备中进行分配。

2)易于实现I/O重定向:/O重定向—用于I/O操作的设备可以更换(即重定向)而不必改变应用程序。

为了实现设备独立性必须引入逻辑设备与物理设备(设备的独立性是通过逻辑设备来实现的)。

在应用程序中使用的是逻辑设备(通过逻辑设备名来请求设备);而系统执行时,是使用的物理设备。

因此必须有将逻辑设备转化为物理设备的功能(OS要做的事情)将一台物理I/O设备虚拟为多个逻辑I/O设备,让多个用户共享一台物理I/O设备,实现设备虚拟的关键技术是SPOOLing技术。

操作系统课程设计题含答案(大学期末复习资料).docx

操作系统课程设计题含答案(大学期末复习资料).docx

测试题——操作系统课程设计一、判断题1、操作系统是计算机的系统软件。

2、操作系统的设计观点包括用户观点和资源两方面。

即一方血要血向用户服务;另一方面还要充分利用计算机的硬件资源。

3、操作系统的形成经历了联机批处理系统、脱机批处理系统和执行系统。

4、多道程序设计技术就是在系统(内存)中同时存放并运行几道相互独立的程序,在宏观和微观上都是并行的。

5、操作系统的“生成"(generation)是指将操作系统安装在计算机上,并对操作系统作适当配置而形成操作系统内核(kernel)的过程。

6^在c语言中,while循环和do循环执行完全一样。

7、在任何计算机系统屮最关键的资源Z—都是处理机(CPU),每一个任务都必须使用它。

8、多任务的调度就是批处理。

9、作业在整个活动期间的状态分别是提交状态、后备状态、执行状态、完成状态。

10、作业调度的主要任务是完成作业从后备状态到执行状态和从执行状态到完成状态的转变。

11、作业的优先数反映了用户要求运行的急切程度。

12、作业调度性能衡量的标准为平均周转时间和平均带权周转时间。

13、进程调度的功能可细分为调度和分派两部分。

14、当正在运行的进程由于某种原因要让出处理机时,应将该进程的状态改为“等待",并插入到相应队列中,不需要保留该进程的处理机现场。

)15、髙优先就绪队列的进程一般是计算量比较大的,即称为受CPU限制的进程。

16、处理机分配是由进程调度和作业调度共同来完成的,其屮进程调度也是短程调度。

17、进程优先数调度算法是预先确定各进程的优先数,系统把处理机的使用权赋予就绪队列中具备最高优先权(优先数和一定的优先级相对应)的就绪进程。

18、优先数设计是指进程在就绪队列必须以进程的优先数排序。

19、在可变时间片算法中,开始下一轮循环前,系统不需要根据就绪队列中的进程数目计算时间片的长度。

20、线程调度采用FIFO调度算法。

21、分区存储管理是满足多道程序设计的一种存储管理方法。

操作系统教程第5版部分习题答案

操作系统教程第5版部分习题答案

操作系统教程第 5 版部分习题答案第一章:一、3、10、15、23、27、353. 什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10. 试述系统调用与函数(过程)调用之间的区别。

1)调用形式和实现方式不同;操作系统教程第 5 版部分习题答案(2)被调用的代码位置不同;(3)提供方式不同15. 什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业 (程序)同时进入计算机系统内存并执行交替计算的方法。

从宏观上看是并行的,从微观上看是串行的。

(1)可以提高CPU内存和设备的利用率;( 2) 可以提高系统的吞吐率,使单位时间内完成的作业数目增加;( 3) 可以充分发挥系统的并行性,使设备和设备之间,设备和CPU 之间均可并行工作。

23. 现代操作系统具有哪些基本功能?请简单叙述之。

( 1 )处理器管理;( 2)存储管理;( 3)设备管理;操作系统教程第 5 版部分习题答案(4)文件管理;(5)联网与通信管理。

27. 什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。

35. 简述操作系统资源管理的资源复用技术。

系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是xx 和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。

(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。

(最新整理)操作系统第五章作业参考答案

(最新整理)操作系统第五章作业参考答案

(完整)操作系统第五章作业参考答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)操作系统第五章作业参考答案)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)操作系统第五章作业参考答案的全部内容。

第五章作业参考答案1. 旋转型设备上信息的优化分布能减少为若干个I/O服务的总时间.设磁鼓上分为20个区,每区存放一个记录,磁鼓旋转一周需20毫秒,读出每个记录平均需用1毫秒,读出后经2毫秒处理,再继续处理下一个记录。

在不知当前磁鼓位置的情况下:(1)顺序存放记录1、……,记录20时,试计算读出并处理20个记录的总时间;(2)给出优先分布20个记录的一种方案,使得所花的总处理时间减少,且计算出这个方案所花的总时间。

答:定位第1个记录需10ms。

读出第1个记录,处理花2ms,这时已到了第4个记录,再转过18个记录(花18ms)才能找到记录2,所以,读出并处理20个记录的总时间:10+3+(1+2+18)×19=13+21×19=412ms如果给出优先分布20个记录的方案为:1,8,15,2,9,16,3,10,17,4,11,18,5,12,19,6,13,20,7,14.当读出第1个记录,花2ms处理后,恰好就可以处理记录2,省去了寻找下一个记录的时间,读出并处理20个记录的总时间:10+3+3×19=13+247=260ms2。

现有如下请求队列:8,18,27,129,110,186,78,147,41,10,64,12;试用查找时间最短优先算法计算处理所有请求移动的总柱面数。

假设磁头当前位置下在磁道100.答:处理次序为:100—110-129-147—186-78-64-41—27-18-12—10—8.移动的总柱面数:264.4。

操作系统第五章课后答案

操作系统第五章课后答案

第五章设备管理3. 什么是字节多路通道?什么是数组选择通道和数组多路通道?a.字节多路通道含有许多非分配型子通道分别连接在低、中速I/O设备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送。

当第一个子通道控制其I/O设备完成一个字节的交换后,便立即腾出字节多路通道(主通道),让给第二个子通道使用;当第二个子通道也交换完一个字节后,又依样把主通道让给第三个子通道使用,以此类推。

转轮一周后,重又返回由第一个子通道去使用主通道。

b.数组选择通道只含有一个分配型子通道,一段时间内只能执行一道通道程序、控制一台设备按数组方式进行数据传送。

通道被某台设备占用后,便一直处于独占状态,直至设备数据传输完毕释放该通道,故而通道利用率较低,主要用于连接多台高速设备。

c. 数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道分时并行操作的优点相结合而形成的一种新通道。

其含有多个非分配型子通道分别连接在高、中速I/O设备上,子通道按时间片轮转方式共享主通道,按数组方式进行数据传送,因而既具有很高的数据传输速率,又能获得令人满意的通道利用率。

4. 如何解决因通道不足而产生的瓶颈问题?解决因通道不足而产生的瓶颈问题的最有效方法是增加设备到主机间的通路而不是增加通道。

换言之,就是把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。

这种多通路方式不仅可以解决该瓶颈问题,而且能够提高系统的可靠性,也即不会因为个别通道或控制器的故障而使设备与存储器之间无法建立通路进行数据传输。

6. 试说明I/O控制发展的主要推动因素是什么?促使I/O控制不断发展的几个主要因素如下:a.尽量减少CPU对I/O控制的干预,把CPU从繁杂的I/O控制中解脱出来,以便更多地去完成数据处理任务。

b.缓和CPU的高速性和设备的低速性之间速度不匹配的矛盾,以提高CPU的利用率和系统的吞吐量。

c.提高CPU和I/O设备操作的并行程度,使CPU和I/O设备都处于忙碌状态,从而提高整个系统的资源利用率和系统吞吐量。

操作系统第五版费祥林-课后习题答案参考

操作系统第五版费祥林-课后习题答案参考

第一章操作系统概论1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。

如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少?答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。

由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故:CPU利用率=l-(80%)4 = 0.59若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87故增加IMB 内存使CPU 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。

程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。

程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。

试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。

答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序A 无等待现象,但程序B 有等待。

程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

试画出按多道运行的时间关系图(忽略调度执行时间)。

完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。

操作系统精髓与设计原理(第5版)课后习题答案

操作系统精髓与设计原理(第5版)课后习题答案

操作系统精髓与设计原理(第5版)课后习题答案第1章计算机系统概述1.1、图1.3中的理想机器还有两条I/O指令:0011 = 从I/O中载入AC0111 = 把AC保存到I/O中在这种情况下,12位地址标识一个特殊的外部设备。

请给出以下程序的执行过程(按照图1.4的格式):1.从设备5中载入AC。

2.加上存储器单元940的内容。

3.把AC保存到设备6中。

假设从设备5中取到的下一个值为3940单元中的值为2。

答案:存储器(16进制内容):300:3005;301:5940;302:7006步骤1:3005->IR;步骤2:3->AC步骤3:5940->IR;步骤4:3+2=5->AC步骤5:7006->IR:步骤6:AC->设备61.2、本章中用6步来描述图1.4中的程序执行情况,请使用MAR 和MBR扩充这个描述。

答案:1. a. PC中包含第一条指令的地址300,该指令的内容被送入MAR中。

b. 地址为300的指令的内容(值为十六进制数1940)被送入MBR,并且PC增1。

这两个步骤是并行完成的。

c. MBR中的值被送入指令寄存器IR中。

2. a. 指令寄存器IR中的地址部分(940)被送入MAR中。

b. 地址940中的值被送入MBR中。

c. MBR中的值被送入AC中。

3. a. PC中的值(301)被送入MAR中。

b. 地址为301的指令的内容(值为十六进制数5941)被送入MBR,并且PC增1。

c. MBR中的值被送入指令寄存器IR中。

4. a. 指令寄存器IR中的地址部分(941)被送入MAR中。

b. 地址941中的值被送入MBR中。

c. AC中以前的内容和地址为941的存储单元中的内容相加,结果保存到AC中。

5. a. PC中的值(302)被送入MAR中。

b. 地址为302的指令的内容(值为十六进制数2941)被送入MBR,并且PC增1。

c. MBR中的值被送入指令寄存器IR中。

操作系统课后答案——第五章

操作系统课后答案——第五章

第五章设备管理3. 什么是字节多路通道?什么是数组选择通道和数组多路通道?a.字节多路通道含有许多非分配型子通道分别连接在低、中速I/O设备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送。

当第一个子通道控制其I/O设备完成一个字节的交换后,便立即腾出字节多路通道(主通道),让给第二个子通道使用;当第二个子通道也交换完一个字节后,又依样把主通道让给第三个子通道使用,以此类推。

转轮一周后,重又返回由第一个子通道去使用主通道。

b.数组选择通道只含有一个分配型子通道,一段时间内只能执行一道通道程序、控制一台设备按数组方式进行数据传送。

通道被某台设备占用后,便一直处于独占状态,直至设备数据传输完毕释放该通道,故而通道利用率较低,主要用于连接多台高速设备。

c. 数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道分时并行操作的优点相结合而形成的一种新通道。

其含有多个非分配型子通道分别连接在高、中速I/O设备上,子通道按时间片轮转方式共享主通道,按数组方式进行数据传送,因而既具有很高的数据传输速率,又能获得令人满意的通道利用率。

4. 如何解决因通道不足而产生的瓶颈问题?解决因通道不足而产生的瓶颈问题的最有效方法是增加设备到主机间的通路而不是增加通道。

换言之,就是把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。

这种多通路方式不仅可以解决该瓶颈问题,而且能够提高系统的可靠性,也即不会因为个别通道或控制器的故障而使设备与存储器之间无法建立通路进行数据传输。

6. 试说明I/O控制发展的主要推动因素是什么?促使I/O控制不断发展的几个主要因素如下:a.尽量减少CPU对I/O控制的干预,把CPU从繁杂的I/O控制中解脱出来,以便更多地去完成数据处理任务。

b.缓和CPU的高速性和设备的低速性之间速度不匹配的矛盾,以提高CPU的利用率和系统的吞吐量。

c.提高CPU和I/O设备操作的并行程度,使CPU和I/O设备都处于忙碌状态,从而提高整个系统的资源利用率和系统吞吐量。

(完整版)操作系统第五版费祥林_课后习题答案解析参考(可编辑修改word版)

(完整版)操作系统第五版费祥林_课后习题答案解析参考(可编辑修改word版)

第一章操作系统概论1、有一台计算机,具有 IMB 内存,操作系统占用 200KB ,每个用户进程各占200KB 。

如果用户进程等待 I/O 的时间为 80 % ,若增加 1MB 内存,则 CPU 的利用率提高多少?答:设每个进程等待 I/O 的百分比为 P ,则 n 个进程同时等待刀 O 的概率是Pn ,当 n 个进程同时等待 I/O 期间 CPU 是空闲的,故 CPU 的利用率为 1-Pn。

由题意可知,除去操作系统,内存还能容纳 4 个用户进程,由于每个用户进程等待I/O 的时间为 80 % , 故:CPU 利用率=l-(80%)4 = 0.59若再增加 1MB 内存,系统中可同时运行 9 个用户进程,此时:cPu 利用率=l- (1-80%)9 = 0.87故增加 IMB 内存使 CPU 的利用率提高了 47 % :87 %/59 %=147 %147 %-100 % = 47 %2一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序 B 后开始运行。

程序 A 的运行轨迹为:计算 50ms 、打印100ms 、再计算 50ms 、打印 100ms ,结束。

程序 B 的运行轨迹为:计算 50ms 、输入 80ms 、再计算 100ms ,结束。

试说明(1 )两道程序运行时,CPU 有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序 A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。

答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU 存在空闲等待,时间为 100 至150ms 之间(见图中有色部分)(2)程序A 无等待现象,但程序B 有等待。

程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3设有三道程序,按 A 、B 、C 优先次序运行,其内部计算和 UO 操作时间由图给出。

试画出按多道运行的时间关系图(忽略调度执行时间)。

《操作系统精髓与设计原理·第五版》练习题及答案(DOC)

《操作系统精髓与设计原理·第五版》练习题及答案(DOC)

《操作系统精髓与设计原理·第五版》练习题及答案(DOC)第1章计算机系统概述1.1、图1.3中的理想机器还有两条I/O指令:0011 = 从I/O中载入AC0111 = 把AC保存到I/O中在这种情况下,12位地址标识一个特殊的外部设备。

请给出以下程序的执行过程(按照图1.4的格式):1.从设备5中载入AC。

2.加上存储器单元940的内容。

3.把AC保存到设备6中。

假设从设备5中取到的下一个值为3940单元中的值为2。

答案:存储器(16进制内容):300:3005;301:5940;302:7006 步骤1:3005->IR;步骤2:3->AC步骤3:5940->IR;步骤4:3+2=5->AC步骤5:7006->IR:步骤6:AC->设备 61.2、本章中用6步来描述图1.4中的程序执行情况,请使用MAR 和MBR扩充这个描述。

答案:1. a. PC中包含第一条指令的地址300,该指令的内容被送入MAR中。

b. 地址为300的指令的内容(值为十六进制数1940)被送入MBR,并且PC增1。

这两个步骤是并行完成的。

c. MBR中的值被送入指令寄存器IR中。

2. a. 指令寄存器IR中的地址部分(940)被送入MAR中。

b. 地址940中的值被送入MBR中。

c. MBR中的值被送入AC中。

3. a. PC中的值(301)被送入MAR中。

b. 地址为301的指令的内容(值为十六进制数5941)被送入MBR,并且PC增1。

c. MBR中的值被送入指令寄存器IR中。

4. a. 指令寄存器IR中的地址部分(941)被送入MAR中。

b. 地址941中的值被送入MBR中。

c. AC中以前的内容和地址为941的存储单元中的内容相加,结果保存到AC中。

5. a. PC中的值(302)被送入MAR中。

b. 地址为302的指令的内容(值为十六进制数2941)被送入MBR,并且PC增1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int lim;//访问磁道上限
int sum=0;//移道总和
float avg=0;//平均信道数
void Random(int a[])//产生机数
{
int i;
for(i=0;i<10;i++){
{
b[i]=a[i];
}
printf("SSTF访问顺序为:\n");
for(j=0;j<10;j++)//对移道差数进行排序
{
int min=10000;
for(n=0;n<g;n++)
{
m=b[n]-k;
if(m<0)
m=-(m);
if(m<min)
{
min=m;
num=n;//最小移动磁道的下标
a[i]=rand()%lim;
printf("随机生成的磁道号:");
printf("%d\n",a[i]);
}
}
void Yidong(int b[],int num,int g) //对移除后的数组进行重组
{
int i;
for(i=num;i<g;i++)
{
b[num]=b[num+1];
num++;//只消除num位置的数,其他的不变
printf("4.循环扫描算法(CSCAN):\n");
printf("5.退出算法\n");
printf("*************************************************\n");
scanf("%d",&i);//用于选择磁盘调度的算法
printf("你的选择是:%d",i);
{
printf("*************************************************\n");
printf("请选择磁盘调度算法:\n");
printf("1.先来先服务算法(FCFS):\n");
printf("2.最短寻道时间优先算法(SSTF):\n");
printf("3.扫描算法(SCAN):\n");
}
printf("移动距离是:\n");
for(i=0;i<10;i++)
{
m=c[i]-k;
if(m<0)
{
m=-(m);
}
k=c[i];
printf("%d\t",m);
sum=sum+m;
}
avg=(float)sum/10;
printf("\n");
printf("移道总数是:%d\n",sum);
}
}
else{
fx=0;//向内
printf("\n");
for(i=0,j=p;i<10,j>=0;i++,j--)
{
c[i]=b[j];
}
for(i=j=p+1;i<10,j<10;i++,j++)
{
c[i]=b[j];
}
for(i=0;i<10;i++)
{
printf("%d\t",c[i]);//扫描完的数组
}
}
printf("移动距离是:\n");
for(i=0;i<10;i++)
{
m=c[i]-k;
if(m<0)
{
m=-(m);
}
k=c[i];
printf("%d\t",m);
sum=sum+m;
}
avg=(float)sum/10;
printf("\n");
printf("移道总数是:%d\n",sum);
p++;
}else
q++;
if(m<min)
{
min=m;
h=j;//最小移动磁道的下标
}
}
for(i=0,j=p;i<10,j<10;i++,j++)
{
c[i]=b[j];
}
for(i=q,j=0;i<10,j<q;i++,j++)
{
c[i]=b[j];
}
for(i=0;i<10;i++)
{
printf("%d\t",c[i]);//扫描完的数组
printf("移道总数是:%d\n",sum);
printf("平均移道数是:%f\n",avg);
}
void SSTF(int k,int a[])//最短寻道时间优先算法
{
int i,j,n,m,num,g=10;
int b[10],c[10];
for(i=0;i<10;i++)//将随机产生的磁道复制过来
}
printf("\n");
printf("移动距离:\n");
for(j=0;j<10;j++)//求移道总数
{
m=b[j]-k;
if(m<0)//移道数为负是求相反数
{
m=-(m);
}
printf("%d\t",m);
sum=sum+m;
k=b[j];
}
avg=(float)sum/10;
printf("\n");
while(choose==1)
{
printf("请输入开始磁道:\n");
scanf("%d",&k);
printf("请输入要访问的磁道的上限\n");
scanf("%d",&lim);
if(lim>10000){
printf("超出磁盘界限");}
else{
Random(a);
while(m!=5)
printf("平均移道数是:%f\n",avg);
}
void main()//主函数
{
int a[10];//用于存放随机生成的数组,要访问的磁道个数为10
int i;//用于选择第几种磁盘调度方法
int choose=1;//判断是否进行调度
int k;//开始的磁道
int m;
printf("开始进行磁盘调度\n");
if(b[n]>b[n+1])
{
t=b[n];
b[n]=b[n+1];
b[n+1]=t;
}
}
}
for(j=0;j<10;j++)//找到当前最小移道距离的磁道
{
m=b[j]-k;
if(m<0)
{
m=-(m);
p++;
}else
q++;
if(m<min)
{
min=m;
h=j;//最小移动磁道的下标
}
}
printf("平均移道数是:%f\n",avg);
}
void CSCAN(int k,int a[])//循环扫描算法
{
int b[10],c[10];
int min=10000;
int i,j,n,h,m,t,p=0,q=0;
int num=2;//计算磁头扫描的次数
for(i=0;i<10;i++)
if(b[h]>k)//判断第一个移动的方向向外
{
fx=1;
printf("\n");
for(i=0,j=q;i<10,j<10;i++,j++)
{
c[i]=b[j];
}
for(i=j=p;i<10,j>=0;i++,j--)
{
c[i]=b[j];
}
for(i=0;i<10;i++)
{
printf("%d\t",c[i]);//扫描完的数组
}
}
sum=sum+min;//计算移道总数
printf("%4d",b[num]);//输出当前最短移道的磁道数
k=b[num];//改变磁道开始数
Yidong(b,num,g);//剩余磁道
g--;
c[j]=min;//定义数组记录移动距离
}
printf("\n");
printf("移动距离是:\n");
for(j=0;j<10;j++)//输出移动距离
相关文档
最新文档