现代操作系统--作业题整理资料讲解
现代操作系统课后习题答案之欧阳文创编

第二章进程管理第一部分教材习题(P81)3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性和可再现性?(P37)【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。
同时由于失去了封闭性,也将导致其再失去可再现性。
程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。
5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。
传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。
这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。
建立进程所带来的好处是使多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。
但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。
6、试从动态性、并发性和独立性上比较进程和程序?(P37)【解】(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。
动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。
可见,进程有一定的生命期。
而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。
(2)并发性:所谓进程的并发,指的是多个进程实体,同存于内存中,能在一段时间内同时运行。
并发性是进程的重要特征,同时也成为OS的重要特征。
引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是无法并发执行的。
现代操作系统(中文第三版)习题答案精编版

5002.395ns
11、一位校对人员注意到在一部将要出版的操作系统教科书手稿中有一个多次出 现的拼写错误。这本书大致有 700 页。每页 50 行,一行 80 个字符。若把文稿用 电子扫描,那么,主副本进入图 1-9 中的每个存储系统的层次要花费多少时间? 对于内存储方式,考虑所给定的存取时间是每次一个字符,对于磁盘设备,假定 存取时间是每次一个 1024 字符的盘块,而对于磁带,假设给定开始时间后的存 取时间和磁盘存取时间相同。
第2页
cztqwan 2017-06-19
答:原稿包含 80*50*700 = 2800000 字符。当然,这不可能放入任何目前的 CPU 中,但是如果可能的话,在寄存器中只需 2.8ms,在 Cache 中需要 5.6ms,在内 存中需要 28ms,整本书大约有 2700 个 1024 字节的数据块,因此从磁盘扫描大 约为 27 秒,从磁带扫描则需 2 分钟 7 秒。当然,这些时间仅为读取数据的时间。 处理和重写数据将增加时间。
cztqwan 2017-06-19
现代操作系统(第三版)习题答案
cztqwan 2017-06-19
(部分内容来源于网络,转载请注明出处)
cztqwan 2017-06-19
目录
第一章 绪论..................................................................................................................1 第二章 进程与线程......................................................................................................8 第三章 存储管理........................................................................................................21 第四章 文件系统........................................................................................................32 第五章 输入/输出 ......................................................................................................42 第六章 死锁................................................................................................................55 第七章 多媒体操作系统............................................................................................ 65 第八章 多处理机系统................................................................................................ 76 第九章 安全................................................................................................................88 第十章 实例研究 1:Linux .....................................................................................100 第十一章 实例研究 2:Windows Vista .................................................................. 110 第十二章 实例研究 3:Symbian 操作系统 ........................................................... 110 第十三章 操作系统设计.......................................................................................... 110
操作系统教程习题解答资料

操作系统教程课后习题参考答案习题一习题二习题三习题四习题五习题六习题一1.设计操作系统的主要目的是什么?设计操作系统的目的是:(1)从系统管理人员的观点来看,设计操作系统是为了合理地去组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户所共享。
因此,操作系统是计算机资源的管理者。
(2)从用户的观点来看,设计操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。
2.操作系统的作用可表现在哪几个方面?(1) 方便用户使用:操作系统通过提供用户与计算机之间的友好界面来方便用户使用。
(2) 扩展机器功能:操作系统通过扩充硬件功能和提供新的服务来扩展机器功能。
(3) 管理系统资源:操作系统有效地管理系统中的所有硬件和软件资源,使之得到充分利用。
(4) 提高系统效率:操作系统合理组织计算机的工作流程,以改进系统性能和提高系统效率。
(5)构筑开放环境:操作系统遵循国际标准来设计和构造一个开放环境。
其含义主要是指:遵循有关国际工业标准和开放系统标准,支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和互操作性。
3.试叙述脱机批处理和联机批处理工作过程(1)联机批处理工作过程用户上机前,需向机房的操作员提交程序、数据和一个作业说明书,后者提供了用户标识、用户想使用的编译程序以及所需的系统资源等基本信息。
这些资料必须变成穿孔信息,(例如穿成卡片的形式),操作员把各用户提交的一批作业装到输入设备上(若输入设备是读卡机,则该批作业是一叠卡片),然后由监督程序控制送到磁带上。
之后,监督程序自动输入第一个作业的说明记录,若系统资源能满足其要求,则将该作业的程序、数据调入主存,并从磁带上调入所需要的编译程序。
编译程序将用户源程序翻译成目标代码,然后由连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行的程序,接着启动执行。
现代操作系统课后习题答案之欧阳索引创编

第二章进程管理欧阳家百(2021.03.07)第一部分教材习题(P81)3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性和可再现性?(P37)【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。
同时由于失去了封闭性,也将导致其再失去可再现性。
程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。
5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。
传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。
这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。
建立进程所带来的好处是使多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。
但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。
6、试从动态性、并发性和独立性上比较进程和程序?(P37)【解】(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。
动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。
可见,进程有一定的生命期。
而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。
(2)并发性:所谓进程的并发,指的是多个进程实体,同存于内存中,能在一段时间内同时运行。
并发性是进程的重要特征,同时也成为OS的重要特征。
现代操作系统第三版中文答案

现代操作系统第三版中文答案【篇一:操作系统课后答案】>思考与练习题1. 2. 3. 4. 5. 6. 7. 8. 9.什么是操作系统?它的主要功能是什么?什么是多道程序设计技术?多道程序设计技术的主要特点是什么?批处理系统是怎样的一种操作系统?它的特点是什么?什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。
实时系统分为哪俩种类型?操作系统主要特征是什么?操作系统也用户的接口有几种?它们各自用在什么场合?“操作系统是控制硬件的软件”这一说法确切吗?为什么?设内存中有三道程序,a,b,c,它们按a~b~c的先后顺序执行,它们进行“计算”和“i/o操作”的时间如表1-2所示,假设三道程序使用相同的i/o设备。
(1) 试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。
(2) 试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。
10.将下列左右两列词连接起来形成意义最恰当的5对。
dos 网络操作系统 os/2自由软件 unix多任务 linux单任务11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。
答案1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。
2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。
1)多道,即计算机内存中同时放多道相互独立的程序。
2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。
3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有cpu,交替执行。
3.答:批处理操作系统是一种基本的操作系统类型。
在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。
特点是:资源利用率高。
系统吞吐量大。
现代操作系统--作业题整理演示教学

注:标有“操作系统第二版中文版答案”的答案是从操作系统第二版中文答案的电子书上摘抄的,剩下的是非标准答案(可以忽略~~)。
有几道题没有写。
以下的相关文档仅供参考!祝各位同学考试愉快!第一章:引论(P44)1、什么是多道程序设计?答:多道程序就是CPU在内存中多个进程之间迅速切换。
它一般被用来使CPU 保持忙碌,当有一个或多个进程进行I/O时。
(操作系统第二版中文答案)2、什么是SPOOLing?读者是否认为将来的高级个人计算机会把SPOOLing作为标准功能?答:SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
(回答:什么是SPOOLing?百度的~~~)输入SPOOLing是作业中的读入技术,例如:从卡片在磁盘,这样当当前执行的进程完成时,将等候CPU。
输出SPOOLing在打印之前首先复制打印文件,而非直接打印。
在个人计算机上的输入SPOOLing很少,但输出SPOOLing非常普通。
(操作系统第二版中文答案)3、在早期的计算机中,每个字节的读写直接由CPU处理(既没有DMA)。
对于多道程序而言这种组织方式有什么含义?答:多道程序的主要原因是当等候I/O完成时CPU有事可做。
如果没有DMA,I/O 操作时CPU被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。
无论程序操作多少I/O操作,CPU都是100%的忙碌。
当然,这里是假定主要的延迟是数据复制时的等待。
如果I/O很慢的话,CPU可以做其他工作。
(操作系统第二版中文答案)4、系列计算机的思想在20世纪60年代由IBM引入System/360大型机。
现在这种思想已经消亡了还是继续活跃着?答:它依然存在。
例如:Interl以各种各样的不同的属性包括速度和能力消耗来产生Pentium I,II,III和4。
现代操作系统(中文第三版)习题答案

3、在早期计算机中,每个字节的读写直接由 CPU 处理(即没有 DMA),对于多 道程序而言这种组织方式有什么含义? 答:多道程序的主要原因是当等候 I/O 完成时 CPU 有事可做。如果没有 DMA。 I/O 操作时 CPU 被完全占有,因此,多道程序无利可图(至少在 CPU 利用方面)。 无论程序作多少 I/O 操作,CPU 都是 100%的忙碌。当然,这里假定主要的延迟 是数据复制时的等待。如果 I/O 很慢的话,CPU 可以做其它工作。
5、缓慢采用 GUI 的一个原因是支持它的硬件的成本(高昂)。为了支持 25 行 80 列字符的单色文本屏幕应该需要多少视颊 RAM? 对于 1024x768 像素 24 位色彩 位图需要多少视频 RAM? 在 1980 年($5/KB)这些 RAM 的成本是多少?现在它的 成本是多少? 答:25*80 字符的单色文本屏幕需要 2000 字节的缓冲器。1024*768 像素 24 位颜 色的位图需要 2359296 字节。1980 年这两种选择将分别地耗费$10 和$11520。而 对于当前的价格,将少于$1/MB。
4、系列计算机的思想在 20 世纪 60 年代由 IBM 引入进 System/360 大型机。现 在这种思想已经消亡了还是继续活跃着? 答:它依然存在。例如,Intel 以各种各样的不同的属性包括速度和能力消耗来生 产 Pentium I,II,III 和 4。所有这些机器的体系结构都是兼容的,仅仅是价格上 的不同,这些都是家族思想的本质。
现代操作系统总复习资料

操作系统基础习题解析及实验指导2016.9第一篇操作系统基础知识点及习题解答该部分罗列操作系统基础各章节的学习要点,指出学习的重点和难点,在回顾相关知识点的基础上,对典型习题进行分析和解答。
第一章操作系统引论本章学习要点【1】掌握操作系统的概念与作用【2】掌握操作系统的基本类型与特点【3】掌握操作系统的特征与功能【4】深入领会多道程序设计技术本章学习难点【1】多道程序设计技术【2】操作系统的特征知识点回顾一. 操作系统的概念一个完整的计算机系统由计算机硬件系统和计算机软件系统两部分组成。
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统功能的第一次扩充。
图1-1 计算机系统的层次图1.操作系统(Operating System,简称OS)的作用(1)OS作为用户与计算机硬件系统之间的接口OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
或者说,用户在OS 的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
(2)OS作为计算机系统资源的管理者这是广为流行的一个关于OS作用的观点。
在一个计算机系统中,通常都包含了各种各样的硬件和软件资源。
归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。
OS的主要功能正是针对这四类资源进行有效的管理。
(3)OS用作扩充机器对于一台完全没有软件配置的计算机系统(裸机),即使功能再强,也必定难于使用。
OS在第 1 页共102 页裸机上分别覆盖I/O设备管理软件、文件管理软件等,此时用户所看到的机器,将是一台比裸机功能更强、使用更方便的机器。
通常把覆盖了软件的机器称为扩充机器或虚机器。
在计算机系统上覆盖上一层软件后,系统功能便增强一级。
由于OS自身包含了若干层软件,因此当在裸机上覆盖上OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器。
2.操作系统的概念操作系统是一组控制和管理计算机硬件和软件资源、合理组织计算机的工作流程,方便用户使用的程序的集合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注:标有“操作系统第二版中文版答案”的答案是从操作系统第二版中文答案的电子书上摘抄的,剩下的是非标准答案(可以忽略~~)。
有几道题没有写。
以下的相关文档仅供参考!祝各位同学考试愉快!第一章:引论(P44)1、什么是多道程序设计?答:多道程序就是CPU在内存中多个进程之间迅速切换。
它一般被用来使CPU 保持忙碌,当有一个或多个进程进行I/O时。
(操作系统第二版中文答案)2、什么是SPOOLing?读者是否认为将来的高级个人计算机会把SPOOLing作为标准功能?答:SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
(回答:什么是SPOOLing?百度的~~~)输入SPOOLing是作业中的读入技术,例如:从卡片在磁盘,这样当当前执行的进程完成时,将等候CPU。
输出SPOOLing在打印之前首先复制打印文件,而非直接打印。
在个人计算机上的输入SPOOLing很少,但输出SPOOLing非常普通。
(操作系统第二版中文答案)3、在早期的计算机中,每个字节的读写直接由CPU处理(既没有DMA)。
对于多道程序而言这种组织方式有什么含义?答:多道程序的主要原因是当等候I/O完成时CPU有事可做。
如果没有DMA,I/O 操作时CPU被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。
无论程序操作多少I/O操作,CPU都是100%的忙碌。
当然,这里是假定主要的延迟是数据复制时的等待。
如果I/O很慢的话,CPU可以做其他工作。
(操作系统第二版中文答案)4、系列计算机的思想在20世纪60年代由IBM引入System/360大型机。
现在这种思想已经消亡了还是继续活跃着?答:它依然存在。
例如:Interl以各种各样的不同的属性包括速度和能力消耗来产生Pentium I,II,III和4。
所有这些机器的体系结构都是兼容的,仅仅是价格上的不同,这些都是家族思想的本质。
(操作系统第二版中文答案)5、缓慢采用GUI的一个原因是支持它的硬件的成本(高昂)。
为了支持25行80列字符的单色文本屏幕应该需要多少视频RAM?对于1024*768像素24位色彩位图需要多少视频RAM?在1980年($5/KB)这些RAM的成本是多少?现在它的成本是多少?答:25*80字符的单色文本屏幕需要2000字节的缓冲器。
1024*768像素24位颜色的位图需要2359296字节。
1980年代这两种选择将分别地耗费$10和$11520。
而对于当前的价格。
将少于$1/MB。
(操作系统第二版中文答案)8、考虑一个有两个CPU的系统,并且每个CPU有两个线程(超线程)。
假设有三个线程P0,P1,P2,分别以运行时间5ms,10ms,20ms开始。
运行这些程序需要多少时间?假设这三个程序都是100%限于CPU,在运行时无阻塞,并且一旦设定就不改变CPU。
答:这些程序的运行时间因程序的组合的不同而不同,一共有以下4种情况:1)(P0,P1) and P2 => (5ms + 10ms) and 20ms => 20ms2)(P0,P2) and P1 => (5ms + 20ms) and 10ms => 25ms3)(P1,P2) and P0 => (10ms + 20ms) and 50ms => 30ms4)(P0,P1,P2) => (5ms + 10ms + 20ms) => 35ms9、一台计算机有一个四级流水线,每一级都花费相同的时间执行其工作,即1ns。
这台机器每秒可执行多少条指令?答:从管道中每纳秒出现一条指令。
意味着该机器每秒执行十亿条指令。
它对于管道有多少个阶段不予理睬,即使是10-阶段管道,每阶段1nsec,也将执行对每秒十亿条指令。
因为无论哪种情况,管道末端输出的指令数都是一样的。
(操作系统第二版中文答案)10、假设一个计算机系统有高速缓存、内存(RAM)以及磁盘,操作系统用虚拟内存。
读取缓存中的一个词需要2ns,RAM需要10ns,硬盘需要10ms。
如果缓存的命中率是95%,内存的是(缓存失效时)99%,读取一个词的平均时间是多少?答:平均访问时间 = 2ns * 0.95 + 10ns *0.99 *(1-0.95) + 10ms * (1-0.99) *(1-0.95) = 5002.395ns .14、陷阱和中断的主要差别是什么?答:陷阱是由程序造成的,并且与它同步。
如果程序一而再地被运行,陷阱将总在指令流中相同的位置的精确发生。
而中断则是由外部事件和其他时钟造成的,不具有重复性。
(操作系统第二版中文答案)20、有一个文件,其文件描述符是fd,内含下列字节序列:3,1,4,1,5,9,2,6,5,3,5。
有如下系统调用:lseek(fd,3,SEEK_SET);read(fd,&buffer,4);其中lseek调用寻找文件中的字节3。
在读取操作完成之后,buffer中的内容是什么?答:包含字节:1,5,9,2.(操作系统第二版中文答案)22、块特殊文件和字符特殊文件的基本差别是什么?答:块特殊文件包含被编号的块,每一块都可以独立地读写或者写入。
而且可以定位于任何块,并且开始读入或写入。
这些对于字符特殊文件是不可能的。
(操作系统第二版中文答案)25、对程序员而言,系统调用就像对其他库过程的调用一样。
有无必要让程序员了解哪一个库过程导致了系统调用?在什么情形下,为什么?答:就程序逻辑而言,库例程调用哪个系统调用是没有关系的。
但是,如果需要考虑性能问题,无需系统调用就可以完成的任务将使进程运行更快。
所有的系统调用都会导致用户环境和内核环境的切换开销。
更进一步,在多用户系统中,在系统调用完成之前,操作系统可能调度到其他的进程,这将使得调用过程的处理更加迟缓。
(操作系统第二版中文答案)1、于操作系统,下列叙述不正确的是()。
A、管理系统资源B、控制程序执行C、改善人机界面D、提高用户软件运行速度2、以下哪个系统不是基本的操作系统().A、分时操作系统B、实时操作系统C、分布式操作系统D、多道批处理系统3、计算机系统由__________和__________组成。
4、分时操作系统具有的四个主要特点是同时性、 _________、__________和_________。
5、多道程序设计的根本目标是( )。
6、多项选择:操作系统设计目标是()。
A、管理系统资源B、提高安全性C、方便用户使用系统D、使系统能高效工作7、在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。
A、批处理操作系统B、实时操作系统C、分时操作系统D、多处理机操作系统8、多项选择:引入多道程序设计的主要目的在于()。
A、提高实时响应速度B、充分利用处理机,减少机空闲时间C、有利于代码共享D、充分利用外围设备E、减少存储器碎片9、计算机发展到第三代,操作系统已成为软件的一个重要分支,最早的操作系统是()。
10、设计实时操作时( )不是主要的追求目标。
A、安全可靠B、资源利用率C、及时响应D、快速处理答案:1、D2、C3、硬件子系统软件子系统4、独立性及时性交互性5、提高计算机系统的工作效率6、C D7、B8、BD9、批处理操作系统10、B第二章:进程与线程(P95)2、假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。
CPU需要哪些信息?请描述用硬件完成进程切换的过程。
答:应该有一个寄存器包含当前进程表项的指针。
当I/O结束时,CPU讲当前的机器状态存入当前进程表项中,然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程)。
然后,就可以启动这个进程了。
(操作系统第二版中文答案)3、在所有当代计算机中,至少有部分中断处理程序是用汇编语言编写的。
为什么?答:通常高级语言不允许CPU硬件,而这种访问是必须的。
例如:中断处理程序可能需要禁用和启动某个特定的设备服务,或者处理进程堆栈区的数据。
另外,中断服务例程需要尽快地执行。
(操作系统第二版中文答案)4、当中断或系统调用把控制转给操作系统时,通常将内核堆栈和被中断进程的运行堆栈分离。
为什么?答:内核使用单独的堆栈有若干的原因。
其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户进程不允许足够的堆栈空间。
第二,如果内核将数据保留在用户空间,然后从操作系统调用返回,那么恶意的用户可能使用这些数据找出某些关于它进程的信息。
(操作系统第二版中文答案)5、多个作业能够并行运行,比它们顺序执行完成的要快。
假设有两个作业同时开始执行,每个需要10分钟的CPU时间。
如果顺序执行,那么最后一个作业需要多少时间可以完成?如果并行执行又需要多少时间?假设I/O等待占50%。
答:CPU利用率计算公式:CPU利用率 = 1 - p^n.设运行作业所需要的时间为T 顺序执行:T = (10 + 10) / 0.5 = 40(分钟);并行执行:p = 0.5, n = 2, CPU利用率 = 1 - 0.5^2 = 0.75, 则T = (10 + 10) / 0.75 = 26.7(分钟).7、如果创建一个多线程进程,若子进程得到全部父进程线程的副本,会出现问题。
假如原有线程之一正在等待键盘输入,现在则成为两个线程在等待键盘输入,每个进程有一个。
在单线程进程中也会发生这种问题吗?答:不会。
如果单线程进程在键盘上阻塞,就不能创建子进程。
(操作系统第二版中文答案)9、在本章中,我们介绍了多线程的web服务器,说明它比单线程服务器和有限状态机服务器更好的原因。
存在单线程服务器更好一些的情形吗?请给出一个例子。
答:是的。
如果服务器是完全CPU绑定的,则不需要多线程。
这只会增加不必要的复杂性。
假设某个百万人口区域的电话查号系统(类似于114),如果每个(姓名,电话号码)记录为64个字符,整个的数据库则为64MB,这就是很容易全部读入服务器内存中以提高快速的查询。
(操作系统第二版中文答案)11、为什么线程要通过调用thread_yield自愿放弃CPU?毕竟,由于没有周期性的时钟中断,线程可以不交回CPU。
答:进程中线程是相互协作的,而不是相互独立的。
如果放弃了是为了应用程序,那么线程将放弃CPU。
毕竟,通常是同一个程序员写的代码。
(操作系统第二版中文答案)12、线程可以被时钟中断抢占吗?如果可以,在什么情形下可以?如果不可以,为什么不可以?答:用户级线程不能被时中断抢占,除非整个进程的时间片用完。
内核级线程可以单独地被剥夺。