2022 年春《操作系统》期末真题
考试日期为 2022 年 6 月 18 日,满分 100 分。源材料只有试卷,没有答案,我只转录题目,不自行补写解析。这份独立《操作系统》卷与同年《计算机系统基础》A 卷题目不同,二者均保留。
一、判断题(每题 1 分,共 10 分)
- 一个进程被唤醒意味着该进程重新占有了 CPU。( )
- I/O 通道控制方式不需要任何 CPU 干预。( )
- 分页、请求分页存储管理技术的逻辑地址由页号 和页内地址 组成,因此是一个二维地址。( )
- 在作业调度时,采用最高响应比优先算法可以得到最短的作业平均周转时间。( )
- 树型目录结构能够解决文件重名问题。( )
- 批处理系统的主要优点是系统吞吐量大、资源利用率高、系统切换开销较小。( )
- 在多对一线程模型中,同一个进程内的两个线程不能同时陷入内核请求系统调用服务。( )
- 文件系统中的源程序文件是有结构的记录式文件。( )
- 操作系统在执行系统调用时可以被中断。( )
- 在页式虚拟存储系统中,使用
fork创建的子进程总是和父进程共享相同的代码和数据页,因此二者可通过全局变量传递数据。( )
二、单项选择题(每题 2 分,共 20 分)
- 批处理系统的主要缺点是( )。
- A. CPU 利用率不高
- B. 失去了交互性
- C. 不具备并行性
- D. 以上都不是
- 以下说法正确的是( )。
- A. 两个不同进程的页表中可能包含内容相同的页表项。
- B. 虚拟地址空间总是大于物理地址空间。
- C. 页式内存管理的页面越小,越能消除外碎片并提高内存使用效率。
- D. 段式内存管理中不同分段大小可以不同,因而可以消除外碎片。
- 下列哪项属于反置页表的优点?
- A. 查找页表项的速度快
- B. 缺页处理速度快
- C. 便于进程之间共享数据
- D. 页表占用的内存空间小
- 用户程序代码被操作系统加载到内存中的过程称为( )。
- A. 编译
- B. 链接
- C. 装载
- D. 置换
- 关于多级页表,下列说法不正确的是( )。
- A. 能够减少页表占用内存的大小。
- B. 级数越多,平均访问内存的时间越长。
- C. 有效页表项中都会存储页框号。
- D. 使用二级页表的平均访存性能优于一级页表。
- 以下说法正确的是( )。
- A. 进程上下文切换过程一定会陷入内核。
- B. 陷入内核一定会导致进程切换。
- C. 正在执行的程序不可以主动放弃 CPU。
- D. 系统调用一定会导致进程上下文切换。
- 下列算法中可同时用于进程调度和磁盘调度的是( )。
- A. FCFS
- B. SSTF
- C. 时间片轮转
- D. SJF
- 关于 IPC,不正确的是( )。
- A. 消息传递比信号的信息承载量大。
- B. 共享内存是最快的 IPC 形式。
- C. 套接字既可用于不同机器的进程通信,也可用于本机进程通信。
- D. 共享内存在效率和安全性上都优于消息传递。
- 从磁盘把一个数据块传到缓冲区需 80 μs,从缓冲区传到用户区需 40 μs,CPU 处理一个数据块需 30 μs。若有很多数据块,采用单缓冲时处理一个数据块的平均时间接近( )。
- A. 120 μs
- B. 110 μs
- C. 150 μs
- D. 70 μs
- 一个索引文件的每个记录恰占一个物理块,每个物理块可存 10 个索引表项;建立索引时,一个物理块对应一个索引表项,每级索引至少占一个物理块。以下说法正确的是( )。
- A. 保存 1001 个记录至少需要 3 级索引。
- B. 保存 1000 个记录至少需要 111 个索引块。
- C. 保存 1000 个记录时,4 级索引比 3 级索引多用 1 个索引块。
- D. 4 级索引最多可存 9999 个记录。
三、填空题(每空 2 分,共 10 分)
-
用户进程通过 ______ 请求操作系统执行需要更高权限的操作。
-
页面访问串为 1、2、3、4、5、3、4、1、6、7、8、7、8、9、7、8、9、5、4、5、4、2。采用 LRU,分配 5 个初始为空的页框,会产生 ______ 次缺页中断。
-
纯分页系统采用二级页表,一条访存指令成功执行最多会产生 ______ 次实际访存操作;假设操作系统代码已在 Cache 中。
-
虚拟存储机制有效的基础是程序访存的 ______ 原理。
-
以下程序编译运行后,分配在 data 段的变量有 ______;多个变量名用英文逗号分隔,不留空格。
int a = 5; static int b = 1; int main() { int c; static int d; printf("a=%d, b=%d, c=%d, d=%d\n", a, b, c, d); }
四、死锁问题(每小题 5 分,共 10 分)
五只章鱼围桌而坐,每只章鱼有 8 只手。每只手最多抓一根筷子,每根筷子同时最多被一只手抓取;筷子集中放在桌子中央。章鱼拿到 8 根筷子后进餐,进餐结束才释放筷子。
-
若所有筷子相同,至少需要多少根筷子才能保证不死锁?说明理由。
-
若筷子分红、绿两色,每只章鱼必须拿到 4 红、4 绿才能进餐。当前状态如下:
章鱼 红色筷子 绿色筷子 A 3 1 B 2 2 C 4 2 D 1 1 E 2 3 桌上还剩 2 红、2 绿。D 请求再抓 1 红、1 绿,为避免死锁,能否允许?说明理由。
五、内存管理(共 15 分)
机器有 38 位逻辑地址和 32 位物理地址,采用二级页表,每页 16 KB,每个页表项 4 字节。
- 逻辑地址空间和物理地址空间各有多少字节?(4 分)
- 第一级、第二级页表索引各分配多少位?解释原因。(6 分)
- 第一级页表起始物理地址为
0x0000A000,给出逻辑地址0x123456789A对应的第一级页表项物理地址。(3 分) - 若从逻辑地址
0x0004000000映射整个页表,给出第一级页表的逻辑地址;提示:考虑自映射,第一级页表相当于页目录。(2 分)
六、作业调度(10 分)
系统同时只能执行一个作业,刚到达的作业在到达时刻即可开始运行。
| 作业 | 到达时刻 / s | 执行时间 / s |
|---|---|---|
| 1 | 0 | 5 |
| 2 | 1 | 8 |
| 3 | 2 | 3 |
| 4 | 3 | 10 |
| 5 | 4 | 4 |
分别求 FCFS 和非抢占短作业优先算法的平均周转时间。
七、进程同步与互斥(15 分)
某公园每天最多允许 人购票入园。在线售票系统允许查询者 Q 读取余票、购票者 B 修改余票,每次只买一张。请用 P、V 操作设计多个 Q、B 并发访问余票的算法,满足:
- Q 与 B 按到达顺序访问余票;
- 多个 Q 连续到达时可并发读取;
- 余票为 0 时,B 不执行写操作。
八、文件系统(每小题 5 分,共 10 分)
某磁盘平均寻道时间为 6 ms,转速 7500 rpm,每磁道可存 1,048,576 字节。文件系统数据块为 4 KB,平均文件大小为 10 KB,文件控制块全部直接存储在目录项中。
- 不考虑读取文件控制块的时间,从磁盘读取一个文件的平均时间约为多少毫秒?
- 假设只有根目录已读入内存,每级目录的目录项均位于一个数据块中,读取 102 KB 的
/tmp/test/helloworld.c需要访问磁盘几次?