《操作系统概念精要》--课后答案-第1章导论

1.1一个操作系统的三个主要目的是什么?

答:三个主要目的是:为计算机用户提供一个方便方便地在计算机硬件上执行程序的环境。

•根据需要分配计算机的单独资源来执行所需的任务。分配过程应尽可能的公平和合理。

•作为一种控制程序,它主要具有两个功能: (1)监督用户程序的执行,防止计算机出现错误和不当使用;(2)管理I/O设备的操作和控制。

1.2我们强调了需要一个操作系统来充分使用计算硬件。什么时候操作系统适合放弃这一原则并“浪费”资源?为什么这样的系统并不是真正的浪费呢?

答:单用户系统应该最大限度地为用户使用该系统。GUI可能会“浪费”CPU周期,但它却更优化了用户与系统的交互。

1.3程序员在为实时环境编写操作系统时必须克服的主要缺点是什么?

答:主要的缺点是保持操作系统在实时系统的时间限制内。如果系统在某个时间段内没有完成一个任务,则可能会导致整个系统的崩溃。因此,在为实时系统编写操作系统时,作者必须确保他的调度方案不允许响应时间超过时间限制。

1.4记住操作系统的各种细节,考虑操作系统是否应该包括诸如浏览器和邮件程序等应用程序。主张它应该,也不应该,并解释你的答案。

答:一个论点支持包括流行的应用程序在操作系统是,如果应用程序是嵌入在操作系统中,它可能会更好地利用内核的特性,因此有性能优势的应用程序,运行之外的内核。然而,反对在操作系统中嵌入应用程序的争论通常占主导地位: (1)应用程序是应用程序——而不是操作系统的一部分,(2)在内核中运行的任何性能缺陷都被安全漏洞所抵消,(3)包含应用程序会导致操作系统臃肿。

1.5内核模式和用户模式之间的区别如何作为一种基本形式的保护(安全)?

答:内核模式和用户模式之间的区别以以下方式提供了一种基本的保护形式。某些指令只能在CPU处于内核模式时才能执行。类似地,只有在程序处于内核模式时才能访问硬件设备,而只有在CPU处于内核模式时才能启用或禁用中断。因此,CPU在用户模式下执行时的能力非常有限,从而加强了对关键资源的保护。

1.6下列哪一项指令应享有特权? a.设置计时器的值。 b.读时钟。 c.清除内存。 d.发出一个陷阱指令。 e.关闭中断。 f.修改设备状态表中的条目。 g.从用户模式切换到内核模式。h.访问I/O设备。

答:以下操作需要具有特权:设置定时器值,清除内存,关闭中断,修改设备状态表中的条目,访问I/O设备。其余的都可以在用户模式下执行。

1.7一些早期的计算机通过将操作系统放置在一个不能被用户作业或操作系统本身所修改的内存分区中来保护操作系统。描述一下你认为这样的方案可能会出现的两个不同的因素。

答:操作系统所需的数据(密码、访问控制、会计信息等)必须存储在其中或通过不受保护的内存进行传递,因此未经授权的用户可以访问。

1.8一些cpu提供了两种以上的操作模式。这些多种模式的两种可能的用途是什么?

答:虽然大多数系统只区分用户模式和内核模式,但也有一些cpu支持多种模式。可以使用多种模式来提供一个粒度的安全策略。例如,您可以区分不同类型的用户模式,而不是仅仅区分用户模式和内核模式。也许属于同一组的用户可以相互执行彼此的代码。当其中一个用户运行代码时,机器将进入指定模式。当机器处于这种模式时,组中的一个成员可以运行属于组中任何其他人的代码。另一种可能性是在内核代码中提供不同的区别。例如,特定模式可以允许USB设备驱动程序运行。这将意味着USB设备可以在不切换到内核模式的情况下提供服务,因此本质上允许USB设备驱动程序在准用户/内核模式下运行。

1.9计时器可以用来计算当前的时间。提供一个关于如何实现这一目标的简短描述。

答:一个程序可以使用以下的方法来使用计时器中断来计算当前的时间。该程序可以在未来的一段时间内设置一个计时器,然后开始睡觉。当被中断唤醒时,它可以更新它的本地状态,它使用该状态来跟踪它迄今为止所接收到的中断的数量。然后,它可以重复这个过程,持续设置计时器中断,并在实际引发中断时更新其本地状态。

1.10给出了缓存为何有用的两个原因。他们能解决什么问题?它们会导致什么问题?如果一个缓存可以和它缓存的设备一样大(例如,像磁盘一样大的缓存),为什么不把它变大并消除设备呢?

答:当两个或多个组件需要交换数据,并且组件以不同的速度执行传输时,缓存很有用。缓存通过在组件之间提供一个中间速度的缓冲区来解决传输问题。如果快速设备数据值变化,数据也在缓存中,缓存也必须更新。这在多处理器系统上尤其是一个问题,其中可能有多个进程正在访问一个数据。组件可以消除一个同等大小的缓存,但只有当: (a)缓存和组件具有同等的状态保存能力(也就是说,如果组件保留数据当电力被删除,缓存必须保留数据),和(b)缓存是负担得起的,因为更快的存储往往是更昂贵的。

1.11区分分布式系统的客户机-服务器模型和点对点模型。

答:客户机-服务器模型可以严格区分客户机和服务器的角色。在此模型下,客户端请求由服务器提供的服务。点对点模型并没有如此严格的角色。事实上,系统中的所有节点都被认为是对等节点,因此可以充当客户端或服务器,或者两者都充当。节点可以从另一个对等点请求服务,或者该节点实际上可以向系统中的其他对等点提供这样的服务。例如,让我们考虑一个共享烹饪食谱的节点系统。在客户机-服务器模型下,所有配方都存储在服务器中。如果客户端希望访问配方,它必须从指定的服务器请求配方。使用点对点模型,对等节点可以向其他对等节点询问指定的配方。具有请求配方的节点(或者可能是节点)可以将其提供给请求节点。注意每个对等点可以同时作为客户端(它可以请求配方)和作为服务器(它可以提供配方)

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值