文件管理之外存分配方式

由于磁盘具有可直接访问的特性,故利用磁盘来存放文件时,具有很大的灵活性。
在为文件分配外存空间时所要考虑的主要问题有:
⑴ 怎样才能有效地利用外存空间;
⑵ 提高对文件的访问速率。
目前常用的外存分配方法有:
⑴ 连续分配;
⑵ 链接分配;
⑶ 索引分配。

连续分配

连续分配(Continuous Allocation)要求为每一个文件分配一组相邻接的盘块。一组盘块的地址定义了磁盘上的一段线性地址。在采用连续分配方式时,可把逻辑文件中的记录,顺序地存取到邻接的各物理盘块中,这样形成的物理文件称顺序文件。
在这里插入图片描述

连续分配优、缺点

优点

⑴ 顺序访问容易。
⑵ 顺序访问速度快。

缺点

⑴ 要求有连续的存储空间。
⑵ 必须事先知道文件的长度。

链接分配

在采用链接分配(Linked Allocation)方式时,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,由此所形成的物理文件称为链接文件。
链接方式又可分为隐式链接和显式链接。

隐式链接

在采用隐式链接分配方式时,在文件目录的每个目录项中,都须含有指向链接文件第一个盘块和最后一个盘块的指针。主要问题是:它只适合于顺序访问,对随机访问是极其低效的。如下图:
在这里插入图片描述

显式链接

指把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中。该表是整个磁盘仅设置一张。由于分配给文件的所有盘块号都放在该表中,故把该表称为文件分配表 (File Allocation)。
主要问题
⑴ 不能支持高效地直接存取
⑵ FAT表需占用较大的内存空间

MS—DOS 和Windows95/98中FAT32和FAT(16)的分区及簇大小比较

在这里插入图片描述

FAT(16)

它是MS—DOS和Windows 95操作系统中最常见的磁盘分区格式。它采用16位的文件分配表,最大能支持2GB的硬盘。
其缺点是磁盘利用率低。由于磁盘文件的分配是以簇为单位,FAT16支持的分区越大,磁盘上每个簇的容量也越大,造成的浪费也越大。

FAT32

它是微软公司从Windows 97后推出的一种新的磁盘分区格式,采用32位的文件分配表,增强了对磁盘的管理能力。
其优点是:
(a)突破了FAT16 对一个分区最大为2G的限制;
(b)在不超过8GB的分区中,FAT32分区格式的每个簇的容量都固定在4KB,可大大地减少磁盘空间的浪费。
其缺点是:
(a) DOS不支持这种分区,DOS文件无法运行;
(b) 磁盘的运行速度减慢。

索引分配

单级索引分配

索引分配方法为每个文件分配一个索引块(表),把分配给该文件的所有盘块号,都 记录在该索引表中,因而该索引块就是一个含有许多盘块号的数组。
主要问题是:可能要花费较多的外存空间。
在这里插入图片描述

多级索引分配

当OS为一个大文件分配磁盘空间时,可能出现索引块太多的情况,这时是低效的。应为这些索引块再建立一级索引,称第一级索引,这样便形成了两级索引分配方式。文件非常大时,还可用三级、四级索引分配方式。
在这里插入图片描述

混合分配方式

是指将多种分配方式相结合而形成的一种分配方式。它们把所有的地址项分成两类, 即直接地址和间接地址。如下图:
在这里插入图片描述
欢迎大家加我微信交流讨论(请备注csdn上添加)
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部