2011年
23
题目
满足短作业优先且不会发生饥饿现象的调度算法:高响应比优先
解析
24
题目
用户态执行的是命令解释程序
解析
法一:正向选择
DOS对应联机命令接口
法二:逆向排除
非用户态 -> 内核态
25
题目
在支持多线程的系统中,进程P创建的若干个线程不能共享的是进程P中某线程的栈指针
解析
26
题目
用户程序发出磁盘I/O请求后,系统的处理流程如下:
- 用户程序
- 系统调用处理程序
- 设备驱动程序
- 中断处理程序
解析
27
题目
答案:不存在安全序列
解析
通过A(Allocation,已分配) + W(Work,可工作数)去判断后面的进程是否满足需求
28
题目
答案:D
解析
29
题目
答案:A
解析
30
题目
在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是链接
解析
31
题目
答案:B
解析
单缓冲区
双缓冲区
32
题目
答案:C
解析
具体步骤如下:
45
题目
答案:
互斥资源: 取号机(一次只一位顾客领号),因此设一个互斥信号量mutex
同步问题: 顾客需要获得空座位等待叫号,当营业员空闲时,将选取一位顾客并为服务。空座位的有、无影响等待顾客数量,顾客的有、无决定了营业员是否开始服务,故分别设置信号量empty和full来实现这一同步关系。另外,顾客获得空座位后,需要等待叫号和被服务。这样,顾客与营业员就服务何时开始又构成了一个同步关系,定义信号量service来完成这一同步过程。
代码如下:
semaphore empty = 10; //空座位的数量
semaphore mutex = 1; //互斥使用取号机
semaphore service = 0; //等待叫好号
semaphore full = 10; //已占座位的数量
process 顾客 i {
P(empty); //等空位
P(mutex); //申请使用取号机
从取号机上取号;
V(mutex); //取号完毕
V(full); //通知营业员有新顾客
等待叫号;
P(service); //等待营业员叫号
接受服务;
}
process 营业员 {
while (True) {
P(full); //没有顾客则休息
V(empty); //离开座位
叫号;
V(service); //叫号
为顾客服务;
}
}
解析
PV大题做题方法:
第一步
第二步
设a、b、c找到相应位置的PV,不先设初值
a = 10 -> 座位
b = ?0
c = ? 0
46
题目
答案:
第一小问: 在磁盘中连续存放(采取连续结构),磁盘寻道时间更短,文件随机访问效率更高;在FCB中加入的字段为:<起始块号,块数>或者<起始块号,结束块号>。
第二小问: 将所有的FCB集中存放,文件数据集中存放。这样在随机查找文件名时,只需要访问FCB对应的块,可以减少磁头移动和磁盘I/O访问次数。
解析
第一小问
第二小问
①FCB集中存储
②FCB与对应的文件数据库连续存储
注意:图有点小错误,修正:10左边是ccc的一小块