操作系统课堂练习(期末必考)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统课堂练习

2011年6月8日

Contents

第一章练习题P.2

第二章练习题P.3

第三章练习题P.5

第四章练习题P.8

第五章练习题P.10

第六章练习题P.12

第十一章练习题P.16

第十二章练习题P.17

第十三、十四、十五章练习题P.18

1.网络操作系统与分布操作系统主要区别是什么?

答:网络操作系统与分布操作系统主要不同是它不是一个集中、统一的操作系统(它基本上是在各种各样自治的计算机原有操作系统基础上加上具有各种网络访问功能的模块)。

2.允许多个用户以交互式方式使用计算机系统的操作系统称为 B系统。

A)批处理B) 分时

C) 实时 D) 多处理机

1.简述可变分区存储管理算法中的首次适应法的分配算法

答:首次适应法为作业分配大小为size的存空间时,总是从表的始端的低地址部分开始查找,当第一次找到大于或等于申请大小的空闲区时,就按所需大小分配给作业。如果分配后原空闲区还有剩余空间,就修改原存储区表项的m_size和m_addr,使它记录余下的“零头”。如果作业所需空间正好等于该空闲区大小,那么该空闲区表项的m_size就成为0,接下来要删除表中这个“空洞”。

2.根据作业在本次分配到的存起始地址将可执行目标代码装到指定存地址中,并修改所有有关地址部分的值的方法称为 B 方式。

A) 固定定位 B) 静态重定位

C) 动态重定位 D) 单一连续重定位

3.下列程序设计技术和数据结构在请求分页的环境中,哪些是“好的”,哪些是“不好的”?1)向量 2)表 3)栈

4)队列 5)散列表 6)顺序查找

7)二分排查找 8)合并排序 9)快速排序

10)堆排序 11)散列排序

答:

1)向量(数组) (对于一个大的向量)顺序存取时是好的,随机存取时是不好的;

2)表不好的;

3)栈顺序实现时是好的,实现时是不好的;

4)队列顺序实现时是好的,实现时是不好的;

5)散列表不好的;

6)顺序查找顺序实现时是好的;实现时是不好的;

7)二分查找不好的;

8)合并排序顺序实现时好的,实现时是不好的;

9)快速排序非递归实现时由于从两头向中间顺序地比较和交换,是好的;

10)堆排序不好的;

11)散列排序不好的。

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

答:在多道程序系统中,系统中的硬软件资源不再为单个用户程序所垄断,而由若干道程序共同使用。一个程序也不能自始至终地运行到底,中间会穿插很多其他的活动,这些活动间存在着相互依赖和相互制约的关系。由于程序并发执行所产生的一系列新的动态的特征,已不能由程序这种静态的概念来描述,为此,引入了“进程”(process)这个概念。我们在进程创建这一节知道,一个程序可以对应多个独立的活动——进程。

2.进程所请求的输入数据到达后,将使进程状态从 D 。

A) 运行态变为就绪态B) 运行态变为等待态

C) 就绪态变为运行态D) 等待态变为就绪态

说明:进程要读入数据,应当同步等待。进程状态为等待状态(睡眠状态)。进程所请求的输入数据到达后,将唤醒该进程,使进程状态从等待状态变为就绪状态,使其有被调度程序挑选的资格。也不可能直接从等待状态变为运行态。

3. 某系统的状态转换图如图所示,

(1)分别说明引起状态转换1、2、3、4的原因,并各举一个事件。

(2)为什么在转换图中没有就绪到阻塞和阻塞到运行的转换方向?

(3)一个进程的状态变换能够引起另一个进程的状态变换,说明下列因果变迁是否可能发生,原因是什么?(a)3→1 (b)2→1 (c)3→2 (d)3→4 (e)4→1

答:

(1)

1:就绪->执行,当前运行进程阻塞,调度程序选一个优先权最高的进程占有处理机;2:执行->就绪,当前运行进程时间片用完;

3:执行->阻塞,当前运行进程等待键盘输入,进入了睡眠状态。

4:阻塞->就绪,I/O操作完成,被中断处理程序唤醒。

(2)就绪进程没有占有处理机,也即没有经过运行,其状态就不会改变。

阻塞状态进程唤醒后先要进入就绪队列,才会被调度程序选中,进入了执行状态。

(3)

(a) 3→1:可能,当前运行进程阻塞,调度程序选一个优先级最高的进程占有处理机。(b)2→1:可能,当前运行进程优先级下降,调度程序选一个优先级最高的进程占有处理机。

(c)3→2:不可能,占有CPU的一个进程不能同时进入两个状态;在单CPU的系统中,状态3发生后,cpu没有执行进程,故不会发生状态转换2。

(d)3→4:一般不可能,不相干的两个事件。状态转换3是由于运行进程等待资源而发生的,这并不会使得阻塞队列中的进程得到资源而进入就绪队列。但在Unix中,当系统的0#进程因runin标志而睡眠时,有(在存)进程睡眠,就会唤醒0#进程,使其进入就绪状态,以便将该进程和在盘交换区就绪进程交换位置。

(e)4→1:一般无关,但当就绪队列为空时,一个进程被唤醒转入就绪队列后,调度程序使该进程占有处理机(但是同一个进程)。

第四章练习题

1.假如一个阅览室最多可容纳N个人,读者进入和离开阅览室时,都必须在每次只允许一个人写的登记表上做进入登记和离开登记,试用semWait、semSignal操作实现读者间的协调关系。

答:信号灯含义和初值:

chair: 阅览室椅子数,即最多可容纳人数,初值为N

register: 进入登记和离开登记的互斥信号灯,初值为1

2. 用ls命令以长格式列目录信息时,若某一文件的特征在文件列表中按如下顺序显示在屏幕上:

-rwxr-xr-- 2 user gk 3564 OCT 2003 8:18 /user/asdh

则同组用户的访问权限是读和执行。

3.用semWait、semSignal操作实现同步和互斥时有什么差别?

答:见第5题。

4.在Unix系统中, A 可用于通知进程发生了异常的事件。

A) 信号机构B) 管道机构

C) 消息机构D) 信号灯

5.互斥和同步对信号灯操作方法的差异。

答:

互斥和同步都是通过对信号灯的semWait、semSignal操作来实现的,但这两种控制机制对信号灯的操作策略是不同的。

互斥的实现是不同的进程对同一信号灯进行semWait 、 semSignal 操作,一个进程在成功地对信号灯执行了semWait操作后进入临界段,并在退出临界段后,由该进程本身对这信号灯执行semSignal操作,表示没有进程处于临界段,可让其它进程进入。

同步的实现由一个进程Pa对一个信号灯进行semWait操作后,只能由另一个进程Pb对同一个信号灯进行semSignal操作,使Pa能继续前进,在这种情况下,进程Pa要同步等待Pb。如进程Pb也要同步等待Pa,则要设置另一个信号灯。

6.某系统中有m个同类资源被n个进程共享,请分别讨论当m>n和m≤n时,每个进程最

相关文档
最新文档