现代操作系统

上传人:M****1 文档编号:563609523 上传时间:2023-07-10 格式:DOCX 页数:13 大小:42.43KB
返回 下载 相关 举报
现代操作系统_第1页
第1页 / 共13页
现代操作系统_第2页
第2页 / 共13页
现代操作系统_第3页
第3页 / 共13页
现代操作系统_第4页
第4页 / 共13页
现代操作系统_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《现代操作系统》由会员分享,可在线阅读,更多相关《现代操作系统(13页珍藏版)》请在金锄头文库上搜索。

1、注:标有“操作系统第二版中文版答案”的答案是从操作系统第二版中文答案的电子书上 摘抄的,剩下的是非标准答案可以忽略)o有几道题没有写。以下的相关文档仅供参考! 祝各位同学考试愉快!第一章:引论(P44)1、什么是多道程序设计?答:多道程序就是CPU在内存中多个进程之间迅速切换。它一般被用来使CPU保持忙碌, 当有一个或多个进程进行I/O时。(操作系统第二版中文答案)2、什么是SPOOLing?读者是否认为将来的高级个人计算机会把SPOOLing作为标准功能? 答:SPOOLing 是 Simultaneous Peripheral Operation On-Line (即外部设备联机并行 操作

2、)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”(回答:什么是SPOOLing?百度的)输入SPOOLing是作业中的读入 技术,例如:从卡片在磁盘,这样当当前执行的进程完成时,将等候CPUo输出SPOOLing 在打印之前首先复制打印文件,而非直接打印。在个人计算机上的输入SPOOLing很少, 但输出SPOOLing非常普通。(操作系统第二版中文答案)3、在早期的计算机中,每个字节的读写直接由CPU处理(既没有DMA)。对于多道程序而 言这种组织方式有什么含义?答:多道程序的主要原因是当等候I/O完成时CPU有事可做。如果没有DMA,I/O操作时 C

3、PU被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。无论程序操作多少 I/O操作,CPU都是100%的忙碌。当然,这里是假定主要的延迟是数据复制时的等待。如 果I/O很慢的话,CPU可以做其他工作。(操作系统第二版中文答案) 4、系列计算机的思想在20世纪60年代由IBM引入System/360大型机。现在这种思想已 经消亡了还是继续活跃着?答:它依然存在。例如:Interl以各种各样的不同的属性包括速度和能力消耗来产生 Pentium I,II,III和4。所有这些机器的体系结构都是兼容的,仅仅是价格上的不同, 这些都是家族思想的本质。(操作系统第二版中文答案) 5、缓慢采用GU

4、I的一个原因是支持它的硬件的成本(高昂)。为了支持25行80列字符的 单色文本屏幕应该需要多少视频RAM?对于1024*768像素24位色彩位图需要多少视频 RAM?在1980年($5/KB)这些RAM的成本是多少?现在它的成本是多少? 答:25*80字符的单色文本屏幕需要2000字节的缓冲器。1024*768像素24位颜色的位图 需要2359296字节。1980年代这两种选择将分别地耗费$10和$11520。而对于当前的价格。 将少于$1/MBo (操作系统第二版中文答案) 8、考虑一个有两个CPU的系统,并且每个CPU有两个线程(超线程)。假设有三个线程P0, P1,P2,分别以运行时间5

5、ms,10ms,20ms开始。运行这些程序需要多少时间?假设这三 个程序都是100%限于CPU,在运行时无阻塞,并且一旦设定就不改变CPUo 答:这些程序的运行时间因程序的组合的不同而不同,一共有以下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、一台计算机有一

6、个四级流水线,每一级都花费相同的时间执行其工作,即Ins。这台机 器每秒可执行多少条指令?答:从管道中每纳秒出现一条指令。意味着该机器每秒执行十亿条指令。它对于管道有多 少个阶段不予理睬,即使是10-阶段管道,每阶段lnsec,也将执行对每秒十亿条指令。 因为无论哪种情况,管道末端输出的指令数都是一样的。(操作系统第二版中文答案)10、假设一个计算机系统有高速缓存、内存(RAM)以及磁盘,操作系统用虚拟内存。读 取缓存中的一个词需要2ns,RAM需要10ns,硬盘需要10ms。如果缓存的命中率是95%, 内存的是(缓存失效时)99%,读取一个词的平均时间是多少?答:平均访问时间 = 2ns *

7、 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调用寻找文件中的

8、字节3。在读取操作完成之后,buffer中的内容是什么? 答:包含字节:1,5,9,2.(操作系统第二版中文答案)22、块特殊文件和字符特殊文件的基本差别是什么? 答:块特殊文件包含被编号的块,每一块都可以独立地读写或者写入。而且可以定位于任 何块,并且开始读入或写入。这些对于字符特殊文件是不可能的。(操作系统第二版中文 答案)25、对程序员而言,系统调用就像对其他库过程的调用一样。有无必要让程序员了解哪一 个库过程导致了系统调用?在什么情形下,为什么? 答:就程序逻辑而言,库例程调用哪个系统调用是没有关系的。但是,如果需要考虑性能 问题,无需系统调用就可以完成的任务将使进程运行更快。所有的系

9、统调用都会导致用户 环境和内核环境的切换开销。更进一步,在多用户系统中,在系统调用完成之前,操作系 统可能调度到其他的进程,这将使得调用过程的处理更加迟缓。(操作系统第二版中文答 案)1、于操作系统,下列叙述不正确的是()。A、管理系统资源B、控制程序执行C、改善人机界面D、提高用户软件运行速度2、以下哪个系统不是基本的操作系统().A、分时操作系统B、实时操作系统C、分布式操作系统D、多道批处理系统3、计算机系统由和组成。4、分时操作系统具有的四个主要特点是同时性、 和5、多道程序设计的根本目标是( )。6、多项选择:操作系统设计目标是()。A、管理系统资源B、提高安全性C、方便用户使用系统

10、D、使系统能高效工作7、在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并作出响应。A、批处理操作系统B、实时操作系统C、分时操作系统D、多处理机操作系统8、多项选择:引入多道程序设计的主要目的在于()。A、提高实时响应速度B、充分利用处理机,减少机空闲时间C、有利于代码共享D、充分利用外围设备E、减少存储器碎片9、计算机发展到第三代,操作系统已成为软件的一个重要分支,最早的操作系统是()。10、设计实时操作时()不是主要的追求目标。A、安全可靠 B、资源利用率C、及时响应D、快速处理答案:1、D 2、C 3、硬件子系统 软件子系统 4、独立性 及时性 交互性5、提高计算机系统的工作

11、效率6、C D7、B8、BD9、批处理操作系统10、B第二章:进程与线程(P95)2、假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。CPU 需要哪些信息?请描述用硬件完成进程切换的过程。答:应该有一个寄存器包含当前进程表项的指针。当I/0结束时,CPU讲当前的机器状态 存入当前进程表项中,然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服 务例程)。然后,就可以启动这个进程了。(操作系统第二版中文答案)3、在所有当代计算机中,至少有部分中断处理程序是用汇编语言编写的。为什么?答:通常高级语言不允许CPU硬件,而这种访问是必须的。例如:中断处理程序可能需要 禁

12、用和启动某个特定的设备服务,或者处理进程堆栈区的数据。另外,中断服务例程需要 尽快地执行。(操作系统第二版中文答案)4、当中断或系统调用把控制转给操作系统时,通常将内核堆栈和被中断进程的运行堆栈 分离。为什么?答:内核使用单独的堆栈有若干的原因。其中两个原因如下: 首先,不希望操作系统崩溃,由于某些用户进程不允许足够的堆栈空间。 第二,如果内核将数据保留在用户空间,然后从操作系统调用返回,那么恶意的用户可能 使用这些数据找出某些关于它进程的信息。(操作系统第二版中文答案)5、多个作业能够并行运行,比它们顺序执行完成的要快。假设有两个作业同时开始执行, 每个需要10分钟的CPU时间。如果顺序执行

13、,那么最后一个作业需要多少时间可以完成? 如果并行执行又需要多少时间?假设I/O等待占50%。顺序执行:T = (10 + 10) / 0.5 = 40(分钟);并行执行:p = 0.5, n = 2, CPU利用率二 1 - 0.5辺=0.75,则 T = (10 + 10) / 0.75 = 26.7(分钟).7、如果创建一个多线程进程,若子进程得到全部父进程线程的副本,会出现问题。假如 原有线程之一正在等待键盘输入,现在则成为两个线程在等待键盘输入,每个进程有一个。 在单线程进程中也会发生这种问题吗?答:不会。如果单线程进程在键盘上阻塞,就不能创建子进程。(操作系统第二版中文答 案)9、

14、在本章中,我们介绍了多线程的web服务器,说明它比单线程服务器和有限状态机服 务器更好的原因。存在单线程服务器更好一些的情形吗?请给出一个例子。答:是的。如果服务器是完全CPU绑定的,则不需要多线程。这只会增加不必要的复杂性。 假设某个百万人口区域的电话查号系统(类似于114),如果每个(姓名,电话号码)记录 为64个字符,整个的数据库则为64MB,这就是很容易全部读入服务器内存中以提高快速 的查询。(操作系统第二版中文答案)11、为什么线程要通过调用thread_yield自愿放弃CPU?毕竟,由于没有周期性的时钟中 断,线程可以不交回CPU。答:进程中线程是相互协作的,而不是相互独立的。如

15、果放弃了是为了应用程序,那么线 程将放弃CPU。毕竟,通常是同一个程序员写的代码。(操作系统第二版中文答案)12、线程可以被时钟中断抢占吗?如果可以,在什么情形下可以?如果不可以,为什么不 可以? 答:用户级线程不能被时中断抢占,除非整个进程的时间片用完。内核级线程可以单独地 被剥夺。在后一种情况下,如果线程运行过久,时钟将的中断当前的进程,因而当前线程 也被中断。内核可以自由地从同一个进程中选取其他线程运行。(操作系统第二版中文答 案)20、在2.3.4节中,描述了一种有高级优先级进程H和低级优先级进程L的情况,导致了 H陷入死循环。若采用轮换调度算法而不是优先级调度算法,会发生同样的问题吗?请给 予讨论。答:对于时间片轮转调度,该方法不会出现问题。L迟早会运行,而且最终将离开其临界 区。对于优先级调度,L永远得不到运行;而对于时间片轮转,它将周期性地得到一时间 片,因此就有机会离开其临界区。(操作系统第二版中文答案)23、两个进程在一个共享存储器多处理器(即两个CPU)当它们要共享一个公共内存时, 图2-23所示的采用变量turn的忙等待解决方案有效吗? 答:是的,它还是会有用的。当然,它依然是忙等待。(操作系统第二版中文答案)27、如果一个系统只有两个进程,可以使用一个屏障来同步这两个进程吗?为什么? 答:如果程序是操作按阶段进行,直到两个进程都完成当

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

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号