不同的物理结构存取方式不同,启动磁盘次数也不同,
顺序存储:
要看清楚是对记录访问还是修改,
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题