当前位置:文档之家› 《操作系统》模拟试题1参考答案

《操作系统》模拟试题1参考答案

《操作系统》模拟试题1参考答案
一、填空题
1.中断2.在裸机上培植操作系统3.先来先服务
4.等待状态5.环路条件6.解决重名问题7.引用位改变位8.虚拟分配9.目录表目
二、选择填空
1.B 2.A 3.D 4.D 5.A 6.C 7.B 8.D
三、简答题
平均周转时间t=(1+2.8+1+1.3)/4=1.525
平均带权周转时间w=(1+2.33+3.33+2.6)/4=2.315
2.答:
①解释用户的I/O系统调用命令;②设备驱动;③中断处理
3.解答
页面大小为4KB 4KB=21212位
允许用户虚地址空间最大为16页16=24 4位
允许系统物理主存最多为512个主存块512=299位
虚地址寄存器位数:12+4=16;物理地址寄存器位数12+9=21
四、解答
1.该系统在时刻t的内存分布图
2.用首次适应算法和最佳适应算法在时刻t的空闲区队列结构如下图所示
3.(1)首次适应算法:
作业1(38KB)第1块100-38=62KB
(2)最佳适应算法:
作业1(38KB),队列中的第1个元素(大小为36KB),不能分配;
队列中的第2个元素(大小为60KB)满足,60-38=22KB,队列重新排列。

五、解答:调度用的进程状态变迁图如下图所示。

1.有合理的响应时间:采用时间片调度;
2.有较好的外部设备利用率:请求I/O的进程,I/O完成后进入中优先就绪状态;
3.缺页对程序执行速度的影响降到最低程度:请求页面的进程,页面调入后进入高优先就绪状态。

当CPU空闲时,首先从高优先就绪队列中选择队首元素去运行;若高优先就绪队列为
空,则从中优先就绪队列中选择队首元素去运行;若中优先就绪队列为空,则从低优先就绪队列中选择队首元素去运行。

六、在一个数据采集系统中,利用两个缓冲区buf1和buf2(缓冲区大小为每次存放一个数据)来缓和读和写速度不匹配的矛盾。

方法是对这两个缓冲区交替进行读、写,并规定只已空的缓冲区进行写操作,又只能对已满的缓冲区进行读操作。

试用信号灯的P、V操作实现读进程与写进程的同步问题,要求用一种结构化的程序设计语言写出程序描述。

解答:
Main()
{ s1:=1;
S2:=0;
T1:=1;
T2:=0;
Cobegin
P1();
P2();
Coend
}
P1() p2()
{ while(输入未完成) {while(输出未完成)
{ {
P(s1); p(s2);
数据放入buf1中;数据从buf1中取出;
V(s2); v(s1);
P(t1); p(t2);
数据放入buf2中数据从buf2中取出;
V(t2); v(t1);
} }
} }
七、设一个已被打开的文件A有100个逻辑记录(逻辑记录大小与物理块大小相等,都为512KB),现分别用连续文件、串联文件、索引文件来构造。

回答以下问题。

1.分别画出这三种文件的物理结构。

2.若要随机读r7记录,问在三种结构下,分别要多少次磁盘读操作?要求作必要说明。

解答:
1、(1)连续文件
(2)串联文件
(3)索引文件
2.随机读第r7记录,文件A已被打开,文件目录项已在内存。

(1)连续文件经过计算确定r7记录的物理块号:
相对块号b=1*r/size=512*7/512=7;
R0所在物理块号由文件目录项查得为100,
R7的块号=100+7=107 可直接读107块,读1次。

(2)串联文件读R0、R1、…、R7 读8次。

(3)索引文件读入索引表1次,查R7所在物理块,读该物理块共读2次。

相关主题