操作系统教程习题答案.docx

上传人:b****2 文档编号:23244108 上传时间:2023-05-15 格式:DOCX 页数:60 大小:169.05KB
下载 相关 举报
操作系统教程习题答案.docx_第1页
第1页 / 共60页
操作系统教程习题答案.docx_第2页
第2页 / 共60页
操作系统教程习题答案.docx_第3页
第3页 / 共60页
操作系统教程习题答案.docx_第4页
第4页 / 共60页
操作系统教程习题答案.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

操作系统教程习题答案.docx

《操作系统教程习题答案.docx》由会员分享,可在线阅读,更多相关《操作系统教程习题答案.docx(60页珍藏版)》请在冰豆网上搜索。

操作系统教程习题答案.docx

操作系统教程习题答案

《操作系统教程》习题答案

习题1

1.单项选择题

(1)大中小型计算机是以为中心的计算机系统。

A、CPUB、存储器C、系统总线D、通道

(2)以下关于操作系统的说法正确的是。

A、批处理系统是实现人机交互的系统

B、批处理系统具有批处理功能,但不具有交互能力

C、分时系统是实现自动控制,无须人为干预的系统

D、分时系统即具有分时交互能力,又具有批处理能力

(3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。

A、为用户提供良好的工作环境和接口

B、对用户的命令作出快速响应

C、作为服务机构向其它站点提供优质服务

D、防止有人以非法手段进入系统

(4)设计实时操作系统时,首先应考虑系统的。

A、可靠性和灵活性B、实时性和可靠性

C、优良性和分配性D、灵活性和分配性

(5)多道程序设计是指。

A、在分布式系统中同一时刻运行多个程序

B、在一台处理器上并行运行多个程序

C、在实时系统中并发运行多个程序

D、在一台处理器上并发运行多个程序

(6)以下关于并发性和并行性的说法正确的是。

A、并发性是指两个及多个事件在同一时刻发生

B、并发性是指两个及多个事件在同一时间间隔内发生

C、并行性是指两个及多个事件在同一时间间隔内发生

D、并发性是指进程,并行性是指程序

(1)B

(2)B(3)A(4)B(5)D(6)B

2.填空题

(1)微机是以总线为纽带构成的计算机系统。

(2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。

(3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。

(4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。

(5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的应用范围。

3.简答题

(1)什么是操作系统?

现代操作系统的基本特征是什么?

操作系统是直接控制和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,便于用户使用的程序集合。

操作系统的基本特征:

并发性,共享性,虚拟性,异步性

(2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么?

批处理系统:

批处理指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。

这种采用批量处理作业技术的操作系统称为批处理系统。

衡量批处理系统主要指标是系统的吞吐率。

(3)试述分时系统的原理及其特性。

分时系统将多个用户分享同一台计算机。

采用时间片轮转方式处理服务请求,并通过交互方式在终端上显示结果。

特性:

交互性同时性独立性及时性

(4)操作系统有哪几大特征?

它的最基本特征是什么?

特征:

并发性虚拟性共享性异步性最基本特征并发性

(5)网络操作系统与分布式操作系统的关键区别是什么?

(1)分布性。

分布式操作系统的处理和控制功能均为分布式的;而网络操作系统虽具分布处理功能,但其控制功能却是集中在某个或某些主机或网络服务器中,即集中式控制方式。

(2)并行性。

分布式操作系统具有任务分配功能,可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行;而网络操作系统通常无任务分配功能,网络中每个用户的一个或多个任务通常都在本地计算机上处理。

(3)透明性。

分布式操作系统通常能很好地隐藏系统内部的实现细节。

包括对象的物理位置、并发控制和系统故障等对用户都是透明的。

例如,当用户要访问某个文件时,只需提供文件名而无须知道(所要访问的对象)它是驻留在那个站点上,即可对它进行访问,以即具有物理位置的透明性。

网络操作系统的透明性则主要指操作实现上的透明性。

例如,当用户要访问服务器上的文件时,只需发出相应的文件存取命令,而无需了解对该文件的存取是如何实现的。

(4)共享性。

分布式操作系统支持系统中所有用户对分布在各个站点上的软硬件资源的共享和透明方式访问。

而网络操作系统所提供的资源共享功能仅局限于主机或网络服务器中资源,对于其它机器上的资源通常仅有使用该机的用户独占。

(5)健壮性。

分布式操作系统由于处理和控制功能的分布性而具有较好的可用性和可靠性,即健壮性。

而网络操作系统由于控制功能的集中式特点而使系统重构功能较弱,且具有潜在的不可靠性。

4.综合应用题

有3个程序A、B、C在系统中单独处理占用的CPU时间和I/O设备时间如下表所示:

程序A

CPU20ms

IO230ms

CPU30ms

IO220ms

CPU30ms

IO120ms

程序B

IO230ms

CPU30ms

IO140ms

CPU30ms

IO120ms

程序C

IO120ms

CPU50ms

IO130ms

CPU20ms

IO230ms

假定在具有2个CPU为X和Y的多机系统中,以多道程序设计方式,按如下条件执行上述3个程序,条件如下:

(1)X和Y运算速度相同,整个系统可以同时执行2个程序,并且在并行处理程序时速度也不下降。

(2)X的优先级比Y高,即当X、Y均能执行程序时,由X去执行。

(3)当多个程序同时请求CPU或I/O设备时,按程序A、B、C的次序分配所请求的资源。

(4)除非请求输入输出,否则执行中的程序不会被打断,也不会把控制转给别的CPU。

而且因输入输出而中断的程序再重新执行时,不一定仍在同一CPU上执行。

(5)控制程序的介入时间可忽略不计。

(6)程序A、B、C同时开始执行。

求:

(1)程序A、B、C同时开始执行到执行完毕为止的时间。

(2)X和Y的使用时间。

程序运行情况如下图所示:

由上图可以看出

(1)A170msB150msC180ms

(2)X的使用时间120msY的使用时间90ms

题2

1.单项选择题

(1)用户使用操作系统通常有3种手段,它们是终端命令、系统调用命令和。

A、计算机高级指令B、作业控制语言

C、宏命令D、汇编语言

(2)系统调用的目的是。

A、请求系统服务B、终止系统服务

C、申请系统资源D、释放系统资源

(3)在批处理系统中,用户使用对作业的各种可能的控制要求进行控制。

A、命令驱动B、访管指令

C、系统调用D、作业说明书

(4)适合于交互式终端用户来说明作业加工步骤的手段是。

A、汇编语言B、高级语言

C、作业控制语言D、系统功能调用

E、操作控制命令

(1)B

(2)A(3)D(4)E

2.填空题

(1)操作系统代码在核心态下运行,用户一般程序在用户态下运行。

(2)当用户程序要调用系统服务时,需要通过一条专门的指令来完成从用户态到核心态的切换,这条指令称为访管指令。

(3)操作系统为批处理用户提供作业控制语言,为分时用户提供联机命令来说明作业加工步骤。

(4)作业控制语言是由一些的语句组成的。

(5)批处理控制方式也可以称为脱机控制方式,交互式控制方式也可以称为联机控制方式。

(6)在批处理系统中,用户提交作业时必须同时提交用作业控制语言编写的作业说明书来说明对作业的控制意图。

3.名词解释

(1)作业控制级接口。

用户通过键盘命令或作业控制命令,对程序进行控制

(2)程序级接口。

系统调用或称应用程序接口

(3)用户态。

用户程序工作的状态

(4)核心态。

把系统程序工作的状态

(5)特权指令。

只允许在核心态下使用的指令

(6)访管指令。

用户要使用I/O设备,必须在核心态下使用

(7)系统调用。

用户在程序中调用操作系统所提示的一些子功能

4.简答题

(1)在用户和操作系统之间,通常提供了哪几种类型的接口?

它们的主要功能是什么?

控制级接口:

用户通过键盘命令或作业控制命令对程序进行控制

程序级接口:

系统调用

 

(2)什么是作业、作业步、作业流?

作业:

用户一次请求计算机系统为其完成任务所进行工作的总和

作业步:

作业的每一步骤称为作业步

作业流:

作业步控制流程

(3)命令驱动方式中命令的一般格式是什么?

主要有哪几种命令类型?

一般格式:

COMMANDarg1,arg2…….,argn[option1,option2,….,optionm]

类型:

1.系统访问命令2.编辑和文件管理命令3.编译,汇编和连续指令4.调试命令5.维护管理命令6.其它命令

(4)什么是特权指令?

为什么要把指令分为特权指令和非特权指令?

特权指令:

只允许在核心态下使用的指令称为特权指令

非特权指令:

特权指令以外的指令,它们的执行不影响其它用户及系统

(5)说明以下各条指令是特权指令还是非特权指令。

1)启动打印机;2)结束进程;

3)计算e的n次方;4)清内存

5)读时钟6)修改指令地址寄存器内容。

12456特权指令3非特权指令

(6)系统调用分为哪几类?

它们各有什么作用?

一部分功能是系统自身所需要的,另一部分功能是作为服务提供给用户的

(7)一个图形窗口通常由哪几部分组成?

程序图标,组图标和应用程序项图标

习题3

1.单项选择题

(1)进程创建原语的任务是。

A、为进程编制程序B、为进程建立PCB表

C、为进程分配CPUD、为进程分配所需的各种资源

(2)进程从执行状态变为阻塞态的原因可能是。

A、I/O事件发生B、I/O事件完成

C、时间片到D、某个进程被唤醒

(3)进程由执行态变化到就绪态的可能原因是。

A、等待的事件发生B、高优先级进程到来

C、I/O完成D、等待某事件的发生

(4)进程在执行过程中,其状态总是在不停地发生变化,下面关于进程状态变化的说法正确的是。

A、进程一旦形成,首先进入的是运行状态

B、在分时系统中,一个正在运行的进程的时间片如果终结,该进程将转入就绪状态

C、一个进程必须经过进程的三个基本状态才能结束

D、三种进程状态是进程运行过程中的基本状态,进程可能同时处于某几种状态中

(5)进程的上下文是执行活动全过程的静态描述,它在时切换。

A、系统调度新进程占有CPU时

B、进程因等待某一事件的发生而由运行态转为阻塞态时

C、进程由阻塞态转为就绪态时

D、作业因完成而撤出时

(6)以下进程状态的转换中,是不可能的。

A、运行态→就绪态B、运行态→阻塞态

C、阻塞态→运行态D、阻塞态→就绪态

(7)同一程序运行在不同的数据集上,创建了的进程。

A、相同B、不同C、同步D、互斥

(8)进程调度是从中选择一个进程进入处理器中运行。

A、就绪队列B、阻塞队列C、提交队列D、后备队列

(1)B

(2)A(3)B(4)B(5)A(6)C(7)B(8)A

2.填空题

(1)一个进程获得了除CPU外的一切资源,则称此进程处于就绪态。

(2)一个进程由于等待某一事件的发生而暂时停止运行,这时即使把CPU分配给进程也无法运行,则称该进程处于阻塞态。

(3)在一个只有一个CPU的系统中,假如某时刻该系统中有10个进程并发执行,在略去调度时间所占用时间的前提下,则:

1)这时刻系统中处于运行态的进程最多有1个,最少有0个。

2)这时刻系统中处于就绪态的进程最多有9个,最少有0个。

3)这时刻系统中处于阻塞态的进程最多有10个,最少有0个。

(4)操作系统对进程的控制是根据PCB来进行的,对进程的管理是通过PCB来实现的。

3.基本概念的解释和辨析

(1)进程和程序

a.进程是动态的,程序是静态的

b.进程是暂时的,程序是永久的

c.进程与程序的组合结构不同

(2)进程和作业

一个正在执行的进程称为作业,作业可包含一个或多个进程

(3)进程和线程

a.地址空间资源:

不同的进程地址空间是相互独立的,而统一进程的各线程共享同一地址空间

b.并发性:

引入线程的操作系统中,不仅进程之间可以并发执行,而且一个进程的多个线程之间亦可并发执行

c.通信关系:

进程间的通信必须使用操作系统提供的进程间的tongxinjizhi,而统一进程的各线程间可以通过直接读写进程端来进行通信

d.切换速度:

操作系统的进程独占自己的虚拟空间,调度进程时,系统必须交换地址空间,因而进程切换时间长

(4)原语和系统调用

原语:

把在核心态下执行的某些具有特定功能的程序段称为原语

系统调用:

内核提供一系列具备预定功能的内核函数,通过一组称为系统调用的借口呈现给用户。

(5)内核和微内核

内核:

操作系统的这一常驻内存部分称为内核

微内核:

内核的精简版本,在很小的内存空间内增加移植性,提供模块化设计,以使安装用户不同的接口。

(6)用户级线程和核心级线程

用户级线程的管理过程全由用户程序完成,在这样的系统中,操作系统核心只对进程进行管理

核心级线程由操作系统内核进行管理。

操作系统内核为应用程序提供相应的系统调用和应用程序接口API,供用户程序创建执行撤销线程。

4.综合题

(1)某系统的进程状态转换图如图3.16所示,请说明:

1)引起各种状态转换的典型原因有哪些?

运行态→就绪态时间片到或被更高优先级的进程抢占

就绪态→运行态被调度

运行态→阻塞态等待某一事件的发生而事件未发生

阻塞态→就绪态等待的事件已发生

2)当观察系统中某些进程时,能够看到某一进程的一次状态转换能引起另一个进程的一次状态转换。

在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换2?

3)如图3.16,说明是否会发生下述因果转换:

2→1会,在抢占式调度的情况下,更高优先级的进程到达

3→2会,一个正在运行的进程因等待某一事件的发生而转入阻塞态,而就绪队列中有进程在等待运行

4→1不会

(2)有一个单向链接的进程PCB队列,它的队首由系统指针指出,队尾进程链接指针为0。

分别画出一个进程从队首入队和队尾入队的流程图。

(3)挂起状态和阻塞状态有何区别?

在具有挂起操作的系统中,进程的状态有哪些?

如何变迁?

被挂起进程处于静止状态,不能参与竞争CPU,直到被激活,但被挂起进程可能并不缺少资源;而阻塞进程是由于等待某一事件的发生,处于缺乏资源的状态。

(4)在创建一个进程时需要完成的主要工作是什么?

在撤消一个进程时需要完成的主要工作又是什么?

创建进程的主要工作是为被创建进程创建一个PCB,并填入相应的初始值。

并把该进程插入就绪队列。

撤消该进程的所有子孙进程。

在撤消的过程中,被撤消进程的所有系统资源(内存、外设)应全部释放出来归还给系统,并将它们从所有队列中移出。

如果被撤消进程正在处理器上运行,则要调用进程调度程序将处理器分配给其它进程。

(5)什么是可再入程序?

其有何特性?

能被多个程序同时调用的程序。

它具有以下性质:

它是纯代码的,即它在执行过程中不改变自身代码,通常由指令和常量等程序逻辑中的不变部分组成;调用它的各程序应提供工作区,用以存放随着程序执行将发生变化的部分,诸如程序中的数组、变量和通用存储器内的信息。

(6)在使用线程的系统中,是每个线程有一个堆栈还是每个进程有一个堆栈?

说明原因。

(7)线程通常有哪些状态?

为了管理线程,操作系统一般提供哪些原语?

线程状态:

就绪态,运行态,阻塞态

原语:

派生,阻塞,激活

习题4

1.单项选择题

(1)要避免出现与时间有关的错误,对若干进程的相关临界区的管理应满足以下除外的要求。

A、一次最多让一个进程在临界区中执行

B、任何一个进入临界区执行的进程必须在有限时间内退出临界区

C、避免进程进入相关临界区

D、不能强迫一个进程无限期地等待进入它的临界区

(2)有三个进程P1、P2、P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为。

A、0B、1C、2D、3

(3)在操作系统中wait、signal操作是一种。

A、机器指令B、系统调用命令

C、作业控制命令D、低级进程通信

(4)用signal操作唤醒一个进程时,被唤醒进程的状态应变成状态。

A、等待B、运行C、就绪D、完成

(5)用信箱实现并发进程间的通信需要两个基本的通信原语,它们是。

A、wait原语和signal原语B、send原语和receive原语

C、R(S)和W(S)D、以上都不是

(6)用来实现进程同步与互斥的wait,signal操作,实际上是的过程。

A、一个可被中断B、一个不可被中断

C、两个可被中断D、两个不可被中断

(1)C

(2)C(3)D(4)C(5)B(6)D

2.填空题

(1)临界资源是一次只允许一个进程使用的资源,临界区是访问临界资源的那段代码。

(2)信号量s>0时,表示资源的空闲数量;当s=0时,表示资源已经耗尽,但没有进程在等待;若s<0,则表示有|s|个进程在等待。

(3)设计进程同步机制的准则有空闲让进、忙则等待、有限等待和让权等待。

3.基本概念解释和辨析

(1)同步与互斥。

同步:

散布在不同进程之间的若干程序片段,按规定的先后次序来运行

互斥:

散布在不同进程之间的若干程序片段,当某个进程运行其中一个程序片段时,其他进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可运行。

(2)临界资源与临界区。

临界资源:

临界资源是一次仅允许一个进程使用的共享资源

临界区:

每个进程中访问临界资源的那段程序

(3)高级通信与低级通信。

低级通信:

由于进程互斥与同步交换的信息量较少,每次通信传递的信息量固定且效率较低高级通信:

进程之间以较高的效率传送大量数据的通信方式

(4)直接通信与间接通信。

直接通信:

需要通信中,需要通信的每个进程必须直接指明通信的接收方式或发送方

间接通信:

消息和发送的信息通过信箱进行。

进程可以把消息放置其中取走。

4.论述题

(1)什么是“忙等待”?

如何克服“忙等待”?

如果在单处理器系统中,一个进程试图进入处于“忙”状态的临界区,则该进程只能不断测试临界区的状态,这就是“忙等待”。

让试图进入“忙”状态的临界区的进程“睡眠”等待,由释放资源的进程将其唤醒,便可克服“忙等待”的缺点。

(2)在解决进程互斥时,如果TS指令的执行可以中断,则会出现什么情况?

而如果wait、signal的执行可分割,又会出现什么情况?

如果wait可被分割,则可能破坏“空闲让进”准则。

如s.value=1,进程A执行wait操作,进行s.value--,s.value的值为0;如果此时被中断,进程B执行wait操作,进行s.value--,s.value的值为-1,则进程B将被阻塞;此时进程A恢复中断,由于s.value的值为-1,也将被阻塞,从而破坏了“空闲让进”准则。

如果signal可被分割,也有可能破坏“空闲让进”准则。

如s.value=-1,进程C在等待s资源,进程A执行signal操作,进行s.value++,s.value的值为0;如果此时被中断,进程B执行signal操作,进行s.value++,s.value的值为1,进程B不会唤醒进程C;此时进程A恢复中断,由于s.value的值为1,也不会唤醒进程C,从而破坏了“空闲让进”准则。

(3)使用parbegin改写下面的表达式以获得最大程度的并行性。

(3*a*b+4)/(c+d)**(e-f)

typedefFan_TypeDataType;

Fan_Typex;

Fan_TypeP1()

{return(3*a*b+4);

}

Fan_TypeP2()

{return(c+d);

}

Fan_TypeP3()

{return(e-f);

}

voidmain()

{Fan_Typea,b,c;

parbegin(a=P1,b=P2,c=P3);

xa/b**c;

}

(4)设有几个进程共享一互斥段,对于如下两种情况:

(1)每次只允许一个进程进入临界区;

(2)最多允许m个进程(m

所采用的信号量是否相同?

信号量值的变化范围如何?

(1)信号量值的变化范围为s.value<=1;

(2)信号量值的变化范围为s.value<=m;

(5)下面是两个并发执行的进程,它们能正确执行吗?

若不能正确执行,请举例说明,并改正之(x是公共变量)。

voidP1()

{inty,z;

x=1;

y=0;

if(x>=1)y=y+1;

z=y;

}

voidP2()

{intt,u;

x=0;

t=0;

if(x<1)t=t+z;

u=t;

}

voidmain()

{parbegin(P1(),P2());

}

不能正确执行。

如进程P1执行过程中不被中断,进程运行结束后x,y,z的值均为1;但若进程P1执行到y=0时被中断,进程P2执行完毕后x的值为0,则P1恢复中断后获得的结果为x,y,z的值均为0,从而发生与时间有关的错误。

structsemaphores;

s.value=1;

voidP1()

{inty,z;

wait(s);

x=1;

y=0;

if(x>=1)y=y+1;

z=y;

signal(s);

}

voidP2()

{intt,u;

wait(s);

x=0;

t=0;

if(x<1)t=t+z;

u=t;

signal(s);

}

voidmain()

{parbegin(P1(),P2());

}

(6)共享存储区通信是如何实现的?

(7)假设某系统未直接提供信号量机制,但提供了进程通信工具。

如果某程序希望使用关于信号量的wait、signal操作,那么该程序应如何利用通信工具模拟信号量机制?

要求说明如何用send/receive操作及消息表示wait/signal操作及信号量。

5.应用题

(1)有三个并发进程R、W1和W2,共享两个各可存放一个数的缓冲区B1、B2。

进程R每次从输入设备读入一个数,若读入的是奇数,则将它存入B1中,若读入的是偶数,将它存入B2中;当B1中有数,由进程W1将其打印输出;当B2中有数,进程W2将其打印输出。

试编写保证三者正确工作的程序。

structsemaphoneB1_Empty,B1_Full,B2_Empty,B2_Full;

B1_Empty.value=1;

B1_Full.value=0;

B2_Empty.value=1;

B2_Full.value=0;

voidR()

{inta;

While

(1)

{readanumbera;

if(a%2==1)

{wait(B1_Empty);

putainB1;

signal(B1_Full);

}

else

{wait(B2_Empty);

putainB2;

signal(B2_Full);

}

}

}

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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