一、单项选择题 (每题1分,共20分)
1. 关于操作系统的描述不正确的是(D)。
A 管理资源的程序 B 管理用户程序执行的程序
C 能使系统资源提高效率的程序 D 能方便用户编程的程序
2. (D)不是基本的操作系统。
A 批处理操作系统 B 分时操作系统 C 实时操作系统 D 网络操作系统
3. (C)不是分时系统的基本特征。
A 同时性 B 独立性 C 实时性 D 交互性
4. 进程所请求的一次打印输出结束后,将使进程状态从(D )
A 运行态变为就绪态 B 运行态变为等待态
C 就绪态变为运行态 D 等待态变为就绪态
5. 若系统中有五台打印机,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许(D )个进程参于竞争,而不会发生死锁。
A 5 B 2 C 3 D 4
6. 若当前进程因时间片用完而让出处理机时,该进程应转变为(A)状态。
A 就绪 B 等待 C 运行 D完成
7. 在动态分区存储管理中,最佳适应分配算法要求对空闲区表项按(D)进行排序。
A 地址从大到小 B 地址从小到大 C 尺寸从大到小 D 尺寸从小到大
8. 从下面对临界区的论述中,正确的论述是(E)。
A 临界区是指进程中用于实现进程互斥的那段代码。
B 临界区是指进程中用于实现进程同步的那段代码。
C 临界区是指进程中用于实现进程通信的那段代码。
D 临界区是指进程中用于实现共享资源的那段代码。
E 临界区是指进程中访问临界资源的那段代码。
9. 在段式系统中,至少经过(A)次地址变换才能访问到内存数据。
A 2 B 3 C 4 D 以上都不对。
10. 一个计算机系统的虚拟存储器的最大容量是由(E)确定的。
A 计算机字长 B 内存容量 C 硬盘容量 D 内存和硬盘容量之和 E 计算机的地址结构。
11. 下列关于虚拟存储器的论述,正确的是(B)。
A 在段页式系统中,以页为单位管理用户的虚空间,以段为单位管理内存空间。
B 在段页式系统中,以段为单位管理用户的虚空间,以页为单位管理内存空间。
C 为提高请求分页系统中内存利用率,允许用户使用不同大小的页面。
D 在虚拟存储器中,为了能让更多的作业同时运行,通常只应装入10%-30%的作业后便启动运行。
12. 在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于(C)
A 进程相应的程序段的长度 B 进程总共需要运行时间多少
C 进程自身和进程调度策略 D 进程完成什么功能
13. 一种既有利于短小作业又兼顾到长作业的作业调度算法是(C)。
A 先来先服务 B 轮转 C 最高响应比优先 D 最短作业优先
14. 在多进程的并发系统中,肯定不会因竞争(D)而产生死锁
A 打印机 B 磁带机 C 磁盘 D CPU
15. UNIX 系统中将进程控制块PCB分成两部分的主要原因是(A)。
A 节省内存空间 B 实现简单 C 便于调度 D 以上都不是
16. 如果文件系统中有两个文件重名,不应采用( A)。
A 一级目录结构 B 树型目录结构 C 二级目录结构 D以上都不是
17. UNIX系统中,文件存贮器的管理采用的是(C )。
A 位图法 B 空闲块表法 C 成组连接法 D单块连接法
18. CPU与通道可以并行执行,并通过( C)实现彼此间的通讯和同步。
A I/O指令 B I/O中断 C I/O指令和I/O中断 D系统管理员
19. 数据库文件的逻辑结构形式是( C)。
A 字符流式文件 B 目录文件 C 记录式文件 D 只读文件
20. 以下描述正确的是(C)。
A 引入缓冲技术可以增加中断次数,减少中断处理时间。
B 进程之间控制信息的交换属于高级通信。
C 索引文件结构可以实现文件的动态增长。
D 文件存取控制矩阵便于实现文件和用户数较多的控制。
二、填空题 (每题1分,共10分)
1. 操作系统为用户提供两种类型的使用接口,它们是命令 接口和系统调用接口。
2. 当程序顺序执行时,具有特性:顺序性,_封闭___ 性和可再现性。
3. 死锁产生的四个必要条件是:__互斥条件__、_不剥夺条件___部分分配和环路条件。
4. 用户级线程的上下文切换时间要__小于__核心级线程上下文切换时间。
5. SPOOLING系统在磁盘上专门开辟__输入井__和__输出井__区域用于存放作业信息。
6. 常用的内存信息保护方法中,上下界保护法是一种__硬件__保护方法。
7. 段页式管理中,虚拟地址由三部分组成:段号,_页号___和__页内偏移__。
8. 解决“抖动”问题的主要方法有:__扩大工作集__和_选择不同淘汰算法___。
9. 进程是__系统资源分配__的基本单位。
10. 按组织形式分,文件系统可分为:普通文件,_目录文件___和_特殊文件___。
三、判断题 (每题1分,共10分,对的打“Ö”,错的打“´”)
1. 加锁法不能实现进程的互斥。(´)
2. 在轮转法中,时间片的长度越短,则系统开销也越少。(´ )
3. 静态地址重定位不需要硬件支持。(Ö )
4. 分段系统比分页系统更易于实现信息共享和保护。(Ö )
5. 覆盖技术主要用于同一个作业和进程内。(Ö )
6. UNIX系统中核心区的地址变换要比进程空间的地址变换过程复杂。(´)
7. 串联文件结构比较适合随机存取。(´ )
8. UNIX系统中陷阱的处理过程不需要进程切换。(Ö)
9. 祖先进程在撤消子进程时,要审查该子进程是否有自己的子孙进程。(Ö)
10. 为了赋予操作系统以某些特权 ,使得操作系统更加安全可靠地工作,实际操作系统中引入了用户态程序来执行特权指令。(´ )
四、简答题 (每题4分,共20分)
1. 什么是系统调用?系统调用与一般用户程序,库函数和实用程序又有什么区别?
答 系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用在源程序级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。(2分)
与一般用户程序,库函数和实用程序的主要区别是:系统调用程序在核心态运行,调用它们需要一个类似硬件中断处理的中断处理机制提供系统服务。(2分)
2. 简述进程调度与作业调度的不同之处。
答(1)作业调度是宏观调度,它决定了哪一个作业能进入主存。进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理机。(2分)
(2)作业调度是选符合条件的收容态作业装入内存。进程调度是从就绪态进程中选一个占用处理机。(2分)
3. 进程调度中“可抢占”和“非抢占”两种方式,哪一种系统的开销更大?为什么?
答 可抢占式会引起系统的开销更大。(2分)
可抢占式调度是严格保证任何时刻,让具有最高优先数(权)的进程占有处理机运行,因此增加了处理机的调度,引起为退出处理机的进程保留现场,为占有处理机的进程恢复现场等时间(和空间)开销增大。(2分)
4. 简述分区存储管理的主要优缺点。
答 优点:(1)实现了多个作业或进程对内存的共享,有助于多道程序设计,提高系统的资源利用率。(2)该方法要求的硬件支持少,管理算法简单,实现容易。(2分)
缺点:(1)内存利用率不高,存储器中可能含有从未使用的信息和碎小空闲区。(2)作业或进程的大小受分区大小控制。(3)难以实现各分区间的信息共享。
5. 用于设备分配的数据结构有哪些?它们之间的关系是什么?
答 主要数据结构有:设备控制表DCT,系统设备表SDT,控制器表COCT和通道控制表CHCT。(2分)
SDT表整个系统一张,DCT表每个设备一张,每个控制器一张COCT表,每个通道一张CHCT表。(1分)
SDT表中有一个DCT指针,DCT中有一个COCT指针,COCT中有一个CHCT指针。(1分)
五、综合题 (每题10分,共40分)
1. 设有如下表所示的四个作业。
作业号 | 提交时刻(小时) | 执行时间(小时) |
1 | 8.00 | 2.00 |
2 | 8.50 | 0.50 |
3 | 9.00 | 0.10 |
4 | 9.50 | 0.20 |
(1) 请计算在单道程序环境下,采用先来先服务调度算法(FCFS)和最短作业优先调度算法(SJF)的平均周转时间和平均带权周转时间。
(2) 结合这个例子,分析一下FCFS和SJF算法的特点。
解. (1)
FCFS: (4分)
作业号 | 提交时刻(小时) | 执行时间(小时) | 开始时间 | 完成时间 | 周转时间 | 带权周转时间 |
1 | 8.00 | 2.00 | 8.00 | 10.00 | 2.00 | 1.00 |
2 | 8.50 | 0.50 | 10.00 | 10.50 | 2.00 | 4.00 |
3 | 9.00 | 0.10 | 10.50 | 10.60 | 1.60 | 16.00 |
4 | 9.50 | 0.20 | 10.60 | 10.80 | 1.30 | 6.50 |
平均周转时间=(2.00+2.00+1.60+1.30)/4=1.725小时
平均带权周转时间=(1.00+4.00+16.00+6.50)/4=6.875
SJF: (4分)
作业号 | 提交时刻(小时) | 执行时间(小时) | 开始时间 | 完成时间 | 周转时间 | 带权周转时间 |
1 | 8.00 | 2.00 | 8.00 | 10.00 | 2.00 | 1.00 |
2 | 8.50 | 0.50 | 10.30 | 10.80 | 2.30 | 4.60 |
3 | 9.00 | 0.10 | 10.00 | 10.10 | 1.10 | 11.00 |
4 | 9.50 | 0.20 | 10.10 | 10.30 | 0.80 | 4.00 |
平均周转时间=(2.00+2.30+1.10+0.80)/4=1.55小时
平均带权周转时间=(1.00+4.60+11.00+4.00)/4=5.15
(2) FCFS主要考虑了作业的先来后到的顺序,而没考虑到吞吐量和缩短平均时间,而SJF则考虑到了,所以FCFS的平均周转时间和平均带权周转时间都要比FCFS少。不过如果不断地有短作业被处理,SJF有可能是某些长作业无限期地等待。(2分)
2. 设某进程的页号访问串为:0, 0, 1, 0, 2 , 1 , 1 , 0, 4, 4, 4, 0, 1, 7, 1, 4, 1, 4, 7, 5 7,分配给该进程的页面数为3。
(1) 简述置换算法 LRU的主要思想。
(2) 给出该进程在LRU算法下页面置换情况和缺页率,假设最近是指前5次访存时间内。
解. (1) LRU: 选择离当前时间最近的一段时间内最久没使用的页进行淘汰。
(3分)
(2) 页面置换情况:
LRU: (5分)
0, 0, 1, 0, 2 , 1 , 1 , 0, 4, 4, 4, 0, 1, 7, 1, 4, 1, 4, 7, 5 7
Page1 0 0 0 0 0 4 4
Page2 1 1 1 1 1 5
Page3 2 4 7 7 7
缺页率 7/21=1/3 (2分)
3. 设某作业的页面映象表如下图所示(页面长度为1024 字节)
页号 | 页面号 | 中断位 | 访问位 | 改变位 | 外存始址 |
0 | 8 | 1 | 1 | 1 | 1000 |
1 | 5 | 1 | 0 | 0 | 3000 |
2 | 7 | 1 | 1 | 0 | 5000 |
3 |
| 0 | 0 | 0 | 8000 |
请回答下列问题:
(1) 当执行到1000单元的指令“Load 1, 1800”时,系统是怎样进行地址变换(即1800在主存的哪个单元中)。
(2) 当执行到1500单元指令“Load 1, 3600”时,会发生什么现象?为什么?
(3) 假设分给该作业的只有3个页面,根据页面淘汰算法NUR,哪个页面应该淘汰?为什么?淘汰该页面时,需要启动I/O控制吗?为什么?
解. (1) 1800/1024=1,页号1对应的页面号为5,1800 mod 1024=776,所以1800在内存的地址是:5*1024+776=5896. (3分)
(2) 发生缺页现象,因为3600/1024=3, 对应页面不在内存。(3分)
(3) 淘汰页面5,因为其访问位为0,不需要启动I/0控制,因为其改变位为0。 (4分)
4. 设有进程A, B, C分别调用过程get, copy和put对缓冲区S和T进行操作,其中get负责把数据块输入缓冲区S, copy负责从S中提取数据块并复制到缓冲区T中,put负责从缓冲区T中取出信息打印。试用P,V操作描述get, copy和put的操作过程。
get |
缓冲区S |
缓冲区T |
copy |
put |
解. (1) 信号量: (4分)
sem=1, get的私有信号量,判断S是否为空
sfull=0, copy的私有信号量,判断S是否满,从S中接收数据
tem=1, copy的私有信号量,判断T是否空,写入T中
tfull=0, put的私有信号量,判断T是否满,从T中取数据
get: (2分)
begin
P(sem)
把数据写入S中
V(sfull)
end
copy: (2分)
begin
P(sfull)
P(tem)
取S的数据并写入T;
V(sem)
V(tfull)
end
put: (2分)
begin
P(tfull)
取T的数据打印;
V(tem)
End