6.3外存分配方式文件的物理结构与外存分配方式有关常用分配方式有:连续分配、链接分配和索引分配对应的物理结构:连续结构、链接式结构和索引结构6.3.1.连续分配为每个文件分配一组连续的相邻物理块,形成的文件结构称顺序文件结构,物理文件称顺序文件。这种分配方式保证了记录的逻辑顺序,与占用盘块的物理顺序一致;在自录项的"文件物理地址“字段中存放该文件的第一个记录所在盘块号和文件长度(块数)如:filelengthstartf102目录314tr196mail
6.3 外存分配方式 文件的物理结构与外存分配方式有关。 常用分配方式有: 连续分配、链接分配和索引分配。 对应的物理结构: 连续结构、链接式结构和索引结构 6.3.1. 连续分配 为每个文件分配一组连续的相邻物理块, 形成的 文件结构称顺序文件结构, 物理文件称顺序文件。这 种分配方式保证了记录的逻辑顺序, 与占用盘块的物 理顺序一致; 在目录项的"文件物理地址"字段中存放 该文件的第一个记录所在盘块号和文件长度(块数)。 如: 目录 file start length f1 0 2 tr 14 3 mail 19 6 .
2.连续分配的优缺点优点:顺序存取简单容易,也支持直接(随机)存取。顺序存取速度快,寻道次数和寻道时间最少也适合随机访问,计算出盘块地址直接访问。缺点:易产生外部碎片,降低外存空间的利用率;可利用紧法将外部碎片拼接成连续存储空间,但紧一次需要进行大量的磁盘操作花费大量的时间。不利于文件的插入和册删除必须事先知道文件的大小,对于动态增长的文件效果较差。需要估算预留的连续外存空间,预留空间不足将引起大片磁盘空间的移动,预留空间太大将使大量的外存空间长期空闲
2.连续分配的优缺点 优点: 顺序存取简单容易, 也支持直接(随机)存取。 顺序存取速度快, 寻道次数和寻道时间最少。 也适合随机访问, 计算出盘块地址直接访问。 缺点: 易产生外部碎片, 降低外存空间的利用率; 可利 用紧凑法将外部碎片拼接成连续存储空间, 但紧凑 一次需要进行大量的磁盘操作花费大量的时间。 不利于文件的插入和删除。 必须事先知道文件的大小, 对于动态增长的文件 效果较差。需要估算预留的连续外存空间, 预留空 间不足将引起大片磁盘空间的移动, 预留空间太大 将使大量的外存空间长期空闲
6.3.2链接分配将文件存放在多个离散的盘块中,同一文件的盘块链接成一个链表,消除外部碎片,显著的提高了外存空间的利用率,有利于文件插入和删除,有利于文件的动态扩充。1.隐式链接在文件目录的每个目录项中,都含有指向链接文件第一个盘块和最后一个盘块的指针,而在每个盘块中都含有指向下一个盘块的指针,只有508学节供使用。缺点:只适合顺序访问,随机访问要从头查我极低效可靠性差,盘块的指针出现问题会导致链断开。更多的寻道次数和寻道时间。解决方法:可将几个盘块组成一个族,减少查找指定块的时间
6.3.2 链接分配 将文件存放在多个离散的盘块中, 同一文件的盘块 链接成一个链表, 消除外部碎片, 显著的提高了外存空 间的利用率, 有利于文件插入和删除, 有利于文件的动 态扩充。 1. 隐式链接 在文件目录的每个目录项中,都含有指向链接文件 第一个盘块和最后一个盘块的指针, 而在每个盘块中 都含有指向下一个盘块的指针,只有508字节供使用。 缺点: 只适合顺序访问, 随机访问要从头查找极低效。 可靠性差, 盘块的指针出现问题会导致链断开。 更多的寻道次数和寻道时间。 解决方法: 可将几个盘块组成一个簇, 减少查找指定块的时间
2.显式链接将链接文件各物理块的指针存放在内存的一张链接表中,整个磁盘仅设一张表称为文件分配表(FAT),表项的序号是物理盘块号,每个表项中存放链接指针(下一盘块号)。每个文件的第一个盘块号填入该文件的文件控制块(FCB)的"物理地址"字段中。记录的查找过程全部在内存中进行,检索速度快、访问磁盘磁盘次数少、可靠性高。023489 10 11 12 13FAT9113FAT中每项的大小FCBFCB26f1f2与磁盘最大容量以及簇的大小有关
2. 显式链接 将链接文件各物理块的指针存放在内存的一张链 接表中, 整个磁盘仅设一张表称为文件分配表(FAT), 表项的序号是物理盘块号, 每个表项中存放链接指针 (下一盘块号)。每个文件的第一个盘块号填入该文件 的文件控制块(FCB)的"物理地址"字段中。记录的查 找过程全部在内存中进行, 检索速度快、访问磁盘磁 盘次数少、可靠性高。 FCB f1 FAT 9 ^ 4 0 7 3 1 11 ^ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 . 2 FCB f2 6 FAT中每项的大小 与磁盘最大容量以 及簇的大小有关
6.3.3索引分配链接分配存在的问题:要顺序查找许多盘块号,不支持高效的直接存取。·FAT占用较大的内存空间1.单级索引分配为每个文件分配一个集中存放的索引块(表,该表实质就是磁盘块地址数组,其中第项存放指向文件的第块盘块号,该文件的自录项中存储了指向该索引块的指针:支持直接存取,如:记录号m一第块一盘块号0目录9161234file块号1索引块5f11931fr5-1
6.3.3 索引分配 链接分配存在的问题: •要顺序查找许多盘块号, 不支持高效的直接存取。 • FAT占用较大的内存空间。 1. 单级索引分配 为每个文件分配一个集中存放的索引块(表), 该表实 质就是磁盘块地址数组,其中第i项存放指向文件的第i块 盘块号, 该文件的目录项中存储了指向该索引块的指针; 支持直接存取, 如:记录号m 第i块 盘块号 0 1 2 3 4 5 . 9 16 1 10 25 -1 . 索 引 块 目录 file 块号 f1 19 fr 31 . .