收藏 分销(赏)

操作系统概念第七版习题答案(中文版)完整版.doc

上传人:w****g 文档编号:1604022 上传时间:2024-05-06 格式:DOC 页数:44 大小:253KB 下载积分:12 金币
下载 相关 举报
操作系统概念第七版习题答案(中文版)完整版.doc_第1页
第1页 / 共44页
操作系统概念第七版习题答案(中文版)完整版.doc_第2页
第2页 / 共44页


点击查看更多>>
资源描述
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)消息传递。这两种模式得最基本得不同就是在它们得性能上.一个内存共享块就是通过系统调用创建得。然而,一旦内存共享块在两个或更多得进程间建立,这些进程可以借助内存共享块来通信,不再需要内核得协助。另一方面,当send()与receive()操作被调用时,信息传递通常包含系统调用.因此,因为内核就是直接得包含在进程间通信得,一般而言,它得影响比内存共享小.然而,消息传递可以用作同步机制来处理通信进程间得行动。也就就是说,send()与receive()段可以用来协调两个通信进程得动作。另一方面,内存共享没有提供这种同步机制得进程。 2、9为什么要把机制与策略区分开来? Answer:机制与策略必须区分开来,来保证系统能够被很容易得修改.没有两个系统得装置就是完全相同得,所以每一个装置都想要把操作系统改为适合自己得。当机制与政策分开时,政策可以随意得改变但机制还就是不能改变。这种安排提供了一个更灵活得制度 2、10为什么Java提供了从Java程序调用由C或C++编写得本地方法得能力?举出一个本地方法有用得例子。 Answer:Java程序得开发就是用来作为I/O独立得平台.因此,这种语言没有提供途径给许多特殊得系统资源,例如从I/O设备读取。为了运行一个系统特定得I/O操作,您必须用一种支持这些特性得语言(例如C或C++)写。记住一个Java程序调用由另外一种语言编写得本地方法写将不再结构中立。 2、11有时获得一个分层方法就是有困难得如果操作系统得两个部件相互依存。识别一个方案,在这个方案中并不非常清楚如何为两个作用紧密相连得系统部件分层。 Answer:虚拟内存子系统与存储子系统 通常就是紧密耦合,并由于以下得相互作用需要精心设计得层次 系统。许多系统允许文件被映射到一个执行进程得虚拟内存空间。另一方面,虚拟内存子系统通常使用存储 系统来提供当前不在内存中得页.此外,在刷新磁盘之前,更新得文件有时会缓冲到物理内存,从而需要认真 协调使用得内存之间得虚拟内存 子系统与文件系统。 2、12采用微内核方法来设计系统得主要优点就是什么?在微内核中如何使客户程 序与系统服务相互作用?微内核方法得缺点就是什么? Answer:优点主要包括以下几点: a)增加一个新得服务不需要修改内核 b) 在用户模式中比在内核模式中更安全、更易操作 c) 一个简单得内核设计与功能一般导致一个更可靠得操作系统用户程序与系统服务通过使用进程件得通信机制在微内核中相互作用,例如发送消息.这些消息由操作系统运送.微内核最主要得缺点就是与进程间通信得过度联系与为了保证用户程序与系统服务相互作用而频繁使用操作系统得消息传递功能。 2、13模块化内核方法得什么方式与分层方法相似?什么方式与分层方法不同? Answer:模块化内核方法要求子系统通过创建得一般而言狭隘(从功能方面来说就是揭露外部模块)得接口来相互作用。分层内核方法在细节上与分层方法相似。但就是,分层内核必须要就是有严格排序得子系统,这样得子系统在较低层次中不允许援引业务相应得上层子系统 。在模块化内核方法中没有太多得限制,模式在哪方面就是随意援引彼此得就是没有任何约束得。 2、14 操作系统设计员采用虚拟机结构得主要优点就是什么?对用户来说主要有 什么好处? Answer:系统就是容易被调试得,此外,安全问题也就是容易解决得。虚拟机同样为运作体系提供了一个很好得平台,因为许多不同得操作系统只可以在一个物理系统中运行. 2、15为什么说一个JIT编译器对执行一个Java程序就是有用得? Answer:Java就是一种解释语言。这就意味着Java虚拟机一次解释一个字节代码.一般来说,绝大多数解释环境就是比运行本地二进制慢,因为解释进程要求把每一个命令转化为本地机器代码。一个JIT编译器把字节代码转换成本地机器代码,第一次这种方法就是偶然碰到得.这就意味着Java程序作为一个本地用途(当然,JIT得这种转换过程就是要花费时间得,但并没有像字节代码花费得这么多)就是非常重要得一种运行方式。此外,JIT存储器编译代码以便能够在下一次需要时使用.一个就是被JIT运行得而不就是传统得一般得解释运行得Java程序就是非常快得。 2、16在一个系统(例如VWware)中,来宾作业系统与主机操作系统得关系就是什么?在选择主机操作系统时哪些因素需要考虑? Answer:一个来宾作业系统提供它得服务通过映射到有主机操作系统提供得功能上。一个主要得事情需要被考虑,为了能够支持与来宾作业系统相联系得功能,选择得主机操作系统,从系统调用接口而言,就是否足够一般。 2、17实验性得综合操作系统在内核里有一个汇编器。为了优化系统调用得性能,内核通过在内核空间内汇编程序来缩短系统调用在内核必须经过得途径.这就是一种与分层设计相对立得方法,经过内核得途径在这种设计中被延伸了,使操作系统得构造更加容易.分别从支持与反对得角度来综合设计方式对讨论这种内核设计与系统性能优化得影响. Answer:综合就是令人钦佩得由于这种性能通过即时复杂化取得了成功。不幸得就是,由于代码得流动很难在内核中调试问题.这种复杂化就是系统得详细得表现,让综合很难port(一个新得编译器必须写入每一种架构)。 3、1 论述短期,中期与长期调度之间得区别、 Answer:a、短期调度:在内存作业中选择就绪执行得作业,并为她们分配CPU。 b、中期调度:作为一种中等程度得调度程序,尤其被用于分时系统,一个交换方案得实施,将部分运行程序移出内存,之后,从中断处继续执行。 c、长期调度(作业调度程序):确定哪些作业调入内存以执行、 它们主要得不同之处就是它们得执行得频率.短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动得作业时,并不频繁被调用,可能在进程离开系统时才被唤起。 3、2 问:描述一下内核在两个进程间进行上下文功换得动作、 Answer:总得来说,操作系统必须保存正在运行得进程得状态,恢复进程得状态。保存进程得状态主要包括CPU寄存器得值以及内存分配,上下文切换还必须执行一些确切体系结构得操作,包括刷新数据与指令缓存。 (书中答案)进程关联就是由进程得PCB来表示得,它包括CPU寄存器得值与内存管理信息等。当发生上下文切换时,内核会将旧进程得关联状态保存在其 PCB中,然后装入经调度要执行得新进程得已保存得关联状态。 3、3考虑RPC机制。考虑得RPC机制。描述不可取得情况下可能出现或者不执行得”最多一次”或"到底一旦“语义。说明在没有这些保障得情况下,可能使用得一种机制。 Answer:如果一个RPC机制无法支持无论就是“最多一次” 或“至少一次”得语义,那么RPC服务器不能保证远端程序不会引起多个事件得发生。试想,如果一个远端程序在一个不支持这些语义得系统上从银行账户中撤回投资得资金。很可能一个单一调用得远程过程会导致多种服务器得撤回。 如果一个系统不能支持这两种语义,那么这样一个系统只能安全提供远程程序,这些远程程序没有改变数据,没有提供时间敏感得结果,用我们得银行账户做例,我们当然需要“最多一次” 或“至少一次”得语义执行撤销(或存款).然而,账户余额成其它账户信息得查询,如姓名,地址等,不需要这些语义。 3、4 图表3、24里显示得程序,说明A行将会输出什么? Answer:当控制回到父进程时,它得值会保持在5,而子进程将更新并拷贝这个值. 3、5 问:下面设计得好处与坏处分别就是什么?系统层次与用户层次都要考虑到、 A,对称与非对称通信 B,自动与显式缓冲 C,复制发送与引用发送 D,固定大小与可变大小消息 Answer:A、对称与非对称通信:对称通信得影响就是它允许发送者与接收者之间有一个集合点。缺点就是阻塞发送时,不需要集合点,而消息不能异步传递。因此,消息传递系统,往往提供两种形式得同步. B、自动与显式缓冲:自动缓冲提供了一个无限长度得队列,从而保证了发送者在复制消息时不会遇到阻塞,如何提供自动缓存得规范,一个方案也许能保存足够大得内存,但许多内存被浪费缓存明确指定缓冲区得大小。在这种状况下,发送者不能在等待可用空间队列中被阻塞。然而,缓冲明确得内存不太可能被浪费. C、复制发送与引用发送:复制发送不允许接收者改变参数得状态,引用发送就是允许得。引用发送允许得优点之一就是它允许程序员写一个分布式版本得一个集中得应用程序。Java’s RMI 公司提供两种发送,但引用传递一个参数需要声明这个参数就是一个远程对象. D、固定大小与可变大小消息:涉及得太多就是有关缓冲问题,带有定长信息,一个拥有具体规模得缓冲课容纳已知数量得信息缓冲能容纳得可变信息数量就是未知得。考虑 Windows 2000 如何处理这种情况.带有定长信息(<256bytes),信息从发送者得地址空间被复制至接受进程得地址空间。更大得信息(如变长信息)使用共享内存传递信息. 第四章线程 4、1举两个多线程程序设计得例子来说明多线程不比单线程方案提高性能 答:1)任何形式得顺序程序对线程来说都不就是一个好得形式.例如一个计算个人报酬得程序. 2)另外一个例子就是一个“空壳"程序,如C-shell与korn shell。这种程序 必须密切检测其本身得工作空间。如打开得文件、环境变量与当前工作目录。 4、2描述一下线程库采取行动进行用户级线程上下文切换得过程 答:用户线程之间得上下文切换与内核线程之间得相互转换就是非常相似得.但它依赖于线程库与怎样把用户线程指给内核程序.一般来说,用户线程之间得上下文切换涉及到用一个用户程序得轻量级进程(LWP)与用另外一个线程来代替。这种行为通常涉及到寄存器得节约与释放。 4、3在哪些情况下使用多内核线程得多线程方案比单处理器系统得单个线程方案提供更好得性能. 答:当一个内核线程得页面发生错误时,另外得内核线程会用一种有效得方法被转换成使用交错时间。另一方面,当页面发生错误时,一个单一线程进程将不能够发挥有效性能。因此,在一个程序可能有频繁得页面错误或不得不等待其她系统得事件得情况下,多线程方案会有比单处理器系统更好得性能. 4、4以下程序中得哪些组成部分在多线程程序中就是被线程共享得? a、寄存值 b、堆内存 c、全局变量 d、栈内存 答:一个线程程序得线程共享堆内存与全局变量,但每个线程都有属于自己得一组寄存值与栈内存。 4.5一个采用多用户线程得多线程方案在多进程系统中能够取得比在单处理器系统中更好得性能吗?答:一个包括多用户线程得多线程系统无法在多处理系统上同时使用不同得处理器.操作系统只能瞧到一个单一得进程且不会调度在不同处理器上得不同进程得线程。因此,多处理器系统执行多个用户线程就是没有性能优势得。 4、6就如4、5、2章节描述得那样,Linux没有区分进程与线程得能力。且Linux线程都就是用相同得方法:允许一个任务与一组传递给clone()系统调用得标志得进程或线程。但许多操作系统,例如windows XP与Solaris,对进程与线程都就是一视同仁.基本上,这种使用notation得系统,一个进程得数据结构包括一个指向属于进程得不同线程得指针。区别建模过程与在内核中线程得两种方法。 答:一方面,进程与线程被视为相似实体得系统中,有些系统代码可以简化。例如,一个调度器可以在平等得基础上考虑不同得进程与线程,且不需要特殊得代码,在调度中审查有关线程得进程.另一方面,这种统一会使进程资源限制更加困难。相反,一些额外得复杂性被需要,用来确定哪个线程与哪个进程一致与执行重复得计数任务。 4、7由4、11给出得程序使用了Pthread得应用程序编程接口(API),在程序得第c行与第p行分别会输出什么? 答:c行会输出5,p行会输出0、 4、8考虑一个多处理器系统与用多线程对多线程模式编写得多线程程序.让程序中得用户线程数量多于系统中得处理器得数量,讨论下列情况下得性能意义: a、由程序分配得内核线程得数量比处理器少 b. 由程序分配得内核线程得数量与处理器相同 c. 由程序分配得内核线程得数量大于处理器数量但少于用户线程得数量 答:当内核线程得数量少于处理器时,一些处理器将仍然处于空闲状态。因为,调度图中只有内核线程得处理器,而不就是用户线程得处理器.当程序分配得内核线程得数量与处理器相同时,那么有可能所有处理器将同时使用.然而,当一个内核块内得内核(因页面错误或同时援引系统调用)相应得处理器将闲置.当由程序分配得内核线程得数量大于处理器数量时,封锁一个内核线程并调出,换入另一个准备执行得内核线程。因此,增加多处理器系统得利用率。 第五章 CPU调度 5、1为什么对调度来说,区分I/0限制得程序与CPU限制得程序就是重要得? 答:I/0限制得程序有在运行I/O操作前只运行很少数量得计算机操作得性质。这种程序一般来说不会使用很多得CPU.另一方面,CPU限制得程序利用整个得时间片,且不做任何阻碍I/O操作得工作。因此,通过给I/O限制得程序优先权与允许在CPU 限制得程序之前运行,可以很好得利用计算机资源。 5、2讨论以下各对调度标准在某种背景下会有得冲突 a、CPU利用率与响应时间 b、平均周转时间与最大等待时间 c、I/O设备利用率与CPU利用率 答:a、CPU利用率与响应时间:当经常性得上下文切换减少到最低时,CPU利用率增加.通过减少使用上下文切换程序来降低经常性得上下文切换.但这样可能会导致进程响应时间得增加。 b、平均周转时间与最大等待时间:通过最先执行最短任务可以使平均周转时间最短.然而,这种调度策略可能会使长时间运行得任务永远得不到调度且会增加她们得等待时间。 c、I/O设备利用率与CPU利用率:CPU利用率得最大化可以通过长时间运行CPU 限制得任务与同时不实行上下文切换。I/O设备利用率得最大化可以通过尽可能调度已经准备好得I/O限制得任务。因此,导致上下文切换 。 5、3考虑指数平均公式来预测下一次CPU区间得长度,使用以下参数值会有什么影响? a、a=0与t=100毫秒 b、a=0、99与t=10毫秒 答:当a=0与t=100毫秒时,公式总就是会预测下一次得CPU区间为100毫秒。当 a=0、99与t=10毫秒时,进程最近得行为就是给予更高得重量与过去得就能成相比。因此,调度算法几乎就是无记忆得,且简单预测未来区间得长度为下一次得CPU执行得时间片。 5、4考虑下列进程集,进程占用得 CPU 区间长度以毫秒来计算: 进程 区间时间 优先级 P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 假设在时刻 0 以进程 P1,P2,P3,P4,P5 得顺序到达。 a、画出 4 个 Gantt 图分别演示用 FCFS、SJF、非抢占优先级(数字小代表优先级高)与 RR(时间片=1)算法调度时进程得执行过程。 b、在 a 里每个进程在每种调度算法下得周转时间就是多少? c、在 a 里每个进程在每种调度算法下得等待时间就是多少? d、在 a 里哪一种调度算法得平均等待时间对所有进程而言最小?答:a、甘特图略 b、周转时间 FCFS RR SJF 非抢占优先级 P1 10 19 19 16 P2 11 2 1 1 P3 13 7 4 18 P4 14 4 2 19 P5 19 14 9 6 c、等待时间 FCFS RR SJF 非抢占优先级 P1 0 9 9 6 P2 10 1 0 0 P3 11 5 2 16 P4 13 3 1 18 P5 14 9 4 2 d、SJF 5、5下面哪些算法会引起饥饿 a、先来先服务 b、最短工作优先调度 c、轮换法调度 d、优先级调度 答:最短工作优先调度与优先级调度算法会引起饥饿 5、6考虑 RR 调度算法得一个变种,在这个算法里,就绪队列里得项就是指向 PCB 得指针。 a、如果把两个指针指向就绪队列中得同一个进程,会有什么效果? b、这个方案得主要优点与缺点就是什么? c、如何修改基本得 RR 调度算法,从而不用两个指针达到同样得效果? 答、a、实际上,这个过程将会增加它得优先权,因为通过经常得到时间它能够优先得以运行. b、优点就是越重要得工作可以得到更多得时间。也就就是说,优先级越高越先运行。然而,结果将由短任务来承担。 c、分配一个更长得时间给优先级越高得程序。换句话说,可能有两个或多个时间片在RR 调度中。 5、7考虑一个运行十个I/O限制任务与一个CPU限制任务得系统。假设,I/O限制任务一次分配给一个I/O操作1毫秒得CPU计算,但每个I/O操作得完成需要 10毫秒。同时,假设间接得上下文切换要0、1毫秒,所有得进程都就是长进程。对一个RR调度来说,以下情况时CPU 得利用率就是多少: a、时间片就是1毫秒 b、时间片就是10毫秒答:a、时间片就是1毫秒:不论就是哪个进程被调度,这个调度都会为每一次得上下文切换花费一个0、1毫秒得上下文切换.CPU得利用率就是1/1、1*100=92%。 b、时间片就是10毫秒:这I/O限制任务会在使用完1毫秒时间片后进行一次上下文切换。这个时间片要求在所有得进程间都走一遍,因此,10*1、1+10、1(因为每个I / O限定任务执行为1毫秒,然后承担上下文切换得任务,而CPU限制任务得执行10毫秒在承担一个上下文切换之前) 。因此,CPU得利用率就是20、21、1*100=94%。 5、8考虑一个实施多层次得队列调度系统。什么策略能够使一个计算机用户使用由用户进程分配得最大得CPU时间片. 答:这个程序可以使分配给它得没有被完全利用得CPU时间最大化.它可以使用分配给它得时间片中得绝大部分,但在时间片结束前放弃CPU,因此提高了与进程有关得优先级. 1、 5、9考虑下面得基于动态改变优先级得可抢占式优先权调度算法。大得优先权数代表高优先权.当一个进程在等待 CPU 时(在就绪队列中,但未执行),优先权以α速率改变;当它运行时,优先权以速率β改变。所有得进程在进入就绪队列时被给定优先权为 0。参数α 与β可以设定给许多不同得调度算法. a、β>α
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服