1.2 选择题讲评 16–20:指标与必要条件
约 42 分钟
1.2 选择题讲评二:多道程序的定量边界
后半组选择题常把发展史变成指标判断:利用率、吞吐量、开销、并发条件。正确方法是先写定义,再用一个反例检查“必然提高”。
1. 三个指标
- CPU 利用率 = CPU 忙碌时间 / 总观察时间。
- 设备利用率 = 设备忙碌时间 / 总观察时间。
- 吞吐量 = 单位时间完成的作业数。
多道程序可让一个作业等待 I/O 时由另一个占用 CPU,因而通常提高利用率和吞吐量。但系统还要维护进程、调度、保护内存,管理开销不会因此自动下降。
2. 一个最小反例
若 100 个进程都在等待同一网络响应,CPU 仍可能空闲,所以“进程数越多,CPU 利用率越高”不成立。若大量进程频繁切换,CPU 虽然忙,却可能把时间花在管理而非有效计算;高利用率也不等于高有效吞吐。
3. 多道程序依赖什么
多道程序不依赖多核,依赖的是能在事件发生时收回控制并调度其他程序的机制。中断使 I/O 完成、时钟到期等事件能通知 CPU;内存保护和资源协调保证多个程序共存不互相破坏。因此“无中断不并发”在课程语境中强调中断是操作系统获得控制权和实现并发的重要基础。
4. 快速计算
两作业均为 CPU 5 ms、I/O 5 ms、CPU 5 ms、I/O 5 ms。单道执行总时间 40 ms,CPU 忙 20 ms,利用率 50%。若在理想多道环境中 CPU 与单个 I/O 设备尽量重叠,给定甘特图总长 25 ms,则 CPU 利用率为 20/25=80%,吞吐量由 2/40 提高为 2/25 作业每毫秒。
注意:25 ms 不是把各段机械相加得到,而必须服从同一资源不可同时被两个作业占用、作业内阶段先后关系不变。没有甘特图或调度假设,不能凭“能重叠”直接猜完成时间。
5. 限定词题
“多任务系统必须运行在多 CPU 上”错误;“必须保护共享资源”正确;“可能同时存在并发与并行”在多核多任务系统中正确;“虚拟存储是任何多道系统的必要条件”错误,多道程序的核心是并发共存与调度,不要求一定采用某种具体虚拟存储实现。
验收
请分别给“进程越多利用率越高”“多道程序降低系统开销”“多道程序必须多核”构造反例,并能根据甘特图重新计算三项指标。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。