操作系统实验笔试
样题 1. 设周期性任务 P1, P2, P3 的周期 T1, T2, T3 分别为 100, 150, 350; 执行时间分别为
20,40,100. 试计算后回答是否可以用频率单调调度算法进行调度?
答:频率单调调度算法是一种被广泛用于多周期性实时处理的调度算法。频率单调调度算法
的基本原理是频率越低(周期越长)的任务的优先级越低。这时,设任务周期为 T,任务的执行
时间为 C,则使用频率单调调度算法的必要条件是 C<=T。已经证明,对于 n(n≥1)个周期的
不同任务来说,设每个周期为 Ti,其相应任务的执行时间为 Ci,则使用频率单调调度算法的充
分条件是: .
对于由 3 个周期组成的实时任务序列来说,其执行时间与周期之比应是:
.
由于:
所以, 可以用频率单调调度算法进行调度.
样题 2. 假定某多道程序设计系统供用户使用的主存空间 100K, 磁带机 2 台, 打印机 1 台, 采用
可变分区方式管理主存, 采用静态分配方式分配磁带机与打印机. 忽略用户作业 I/O 时间. 现有
如下作业序列:
作业号 进入输入井时间 要求计算时间 主存需求量 磁带机需求 打印机需求
1 8:00 25 分钟 15K 1 台 1 台
2 8:20 10 分钟 30K 0 台 1 台
3 8:20 20 分钟 60K 1 台 0 台
4 8:30 20 分钟 20K 1 台 0 台
5 8:35 15 分钟 10K 1 台 1 台
作业调度策略先来先服务, 优先分配主存的低地址区域且不准移动已在主存的作业 , 在主存中
的各作业平分 CPU 时间, 问题如下:
(1) 作业调度选中各作业的次序是什么? (2) 全部作业运行结束的时刻是什么?
(3) 如果把一个作业从进入输入井到运行结束的时间定义为周转时间 , 在忽略系统开销时间条
件下, 最大的作业周转时间是多少? (4) 平均周转时间是多少?
答: 作业号 装入主存时间 开始执行时间 执行结束时间 周转时间
1 8:00 8:00 8:25 25 分钟
2 8:45 9:05 9:15 55 分钟
3 8:20 8:25 8:45 25 分钟
4 8:30 8:45 9:05 35 分钟
5 9:15 9:15 9:30 55 分钟
(1) 1, 3, 4, 2, 5
(2) 9:30
(3) 55 分钟
(4) (25+55+25+35+55)/5=39(分钟)
样题 3. 设有 n 个缓冲区构成的循环缓冲区池, 每个缓冲区能容纳一个整数. 写进程 Writer 把整
数逐个存入缓冲区池, 读进程 Reader 则逐个从缓冲区池中读出并打印输出, 要求打印的与输入
的完全一样, 即个数,次序,数值一样. 试问:
(1) 写进程与读进程间具体的制约关系如何? (2) 用 PV 操作写出这两个进程的同步算法程序.