好文档 - 专业文书写作范文服务资料分享网站

完整版计算机操作系统教程 第三版 张尧学 张高 史美林 著 清华大学出版社 课后答案

天下 分享 时间: 加入收藏 我要投稿 点赞

第一章绪论

I?什么是操作系统的幕本功能 ? 答:操作系统的职能是管理和控制汁算机系统中的所有硬、软们资源,合理地组织计算 机工作流程,并为用户提供一个良好的工作环境和友好的接 U?操作系统的基本功能包括:

处理机管理、存储管理、设备管理、信息管理

(文们骡统管理 )和用户接 Ii 等.

2. 什么是批处理、分时和实时系统 ?各有什么特征 ?

答:批处理系统 (batchprocess ingsystem) : 操作员把用户提交的作收分类 .把一批作收编成一 个作业执行序列,由专门编制的监督程序 (monitor) 自动依次处理 .其主要特征是 :用户脱机 使用计算机、成批处理、多道程序运行 .

分时系统(timcsharingopcrationsystcm ):把处理机的运行时(fnJ分成很短的时fFIJ片,按l<\片轮 转的方式,把处理机分配给各进程使用 .其主要特征是 :交互性、多用户同时性、独立性。 实时系统 (rcaltimcsystcm): 在被控对象允许时间范围内作出响应 .其主要特征是 :对实时信 息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。

3. 多道程序 (multiprogramming) 和多爪处理 (multiprocessing) 有何区别 ?

答: 多道程序 (multiprogramming) 是作收之间自动调度执行、共享系统资源 .并不是真正地 同时俏行多个作业:而多熏处W.. (multiprocessing)系统配置多个CPU,能真正同时执行多道 程序。 要有效使用多重处理, 必须采用多道程序设计技术, 而多道程序设计原则上不一定要 求多重处理系统的支持 .

第二章作业管理和用户接口

1. 什么是作业 ?.作业步? 答:把在一次应用业务处理过程中, 从输入开始到输出结束, 用户要求计算机所做的有关该 次业务的处理的全部工作称为一个作业。 作业由不同的顺序相连的作业步组成。 作业步是在 一个作业的处理过程中,计算机所做的相对独立的工作。如 .编辑愉入是一个作业步 .它产生 源程序文件 :编译也是一个作业步 .它产生目标代码文件 . 2. 作业山几部分组成 ?各有什么功能 ?

荞:作业山三部分组成 :程序、数据和作业说明书 .程序和数据完成用户所要求的业务处理 工作 .作业说明书则体现用户的控制愈图

3. 作业的愉入方式有哪 JL种?各有何特点

谷:作业的输入方式有 5 种:联机输入方式、脱机袖入方式、直接棍合方式、 SPOOLING (Simultancous Peripheral OperationsOnlinc) 系统和网络愉入方式 .各有如卜特点 : (1) 联机输入方式 :用户和系统通过交互式会话来怕入作业

.

1二和上机相连。 从而在较

(2) 脱机输入方式, 又称预输入方式, 利用低档个人计甘机作为外幽处理极进行钧入处理, 存储在后备存储器 I : .然后将此后援存储器连接到高速外围设备 短

的时间内完成作业的愉入工作。

(3) 直接祸合方式 :把上机和外围低档机通过一个公用的人容量外存六接祸合起来,从而省 去了在脱机愉入中那种依靠人工干预末传递后援存储雄的过程

.

(4) SPOOLING系统nl译为外田设备同时联机摊作。 在SPOOLING系统中.多台外团设备通好 道或 DMA 器件和主机与外存连接起来作业的愉入愉出过程由土机中的掩作系统控 翻。 (5)

几仲泊入方式为赞拙

网络怕入方式 :网络愉入方式以上述.当用户需要把在计算机网络中

.就构成了网络输入

.

某一台主机上输入的信息传送到同一网中另台主机上进行摊作成执行时

方式。

4?试述SPOOLING系统的_I-作原理。

答:在s阳OLIN6系统巾,多台外围设备通过通逝或 作业的输入输出过程由主机中的操作系统控制

DMA器件和主机与外存连接起来,

?操作系统中的输入程序包一含两个独立的过

程,一个过程负责从外部设备把信息读入缓冲区, 另一个过程是写过程, 负责把缓冲区中的 信息送入到外存输入井巾。 在系统输入模块收到作业输入请求后, 输入管理模块中的读过积 负责将信息从愉入装置读入缓冲区。当缓冲 V 满时,由写过程将信息从缓冲区写到外存输 入

井中。读过程和写过程反复循环 ?直到一个作业愉入完毕。当读过程读到一个硬件结束标志 后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。 系统为该作业建立作业控制块 度程序选中后进入内存。

5.作业说明书和作业控制块有何异同 ? 答:作业说明书主要包含三方面内容 :作业的基本描述、作业控制描述和资源要求描述 ?作 业基本描述主要包括用户名、作业名、使用的编程语言名、允许的最大处理时间等,而作业 控制描述则大致包括作业在执行过程中的控制方式, 例如是脱机控制还是联机控制、 各作业 步的操作顺序以及作业不能正常执行时的处理等 .资源要求描述包括要求内存大小、外设种 类和台数、处理机优先级、所需处理时间、所需库

A数或实用程序等?而作业控制块是作业

说明书在系统中生成的一张表格, 该表格迁记该作业所要求的资源情况、 预计执行时间和执 行优先级等。 从而, 操作系统通过该表了解到作业要求, 并分配资源和控制作业中 R 序和数 据的编译、链接、装入和执行等 ?

6?操作系统为用户提供哪些接门 ?它们的区别是什么?

答:操作系统为用户提供两个接 I],一个是系统为用户提供的各种命令接口 操作命令来组织和控制作业的执行或管理计算机系统,

?用户利用这些

JCB从而使输入井中的作业进入作业等待队列,等待作业调

然后

另一个接门是系统调用, 编程人员使

用系统调用来请求 a 作系统提供服务。 例如申请和释放外设等类资源、 控制程序的执行速度 等?。 7?作业控制方式有哪几种 ?调查你周围的计算机的作业控制方式。 答:作业控制的主要方式有两种 :脱机方式和联机方式。 脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,

也就是作业说明

书。作业控制语言的语句就是作业控制命令。不同的批处理系统提供不同的作业控制语言。 联机控制方式不同于脱机控制方式, 它不要求用户填写作业说明书, 系统只为用户提供一组 键盘或其他操作方式的命令。 用户使用操作系统提供的操作命令和系统会话, 交互地控制程 序执行和管理计算机系统。

8?什么是系统调用?系统调用与一般用户程序有什么区别 ?与库函数和实用程序又有什么区 别? 答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一 级动态请求和释放系统资源, 调用系统中己有的系统功能来完成那些与机器硬件部分相关的 工作以及控制程序的执行速度等。 因此, 系统调用像一个黑箱子那样, 对用户屏蔽了操作系 统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序的区别是

调用程序是在核心态执行, 调用它们需要一个类似于硬件中断处理的 供系统服务。

9?简述系统调用的实现过程。 答:用户在程序中使用系统调用,给出系统凋用名和函数后,即产生一条相应的陷入指令, 通过陷入处理机制调用服务, 引起处理机中断, 然后保护处理机现场, 取系统调用功能号并 寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。 10. 为什么说分时系统没有作业的概念 ? 答:因为在分时系统中,每个用户得到的时问片有限,用户的程序和数据信息直接输入到内 存工作区中和其他程序一起抢占系统资源投入执行,而不必 i 序选择 .

:系统

I一卜断处理机制来提

因此,分时系统没有作业控制表,也没有作业调度 存输入并等待作业调度程 11. 试述 UNIX 的主要特点 . 答:UNIX的主要特点是:

(1) UNIX系统是一个可供多用户同时操作的交互式分时操作系统, (2) 为了向用厂’提供交互式功能和使得用 提

供了两种友好的界面或接口 :系统调用和命令 ;

(3) UNIX系统具有一个可装卸的分层树型结构文件系统,该文件系统使用方便、搜索简单, (4) UNIX 系统把所有外部设备都当成文件,并分别赋予它们对应的文件名。从而,用厂'可 以 像使用文件那样使用任一设备而不必了解该设备的内部特性, 了用)”,

(5) UNIX系统核心程序的绝大部分源代码和系统 _L的支持软件都用 C语言编写。且 UNIX 系统是一个开放式系统,即具有统一的用户接口,使得 行环境下运行。

正是由于UNIX具有?上述这些特点,使得 12. UNIX操作系统为用户提供哪些接口

UNIX系统得到了广泛的应用和发展

.

UNIX用户的应用程序可在不同的执

这既简化了系统设计, 又方便

)”可以利用UNIX系统的功能,UNIX系统向用户

?试举例说明?

Shell和面向编程用户的接口 :

答;UNIX系统为用户提供两个接口,即面向操作命令的接口

系统调用。 常见的 Shell 命令女口 :login, Iogout, vi, ernacs.印,rm, Is, cc, link,adducer,chown, dbx, date 等;常见的系统调用如 :ioctl, read, write, open, close, crest, excel, flock, stat, mount, fork, wait, exit, socket 等 .

13 ?在你周围装有 UNIX系统的计算机上,练习使用后台命令,管道命令等 令。吞甘k, 二

答:例1:用Shell谱言编制一 Shell程序.该程序在用户输入年、月之后,自动打印输出该 年该月的日历 :

echo\read month

echo'Please input the year: read year

第三章用户 V 理和配置份理 1.

执行的一个程序,这话对吗

有A说,一个进程是山伪处理机?为什么? 答:对。

” ”

Shell的基木命

因为伪处理机的概念只有在执行时刁存在, 它表示多个进程在单处理机上并发执行的二个调 度单位。因此,尽 V进程是动态概念,是程序的执行过程,但是,在多个进程并行执行时, 仍然只有一个进程占据处理机执行, 而其他并发进程则处于就绪或等待状态。 这些并发进程 就相当干由伪处理机执行的程序。

2. 试比较进程和程序的区别。

答:(1)进程是一个动态概念。而程序是一个静态概念 义.进程则强调执行的过程 (2)

行特征 (独立性,异步性 ).程序则没有 .

.积序是指令的有序集介 .无执行含

进程具有并

(3)

可以包含同一个程序,同一程序在执行中也可以产生多个进程。 3.

的并发执行将导致最终结果失去封闭性广这话对所有的程序都成立吗 明.

答:并非所有程序均成立。 如:

Begin local\K::10 print(x) End

不同的进程我们说程序?举例说

上述程序中 x 是内部变量, 不可能被外部程序访问, 因此这段程序的运行不会受外部环境影 晌. 4. 试比较作业和进程的区别。 答:一个进程是一个程序对某个数据集的执行过程,是分配资源的摹本单位。作业是用于需 要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交, 作业收容、作业执行和作业完成 4 个阶段。而进程是己提交完毕的程序所执行过程的描述, 足资源分配的 4 本单位 .其主要区别关系如下 :

(1) 作业是用户向计算机提交任务的任务实体 ?在用户向计算机提交作业之后,系统将存储 在外存中的作业等待队列中等待执行。 而进程则是完成用户任务的执行实体, 是向系统申请 分配资源的基本单位。任一进积 .只要它被创建,总有相应的部分存在于内存巾 (2) 一个作业可由多个进程组成 .且必须至少由一个进积组成

.但反过来不成立 .

(3) 作业的概念主要用在批处理系统中 .像 Unix 这样的分时系统中,则没有作」日 而进

程的概念则用在几乎所有的多道程序系统巾。

5. UNIXSystcm V中.系统程序所对应的正文段未被考虑成进程一上下文的一部分,为什么 答:因为系统程序的代码被用户程序所共享,因此如果每个进程在保存进程 系统程序代码放到其进程上下文中

下文中,而是统一放在核心程序所处的内存中 . 6. 什么是临界区 ?试举一临界区的例子 .

答:临界区是指不允许多个并发进程交叉执行的一段程序。它是由于不同并发进程的程序段 共享公用数据或公用数据变量而引起的 例如 : getspace: Begin local g top=top - I End release(ad): Begin

top -top+1 stack[top]=ad End

7. 并发进程间的制约有哪两种 ?引起制约的原因是什么 ? 答: 并发进程所受的制约有两种 :直接制约和间接制约。

直接制约是由并发进程互相共享对方的私有资源所引起的。 间接制约是由竞争共有资源而引起的。 8. 什么是进程间的互斥 ?什么是进程间同步 ?

答: 进程间的互斥是指 :一组并发进程中的一个或多个程序段,因共享某一公有资源而导致 它们必须以一个不许交叉执行的单位执行,即不允许两个以 _L 的共李该资源的并发进程同 时 进入临界区。

I 下文时,都将

.则大大浪费了资源 .因此系统程序的代码不放在进程上

.所以它又被称为访问公用数据的那段程序。

进程间的同步是指:异jllJF境下的一组并发进程因直接制约互相发送消息而进行互相合作、 互相等待,各进程按一定的速度执行的过程。

9?试比较P V原语法和加锁法实现进程间互斥的区别。

答:互斥的加锁实现是这样的:当某个进程进入临界 X之后,它将锁土临界区,直到它退出 临界区时为止。并发进程在申请进入临界区时 .首先测试该临界区是否是 l 几锁的 .如果该临 界区已被锁住?则该进V要等到该临界区开锁之后才有可能获得临界区。但是加锁法存在如 下弊端:(1)循环测试锁定位将报耗较多的

CPU计算时间:(2)产生不公平现象?为此,P

?信号量的数值仅能由

PI V原语操作改变

lock的

V原语法采用信号量管理相应临界区的公有资源 程如果执行了

而 P, V 原语执行期间不允许中断发生。其过程是这样的 :当某个进程正在临界区内执行时 . 其他进

P原语?则该进程并不像lock时那样因进不了临界区而返回到

起点?等以后重新执行测试,而是在等待队列中等待山其他进程做 进入临界V,这时P原语才算真正结束。若有多个进程做 总之,加锁法是采用反堑测试

V原语操作释放资源后,

P原语操作而进入等待状态之后

一旦有V原语释放资源,则等待进程中的一个进入临界区,其余的继续等待。

lock而实现互斥的。存在 CPU浪费和不公平现像, P V原

r,

语使用了信号量,克服了加锁法的弊端?

14. 设有 5 个哲学家 .共享一张放有五把椅子的桌子,每人分得一把椅子。

但是 .'桌子总共只有 5 支筷子,在每人两边分开各放一支。哲学家们在肚子饥饿时才试图 分两次从两边抬 起筷子就餐。条件 :

(1) 只有拿到两支筷子时,哲学家才能吃饭 ?

(2) 如果筷子己在他人手上,则该哲学家必须等待到他人吃完之后才能拿到筷子。 (3) 任,哲学家在自己未拿到两支筷子吃饭之前,决不放下自己手中的筷子。 试

(1)

同时要求吃饭的通信算法 (2)

到筷子 )的算法 . (3) 解答 :

(l) 、设信号量c[OI-c[41.初始值均为1?分别表示i号筷子被拿(i=O.I.2.3.4). send(i): 第 i 个哲学家要吃饭 begin P(c[il);

P(c[i+l mod 5]): eat;

V(cfi+I mod 51); V(c[i]): End;

该过程能保证两邻座不同时吃饭 .但会出规 5个哲学家一人拿一只筷子 .谁也吃不 .1 几饭的死 倾 情况。

(2) .解决的思路如下 :让奇数号的哲学家先取右手边的筷子,让偶数号的哲学家先取左手边 的筷子 .这样,任何一个哲学家拿到一只筷子之后,就己经阻止了他邻座的一个哲学家吃饭 的 企图,除非某个哲学家一直吃下去,否则不会有人会饿死 . send(i): 第 i 个哲学家要吃饭 Begin

描述一个保证不会出现两个邻座.

描述一个既没有两邻座同时吃饭 .又没有人饿死 (永远拿不

在什么情况下 .5 个哲学家全部吃不上饭 ?

完整版计算机操作系统教程 第三版 张尧学 张高 史美林 著 清华大学出版社 课后答案

第一章绪论I?什么是操作系统的幕本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软们资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接U?操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文们骡统管理)和用户接Ii等.2.什么是批处理、分时和实时系
推荐度:
点击下载文档文档为doc格式
3rt0g9mhwf9uewu2s0h44x67j2pwcn01e91
领取福利

微信扫码领取福利

微信扫码分享