1、 操作系统 试卷(B) 第 1 页 共 6 页北京科技大学 2009-2010 学年 第 2 学期一、选择填空(12 分) 。1处于运行状态的进程会由于 而进入阻塞状态,或者由于 而进入就绪状态。A、被选中占有处理机 B、等待某一事件C、等待的事件已发生 D、时间片用完2在段页式系统中,页的大小是由 决定的,段的大小是由 决定的。A、硬件 B、用户进程C、操作系统 D、编译程序3采用动态重定位方式装入执行的进程,其逻辑地址到物理地址的转换是在 时进行的。A、进程被装入 B、进程执行一条指令C、进程被切换到运行状态 D、进程在内存中移动4临界区是指 。 A、进程中实现进程互斥的那段代码 B、进程
2、中实现进程同步的那段代码C、进程中访问临界资源的那段代码 D、进程中访问系统资源的那段代码5在请求调页系统中,曾被换出的页应从 调入,有时也可以从 获得。A、交换区 B、可执行文件C、系统区 D、页面缓冲池6文件系统负责对文件的统一管理,为用户提供 功能,使得用户能透明地访问文件。 A、按地址访问 B、按名访问C、按索引访问 D、按属性访问7在分时系统中,当进程数为 50 时,为了保证响应时间不超过 1s,选取的时间片最大值为 。A、10ms B、 50msC、 20ms D、100ms8某计算机系统采用基于可变分区的内存管理机制,其内存容量为 64MB,初始为空。设进程A、B、C 、D 的大
3、小分别为 10MB、30MB 、9MB、6MB,内存分配和释放的顺序为:装入 A,装入B,释放 A,装入 C,装入 D。若采用最佳适配(Best Fit)法,则此时内存中的最大空闲分区大小是 ;若采用最差适配(Worst Fit)法,则此时内存中的最大空闲分区大小是 。A、18MB B、10MBC、9MB D、15MB1B;D 2A;B 3B 4C 5A ;D 6B 7C 8A;C二、判断下列表述是否正确(10 分) 。1在采用虚拟存储管理机制的系统中,不存在外部碎片问题。2快表是为了提高地址变换速度而由操作系统在内存中创建的。操作系统 试卷(B) 第 2 页 共 6 页3多处理机系统不能通过
4、关中断来实现互斥。4在 Windows 2000 操作系统中,线程是资源分配与调度的基本单位。5在 Linux 操作系统中,每个进程有一个文件描述符表。1 2 3 4 5三、简要回答下列问题(30 分) 。1 (8 分)解释下列概念。(1)PCB (2)工作集 (3)信号 (4)系统调用(1)PCB 是进程控制块,是进程的一部分,用来存放进程的描述信息,每个进程有 1 个 PCB,由OS 创建。(2)一个进程在时刻 t、参数为 的工作集 W(t, ),表示该进程在过去的个时间单位中被访问到的页的集合。(3)一种 IPC 机制,又称软中断,是进程之间传递的用来表明发生了某种类型事件的通知。(4)
5、系统调用是为应用进程提供系统服务的途径,与普通过程的主要区别是:系统调用运行在核心态,而普通过程运行在用户态。2 (4 分)分时操作系统对计算机硬件环境有何要求?CPU:有特权指令、核心态和用户态之分。内存:有内存保护机制,如界限寄存器。中断与时钟:中断是进程切换的基础,是多任务能高效运行的关键;时钟中断是分时的基础。3 (4 分)对于大多数系统来说,应用程序在访问文件之前需要首先打开(open)文件,不再使用时应关闭(close)文件。为什么?打开文件会在内存建立文件的描述信息,记录文件的当前指针,有助于提高文件的访问速度与灵活性。关闭会释放文件缓冲区,将已修改的内容写盘,释放文件描述信息所
6、占的内存空间。若不关闭文件,则内存空间被浪费,甚至可能会使修改的内容丢失。4 (4 分)什么是局部性原理?为什么局部性原理在虚拟存储管理中非常重要? 局部性原理指的是:在程序执行的一段时间内,CPU 总是集中地访问程序中的某一部分而不是随机地对程序所有部分具有平均访问概率。包括时间局部性和空间局部性。程序的局部性特征是虚拟存储管理有效的基础。例如,页的置换算法是否有效取决于时间的局部性,预调页是否有效依赖于空间的局部性。如果程序没有较好的局部性特征,虚拟存储管理就会发生抖动,导致性能大大下降。5 (6 分)处理死锁的基本策略包括死锁检测与恢复、死锁避免、死锁预防。请给出至少 3 种处理死锁的具
7、体方法,并说明每种方法的适用场合、处理器开销以及对进程并发性的影响。(1)银行家算法。对进程的并发性影响小,适合于已知资源最大需求的情况,处理器开销不大,操作系统 试卷(B) 第 3 页 共 6 页只是检查是否安全。基本没有实用价值。(2)检测死锁并通过杀死进程来恢复。不影响进程的并发性,适合于被杀死进程副作用小(如编译进程)的情况,处理器开销大,死锁检测代价很高。(3)每个进程开始执行前首先请求得到它所需要的所有资源。严重影响进程的并发性,适合于对资源集中使用而且时间短的情况,不需要额外的处理器开销。(4)将所有资源编号,每个进程按编号从小到大的次序申请资源。影响进程的并发性,适合于对资源不
8、是很多的情况,不需要额外的处理器开销,但当资源很多时,资源的合理编号较困难。(5)死锁检测并用回退法恢复。不影响进程的并发性,适合于容易设置检查点且容易回退的情况(如数据库操作) ,处理器开销大,死锁检测代价很高,记录检查点的代价非常高。6 (4 分)在设计操作系统的 I/O 设备管理(包括磁盘 I/O)功能时,效率和通用性是要考虑的两个重要目标。为了达到这两个目标,你认为可以采取哪些方法?效率:I/O 设备都比较慢,为了避免因等待 I/O 而造成的 CPU 空闲,可以引入多道程序,使得CPU 与 I/O 设备能并行工作;通过设备缓冲,能缓解 CPU 与 I/O 之间速度的不匹配,减少对 CP
9、U 的中断次数;对于磁盘这样的块设备,提高 I/O 效率的方法有高速缓存、提前读、延迟写、成簇写回等。通用性:用统一的方式处理 I/O 设备。主要方法有 I/O 软件分层、设备独立性、将 I/O 操作统一到文件系统,为用户提供统一的 I/O 接口等。四、处理机调度目的、衡量指标、调度算法各有哪些?画出分级调度示意图,并标出各级调度的范畴和简洁的操作功能或状态(10 分) 。处理机调度管理的目的:是对 CPU 资源进行合理的分配使用,以提高处理机利用率,并使各用户公平地得到处理机资源。 (2 分)衡量调度策略的常用指标:(2 分) 周转时间:作业提交计算机到返回用户的时间。 吞吐率:在给定的时间
10、内,计算机系统完成的总工作量。 响应时间:用户发送指令给计算机到计算机返回结果给用户的时间。 设备利用率:输入输出设备的使用情况。调度算法种类:(2 分) 先来先服务 轮转算法 多级反馈轮转算法 优先级法 最短作业优先法 最高响应比优先法 调度的层次有:(4 分) 作业调度:又称为“宏观调度”、 “高级调度”。 交换调度:又称为“中级调度”。 进程调度:又称为“微观调度”、 “低级调度”。按照某种策略和方法选取一个处于就绪状态的进程占用处理机。 线程调度: 进程内调度-多个并发执行线程。分级调度示意图如下:操作系统 试卷(B) 第 4 页 共 6 页五、已知某计算机系统的虚拟地址为 16 位,
11、页的大小为 1KB。请回答下列问题(10 分) 。1假定在时刻 t,进程 P 只有第 0、1、2、3 页在内存中,对应的物理块(或称页框,page frame)号分别为 3、9、6、 8。下列虚拟地址是否在内存中。若在,则给出相应的物理地址(要求用十六进制表示) 。要求给出计算过程。(1) 0C9DH(2) 106AH2设操作系统采用固定分配局部置换策略,为进程 P 分配的物理块数为 3。进程 P 运行时访问的页号顺序为:0, 1, 2, 0, 4, 0, 1, 5, 6, 3, 5, 2, 5采用 FIFO(先进先出)与 LRU(最近最少使用)两种置换算法,产生的缺页次数分别是多少?(注意,
12、所有内存物理块最初都是空的,凡第一次用到的页都产生一次缺页)虚拟地址是 16 位,页的大小为 1KB,因此,第 10-15 位为页号,第 0-9 位为页内地址。(1)0C9DH = 0000 1100 1001 1101B页号 = 000011B = 3,块号 = 8,物理地址 = 0010 0000 1001 1101B = 209DH(2)106FH = 0001 0000 0110 1111B页号 = 000100B = 4。不在内存中。FIFO: 0, 1, 2, 0, 4, 0, 1, 5, 6, 3, 5, 2, 50 0 0 0 1 2 4 0 1 5 5 6 31 1 1 2
13、4 0 1 5 6 6 3 22 2 4 0 1 5 6 3 3 2 5F F F F F F F F F F F缺页次数:11LRU: 0, 1, 2, 0, 4, 0, 1, 5, 6, 3, 5, 2, 50 0 0 1 2 2 4 0 1 5 6 3 31 1 2 0 4 0 1 5 6 3 5 22 0 4 0 1 5 6 3 5 2 5F F F F F F F F F缺页次数:9操作系统 试卷(B) 第 5 页 共 6 页六、用信号量的 P、V 操作写出解决生产者 消费者问题的算法(12 分) 。设 deposit(data)为生产者,remove(data)为消费者,data
14、为产品;avail 和 full 为私有信号量,mutex为互斥信号量。则生产者消费者问题的算法如下:(6 分)七、假定一个磁盘文件系统采用多级目录结构,规定每个目录文件所占空间不超过 1 个磁盘物理块,目录项包括文件名、文件地址(磁盘物理块号)等所有文件说明信息。设磁盘物理块的大小为 1024 个字节,磁盘物理块号用 4 个字节表示,根目录文件所在的磁盘地址已知。请回答下列问题(9 分) 。1设文件 f.dat 存在于目录usrruntimedata 下,若要读取文件 f.dat 的第 5126 个字节(字节编号从 0 开始) ,在连续文件、链式文件和索引文件这三种不同的存储结构下,分别需要
15、从磁盘读入多少个块?对于索引文件结构,假定文件 f.dat 的索引表只占 1 个磁盘物理块。2设文件目录项中包含 11 个地址项,其中 8 个地址项为直接地址,2 个地址项是一次间接地址,1 个地址项是二次间接地址,每个地址项只包含磁盘物理块号,则可寻址的文件最大长度是多少? 根据文件路径名usrruntimedataf.dat ,依次读根目录、usr 、usrruntime 、usrruntimedata ,获取文件f.dat 的地址,需要读入 4 块。5126/1024 = 5 余 6,逻辑块号为 5连续文件:读文件 1 块,共需 4 + 1 = 5 块链式文件:读文件 6 块,共需 4
16、+ 6 = 10 块索引文件:读 1 个索引块,再读文件 1 块,共需 4 + 1 + 1 = 6 块1 个磁盘块可以存放的磁盘块号的个数 = 1024/4 = 2568 个直接地址所指数据块的最大数 = 8,可寻址的文件最大长度 = 8 * 1024B = 8KB2 个一次间接地址所指数据块的最大数 = 2 * 256 = 512,可寻址的文件最大长度 = 512 * 1024B = 512KB1 个二次间接地址所指数据块的最大数 = 256 * 256 = 65536,可寻址的文件最大长度 = 65536 * 1024B = 65536KB操作系统 试卷(B) 第 6 页 共 6 页可寻址的文件最大长度 = 8KB + 512KB + 65536KB = 66056KB八、设有两个并发执行的进程 P1 与 P2,其执行的代码分别如下:进程 P1: 进程 P2:int i; int i;for ( i = 0; i 3; i+ ) for ( i = 0; i 3; i+ ) x = x + 1; x = x + 2;其中,x 是进程 P1 和 P2 的共享变量,初值为 0。请给出进程 P1 与 P2 均完成后所有可能的 x 值(7 分) 。x = 3,4,5,6,7,8,9。