现代操作系统--作业题整理
现代操作系统(中文第三版)习题答案精编版

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
现代操作系统第二版中文版答案

MODERN OPERATING SYSTEM第一章答案1. 操作系统必须向用户提供一台扩展(即,实际上)的机器,和它必须管理I/O设备和其它系统资源。
2. 多道程序就是CPU在内存中多个进程之间迅速切换。
它一般被用来使CPU保持忙碌,当有一个或多个进程进行I/O时。
3. 输入spooling是作业中的读入技术,例如,从卡片在磁盘,这样当当前执行的进程完成时,将等候CPU。
输出spooling在打印之前首先复制打印文件,而非直接打印。
在个人计算机上的输入spooling很少,但是输出spooling非常普遍。
4. 多道程序的主要原因是当等候I/O完成时CPU有事可做。
如果没有DMA,I/O操作时CPU 被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。
无论程序作多少I/O操作,CPU都是100%的忙碌。
当然,这里假定主要的延迟是数据复制时的等待。
如果I/O很慢的话,CPU可以做其它工作。
5. 第二代计算机没有必要的硬件保护操作系统免受恶意的用户程序的侵害。
6. 它依然存在。
例如,Intel以各种各样的不同的属性包括速度和能力消耗来生产Pentium I, II, III和4。
所有这些机器的体系结构都是兼容的,仅仅是价格上的不同,这些都是家族思想的本质。
7. 25 X 80字符的单色文本屏幕需要2000字节的缓冲器。
1024 X 768象素24位颜色的位图需要2359296字节。
1980年代这两种选择将分别地耗费$10和$11520。
而对于当前的价格,将少于$1/MB。
8. 选择(a),(c),(d)应该被限制在内核模式。
9. 个人的计算机系统总是交互式的,而且经常只有一个用户。
而大型机系统几乎总有许多用户强调批处理或者分时。
除了对所有资源的有效使用,大型机系统上的保护更加重要。
10. 从管道中每纳秒出现一条指令。
意味着该机器每秒执行十亿条指令。
它对于管道有多少个阶段全然不予理睬。
即使是10-阶段管道,每阶段1 nsec,也将执行对每秒十亿条指令。
现代操作系统习题及答案

现代操作系统习题及答案现代操作系统习题及答案随着科技的不断进步和发展,现代操作系统成为了计算机领域的重要组成部分。
操作系统作为计算机硬件和软件之间的桥梁,起着管理和协调资源的重要作用。
为了更好地理解和掌握现代操作系统的相关知识,下面将给出一些习题及其答案,希望能够对读者有所帮助。
1. 什么是操作系统?它的主要功能是什么?答:操作系统是一种软件,它管理和控制计算机硬件资源,并为用户和应用程序提供接口。
其主要功能包括进程管理、内存管理、文件系统管理和设备管理等。
2. 请简要描述进程和线程的区别。
答:进程是程序的执行实例,拥有独立的内存空间和系统资源。
线程是进程中的一个执行单元,共享进程的资源,但拥有独立的执行路径。
进程之间相互独立,而线程之间可以共享数据和资源。
3. 什么是死锁?如何避免死锁的发生?答:死锁是指两个或多个进程互相等待对方释放资源,导致所有进程无法继续执行的情况。
为避免死锁的发生,可以采取以下几种方法:避免使用互斥锁、避免使用占有并等待、避免使用循环等待、引入资源预先分配策略等。
4. 请简要描述虚拟内存的概念及其作用。
答:虚拟内存是一种计算机系统使用的内存管理技术,它将物理内存和磁盘空间结合起来,为每个进程提供了一个虚拟地址空间。
虚拟内存的作用包括扩大可用内存空间、提供更高的内存访问效率、实现进程间的内存隔离等。
5. 什么是文件系统?请简要描述文件系统的组织结构。
答:文件系统是操作系统中用于管理和存储文件的一种机制。
文件系统的组织结构包括文件、目录和文件描述符等。
文件是存储在磁盘上的数据集合,目录是用于组织和管理文件的一种结构,文件描述符是操作系统中对文件进行操作的抽象。
6. 请简要描述操作系统的进程调度算法。
答:操作系统的进程调度算法决定了进程在系统中的执行顺序。
常见的进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、轮转调度(RR)和优先级调度等。
不同的调度算法有不同的优缺点,可以根据系统需求选择合适的算法。
现代操作系统第三版中文答案

现代操作系统第三版中文答案【篇一:操作系统课后答案】>思考与练习题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.答:批处理操作系统是一种基本的操作系统类型。
在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。
特点是:资源利用率高。
系统吞吐量大。
现代操作系统试卷及其答案

1. 一般用户更喜欢使用的系统是()。
A. 手工操作B.单道批处理C. 多道批处理D.多用户分时系统2. 与计算机硬件关系最密切的软件是()。
A. 编译程序B.数据库管理系统C.游戏程序3. 现代OS具有并发性和共享性,是()的引入导致的。
A.单道程序B.磁盘C.对象D多道程序4. 早期的OS主要追求的是()。
A.系统的效率B用户的方便性C可移植 D.可扩充性5. ()不是多道程序系统A.单用户单任务B多道批处理系统C单用户多任务 D.多用户分时系统6. ()是多道操作系统不可缺少的硬件支持。
A.打印机B.中断机构C软盘 D.鼠标7. 特权指令可以在()执行。
A.目态B.浏览器中C任意的时间D进程调度中8. 没有了()计算机系统就启动不起来。
A.编译器D. 浏览器9. 通道能够完成()之间的数据传输。
与外设 B.内存与外设与主存 D.外设与外设10. 操作系统的主要功能有()。
A. 进程管理、存储器管理、设备管理、处理机管理B. 虚拟存储管理、处理机管理、进程调度、文件系统C. 处理机管理、存储器管理、设备管理、文件系统D. 进程管理、中断管理、设备管理、文件系统11. 单处理机计算机系统中,()是并行操作的。
A. 处理机的操作与通道的操作是并行的B. 程序与程序C主程序与子程序D用户程序与操作系统程序12. 处理机的所有指令可以在()执行。
A.目态B.浏览器中A.多用户分时系统C 批处理系统时间15. 操作系统是对( A.硬件 C 计算机资源B.实时系统D.网络操作系统 )进行管理的软件。
B.软件D.应用程序C 共享性 C 共享性19. Windows98 是(A.多用户分时C 单用户多任务D.运行效率 )操作系统。
B.批处理系统 D.单用单任务 C 任意的时间 D.系统态13. ( )功能不是操作系统直接完成的功能。
A.管理计算机硬盘B.对程序进行编译C 实现虚拟存储器 D.删除文件14. 要求在规定的时间内对外界的请求必须给予及时响应的 OS 是16. ( )对多用户分时系统最重要。
《现代操作系统第四版本》第三章含答案

第三章内存管理习题有一个设计,为了对2KB 大小的块进行加锁,会对每个块分配一个4bit 的密钥,这个密钥存在PSW(程序状态字)中,每次内存引用时,CPU 都会进行密钥比较。
但该设计有诸多弊端,除了描述中所言,请其他提出最少两条弊端。
A:密钥只有四位,故内存只能同时容纳最多十六个进度;需要用特别硬件进行比较,同时保证操作迅速。
2.在图 3-3 中基址和界线寄存器含有相同的值 16384 ,这是巧合,还是它们总是相等?若是这可是巧合,为什么在这个例子里它们是相等的?A:巧合。
基地址寄存器的值是进度在内存上加载的地址;界线寄存器指示储藏区的长度。
3.交换系统经过缩短来除掉悠闲区。
假设有很多悠闲区和数据段随机分布,而且读或写 32 位长的字需要 10ns 的时间,缩短 128MB 大概需要多长时间?为了简单起见,假设悠闲区中含有字0,内存中最高地址处含有有效数据。
A:32bit=4Byte===>每字节10/4=2.5ns 128MB=1282^20=2^27Byte对每个字节既要读又要写, 22.5*2^27=671ms4.在一个交换系统中,按内存地址排列的悠闲区大小是10MB ,4MB ,20MB ,18MB ,7MB ,9MB ,12MB ,和 15MB 。
对于连续的段央求:(a)12MB(b)10MB(c) 9MB使用首次适配算法,将找出哪个悠闲区?使用最正确适配、最差适配、下次适配算法呢?A:首次适配算法: 20MB ,10MB ,18MB ;最正确适配算法: 12MB , 10MB ,9MB ;最差适配算法: 20MB ;18MB ;15MB ;下次适配算法: 20MB ;18MB ;9MB ;5.物理地址和虚假地址有什么差异?A:本质内存使用物理地址。
这些是储藏器芯片在总线上反应的数字。
虚假地址是指一个进度的地址空间的逻辑地址。
因此,拥有32 位字的机器能够生成高达4GB 的虚假地址,而无论机器的内存可否多于或少于4GB。
现代操作系统中文答案

现代操作系统中文答案篇一:操作系统习题答案整理】(固定分区)支持多道程序设计、管理最简单,但存储碎片多;(段式)使内存碎片尽可能少,而且使内存利用率最高。
2 为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是该程序应具有较好的局部性(locality)。
3 提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序(分配内存)。
使每道程序能在不受干扰的环境下运行,主要是通过(内存保护)功能实现的。
4 适合多道程序运行的存储管理中,存储保护是为了防止各道作业相互干扰。
5 (分段存储管理)方法有利于程序的动态链接6 在请求分页系统的页表增加了若干项,其中状态位供(程序访问)7 关于请求分段存储管理的叙述中,正确的叙述(分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制)。
8 虚拟存储器的特征是基于(局部性原理)。
9 实现虚拟存储器最关键的技术是(请求调页(段))。
10“抖动”现象的发生是由(置换算法选择不当)引起的。
11 在请求分页系统的页表增加了若干项,其中修改位供(换出页面)12 虚拟存储器是程序访问比内存更大的地址空间13 测得某个请求调页的计算机系统部分状态数据为:cpu 利用率20%,用于对换空间的硬盘的利用率97.7 %,其他设备的利用率5%。
由此断定系统出现异常。
此种情况下(减少运行的进程数)能提高cpu 的利用率。
14 在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起(越界中断)。
15 测得某个请求调页的计算机系统部分状态数据为:cpu 利用率20%,用于对换空间的硬盘的利用率97.7 %,其他设备的利用率5%。
由此断定系统出现异常。
此种情况下(加内存条,增加物理空间容量)能提高cpu 的利用率。
16 对外存对换区的管理应以(提高换入换出速度)为主要目标,对外存文件区的管理应以(提高存储空间的利用率)为主要目标。
17 在请求调页系统中,若所需的页不在内存中,则会引起(缺页中断)。
现代操作系统课后习题答案

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