1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种
安全问题。a. 列出此类的问题 b.在一个分时机器中,能否确保像在专用机器上
一样的安全度?并解释之。
Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源
(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保
护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现
是正确的是一件困难的事。
1.2 资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种
资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的
工作站(c)手持电脑
Answer: (a)大型电脑或迷你电脑系统:内存和 CPU 资源,外存,网络带宽
(b)与服务器相联的工作站:内存和 CPU 资源(c)手持电脑:功率消耗,
内存资源
1.3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户
工作站更好?
Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分
时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问
题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户
在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及
当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最
好的,。
1.4 在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实
时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时
Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和
分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时
系统。批处理程序在两种环境中都是非必需的。
1.5 描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个
优点和一个缺点?
Answer:SMP意味着所以处理器都对等,而且 I/O 可以在任何处理器上运行。
非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器
为从处理器安排工作,而且 I/O 也只在主处理器上运行。多处理器系统能比单处
理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可
以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件
上也更复杂(增加计算量、规模经济、增加可靠性)
1.6 集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提
供一个高可靠性的服务器的要求是什么?
Answer:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计
算任务。另一方面,多道程序系统可以被看做是一个有多个 CPU 组成的单一的
物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通
信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性
服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故
障时,另一台处理器能够接管故障处理的功能。
1.7 试区分分布式系统(distribute system)的客户机-服务器(client-server)
模型与对等系统(peer-to-peer)模型
Answer: 客户机-服务器(client-server)模型可以由客户机和服务器的角色被
区分。在这种模型下,客户机向服务器发出请求,然后服务器满足这种请求。对
等系统(peer-to-peer)模型没有这种严格的区分角色,。实际上,在系统中的
所有结点被看做是对等的,而且这些结点既可以是客户机也可以是服务器,或者
两这都是。也许一个结点从另一个对等结点上请求一个服务,或者,这个结点满
足在系统中的另一个结点的请求。比如,一个系统中的结点共享烹饪方法。在客
户机-服务器(client-server)模型下,所有方法都被存储在服务器上。如果一
个客户机想要获得烹饪方法,它必须向那台服务器发出请求。在对等系统
(peer-to-peer)模型下,一个结点可以向另外的结点请求指定的烹饪方法。存
储了这种烹饪方法的那个结点(或几个结点)可以把烹饪的方法提供给发出请求
的结点。注意每个对等结点既可以扮演客户机(发出请求),也可以扮演服务器
(提供请求)。
1.8 如果一个由两个结点组成的集群系统正在运行一个数据库,试描述集群软件
可以用哪两种方法管理存取磁盘的数据,并说明每种方法的优点和缺点。
Answer:两种方法:非对称集群系统(asymmetric clustering)和并行集群系统
(parallel clustering).对于非对称集群系统,一个主机运行这个数据库,而其它
主机只是监测这个数据库。如果服务器出现故障,进行监测的主机就会转变成运
行这个数据库的主机。这是提供适当的冗余。然而,它没有利用具有潜在处理能
力的主机。对于并行集群系统,数据库可以在两个并行的主机上运行。在并行集
群系统上实现的困难是提供一些分布式锁机制给共享磁盘上的文件。
1.9 网络计算机是怎样不同与传统的个人计算机的?试取出一些使用网络计算
机的好处的方案。
Answer:网络计算机是基于一台核心的计算机作为其服务器。同时,它也具有一
个最小化的操作系统来管理这些资源。另一方面,个人计算机必须在不依赖于核
心计算机的基础上,能够独立提供所有被请求的功能。在行政花费太高以及共享
导致更高效的使用资源的情景下是精确的,在这些环境中网络计算机是理想的。
1.10 中断(interupt)的目的是什么?陷阱(trap)与中断的区别是什么?陷
阱可以被用户程序(user program)有意地的产生吗?如果可以,那目的是什
么?
Answer: 中断是一种在系统内硬件产生的流量变化。中断操作装置是用来处理
中断请求;然后返回控制中断的上下文和指令。陷阱是软件产生的中断。中断可
以被用来标志 I/O 的完成,从而排除设备投票站(device polling)的需要。陷
阱可以被用来调用操作系统的程序或者捕捉到算术错误。
1.11 内存存储是被用于高速的 I/O 设备,其目的是为了避免增加 CPU 的过度
运行。
(a)设备的 CPU 接口是怎样与转换器(transfer)协作的?
(b)当内存操作完全时,CPU 是怎么知道的?
(c)当 DMA 控制器正在转换数据时,CPU 是被允许运行其它程序的。这种
进程与用户程序的运行冲突吗?如果冲突的话,试描述可能引起哪种冲突?
Answer: CPU 可以通过写数据到可以被设备独立存储的寄存器中来启动
DMA 操作。当设备接收到来自 CPU 的命令时,启动响应的操作。当设备完成
此操作时,就中断 CPU 来说明操作已经完成。设备和 CPU 都可以被内存同时访
问。内存控制器对这两个实体以公平的方式给内存总线提供存取。CPU 可能不
能同时以很快的速度配给给内存操作,因为它必须去竞争设备而使得自己存取到
内存总线中去。
1.12 一些计算机系统没有在硬件中提供个人模式(privileged mode)。对于
这种计算机系统来说,可能构成安全的操作系统吗?对可能和不可能两种情况
分别给出理由。
Answer:一种类型处理器的操作系统需要在任何时候都被控制(或监测模式)。
有两种方法可以完成这个操作:a.所有用户程序的软件翻译(像一些 BASIC,
Java,LISP systems)。在软件中,软件解释程序能够提供硬件所不能提供的。
b.要求所有程序都用高级语言编写,以便于所以目标代码都被编译出来。编译器
将会产生硬件忽略的防护性检查(in-line 或功能调用)。
1.13 给出缓存(caches)十分有用的两个理由。他们解决了什么问题?他们引
起了什么问题?
如果缓存可以被做成装备想要缓存的容量(例如,缓存像磁盘那么大),为什么
不把它做的那么大,其限制的原因是什么?
Answer:当两个或者更多的部件需要交换数据,以及组成部件以不同的速度完成
转换时,缓存是十分有用的。缓存通过在个组成部件之间提供一个中间速度的缓
冲区来解决转换问题。如果速度较快的设备在缓存中发现它所要的数据,它就不
需要再等待速度较慢的设备了。缓存中的数据必须与组成部件中的要一致。如果
一个组成部件中的数据值改变了,缓存中的这个数据也必须更新。在多进程系统
中,当有不止一个进程可能进入同一个数据时,这就成了一个显著的问题。一个
组成部件将会被一个同等大小的组成部件所消除,但是只有当;(a)缓存和组成部
件有相同状态存储能力(也就是,当断电的时候,组成部件还能保存它的数据,
缓存也一样能保存它的数据),(b)缓存是可以负担的起的,因为速度更快的存储
器意味着更高的价格。
1.14 试举例说明在下列的进程环境中,快速缓冲贮存区的数据保持连贯性的问
题是怎样表明的?(a)单道程序系统(Single-processor systems)(b)多道程
序系统(Mulitiprocessor systems)(c)分布式系统(Distribute systems)
Answer: 在单道程序系统(Single-processor systems)中,当一个进程发布
更新给快速缓冲贮存区的数据时,内存需要被更新。这些更新一种快速的或缓慢
的方式执行。在多道程序系统(Mulitiprocessor systems)中,不同的进程或
许在它的本地存储上存储相同的内存位置。当更新发生时,其它存储的位置需要
使其无效或更新。在分布式系统(Distribute systems)中,快速存储区数据的
协调不是问题,然而,当客户机存储文件数据时,协调问题就会被提及。
1.15 试描述一个机器装置为了阻止一个程序避免修改与其它程序有联系的内存
而执行内存保护。
Answer:处理器可以追踪哪个位置是与每个进程相联系的以及限制进入一个程
序的范围的外面位置。信息与一个程序的内存范围有关,它可以通过使用库,限
制寄存器和对每个进入内存的信息执行检查来维持其本身。
1.16 哪种网络结构最适合下列环境:(a)一个寝室楼层(b)一个大学校园(c)
一个州(d)一个国家。
Answer:
(a)一个寝室楼层:A LAN
(b)一个大学校园: A LAN,possibly a WAN for a very large campuses.
(c)一个州:A WAN
(d)一个国家: A WAN
1.17 列出下列操作系统的基本特点:
a.批处理 b.交互式 c.分时 d.实时 e.网络 f.并行式 g.分布式 h.集群式 i.手持式
Answer: a.批处理:具有相似需求的作业被成批的集合起来,并把它们作为一
个整体通过一个操作员或自动作业程序装置运行通过计算机。通过缓冲区,线下
操作,后台和多道程序,运用尝试保持 CPU 和 I/O 一直繁忙,从而使得性能被
提高。批处理系统对于运行那些需要较少互动的大型作业十分适用。它们可以被
更迟地提交或获得。
b.交互式:这种系统由许多短期交易构成,并且下一个交易的结果是无法预知的。
从用户提交到等待结果的响应时间应该是比较短的,通常为 1 秒左右。
c.分时:这种系统使用 CPU 调度和多道程序来经济的提供一个系统的人机通信
功能。CPU 从一个用户快速切换到另一个用户。以每个程序从终端机中读取它
的下一个控制卡,并且把输出的信息正确快速的输出到显示器上来替代用
soopled card images 定义的作业。
d.实时:经常用于专门的用途。这个系统从感应器上读取数据,而且必须在严格
的时间内做出响应以保证正确的性能。
e.网络:提供给操作系统一个特征,使得其进入网络,比如;文件共享。
f.并行式:每一个处理器都运行同一个操作系统的拷贝。这些拷贝通过系统总线
进行通信。
g.分布式:这种系统在几个物理处理器中分布式计算,处理器不共享内存或时钟。
每个处理器都有它各自的本地存储器。它们通过各种通信线路在进行通信,比如:
一条高速的总线或一个本地的网络。
h.集群式:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计
算任务。
i.手持式:一种可以完成像记事本,email 和网页浏览等简单任务的小型计算机
系统。手持系统与传统的台式机的区别是更小的内存和屏幕以及更慢的处理能
力。
1.18 手持计算机中固有的折中属性有哪些?
Answer:手提电脑比传统的台式 PC 机要小的多。这是由于手提电脑比台式 PC
机具有更小的内存,更小的屏幕,更慢的处理能力的结果。因为这些限制,大多
数现在的手提只能完成基本的任务,比如:记事本,email 和简单的文字处理。
然而,由于它们较小的外形,而十分便于携带,而且当它们具备无线上网时,就
可以提供远程的 email 通信和上网功能。
2.1 操作系统提供的服务和功能可以分为两个类别。简单的描述一下这两个类别
并讨论他们的不同点。
Answer:第一种操作系统提供的服务是用来保护在系统中同时运行的不同进
程。进程只被允许获得与它们地址空间有联系的内存位置。同样,进程不允
许破坏和其他用户有关的文件。一个进程同样不允许在没有操作系统的干预
下直接进入设备。第二种服务由操作系统提供的服务是提供一种新的功能,
而这种功能并不直接被底层的硬件支持。虚拟存储器和文件系统就是由操作
系统提供的这种新服务的实例。
2.2 列出操作系统提供的五项服务。说明每项服务如何给用户提供便利。说明
在哪些情况下用户级程序不能够提够这些服务。
Answer: a.文件执行.操作系统一个文件的目录(或章节)装入到内存并运
行。一个用户程序不能被信任,妥善分配 CPU 时间。
b.I/O 操作. 磁盘,磁带,串行线,和其他装置必须在一个非常低的水平下
进行通信。用户只需要指定装置和操作执行要求,然后该系统的要求转换成装
置或控制器的具体命令.用户级程序不能被信任只在他们应该获得时获得装置
和只使用那些未被使用的装置。
c.文件系统操作.在文件创建、删除、分配和命名时有许多细节是用户不能
执行的。磁盘空间块被文件所使用并被跟踪。删除一个文件需要清除这个文件
的信息和释放被分派给这个文件的空间。用户程序不仅不能够保证保护方法的
有效实施,也不能够被信任只会分配空闲的空间和在删除文件是清空空间。
d.通信.信息在系统间交换要求信息转换成信息包,送到网络控制器中,通
过通信媒介进行传播,并由目的地系统重新组装。信息包调整和数据修改是一
定会发生的。此外,用户程序也许不能够协调网络装置的取得,或者接收完全
不同的其他进程的信息包。
e.错误检测.错误检测在硬件和软件水平下都会发生。在硬件水平下,所有
数据转移都必须仔细检查以确保数据在运送中不会被破坏。在媒介中的所有数
据都必须被检查以确保他们在写入媒介时没有被改变。在软件水平下,为了数
据,媒介不需不间断的被检查。例如,确保信息存储中被分配和还未被分配的
空间块的数量和装置中所有块的数量的一致。进程独立经常有错误(例如,磁
盘中数据的破坏),所以必须有一个统筹的程序(操作系统)来处理各种错误。
同样,错误经过操作系统的处理,在一个系统中程序不再需要包含匹配和改正
所遇可能错误的代码。
2.3 讨论向操作系统传递参数的三个主要的方法。
Answer:
1.通过寄存器来传递参数
2.寄存器传递参数块的首地址
3.参数通过程序存放或压进堆栈中,并通过操作系统弹出堆栈。
2.4 描述你怎样能够统计到一个程序运行其不同部分代码时,它的时间花费数
量的数据图表,并说明它的重要性。
Answer:一个能够发布定期计时器打断和监控正在运行的命令或代码段当中
断被进行时。一个满意的配置文件,其中的代码块都应积极覆着被程序在代码
的不同的部分花费时间。一旦这个配置文件被获得,程序员可以尽可能的优化
那些消耗大量 CPU 资源的代码段。
2.5 操作系统关于文件管理的五个主要活动是什么?
Answer:
1.创建和删除文件
2.创建和删除目录
3.提供操作文件和目录的原语的支持
4.将文件映射到二级存储器上
5.在稳定(非易失的)的存储媒介上备份文件。
2.6 在设备和文件操作上用相同的系统调用接口的好处与不足是什么?
Answer:每一个设备都可以被得到只要它是一个在文件系统的文件。因此大
多数内核通过文件接口处理设备,这样相对容易,加一个新的设备通过执行
硬件确定代码来支持这种抽象的文件接口。因此,这种方式不仅有利于用户
程序代码的发展,用户程序代码可以被写入设备和文件用相同的方式,还有
利于设备驱动程序代码,设备驱动程序代码可以书面支持规范定义的 API.
使用相同接口的缺点是很难获得某些设备档案存取的 API 范围内的功能,因
此,结果或者是丢失功能或者是丢失性能。但有些能够被克服通过使用 ioctl
操作,这个操作为了进程在设备上援引操作提供一个通用接口。
2.7 命令解释器的用途是什么?为什么它经常与内核是分开的?用户有可能通
过使用由操作系统提供的系统调用接口发展一个新的命令解释器?
Answer:命令解释器从用户或文件中读取命令并执行,一般而言把他们转化
成系统调用。它通常是不属于内核,因为命令解释会有所变动。用户能够利
用由操作系统提供的系统调用接口开发新的命令解释器。这命令解释器允许
用户创建、管理进程和确定它们通信的方法(例如通过管道和文件)。所有
的功能都被用户程序通过系统调用来使用,这个也可能有用户开发一个新的
命令行解释。
2.8 通信的两种模式是什么?这两种模式的优点和缺点是什么?
Answer:通信的两种模式是 1)共享内存,2)消息传递。这两种模式的最基