操作系统试题整理 - 图文 下载本文

缺页率10/12

M=3

如果将前三页计算其中,其缺页次数为9次,缺页率为9/12=75%; 如果不计入前三页,其缺页次数为6次,缺页率为6/12=50%。 M=4

如果将前四页计算其中,其缺页次数为10次,缺页率为10/12=83.3%。块数多了,并没有降低缺页率,反而占内存多。但实际中,统计次数应更多,以便得出更接近实际的结果。 如果不计入前四页,其缺页次数为6次,缺页率为6/12=50%。

16)有一矩阵“int a[100][100]”以行为先进行存储。有一个虚拟存储系统,物理内存共有3页,其中1页用来存放程序,其余2页用于存放数据。假设程序已在内存中占1页,其余2页空闲。 程序A:

for (i=0; i<=99; i++)

for (j=0; j<=99; j++)

a[i][j]=0;

程序B: for (j=0; j<=99; j++)

for (i=0; i<=99; i++)

a[i][j]=0;

个整数呢?

若每页可存放200个整数,程序A和程序B的执行过程各会发生多少次缺页?若每页只能存放100

17)某分页系统的逻辑地址是16位,其中高6位为页号,低10位为页内地址,则这样的地址结构 (1)一页有2^10字节;2^10=1K (2)逻辑地址可有2^6页;2^6=64

(3)一个作业最大的使用空间是2^16-1字节。 18) 有一页式系统,其页表存放在内存中。

第17页 共22页

(1)如果对内存的一次存取需要1.5微秒,问实现一次页面访问的存取时间是多少

(2)如果系统增加有快表,平均命中率为85%,当页表项在快表中时,其查找时间忽略为0,问此时的存取时间为多少?

如果页表在主存的话,那么会两次访问内存:第一次是访问页表,从而找到线性地址对应的物理地址第二次是利用找到的物理地址来访问实际的内存页面。所以需要3微秒

有快表,在快表中得到物理地址到主存找(概率85%); 表目不在快表中在主存(两次访问主存,一次表目,一次数据)(概率15%):1.5*0.85+3*0.15=1.725微秒

19) 知某分页系统,主存容量为64KB,页面大小为1KB。对于一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。

(1)将十进制的逻辑地址1023、2500、3500、4500转换成物理地址; (2)以十进制的逻辑地址1023为例画出地址变换过程图。

①逻辑地址1023:1023/1k,得到页号为0,页内地址为1023,查页表找到对应的物理块号为2,故物理地址为2×1K+1023=3071。

②逻辑地址2500:2500/1K,得到页号为2,页内地址为452,查页表找到对应的物理块号为6,故物理地址为6×1K+452=6596。

③逻辑地址3500:3500/1K,得到页号为3,:页内地址为428,查页表牛找到对应的物理块号为7,故物理地址为7×1K+428=7596。

④逻辑地址4500:4500/1K,得到页号为4,页内地址为404,因页号不小于页表长度,故产生越界中断。P=int[A/L] 和 d=[A]mod L 其中A为逻辑地址空间,页面大小为L,P为页号,页内地址为d

20) 对于下表所示的段表,请将逻辑地址(0,137),(1,4000),(5,230)转换成物理地址。

21)在一分页式存储管理中,逻辑地址长度为16位(条件变为:用户编程空间共32个页),页面大小为

2048字节,对应页表如下,现有逻辑地址05ACH,2F6AH,经过地址变换后所对应的物理地址各是多少?

页面大小为2048字节,则页内地址需要11位。 页号为 16 – 11 = 5 位。

第18页 共22页

22)

第五章

例当前磁盘读写位于柱面号20,此时有多个磁盘请求,以下列柱面号顺序送至磁盘驱动器:10、22、20、

2、40、6、38。寻道(Track)时,移动一个柱面需6ms,按下列算法计算所需寻道时间(柱面移动顺序及所需时间,总寻道时间;忽略到达指定柱面后所需寻道时间)。(上海交通大学1999年试题) ① 先来先服务。 ② 下一个最邻近柱面。

③ 电梯算法(当前状态为向上)。 先来先服务:

① 磁头移动顺序为:(20)→10→22→20→2→40→6→38 磁头移动总量是146柱面,总寻道时间是:146×6ms=876ms.

② 下一个最邻近柱面:

磁头移动顺序为:(20)→20→22→10→6→2→38→40 磁头移动总量是60柱面,总寻道时间是:60×6ms=360ms. ③ 电梯算法

磁头移动顺序为:(20)→20→22→38→40→10→6→2 磁头移动总量是58柱面, 总寻道时间是:58N×6ms=348ms.

29.寻道时间Ts=m*n+s m=0.2(速度) 旋转延迟时间Tr=1/2r r每秒转数 传输时间Tt=b/rN b每次读取字节数N为磁道字节数 访问时间Ta=Ts+1/2r+b/rN

第六章

30.有一个含10^4N个记录的顺序文件,对他采用顺序查找法去查找,平均需要查找5*10^3N/2个记录。一级索引顺序查找为10^2N^1/2 二级索引 3/2*N^1/3 31.FAT 文件分配表 FCB文件控制块

32.每个盘块大小为1KB 每个盘块号占4字节,则一个索引块可存放256个盘块号。两级索引时,最多可包含的存放文件的盘块的盘块号总数N=256*256=64K个盘块号。两级索引允许文件最大长度为64MB。同理,盘块大小为4KB,单级索引最大文件长度为4MB,两级索引最大文件长度可达4GB。

33.FCB长度为32个字节,对于360KB的软盘,总共可包含112个FCB,共占4KB存储内存。 一个FCB为64B,盘块大小为1KB,则每个盘块中只能存16个FCB

若一个文件目录中有640个FCB,许共占40个盘块,故平均查找一个文件需启动磁盘20次。 目录文件所占盘块为N,查找一个目录项平均需要调入盘块(N+1)/2次

一个FCB为64B,一个盘块为1KB,设共有3076个文件,因一个盘块只能放1024/64=16个FCB,故文件目

第19页 共22页

录占了3076/16=192个块,当要访问某文件,最大调度块数为192次,平均调度块数为(192+1)/2

34. FAT12单个分区的最大容量: 2^12*512B=2MB

35.

簇是一组连续的扇区,在FAT中它是作为一个虚拟扇区,簇的大小一般是2n (n为整数)个盘块。

每个簇在FAT表的表项中占4个字节每个簇固定为4KB.

36.

试问该文件系统能否指引一个512MB的磁盘?

例1).假定一个文件系统的组织方式与MS-DOS相似,在FAT中可有64K个指针,磁盘的盘块大小为512B,解:512MB/512B=1M个盘块,而每个盘块都应有一个指针来指示,所以应该有1M个指针,因此若有64K个指针则不能指引一个512MB的磁盘

2)在UNIX中,如果一个盘块的大小为1KB,每个盘块号占4个字节,即每块可放256个地址。请转换下列文件的字节偏移量为物理地址。

⑴ 9999; ⑵ 18000; ⑶ 420000

盘块大小为1KB,盘块号占4B,即每个盘块最多可存放256个盘块号。又根据UNIX系统中采用的混合索引分配方式可知: 9999/1024=9余783 18000/1024=17余592 420000/1024=410余160

3)有一计算机系统利用图6-33所示的位示图来管理空闲盘块。盘块的大小为1KB,现要为某文件分配量个盘块,试说明盘块的具体分配过程。 分配量个盘块的过程如下:

⑴ 顺序扫描位示图,从中找到第一个值为0的二进制位,得到其行号i=3,列号j=3。 ⑵ 将所找到的二进制位转换成与之对应的盘块号。盘块号计算公式为:b=(3-1)*16+3=35; ⑶ 修改位示图,令map[3,3]=1,并将该盘块分配出去。

类似地,可使用相同的方法找到第二个值为0

的二进制位,得到行号i=4,列号j=7,其对应的盘块号为55,令map[i,j]=1,并将该盘块分配出去。 4)某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理磁盘空间,试问: ⑴ 位示图需要多少字?

⑵ 第i字第j位对应的块号是多少? ⑶ 给出申请/归还一块的工作流程。 [500/32]z=16个字

b=(i-1)*32+j=32(i-1)+j (b从1开始计数,i,j也从1开始计数) 根据盘块号b求出:

i = (b-1)/32 + 1; j = (b-1)2 + 1;

第20页 共22页