操作系统期末部分复习资料 联系客服

发布时间 : 星期二 文章操作系统期末部分复习资料更新完毕开始阅读9fb033d87f1922791688e8a8

《操作系统》部分期末复习资料

一、 简答题

1、 试从动态性、并发性和独立性上比较进程和程序。

a. 动态性是进程最基本的特性,表现为“由创建而产生,由调度而执行,因得不到资

源而暂停执行,以及由撤销而消亡”,因而进程有一定的生命期;而程序只是一组有序指令的集合。是静态实体。

b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使

其程序能和其它进程的程序并发执行,而程序是不能并发执行的。

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源

和独立调度的基本单位。而对于未建立任何进程的程序,是不能作为一个独立的单位参加运行的。

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

进程的三个基本状态是执行状态、就绪状态和阻塞状态。它们之间转换的典型原因如下: a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态

变为执行状态。

b. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 c. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执

行状态转变为阻塞状态。

d. 当阻塞进程请求的事件完成时,该进程便由阻塞状态转变为就绪状态。

3、 同步机制应遵循哪些基本准则?整型信号量机制和记录型信号量机制是否完全遵循了这些准则?

同步机制应遵循四个基本准则:

a. 空闲让进:当无进程处于临界区时,应允许一个请求进入临界区的进程立即进入自

己的临界区,以有效地利用临界资源。

b. 忙则等待:当已有进程进入临界区时,其它试图进入临界区的进程必须等待,以保

证对临界资源的互斥访问。

c. 有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,

以免陷入“死等”状态。 d. 让权等待:当进程不能进入自己的临界区时,应理解释放处理机,以免进程陷入“忙

等”状态。

整型信号量机制使进程处于“忙等”状态,并未遵循“让权等待”的准则;而记录型信号量机制则完全遵循了同步机构的四条准则。

4、 何谓死锁?产生死锁的原因和必要条件是什么?

所谓死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。

产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法。

产生死锁的必要条件包括:互斥条件,请求和保持条件,不剥夺条件和环路等待条件。 5、 根据链接时间的不同,可将程序的链接方式分为三种形式。请问是哪三种形式,各自的含义是什么?

程序的链接方式有三种,即静态链接方式、装入时动态链接方式和运行时动态链接方式。 a. 静态链接是指事先进行链接,形成一个完整的装入模块,以后不再拆开的链接方式。 b. 装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式。

第 1 页 共 9 页

c. 运行时的动态链接是将某些目标模块的链接推迟到执行时才进行。

6、 什么是动态重定位装入方式?为什么要引入动态重定位装入方式?如何实现?

动态重定位装入方式是指在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。引入动态重定位装入方式的主要目的是为了便于程序在内存中移动。

为了实现动态重定位技术,可在系统中增加一个重定位寄存器,用它来存放程序在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的,从而实现动态重定位。

7、 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?

在采用首次适应算法回收内存时,可能出现以下四种情况:回收区与插入点的前一个分区相邻接、回收分区与插入点的后一分区相邻接、回收区同时与插入点的前后两个分区邻接,以及回收区没有邻接空闲分区。

针对上述情况,应做如下处理:

a. 回收区与插入点的前一个分区相邻接,此时可将回收区与插入点的前一分区合并,

不再为回收分区分配新表项,而只修改前邻接分区的大小; b. 回收分区与插入点的后一分区相邻接,此时合并两区,然后用回收区的首址作为新空

闲区的首址,大小为两者之和;

c. 回收区同时与插入点的前后两个分区邻接,此时将三个分区合并,使用前邻接分区

的首址,大小为三区之和,取消后邻接分区的表项;

d. 回收区没有邻接空闲分区,则应为回收区单独建立一个新表项,填写回收区的首址

和大小,并根据其首址,插入到空闲链中的适当位置。

8、 什么是程序的局部性原理?试说明局部性的两个主要表现方面。

所谓程序的局部性原理,是指在一段时间内,程序执行过程中往往是集中地访问某一部分内存区域中的指令或数据。

程序的局部性主要表现在两个方面:

a. 时间局限性:如果程序中的某条指令一旦执行, 则不久以后该指令可能再次执行;

如果某数据被访问过, 则不久以后该数据可能再次被访问。产生时间局限性的典型原因,是由于在程序中存在着大量的循环操作。

b. 空间局限性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将

被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内。产生空间局限性的典型情况便是程序的顺序执行。

9、 试说明分页和分段存储管理的主要区别。

分页和分段存储管理的主要区别表现在以下三个方面:

a. 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内

存的利用率。或者说, 分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。 分段的目的是为了能更好地满足用户的需要。

b. 页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是

由机器硬件实现的,因而在系统中只能有一种大小的页面。而段的长度却不固定, 决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。

c. 分页的作业地址空间是一维的,即单一的线性地址空间;而分段的作业地址空间则

是二维的,程序员在标识一个地址时,既需给出段名, 又需给出段内地址。

第 2 页 共 9 页

10、 试说明请求分页存储管理方式下的页面调入过程。

每当程序所要访问的页面未在内存时,便向CPU发出一缺页中断:

(1) 中断处理程序首先保留CPU环境,分析中断原因后,转入缺页中断处理程序。 (2) 该程序通过查找页表,得到该页在外存的物理块后,

(a) 如果此时内存能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。

(b) 如果内存已满,则须先按照某种置换算法从内存中选出一页准备换出。

? 如果该页未被修改过,可不必将该页写回磁盘;

? 如果此页已被修改,则必须将它写回磁盘,然后再把所缺的页调入内存,并修改页表中的相应表项,置其存在位为“1”,并将此页表项写入快表中。

(3) 在缺页调入内存后,利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。

二、 综合题

1、 设磁带中有A、B、C三道程序,按照A、B、C优先级次序执行,执行时间(单位:ms)如下表所示:

计算 I/O操作 计算 A 30 40 10 B 60 30 10 C 20 40 20 假设三道程序使用相同的设备进行I/O操作,请画出单道和多道运行的时间关系图,并计算CPU的利用率。其中,假设在多道批处理系统中,三道程序能够同时被调入内存,且处理机调度采取抢占式优先权调度算法。

第 3 页 共 9 页

I/O计算0A30AA7080B140BB170180C200CC240260单道运行的时间关系图由此可计算出,单道批处理的周转时间为260ms,则CPU的利用率应为:150/260。

I/O计算0A30ABA7080BCBBCC170190100120130140多道运行的时间关系图由此可计算出,多道批处理的周转时间为190ms,则CPU的利用率应为:150/190。

2、 某系统中有10台打印机,有三个进程P1,P2,P3分别需要8台,7台和4台。在T0时刻,若P1,P2,P3已申请到4台,2台和2台。请画出T0时刻的资源分配表(表结构如左表所示),并利用银行家算法对T0时刻的资源分配情况进行分析,同时画出具体的资源分配过程(表结构如右表所示),以判断该时刻系统是否安全。 进程 Max Allocation Need P1 P2 P3

(资源分配表补充完整) 进程 P1 P2 P3 Max Allocation 8 7 4 4 2 2 Need 4 5 2 Work+Allocation Finish 进程 Work Need Allocation 分析T0时刻是否安全的关键是能否寻找到一个安全序列,使得只要系统按此进程序列

分配资源,就能使每个进程都能顺利完成。实际地,对当前系统而言,利用银行家算法,对T0时刻的资源分配情况进行分析可知,在T0时刻存在一个安全序列{P2,P1,P3},故系统

第 4 页 共 9 页