黑狐家游戏

文件在外存上的分配方式有几种,文件存储方式分为和外部存储

欧气 2 0

《文件在外存的分配方式:深入探究多种存储模式》

一、连续分配

(一)基本原理

连续分配是一种较为直观的文件在外存的分配方式,在这种方式下,文件被存储在磁盘上连续的物理块中,一个文件需要占用n个磁盘块,那么系统会在磁盘上找到连续的n个空闲块来存储该文件,这就好比在一排书架上,要放置一套连续册数的书籍,会找一段连续的空书架位置来摆放。

文件在外存上的分配方式有几种,文件存储方式分为和外部存储

图片来源于网络,如有侵权联系删除

(二)优点

1、顺序访问速度快

- 当对文件进行顺序访问时,由于文件的物理块是连续的,磁头可以按照顺序依次读取,不需要频繁地移动磁头来寻找下一个块的位置,对于视频文件的播放,这种连续分配方式可以使视频数据流畅地被读取和播放,减少卡顿现象。

2、实现简单

- 从文件系统的管理角度来看,连续分配方式的管理逻辑相对简单,只需要记录文件的起始块号和文件占用的块数即可,对于操作系统来说,在分配和回收磁盘空间时,不需要复杂的算法来处理文件块的离散情况。

(三)缺点

1、外部碎片问题

- 随着文件的不断创建和删除,磁盘上会逐渐产生外部碎片,假设有多个文件被删除,磁盘上就会出现一些不连续的空闲小区域,当需要创建一个较大的文件时,可能找不到足够大的连续空闲区域来存储,尽管磁盘的总空闲空间可能是足够的,这就像书架上被零散的空出了很多小空间,但无法放置一套较大的书籍。

2、不利于文件的动态增长

- 如果一个文件需要动态增长,而它后面相邻的磁盘块已经被其他文件占用,那么就需要对文件进行移动或者重新分配磁盘空间,这是一个比较复杂且耗时的过程。

二、链接分配

(一)基本原理

1、隐式链接分配

- 在隐式链接分配中,每个文件被视为由一系列离散的磁盘块组成,这些磁盘块通过指针连接起来,文件的目录项中只记录了文件的起始块号,而每个磁盘块中除了存储文件数据外,还包含指向下一个磁盘块的指针,就好像是用一条无形的链条将各个分散的磁盘块串联起来。

文件在外存上的分配方式有几种,文件存储方式分为和外部存储

图片来源于网络,如有侵权联系删除

2、显式链接分配

- 与隐式链接分配不同,显式链接分配使用一个单独的磁盘块来存储文件分配表(FAT),FAT中记录了每个磁盘块的分配情况以及各个磁盘块之间的链接关系,文件的目录项中记录了文件的起始块号,通过查询FAT可以找到文件的后续磁盘块。

(二)优点

1、有效解决外部碎片问题

- 由于文件的磁盘块可以是离散分布的,磁盘空间的利用更加灵活,即使磁盘上存在很多小的空闲块,也可以被文件利用来存储数据,不会像连续分配那样因为外部碎片而无法使用磁盘空间。

2、有利于文件的动态增长

- 当文件需要增加数据时,只需要找到空闲的磁盘块,然后修改相应的指针或者FAT表项即可,不需要移动文件的已有数据。

(三)缺点

1、随机访问效率低

- 对于隐式链接分配,要随机访问文件中的某个数据块,需要从文件的起始块开始,沿着指针依次查找,这会导致大量的磁盘I/O操作,显式链接分配虽然可以通过查询FAT来提高一些效率,但相比于连续分配,其随机访问的速度仍然较慢。

2、可靠性问题

- 在隐式链接分配中,如果某个磁盘块中的指针因为磁盘故障等原因被破坏,那么可能会导致文件的后续部分无法访问,而对于显式链接分配,FAT表的损坏也会影响到多个文件的正常访问。

三、索引分配

(一)基本原理

文件在外存上的分配方式有几种,文件存储方式分为和外部存储

图片来源于网络,如有侵权联系删除

索引分配为每个文件创建一个索引表,索引表中记录了文件所占用的磁盘块号,文件的目录项中存储的是索引表的地址,就像一本书有一个索引页,通过索引页可以快速找到书中的各个章节所在的页码。

(二)优点

1、支持直接访问

- 由于索引表中记录了文件的各个磁盘块号,对于文件中的任何数据块,都可以通过索引表直接找到其对应的磁盘块,从而实现快速的随机访问,这对于数据库文件等需要频繁随机访问的文件非常有利。

2、没有外部碎片问题

- 磁盘空间的分配以磁盘块为单位,不需要连续的磁盘空间,因此不会产生外部碎片,文件可以根据索引表使用分散在磁盘各处的空闲块。

(三)缺点

1、索引表占用空间

- 对于较大的文件,其索引表可能会占用较多的磁盘空间,一个非常大的文件,其索引表可能需要多个磁盘块来存储,这在一定程度上浪费了磁盘空间。

2、索引表的管理开销

- 当文件进行增删改操作时,需要对索引表进行相应的修改,这增加了文件系统的管理开销,而且索引表本身也需要进行维护,例如在磁盘上的存储位置等问题需要考虑。

文件在外存上的分配方式各有优缺点,不同的应用场景会根据对访问速度、空间利用效率、文件动态增长等方面的需求来选择合适的分配方式,在实际的文件系统设计中,往往会综合考虑这些因素,或者采用混合的分配方式来达到更好的性能。

黑狐家游戏
  • 评论列表

留言评论