课程
Gemini_OS_Paper02
第一部分:核心考点总结(划重点)
根据资料分析,以下是“必考”或“极高频”的内容:
1. 简答与论述题重点
- 国产操作系统与国家安全(23-24年回忆中的必考题,属于思政类新题型)。
- 死锁产生的4个必要条件(互斥、请求与保持、不剥夺、循环等待)。
- 进程与程序的区别(动态性、并发性、独立性等)。
- 虚拟存储器的定义与特征(多次性、对换性、虚拟性)。
- SPOOLing技术(组成部分、如何将独占设备变为共享设备)。
- 微内核操作系统的优缺点。
2. 计算与综合分析题重点(大题)
- 银行家算法:给资源分配表,判断安全状态,计算安全序列,判断新请求是否通过。
- 处理机调度:计算周转时间、带权周转时间。重点掌握 FCFS(先来先服务)、SJF/SPF(短作业优先)、RR(时间片轮转)、HRRN(高响应比优先)。
- 页面置换算法:给定页面访问序列,计算缺页次数/缺页率。重点掌握 FIFO(先进先出)、LRU(最近最久未使用)、OPT(最佳置换)。
- 磁盘调度算法:给定磁道序列,计算移动总磁道数/平均寻道长度。重点掌握 SSTF(最短寻道时间优先)、SCAN(电梯算法)。
- PV操作(信号量):
- 前趋图(画图或写代码)。
- 生产者-消费者问题变形(如“兔子进笼子”、“读写者问题”)。
- 文件索引/混合索引:计算文件最大长度,或给定偏移量计算访问磁盘次数(直接索引、一级间接、二级间接)。
- 地址转换:
- 分页:逻辑地址 -> 物理地址(页号、页内偏移)。
- 位示图:计算位示图大小或盘块对应的行列号。
第二部分:操作系统期末全真模拟试卷
课程名称:操作系统 考试时间:120分钟 卷面总分:100分
一、单项选择题(每题2分,共20分)
- 用户在程序中试图读取硬盘数据时,通常会使用( )来请求操作系统服务。 A. 库函数 B. 系统调用 C. 中断 D. 原语
- 在进程状态转换中,下列哪种转换是不可能发生的?( ) A. 就绪 -> 运行 B. 运行 -> 就绪 C. 阻塞 -> 运行 D. 运行 -> 阻塞
- 若系统中有5个并发进程涉及某个相同的临界资源,则信号量的变化范围是( )。 A. -5 ~ 1 B. -4 ~ 1 C. -5 ~ 0 D. -4 ~ 0
- 某系统采用动态分区分配内存,在进行内存回收时,如果回收区上邻有空闲区,下邻也有空闲区,则空闲区表中的空闲区数量将( )。 A. 增加1 B. 减少1 C. 不变 D. 减少2
- 下列关于线程的叙述中,正确的是( )。 A. 线程包含CPU现场,可以独立执行程序 B. 每个线程拥有自己独立的地址空间 C. 进程内的线程共享进程的所有资源 D. 线程的切换比进程切换开销大
- 在虚拟页式存储管理中,若页面尺寸增加一倍,在程序顺序执行时,一般缺页中断次数会( )。 A. 增加 B. 减少 C. 不变 D. 可能增加也可能减少
- 某文件系统采用位示图法管理磁盘空间,字长为32位。若第0个字表示磁盘的0-31块,则第5个字的第8位(从0开始编号)对应的块号是( )。 A. 168 B. 169 C. 136 D. 167
- SPOOLing技术的主要目的是( )。 A. 提高CPU利用率 B. 提高独占设备的利用率 C. 提高内存利用率 D. 提高程序的运行速度
- 为了防止死锁,可以采用资源有序分配法,这破坏了死锁的( )条件。 A. 互斥 B. 请求和保持 C. 不可剥夺 D. 循环等待
- 在UNIX文件系统中,若文件F的权限为751,则表示( )。 A. 文件主可读写执行,同组用户可读执行,其他用户可执行 B. 文件主可读写,同组用户可读,其他用户可执行 C. 文件主可读写执行,同组用户可读写,其他用户只读 D. 文件主可读写执行,同组用户可读执行,其他用户无权限
二、填空题(每空2分,共20分)
- 操作系统的四个基本特征是并发、共享、________ 和 ________。
- 在响应比优先调度算法中,响应比的计算公式是 R = ________。
- 某分页系统中,页大小为4KB,逻辑地址
0x2A5C的页号是 ________(十六进制表示)。 - 进程通信的高级通信方式主要包括:共享存储器系统、________ 和 ________。
- 在磁盘调度中,________ 算法虽然并未获得最短的寻道距离,但能防止饥饿现象的产生。
- 文件的逻辑结构分为无结构文件(流式文件)和 ________。
- 在请求分页系统中,如果分配给进程的物理块数太少,会导致进程频繁进行页面置换,这种现象称为 ________。
三、简答题(每题5分,共20分)
- (必考题) 谈谈你对国产操作系统发展的看法,以及它与国家信息安全的关系。
- 简述微内核(Microkernel)操作系统的优缺点。
- 什么是死锁?列出产生死锁的四个必要条件。
- 简述分页存储管理和分段存储管理的主要区别。
四、综合计算与分析题(每题10分,共40分)
1. 处理机调度 设有4个作业,到达时间和要求服务时间如下表所示。
| 作业 | 到达时间 | 服务时间 |
|---|---|---|
| A | 8:00 | 60分钟 |
| B | 8:10 | 10分钟 |
| C | 8:20 | 20分钟 |
| D | 8:30 | 5分钟 |
请计算: (1) 若采用非抢占式短作业优先(SJF)调度算法,请给出作业的调度顺序。 (2) 计算SJF算法下的平均周转时间。(写出计算过程)
2. 银行家算法 系统中有P0、P1、P2、P3、P4五个进程,A、B、C三类资源。T0时刻资源分配情况如下,Available向量为(3, 3, 2)。
| 进程 | Allocation (A, B, C) | Max (A, B, C) | Need (A, B, C) |
|---|---|---|---|
| P0 | 0, 1, 0 | 7, 5, 3 | (1) |
| P1 | 2, 0, 0 | 3, 2, 2 | (2) |
| P2 | 3, 0, 2 | 9, 0, 2 | (3) |
| P3 | 2, 1, 1 | 2, 2, 2 | (4) |
| P4 | 0, 0, 2 | 4, 3, 3 | (5) |
(1) 算出Need矩阵(即表格中1-5的值)。 (2) T0时刻系统是否安全?若安全,请给出一个安全序列。 (3) 若此时P1请求资源 Request(1, 0, 2),系统能否分配?为什么?
3. 页面置换算法
在一个请求分页系统中,某进程分配到的物理块数为3(开始时内存为空)。该进程的页面访问序列为:
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
(1) 采用**FIFO(先进先出)算法,计算缺页次数。
(2) 采用LRU(最近最久未使用)**算法,计算缺页次数。
(3) 哪种算法效果更好?
4. 文件索引与磁盘 Linux系统的ext2文件系统采用混合索引分配方式。假设盘块大小为 4KB,每个盘块号占 4字节。索引节点包含:
- 12个直接地址项
- 1个一次间接地址项
- 1个二次间接地址项
- 1个三次间接地址项
(1) 该文件系统支持的最大单文件大小是多少?(写出计算公式即可,不必算出最终数值) (2) 若一个文件大小为 50KB,访问该文件第 49KB 处的数据,需要访问几次磁盘?(假设索引节点已在内存)
第三部分:模拟题简要参考答案
一、选择题 1-5: B C B B C 6-10: B A B D A (解析7:字长32位,第5个字之前有5x32=160位,加上第8位,即160+8=168)
二、填空题
- 虚拟、异步
- (等待时间+服务时间) / 服务时间
- 2
- 消息传递系统、管道通信系统
- SCAN(或电梯调度)
- 有结构文件(记录式文件)
- 抖动(颠簸)
三、简答题(关键词)
- 国产OS与安全:核心技术自主可控、避免“卡脖子”、防止后门泄露数据;麒麟、鸿蒙等发展现状;是国家网络安全的基石。
- 微内核:
- 优点:高可靠性、高扩展性、可移植性强。
- 缺点:效率较低(因为频繁的用户态/内核态切换和消息传递)。
- 死锁:多个进程因争夺资源而造成的僵局。条件:互斥、请求与保持、不可剥夺、循环等待。
- 分页vs分段:
- 页是物理单位(对用户透明),段是逻辑单位(用户可见)。
- 页大小固定,段大小不固定。
- 分页是一维地址空间,分段是二维。
四、计算题
1. 调度
- (1) 顺序:A -> D -> B -> C
- A(8:00到) -> 运行60m -> 9:00结束。此时B,C,D都到了。
- 剩余中D(5m)最短 -> 9:05结束。
- 剩余中B(10m)最短 -> 9:15结束。
- 最后C(20m) -> 9:35结束。
- (2) 周转时间 = 完成 - 到达。
- A: 60, B: 65, C: 75, D: 35。
- 平均周转 = (60+65+75+35)/4 = 58.75分钟。
2. 银行家
- (1) Need: P0(7,4,3), P1(1,2,2), P2(6,0,0), P3(0,1,1), P4(4,3,1).
- (2) 安全。Available=(3,3,2)。
- P1需要(1,2,2) <= (3,3,2),P1运行释放(2,0,0),Avail=(5,3,2)
- P3需要(0,1,1) <= (5,3,2),P3运行释放(2,1,1),Avail=(7,4,3)
- P0需要(7,4,3) <= (7,4,3),P0运行释放(0,1,0),Avail=(7,5,3)
- P2需要(6,0,0),P2运行… P4运行…
- 序列:P1->P3->P0->P2->P4 (答案不唯一)。
- (3) P1请求(1,0,2)。
- Check1: (1,0,2) <= Need(1,2,2) √
- Check2: (1,0,2) <= Avail(3,3,2) √
- 试分配:Avail=(2,3,0), P1_Alloc=(3,0,2), P1_Need=(0,2,0).
- 检查安全性:Avail=(2,3,0)。此时只有P1_Need(0,2,0)满足。P3需要C资源1个(不满足),P4需要C资源1个(不满足)。
- 如果P1先运行完,释放(3,0,2),Avail=(5,3,2)。此时P3, P4, P0, P2均可运行。
- 结论:能分配,因为存在安全序列(如 P1->P3->P0->P2->P4)。
3. 页面置换
- (1) FIFO: 12次缺页(注意:前3个进入内存也算缺页,题目若未指定“预装入”通常算上)。
- (2) LRU: 12次缺页。
- (注:这道题是经典的Belady异常序列或者对比序列,具体数字请自己在草稿纸画表格推导,核心是LRU看过去,FIFO看进入时间)
4. 索引文件
- (1) 一个盘块存地址数 = 4KB / 4B = 1024 个。
- 直接:12 * 4KB = 48KB
- 一级:1024 * 4KB = 4MB
- 二级:1024 * 1024 * 4KB = 4GB
- 三级:1024 * 1024 * 1024 * 4KB = 4TB
- 总大小 ≈ 4TB + 4GB + 4MB + 48KB。
- (2) 50KB。
- 直接地址覆盖范围:0 ~ 48KB (0-11块)。
- 49KB 位于 48KB ~ 48KB+4MB 之间,属于一级间接索引范围。
- 访问次数:
- 读一级索引表(第一次I/O)。
- 读实际数据块(第二次I/O)。
- 答案:2次。













