操作系统之哲学原理第二版课后答案.docx

上传人:b****8 文档编号:10580439 上传时间:2023-02-21 格式:DOCX 页数:91 大小:476.38KB
下载 相关 举报
操作系统之哲学原理第二版课后答案.docx_第1页
第1页 / 共91页
操作系统之哲学原理第二版课后答案.docx_第2页
第2页 / 共91页
操作系统之哲学原理第二版课后答案.docx_第3页
第3页 / 共91页
操作系统之哲学原理第二版课后答案.docx_第4页
第4页 / 共91页
操作系统之哲学原理第二版课后答案.docx_第5页
第5页 / 共91页
点击查看更多>>
下载资源
资源描述

操作系统之哲学原理第二版课后答案.docx

《操作系统之哲学原理第二版课后答案.docx》由会员分享,可在线阅读,更多相关《操作系统之哲学原理第二版课后答案.docx(91页珍藏版)》请在冰豆网上搜索。

操作系统之哲学原理第二版课后答案.docx

操作系统之哲学原理第二版课后答案

思考题

1.什么是操作系统?

请用一句话描述你对操作系统的理解。

2.你对操作系统和用户程序之间的关系有何看法?

阐述你的想法。

3.简要列出操作系统覆盖的范畴及每个范畴的核心内容。

4.你为什么要学习操作系统?

与本书列出的理由相同吗?

简要阐述你的动机。

5.操作系统要对不同的部件进行管理,请论述这些管理之间的异同点。

6.设备管理要达到的目的是什么?

7.有人说设备管理软件(设备驱动程序)因为经常由第三方提供,因此不应该作为操作系统的一部分。

你对此有何看法?

你认为应该如何判断一个软件是否属于操作系统?

8.请列出程序执行过程中操作系统的介入情况。

9.说操作系统是人造学科,根据是什么?

10.人造学科的特点是什么?

它对我们学习操作系统有何帮助?

11.OS需要编译器来编译,而编译器的运行需要量OS来支持,那到底是谁先出现谁后出现呢?

1.请列出你曾经用过的所有操作系统。

哪个操作系统你觉得最好?

为什么?

2.在你用过的操作系统中,你感觉哪个操作系统最好?

解释你的答案。

3.计算机从过去单一操作员单一控制终端到现在的个人机,似乎我们转了一个圈。

是不是我们人类总是喜欢反复无常呢?

请阐述你对这种否定之否定的观点。

4.虽然我们不赞成对未来进行预测,但你是否对操作系统的未来演变有自己的看法呢?

5.MULTICS的出现在很大程度上是由于IBM的傲慢,你认为人的傲慢在操作系统发展过程中占据什么样的角色呢?

6.驱动操作系统发展的主要动力有哪些?

它们是如何驱动的?

7.很多人都说,没有操作系统的计算机是一堆废铁,无法运转。

但在计算机刚诞生的时候,谁也不知道操作系统这回事儿。

那个时候的计算机为什么在没有操作系统的情况下能够运转呢?

它们又是如何运转呢?

8.操作系统根据其运行的计算机硬件结构不同而分为主机操作系统、服务器操作系统和个人机操作系统。

简要论述这三种操作系统的关键不同点。

9.MACH所提倡的微内核操作系统因为运行效率低下而没有获得广泛的商业应用,你认为其效率低下的原因何在?

10.简要论述实时操作系统和分时操作系统的区别。

1.操作系统提供的用户界面有几种?

分别是什么?

2.举出人类社会中采用的几个抽象示例,并与操作系统提供的抽象进行对比。

3.有人认为,内核态程序可以访问任何资源的权限对系统安全造成严重威胁,你怎么看?

4.处理器的状态设置需要在何种态势下完成?

为什么?

5.处理器从用户态转为内核态时面临的关键问题是什么?

如何解决?

6.下述操作是否可以在用户态下执行?

a)保护中断现场。

b)因系统调用陷入内核。

c)启动外部设备。

d)外设与内存经DMA进行数据交换。

e)缺页中断。

7.论述系统调用和壳之间的关系。

8.操作系统采用层次结构的优点是什么?

层次结构有什么缺点?

9.fork是如何实现一次调用两次返回的?

它有必要吗?

为什么?

10.请调研当前业界通用系统里面缓存、主存、磁盘、磁带的平均容量。

11.挑战题:

内核态的特权是如何实现的?

第一章

1.设计现代OS的主要目标是什么?

(1)有效性

(2)方便性(3)可扩充性(4)开放性

2.OS的作用可表现在哪几个方面?

(1)OS作为用户与计算机硬件系统之间的接口

(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象

3.为什么说OS实现了对计算机资源的抽象?

答:

OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

OS通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动力是什么?

答:

主要动力来源于四个方面的社会需求与技术发展:

(1)不断提高计算机资源的利用率;

(2)方便用户;(3)器件的不断更新换代;

(4)计算机体系结构的不断发展。

5.何谓脱机I/O和联机I/O?

答:

脱机I/O是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推动分时系统形成和发展的主要动力是什么?

答:

推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:

CPU的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?

应如何解决?

答:

关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。

解决方法:

针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。

针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。

8.为什么要引入实时OS?

答:

实时操作系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

引入实时OS是为了满足应用的需求,更好地满足实时控制领域和实时信息处理领域的需要。

9.什么是硬实时任务和软实时任务?

试举例说明。

答:

硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。

举例来说,运载火箭的控制等。

软实时任务是指它的截止时间并不严格,偶尔错过了任务的截止时间,对系统产生的影响不大。

举例:

网页内容的更新、火车售票系统。

10.在8位微机和16位微机中,占据了统治地位的是什么操作系统?

答:

单用户单任务操作系统,其中最具代表性的是CP/M和MS-DOS.

11.试列出WindowsOS中五个主要版本,并说明它们分别较之前一个版本有何改进。

答:

(1)MicrosoftWindows1.0是微软公司在个人电脑上开发图形界面的首次尝试。

(2)Windows95是混合的16位/32位系统,第一个支持32位。

带来了更强大、更稳定、更实用的桌面图形用户界面,结束了桌面操作系统间的竞争。

3)Windows98是微软公司的混合16位/32位Windows操作系统,改良了硬件标准

的支持,革新了内存管理,是多进程操作系统。

(4)WindowsXP是基于Windows2000的产品,拥有新用户图形界面月神Luna。

简化了用户安全特性,整合了防火墙。

(5)WindowsVista包含了上百种新功能;特别是新版图形用户界面和WindowsAero全新界面风格、加强的搜寻功能(WindowsIndexingService)、新媒体创作工具以及重新设计的网络、音频、输出(打印)和显示子系统。

12.试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。

答:

(1)及时性:

实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。

(2)交互性:

实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。

不像分时系统那样能向终端用户提供数据和资源共享等服务。

(3)可靠性:

分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。

因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。

13.OS有哪几大特征?

其最基本的特征是什么?

答:

并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。

14.处理机管理有哪些主要功能?

它们的主要任务是什么?

答:

处理机管理的主要功能是:

进程管理、进程同步、进程通信和处理机调度;

进程管理:

为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。

进程同步:

为多个进程(含线程)的运行______________进行协调。

通信:

用来实现在相互合作的进程之间的信息交换。

处理机调度:

(1)作业调度。

从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。

(2)进程调度:

从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。

15.内存管理有哪些主要功能?

他们的主要任务是什么?

答:

内存管理的主要功能有:

内存分配、内存保护、地址映射和内存扩充。

内存分配:

为每道程序分配内存。

内存保护:

确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。

地址映射:

将地址空间的逻辑地址转换为内存空间与对应的物理地址。

内存扩充:

用于实现请求调用功能,置换功能等。

16.设备管理有哪些主要功能?

其主要任务是什么?

答:

主要功能有:

缓冲管理、设备分配和设备处理以及虚拟设备等。

主要任务:

完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设

备的利用率;提高I/O速度;以及方便用户使用I/O设备.

17.文件管理有哪些主要功能?

其主要任务是什么?

答:

文件管理主要功能:

文件存储空间的管理、目录管理、文件的读/写管理和保护。

文件管理的主要任务:

管理用户文件和系统文件,方便用户使用,保证文件安全性。

18.是什么原因使操作系统具有异步性特征?

答:

操作系统的异步性体现在三个方面:

一是进程的异步性,进程以人们不可预知的速度向前推进,二是程序的不可再现性,即程序执行的结果有时是不确定的,三是程序执行时间的不可预知性,即每个程序何时执行,执行顺序以及完成时间是不确定的。

19.模块接口法存在哪些问题?

可通过什么样的途径来解决?

答:

(1)模块接口法存在的问题:

①在OS设计时,各模块间的接口规定很难满足在模块完成后对接口的实际需求。

②在OS设计阶段,设计者必须做出一系列的决定,每一个决定必须建立在上一个决定的基础上。

但模块化结构设计的各模块设计齐头并进,无法寻找可靠的顺序,造成各种决定的无序性,使程序设计人员很难做到设计中的每一步决定都建立在可靠的基础上,因此模块接口法被称为“无序模块法”。

(2)解决途径:

将模块接口法的决定顺序无序变有序,引入有序分层法。

20.在微内核OS中,为什么要采用客户/服务器模式?

答:

C/S模式具有独特的优点:

⑴数据的分布处理和存储。

⑵便于集中管理。

⑶灵活性和可扩充性。

⑷易于改编应用软件。

21.试描述什么是微内核OS。

答:

1)足够小的内核2)基于客户/服务器模式3)应用机制与策略分离原理4)采用面向对象技术。

22.在基于微内核结构的OS中,应用了哪些新技术?

答:

在基于微内核结构的OS中,采用面向对象的程序设汁技术。

23.何谓微内核技术?

在微内核中通常提供了哪些功能?

答:

把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。

在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。

24.微内核操作系统具有哪些优点?

它为何能有这些优点?

答:

1)提高了系统的可扩展性2)增强了系统的可靠性3)可移植性4)提供了对分布式系统的支持5)融入了面向对象技术

第二章

1.什么是前趋图?

为什么要引入前趋图?

答:

前趋图(PrecedenceGraph)是一个有向无循环图,记为DAG(DirectedAcyclic

Graph),用于描述进程之间执行的前后关系。

2.画出下面四条语句的前趋图:

S1=a:

=x+y;S2=b:

=z+1;S3=c:

=a–b;S4=w:

=c+1;

答:

其前趋图为:

3.什么程序并发执行会产生间断性特征?

答:

程序在并发执行时,由于它们共享系统资源,为完成同一项任务需要相互合作,致使这些并发执行的进程之间,形成了相互制约关系,从而使得进程在执行期间出现间断性。

4.程序并发执行时为什么会失去封闭性和可再现性?

答:

程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改变,致使程序运行失去了封闭性,也会导致其失去可再现性。

5.在操作系统中为什么要引入进程概念?

它会产生什么样的影响?

答:

为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。

影响:

使程序的并发执行得以实行。

6.试从动态性,并发性和独立性上比较进程和程序?

答:

(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。

进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。

(2)并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。

(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。

对于未建立任何进程的程序,不能作为独立单位参加运行。

7.试说明PCB的作用,为什么说PCB是进程存在的惟一标志?

答:

PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。

OS是根据PCB对并发执行的进程进行控制和管理的。

8.试说明进程在三个基本状态之间转换的典型原因。

答:

(1)就绪状态→执行状态:

进程分配到CPU资源

(2)执行状态→就绪状态:

时间片用完

(3)执行状态→阻塞状态:

I/O请求

(4)阻塞状态→就绪状态:

I/O完成

9.为什么要引入挂起状态?

该状态有哪些性质?

答:

引入挂起状态处于五种不同的需要:

终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。

处于挂起状态的进程不能接收处理机调度。

10.在进行进程切换时,所要保存的处理机状态信息有哪些?

答:

进行进程切换时,所要保存的处理机状态信息有:

(1)进程当前暂存信息2)下一指令地址信息3)进程状态信息

(4)过程和系统调用参数及调用地址信息。

11.试说明引起进程创建的主要事件。

答:

引起进程创建的主要事件有:

用户登录、作业调度、提供服务、应用请求。

12.试说明引起进程被撤销的主要事件。

答:

引起进程被撤销的主要事件有:

正常结束、异常结束(越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O故障)、外界干预(操作员或操作系统干预、父进程请求、父进程终止)。

13.在创建一个进程时所要完成的主要工作是什么?

(1)OS发现请求创建新进程事件后,调用进程创建原语Creat();

(2)申请空白PCB;3)为新进程分配资源;4)初始化进程控制块;

(5)将新进程插入就绪队列.

14.在撤销一个进程时所要完成的主要工作是什么?

答:

1)根据被终止进程标识符,从PCB集中检索出进程PCB,读出该进程状态。

(2)若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真,指示该进程被终止后重新调度。

(3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。

(4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。

(5)将被终止进程PCB从所在队列或列表中移出,等待其它程序搜集信息。

15.试说明引起进程阻塞或被唤醒的主要事件是什么?

答:

a.请求系统服务;b.启动某种操作;c.新数据尚未到达;d.无新工作可做.

16.进程在运行时存在哪两种形式的制约?

并举例说明之。

(1)间接相互制约关系。

举例:

有两进程A和B,如果A提出打印请求,系统已把唯一的一台打印机分配给了进程B,则进程A只能阻塞;一旦B释放打印机,A才由阻塞改为就绪。

(2)直接相互制约关系。

举例:

有输入进程A通过单缓冲向进程B提供数据。

当缓冲空时,计算进程因不能获得所需数据而阻塞,当进程A把数据输入缓冲区后,便唤醒进程B;反之,当缓冲区已满时,进程A因没有缓冲区放数据而阻塞,进程B将缓冲区数据取走后便唤醒A。

17.为什么进程在进入临界区之前应先执行“进入区”代码?

而在退出前又要执行“退出区”代码?

答:

为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志,使其它进程能再访问此临界资源。

18.同步机构应遵循哪些基本准则?

为什么?

答:

同步机构应遵循的基本准则是:

空闲让进、忙则等待、有限等待、让权等待

原因:

为实现进程互斥进入自己的临界区。

19.试从物理概念上说明记录型信号量wait和signal。

答:

wait(S):

当S.value>0时,表示目前系统中这类资源还有可用的。

执行一次wait操作,意味着进程请求一个单位的该类资源,使系统中可供分配的该类资源减少一个,因此描述为S.value:

=S.value-1;当S.value<0时,表示该类资源已分配完毕,进程应调用block原语自我阻塞,放弃处理机,并插入到信号量链表S.L中。

signal(S):

执行一次signal操作,意味着释放一个单位的可用资源,使系统中可供分配的该类资源数增加一个,故执行S.value:

=S.value+1操作。

若加1后S.value≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,因此应调用wakeup原语,将S.L链表中的第一个等待进程唤醒。

20.你认为整型信号量机制是否完全遵循了同步机构的四条准则?

答:

整型信号量机制不完全遵循同步机制的四条准则,它不满足“让权等待”准则。

21.如何利用信号量机制来实现多个进程对临界资源的互斥访问?

并举例说明之。

答:

为使多个进程互斥访问某临界资源,只需为该资源设置一互斥信号量mutex,并设其初值为1,然后将各进程访问该资源的临界区CS置于wait(mutex)和signal(mutex)操作之间即可。

这样,每个欲访问该临界资源的进程在进入临界区之前,都要先对mutex执行wait操作,若该资源此刻未被访问,本次wait操作必然成功,进程便可进入自己的临界区,这时若再有其他进程也欲进入自己的临界区,此时由于对mutex执行wait操作定会失败,因而该进程阻塞,从而保证了该临界资源能被互斥访问。

当访问临界资源的进程退出临界区后,应对mutex执行signal操作,释放该临界资源。

利用信号量实现进程互斥的进程描述

如下:

Varmutex:

semaphore:

=1;

begin

parbegin

process1:

begin

repeat

wait(mutex);

criticalsection

signal(mutex);

remaindersection

untilfalse;

end

process2:

begin

repeat

wait(mutex);

criticalsection

signal(mutex);

remaindersection

untilfalse;

end

parend

22.试写出相应的程序来描述图2-17所示的前驱图。

答:

(a)Vara,b,c,d,e,f,g,h;semaphore:

=0,0,0,0,0,0,0,0;

begin

parbegin

beginS1;signal(a);signal(b);end;

beginwait(a);S2;signal(c);signal(d);end;

beginwait(b);S3;signal(e);end;

beginwait(c);S4;signal(f);end;

beginwait(d);S5;signal(g);end;

beginwait(e);S6;signal(h);end;

beginwait(f);wait(g);wait(h);S7;end;

parend

end

(b)Vara,b,c,d,e,f,g,h,i,j;semaphore:

=0,0,0,0,0,0,0,0,0,0;

begin

parbegin

beginS1;signal(a);signal(b);end;

beginwait(a);S2;signal(c);signal(d);end;

beginwait(b);S3;signal(e);signal(f);end;

beginwait(c);S4;signal(g);end;

beginwait(d);S5;signal(h);end;

beginwait(e);S6;signal(i);end;

beginwait(f);S7;signal(j);end;

beginwait(g);wait(h);wait(i);wait(j);S8;end;

parend

end

23.在生产者消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果有何影响?

答:

如果缺少signal(full),那么表明从第一个生产者进程开始就没有改变信号量full值,即使缓冲池产品已满,但full值还是0,这样消费者进程执行wait(full)时认为缓冲池是空而取不到产品,消费者进程一直处于等待状态。

如果缺少signal(empty),在生产者进程向n个缓冲区投满产品后消费者进程才开始从中取产品,这时empty=0,full=n,那么每当消费者进程取走一个产品empty值并不改变,直到缓冲池取空了,empty值也是0,即使目前缓冲池有n个空缓冲区,生产者进程要想再往缓冲池中投放产品也会因为申请不到空缓冲区被阻塞。

24.在生产消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置,或者将signal(mutex)与signal(full)互换位置,结果如何?

答:

将wait(full)和wait(mutex)互换位置后,可能引起死锁。

考虑系统中缓冲区全满时,若一生产者进程先执行了wait(mutex)操作并获得成功,则当再执行wait(empty)操作时,它将因失败而进入阻塞状态,它期待消费者进程执行signal(empty)来唤醒自己,在此之前,它不可能执行signal(mutex)操作,从而使试图通过执行wait(mutex)操作而进入自己的临界区的其他生产者和所有消费者进程全部进入阻塞状态,这样容易引起系统死锁。

若signal(mutex)和signal(full)互换位置后只是影响进程对临界资源的释放次序,而不会引起系统死锁,因此可以互换位置。

25.我们在为某一临界资源设置一把锁W,当W=1时表示关锁,当W=0时表示锁已打开。

试写出开锁和关锁的原语,并利用他们实现互斥。

答:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1