首页 > 其他分享 >根据文件的逻辑块号判断索引块的地址类型

根据文件的逻辑块号判断索引块的地址类型

时间:2024-04-23 16:13:52浏览次数:25  
标签:逻辑 每个 指向 索引 地址 间接 数据

混合索引节点法是操作系统管理文件的其中一种方法,混合索引节点包括直接索引地址以及多级间接索引地址(比如:一级间接索引地址、二级间接索引地址……)。每个文件对应一个索引节点,每个索引节点由多个地址构成,这些地址包括上述提到的直接索引地址多级间接索引地址,这些索引地址指向不同的地点,有些指向数据所在的地址,有些则指向其他的索引地址,具体来讲,直接索引地址指向数据块号(也就是实际文件数据所在的位置,由于文件被分割成多个数据块,每个数据块对应着一个数据块号,所以,直接索引地址指向该文件的某一部分数据),一级间接索引地址指向一个单独的索引块,每个索引块由多个直接索引地址构成,二级间接索引地址指向一级间接索引地址,以此类推。

案例:

某操作系统文件管理采用索引节点法。每个文件的索引节点有 8 个地址项,每个地址项大小为 4 字节,其中 5 个地址项为直接地址索引,2 个地址项是一级间接地址索引,1 个地址项是二级间接地址索引,磁盘索引块和磁盘数据块大小均为 1KB。若要访问文件的逻辑块号分别为 1 和 518,则系统应分别采用什么索引地址?

5 个地址项为直接地址索引

每个直接地址索引对应一个数据块,所以这 5 个直接地址索引对应了 5 个数据块,5 * 1 = 5(个)

一级间接索引地址指向一个单独的索引块,每个索引块由多个直接索引地址构成

每个直接索引地址的数量 = 每个数据块的大小 / 每个直接索引地址的大小

即:每个直接索引地址的数量 = 1 KB / 4 B = 1024 B / 4 B = 256 (个)

该操作系统有 2 个一级间接地址索引,故一级间接地址索引指向 2 * 256 = 512 (个)直接索引地址。

二级间接索引地址指向一级间接索引地址

每个二级间接索引地址所指的是一个储存一级间接索引地址的索引块,该索引块的大小同样也是 1 KB,计算该索引块中储存的一级索引地址数量:

1 KB / 4 B = 256 (个),而每个一级索引地址指向一个索引块,前面已经计算过每个索引块指向的数据块的个数位 256(个),所以每个二级间接索引地址指向256 * 256 = 65536 (个)数据块,该系统中只有一个二级间接索引地址。

综上所述,0 号数据块到 4 号数据块被直接索引地址索引,5 号索引块到 516 号数据块被一级间接索引地址索引,517 号数据块以及后面的数据块被二级间接地址索引。

 

标签:逻辑,每个,指向,索引,地址,间接,数据
From: https://www.cnblogs.com/gaotianchi/p/18152738/determine-the-address-type-of-the-index-bloc

相关文章

  • 软件体系架构课堂测试07 –逻辑架构设计
    某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查......
  • 【rust】《Rust深度学习[6]-简单实现逻辑回归(Linfa)》
    什么是LinfaLinfa是一组Rust高级库的集合,提供了常用的数据处理方法和机器学习算法。Linfa对标Python上的 scikit-learn,专注于日常机器学习任务常用的预处理任务和经典机器学习算法,目前Linfa已经实现了scikit-learn中的全部算法。项目结构依赖[package]name="rust-ml-e......
  • 数字电路基础-二进制数据表达;数电基础(基础逻辑门电路、运算器)
    嵌入式技术之从零搭建计算机课堂笔记第1章数字电路基础1.1二进制数据表达文字图片 ——透明度占1个字节,只有png图片有透明度该选项,其他图片都是(24位;3字节)对应3原色声音视频1.2数电基础①基础逻辑门电路需要记住:口诀、符号、表达式!1.非门口诀:输出与输入......
  • 线程池的运行逻辑与你想象的不一样,它是池族中的异类
    只要是web项目,程序都会直接或间接使用到线程池,它的使用是如此频繁,以至于像空气一样,大多数时候被我们无视了。但有时候,我们会相当然地认为线程池与其它对象池(如:数据库连接池)一样,要用的时候向池子索取,用完后归还给它即可。然后事实上,线程池独树一帜、鹤立鸡群,它与普通的对象池就是......
  • getcontext存的是哪个指令的地址?
    #include<stdlib.h>#include<ucontext.h>#include<stdio.h>intmain(){ucontext_tuc;inta=2,b=3;getcontext(&uc);printf("asdafa");intk=a/b;a+=b;setcontext(&uc);retur......
  • MySQL-06.索引的数据结构
    1.为什么使用索引索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中的索引也是一样的道理,进行数据查找时,首先查看查询条件是否命中某条索引,符合则通过索引查找相关数据,如果不符合则需要全......
  • 代码重构注意点及测试覆盖-复盘(公共通用逻辑修改需要注意点)
    1.sqlmap查询的字段是否是全部字段,在使用实体类对象的时候,需要判断是否正确的获取到数据。如果查询的是个别的字段,而使用的字段不在查询的字段中,就会无法获取到值。建议的做法:按中台的思路,提供的查询方法是大而全的方法。提供对业务的支持。2.测试的方法:查询数据提供了查库和查缓......
  • 本地部署Llama3-8B/72b 并进行逻辑推理测试
    美国当地时间4月18日,Meta开源了Llama3大模型,目前开源版本为8B和70B。Llama3模型相比Llama2具有重大飞跃,并在8B和70B参数尺度上建立了LLM模型的新技术。由于预训练和后训练的改进,Llama3模型是目前在8B和70B参数尺度上存在的最好的模型。训练后程序的改进大大降低了错误拒绝率,改善......
  • Random 项目总结 -设置按钮 设置数据库地址, 用户密码写入XML
    privatevoidbutton1_Click(objectsender,EventArgse){stringxmlpath=System.AppDomain.CurrentDomain.BaseDirectory+"setting.xml";XmlDocumentxmldoc=newXmlDocument();xmldoc.Load(xmlpath);......
  • 聚簇索引
    聚簇索引(ClusteredIndex)是一种特殊的索引结构,它与表的物理存储方式相关联,将数据行存储在索引的叶子节点中。在聚簇索引中,数据行的物理顺序与索引的逻辑顺序相匹配,因此可以加速范围查询和排序操作。在关系型数据库中,每张表可以有一个聚簇索引,该索引定义了表的物理存储顺序。当表......