文件的物理结构

操作系统 2023-10-09 3592 次浏览

文件的物理结构是指文件在存储设备上的存放方法。文件的物理结构侧重于提高存储器的利用效率和降低存取时间。文件的存储设备通常划分为大小相同的物理块,物理块是分配和传输信息的基本单位。文件的物理结构涉及文件存储设备的组块策略和文件分配策略,决定文件信息在存储设备上的存储位置。常用的文件分配策略有:

1、顺序分配(连续分配)

这是最简单的分配方法。在文件建立时预先分配一组连续的物理块,然后,按照逻辑文件中的信息(或记录)顺序,依次把信息(或记录)按顺序存储到物理块中。这样,只需知道文件在文件存储设备上的起始位置和文件长度,就能进行存取,这种分配方法适合于顺序存取,在连续存取相邻信息时,存取速度快。其缺点是在文件建立时必须指定文件的信息长度,以后不能动态增长,一般不宜用于需要经常修改的文件。

 

例题:

在磁盘上存储数据的排列方式会影响WO服务的总时间。假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,...,R1o存放在同一个磁道上,记录的安排顺序如下表所示;

物理块 1 2 3 4 5 6 7 8 9 10
逻辑记录 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10

假定磁盘的旋转速度为30ms/周,磁头当前处在Ry的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为6ms,则处理这10个记录的最长时间为()﹔若对信息存储进行优化分布后,处理10个记录的最少时间为()。

  问题1
  A.189ms
  B.208ms
  C.289ms
  D.306ms


  问题2
  A.60 ms
  B.90 ms
  C.109ms
  D.180ms

 

Ⅱ["本题是一个较为复杂的磁盘原理问题,我们可以通过模拟磁盘的运行来进行分析求解。运作过程为:1、读取R∶耗时3ms。读取完,磁头位于R>的开始位置。
2、处理R:耗时6ms。处理完,磁头位于R4的开始位置。3、旋转定位到R>开始位置:耗时24ms。
4、读取R>∶耗时3ms。读取完,磁头位于R3的开始位置。5、处理R>∶耗时6ms。处理完,磁头位于R5的开始位置。6、旋转定位到Rg开始位置:耗时24ms。
..……..
从以上分析可以得知,读取并处理Rf—共需要9毫秒。而从Rz开始,多了一个旋转定位时间,Rp旋转定位到读取并处理—共需要33毫秒,后面的R3至R10与Rz的情况—致。所以一共耗时:
9+33x9=306窒秒。
本题后面―问要求计算处理10个记录的最少时间。其实只要把记录间隔存放,就能达到这个目标。在物理块1中存放R1,在物理块4中存放Rz,在物理块7中存放Rg,依此类推,这样可以做到每条记录的读取与处理时间之和均为9ms,所以处理10条记录—共耗时90ms。
""].['
1]

 

2、链接分配(串联分配)

这是按单个物理块逐个进行的。每个物理块中(一般是最后一个单元)设有一个指针,指向其后续连接的下一个物理块的地址,这样,所有的物理块都被链接起来,形成一个链接队列。在建立 链接文件时,不需要指定文件的长度,在文件的说明信息中,只需要指出该文件的第一个物理块块号,而且链接文件的文件长度可以动态地增长,只调整物理块间的指针就可以插入或删除一个信息块。

 

3、索引分配

这是另一种对文件存储不连续分配的方法。采集索引分配方法的系统,为每一个文件建立一张索引表,索引表中每一表项指出文件信息所在的逻辑块号和与之对应的物理块号。

索引分配既可以满足文件动态增长的要求,又可以方便而迅速地实现随机存取。对一些大的文件,当索引表的大小超过一个物理块时,会发生索引表的分配问题。一般采用多级(间接索引)技术,这时在由索引表指出的物理块中存放的不是文件存放处而是文件信息的物理块地址。这样,如果一个物理块能存储n个地址,则一级间接索引将使可寻址的文件长度变成n2块,对于更大的文件可以采用二级甚至三级间接索引(例如,UNIX操作系统采用三级索引结构,如下图所示)

 索引文件的优点是既适用于顺序存取,又适用于随机存取。缺点是索引表增加了存储空间的开销。另外 ,在存取文件时需要访问两次磁盘,一次是访问索引表,另一次是根据索引表提供的物理块号访问文件信息。为了提高效率,一种改进的方法是,在对某个文件进行操作之前,预先把索引表调入内存,这样文件的存取就能直接从内存的索引表中确定相应的物理块号,从而只需要访问一次磁盘。

 

例题1

某文件系统文件存储采用文件索引节点法。假设文件索引节点中有8个地址项iaddr[0] ~ iaddr[7],每个地址项大小为4字节,其中地址项iaddr[0] ~ iaddr[4]为直接地址索引,iaddr[5]~ iaddr[6]是一级间接地址索引,iaddr[7]是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB。若要访问iclsClient.dll文件的逻辑块号分别为1、518,则系统应分别采用()。

  问题1

  A.直接地址索引、直接地址索引

  B.直接地址索引、—级间接地址索引

  C.直接地址索引、二级间接地址索引

  D.—级间接地址索引、二级间接地址索引

 

直接索引范围:1KB×5=5KB,对应逻辑块号:0-4;
—级间接索引范围:(1KB/4B)×1KB×2=512KB,对应逻辑块号:5-516;
二级间接索引范围:(1KB/4B)× (1KB/4B)×1KB=65536KB,对应逻辑块号:517以及上。

 

例题2

某文件系统采用多级索引结构,若磁盘块的大小为4KB,每个块号需占4B,那么采用二级索引结构时的文件最大长度可占用()个物理块。

  问题1
  A.1024
  B.1024×1024
  C.2048×2048
  D.4096×4096

本题考查索引文件结构。在索引文件结构中,二级间接索引是指:索引节点对应的盘块存索引表,在索引表指向的盘块中依然存索引表,由于每个索引表可以存4K/4=1024个块号,所以二级索引可对应1024*1024个物理块。

本文由 似水流年 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

life runs on code

标签 : 文件存储, 文件物理结构

还不快抢沙发

添加新评论