软考高级架构师知识点5-文件索引

本文详细介绍了索引文件结构的构成,包括直接索引、一级和二级间接索引,以及它们如何通过扩展机制扩大存储容量。通过实例解析了多级索引的物理块占用和文件最大长度的计算方法。
摘要由CSDN通过智能技术生成

一、索引文件结构概论
索引文件结构的扩展机制能够极大扩充现有容量,是操作系统中比较特殊的文件结构。

一般的索引文件结构由 13 个结点组成,其中 0 - 9 个结点为直接的物理盘块(直接索引),第 10 个结点是一级间接索引,第 11 个结点是二级间接索引,第 12 个结点是三级间接索引,如下图所示。

13 个索引结点编号从 0 开始,一直编号到 12,如上图所示,这个需要注意。

二、索引的扩展原理
如果一个存储结构不使用索引,那么他的存量就是 物理块数 * 单位大小。

如果每个物理块的单位大小为 4K,则总空间为 52K,如下图所示。

如果引入了一级间接索引,索引指向了具体的物理块号,如下图所示。

如果一个地址占用 4 个字节,一个物理盘块有 4KB 容量,那么在第 10 个物理块中就可以存放 1024 份地址,那么 10 号物理块就可以存储 1024 份容量,就是 1024 X 4KB = 4MB 的容量。

如果引入了二级间接索引,索引指向了中间索引,中间索引在指向具体的物理块号,如下图所示。


如果一个地址占用 4 个字节,一个物理盘块有 4KB 容量,那么在第 11 个物理块中就可以存放 1024 份地址,每份子地址可以再存储 1024 份二级地址,那么 11 号物理块就可以存储 1024 * 1024 份容量,就是 1024 X 1024 X 4KB = 4GB 的容量。

三、真题分析
题目1-存储文件最大长度


解析
磁盘块大小为1K,每个块号占3B,那么一个物理块可放:1024/3=341个地址项,即:
一个一级索引可存放的文件大小为:3411
一个二级索引可存放文件的大小为:341×3411=116281
一个三级索引可存放文件的大小为:341×341×341*1=39651821

多级索引公式

上题中物理块是1K,就是1024B,最后求的单位也是多少K,所以不涉及单位的转换。

题目2-多级索引占用物理块号


解析
此题属于混合索引形式,索引表中既有直接索引,又有多级索引。每一个地址项指的是索引表中一行。

解题思路如下图所示
1、0-4这5个地址项存储为直接地址索引,存储在物理块0-4块上,一个地址项对应一个物理块
2、5,6地址项为一级间接地址项,磁盘索引块和磁盘数据块分别为1K,也就是1024B,每个地址项4B,一个磁盘数据块可以存储1024/4=256个地址,此时,接上面的物理块号5开始,256个地址对应的物理块号为5-260块,同理,下一个物理块号是261-516
3、再来看看剩下的一个二级间接地址:1024/4=256个地址项,每一个又分别对应256个物理块,接相面的516块,从517开始-772块,是上面256个地址项中的第一个地址项对应的物理块号。依次往下,结束的时候是多少块号呢?256×256+516=66052

分析完之后,来看上题中的问题是不是一目了然了。

题目3-综合
某系统中磁盘的每个盘块大小为1KB,外存分配方法采用中的混合索引结构,其中索引节点中直接地址6项,一级索引地址2项,二级索引地址1项,每个盘块号占用4个字节,请问该系统中允许的文件最大长度是多少?
此题是上面两个题目的结合,综合上面的讲解,来看这道题

解析
一个盘块可记录的盘块号的数量为∶1KB/4=256
直接地址∶记录6个文件所占物理块的块号
一级索引∶记录256x2=512个文件所占物理块的块号
二级索引∶记录256x256个文件所占物理块的块号
该系统中允许的文件最大长度 (256x256+256x2+6)*1KB=自己算下吧

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 概述 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方和数据结构;即在存储设备上组织文件的方。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。 本次实验我们实现了多级目录下的文件管理系统,具备文件系统的文件创建、删除、读写以及目录的创建、删除等操作,并在内存中开辟一块空间,模拟虚拟磁盘,成功地展示出文件系统的功能和属性。 2 课程设计的任务和要求 2.1 设计任务 在下列内容中任选其一: 1、多用户、多级目录结构文件系统的设计与实现; 2、WDM驱动程序开发; 3、存储管理系统的实现,主要包括虚拟存储管理调页、缺页统计等; 4、进程管理系统的实现,包括进程的创建、调度、通信、撤消等功能; 5、自选一个感兴趣的与操作系统有关的问题加以实现,要求难度相当。 2.2 设计要求 1、在深入理解操作系统基本原理的基础上,对于选定的题目,以小组为单位,先确定设计方案; 2、设计系统的数据结构和程序结构,设计每个模块的处理流程。要求设计合理; 3、编程序实现系统,要求实现可视化的运行界面,界面应清楚地反映出系统的运行结果; 4、确定测试方案,选择测试用例,对系统进行测试; 5、运行系统并要通过验收,讲解运行结果,说明系统的特色和创新之处,并回答指导教师的提问; 6、提交课程设计报告。 集体要求: 1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。 2.文件物理结构可采用显式链接或其他方。 3.磁盘空闲空间的管理可选择位示图或其他方。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。 4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织方式可以不使用索引结点的方式,但使用索引结点,则难度系数为1.2。 5.设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作: (1)具有login (用户登录) (2)系统初始化(建文件卷、提供登录模块) (3)文件的创建: create (4)文件的打开:open (5)文件的读:read (6)文件的写:write (7)文件关闭:close (8)删除文件:delete (9)创建目录(建立子目录):mkdir (10)改变当前目录:cd (11)列出文件目录:dir (12)退出:logout ................................................

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值