🏷️ 知识点:操作系统
下列文件物理结构中,适合随机访问且易于文件扩展的是()。
A. 连续结构
B. 索引结构
C. 链式结构且磁盘块定长
D. 链式结构且磁盘块变长
[tag_link]
正确答案:B
文件的物理结构包括连续、链式、索引三种,其中链式结构不能 实现随机访问,连续结构的文件不易于扩展。
因此随机访问且易于扩展是索引结构的特性。
程序员利用系统调用打开I/O 设备时,通常使用的设备标识是()
A、逻辑设备名
B、物理设备名
C、主设备号
D、从设备号
[tag_link]
正确答案:A
设备管理具有设备独立性的特点,操作系统以系统调用方式来请求某类设备时,使用的是 逻辑设备名 。
而在程序实际执行时,将逻辑设备名 转换为对应的 物理设备名 。
(7分)三个进程 P1、P2、P3 互斥使用一个包含 N( N>0)个单元的缓冲区。P1 每次用 produce( 生 成一个正整数并用 put() 送入缓冲区某一空单元中;P2 每次用getodd0 从该缓冲区中取出一个奇数并用 countodd( 统计奇数个数;P3 每次用geteven( 从该缓冲区中取出一个偶数并用 counteven( 统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。要求用伪代码描 述。
[tag_link]
[tag_link]
互斥资源:缓冲区只能互斥访问,因此设置互斥信号量 mutex。
同步问题: P 1 、 P 2 因为奇数的放置与取用而同步,设同步信号量 odd; P 1 、 P 3 因为偶数的放置与取用而同步,设置同步信号量 even; P 1 、 P 2 、 P 3 因为共享缓冲区,设同步信号量 empty, 初值为 N。程序如下:
semaphore mutex = 1;
semaphore odd = 0, even = 0;
semaphore empty = N;
//生产者:产生数字放入缓冲区
P1()
{
while (true)
{
x = produce();
P(empty); //申请空闲位置
P(mutex); //互斥访问缓冲区
put();
V(mutex);
if (x % 2 == 0)
V(even);
else
V(odd);
}
}
//奇数消费者
P2()
{
while (true)
{
P(odd);
P(mutex);
getodd();
V(mutex);
V(empty);
countodd();
}
}
//偶数消费者
P3()
{
while (true)
{
P(even);
P(mutex);
geteven();
V(mutex);
V(empty);
counteven();
}
}
(8分)请求分页管理系统中,假设某进程的页表内容如下表所示:
页面大小为4KB, 一次内存的访问时间是100ns, 一次快表( TLB) 的访问时间是10ns, 处理一次缺页 的平均时间108ns (已含更新 TLB 和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置 换算法( LRU) 和局部淘汰策略。假设① TLB 初始为空;②地址转换时先访问 TLB, 若 TLB 未命 中,再访问页表(忽略访问页表之后的 TLB 更新时间);③有效位为0表示页面不在内存,产生缺页 中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H 、1565H、 25A5H, 请问:
(1)依次访问上述三个虚地址,各需多少时间?给出计算过程。
(2)基于上述访问序列,虚地址1565H 的物理地址是多少?请说明理由。
[tag_link]
[tag_link]
1)根据页式管理的工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为 4KB, 即 2¹²B,则得到页内位移占虚地址的低 12 位,页号占剩余高位。可得三个虚地址的页号 P 如下
(十六进制的一位数字转换成 4 位二进制,因此,十六进制的低三位正好为页内位移,最高位为页号):
2362H:P=2,访问快表 10ns,因初始为空,访问页表 100ns 得到页框号,合成物理地址后访问主存 100ns,共计 10ns+100ns+100ns=210ns。
1565H:P=1,访问快表 10ns,落空,访问页表 100ns 落空,进行缺页中断处理 10⁸ns,访问快表 10ns,合成物理地址后访问主存 100ns,共计 10ns+100ns+10⁸ns+10ns+100ns=100000220ns.
25A5H:P=2,访问快表,因第一次访问已将该页号放入快表,因此花费 10ns 便可合成物理地址,访问主存 100ns,共计 10ns+100ns=110ns。
2)当访问虚地址 1565H 时,产生缺页中断,合法驻留集为 2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰 0 号页面,因此 1565H 的对应页框号为 101H。由此可得 1565H 的物理地址为 101565H。