操作系统——文件系统中关于访问磁盘次数的问题

不同的物理结构存取方式不同,启动磁盘次数也不同,

顺序存储

要看清楚是对记录访问还是修改
a.如果只是访问(读),访问次数=搜索次数
b.如果是修改,访问次数=搜索次数+1,还要写回
内存中对数组的访问也一样,如循环执行a[i]+=1,每个元素访存两次,sum+=a[i],每个元素访问一次。
c.移动1个磁盘块访问两次磁盘

例1:顺序存储的文件,插入一条记录作为第30块:
①前29条记录移动盘块,29*2
②写入空出的盘块(第30块),1
共59次

链式存储(隐式):

a.找到第n块启动n次(此时第n块在内存,已经读了)
b.修改第n块,找n次,写回1次,共n+1次
c.新盘块写入访问一次

例1
链式存储的文件,插入一条记录作为第30块:
前29块依次读入,找到下地址(29次),申请新盘块写入内容,并指向29块的下地址(1次),修改29块的下地址,指向第30块(1次),共31次。

例2
链式存储的文件,5个记录一块,修改第22个记录,
①顺序找到第5块,5次(此时第五块在内存)
②修改第5块并写回磁盘,1次
共6次

FAT表(显式连接):

知道文件的第一个簇号X,访问FAT表X号表项,通过链接得到目标簇号,FAT表一般都在内存中,不需要启动磁盘,最后读一次目标簇得到数据,1次,n级目录结构需要加上n次访问目录,(目录未读入内存)。
例题见2016、2022年408 os大题

索引结构:

n级索引n+1次读索引,1次读数据,共n+2次(直接索引看成0级索引)。

例题见2015年29题

猜你喜欢

转载自blog.csdn.net/weixin_44343355/article/details/134815287