关于文件索引的一道习题

例:设文件索引结点中有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB。则可表示的单个文件最大长度是多少KB?

解:磁盘索引块为1KB字节,每个地址项大小为4字节,故每个磁盘索引块可存放1024/4=256个物理地址块。又因为文件索引节点中有8个地址项,其中5个地址项为直接地址索引,这意味着逻辑块号为0—4的为直接地址索引;2个地址项是一级间接地址索引,这意味着第一个地址项指出的物理块中存放逻辑块号为5—260的物理块号,第二个地址项指出的物理块中存放逻辑块号为261—516的物理块号;1个地址项是二级间接地址索引,该地址项指出的物理块存放了256个间接索引表的地址,这256个间接索引表存放逻辑块号为517—66052的物理块号(256*256=65536个)。单个文件的逻辑块号范围是0—66052,而磁盘数据块大小为1KB,所以单个文件最大长度为:66053KB。

时间: 2024-10-10 16:17:09

关于文件索引的一道习题的相关文章

试说明一级文件索引结构、二级文件索引结构是如何构造的。

一级文件索引(直接索引)结构中:在文件目录表项中有一组表项用于索引,每一个表项登记的是逻辑记录所在的磁盘块号.逻辑记录与磁盘块号的大小相等,都为512B. 二级文件索引(一级间接索引)结构中:文件目录中有一组表项,其内容登记的是第一级索引表块的块号.第一级索引表块中的索引表登记的是文件逻辑记录所在的磁盘块号. 补充: 三级文件索引(二级间接索引)结构中:文件目录项中有一组表项,其内容登记的是第二级索引表块的块号.第二级索引表块中的索引表项登记的是第一级索引表块的块号,第一级索引表项中登记的是文件

B树、B-树、B+树、B*树介绍,和B+树更适合做文件索引的原因

今天看数据库,书中提到:由于索引是采用 B 树结构存储的,所以对应的索引项并不会被删除,经过一段时间的增删改操作后,数据库中就会出现大量的存储碎片, 这和磁盘碎片.内存碎片产生原理是类似的,这些存储碎片不仅占用了存储空间,而且降低了数据库运行的速度.如果发现索引中存在过多的存储碎片的话就要进行 “碎片整理”了,最方便的“碎片整理” 手段就是重建索引, 重建索引会将先前创建的索引删除然后重新创建索引,主流数据库管理系统都提供了重建索引的功能,比如 REINDEX.REBUILD 等,如果使用的数据

Linux 文件索引(inode)

1.简介     ceph 文件系统中 接触太多 文件索引 的相关 操作,因此 还是 整理下 关于 Linux 文件索引 inode 相关知识(注意:本文 所描述的 都是 在同一个文件系统中,跨文件系统 情况 会有所不同)     1.1 inode     inode 也被称为 索引(表项),主要包含 如下一些信息 文件类型 权限 UID GID 文件大小 文件时间(三个时间属性) 删除时间 链接数(软链接.硬链接) 文件在磁盘的数据块位置信息 其它元数据信息     1.2 显示文件信息 1

GDAL1.11版本对SHP文件索引加速测试

GDAL库中对于矢量数据的读取中可以设置一些过滤器来对矢量图形进行筛选,对于Shapefile格式来说,如果数据量太大,设置这个过滤器时间慢的简直无法忍受.好在GDAL1.10版本开始支持读取Shapefile文件的空间索引文件(.sbn / .sbx)来进行加速.下面就同样的数据同样的代码来对GDAL1.9.0和GDAL1.11.0两个版本进行测试时间,比较下速度(看到结果你肯定会张大嘴巴的--). 首先是测试代码,功能很简单,两个shp文件,一个点文件,一个面文件.面文件很大,需要根据点文件

《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案

自己整理了一下,分享给大家,这些习题确实是非常经典的! 1.什么是绝对路径与相对路径? 绝对路径是相对于/目录的路径的,比如/home/user: 相对路径是相对于当前工作目录的,比如你的系统上有个/home/user/test目录,此时你在/home/user目录下,那么./test就是相对路径. 2.如何更改一个目录的名称?例如/home/test变为/home/test2. mv /home/test /home/test2 3.PATH这个环境变量的意义是什么? 这里先看一下PATH:

webstorm 很卡 scanning files to index (扫描文件索引)

webstorm 号称"前端神器",但npm导入包跑索引,会很卡不停的跑索引... 排除你不想索引的文件夹 找到你想排除的文件夹(主要是node_modulewe文件夹),右键选择 Mark Directory As > Excluded .然后重启webstorm 以下解决: 重启webstorm,发现又快起来了 .

linux中文件索引节点知识

概念 索引节点     inode表中包含了文件系统所有文件列表     一个节点是在一个表项里,包含文件数据(元数据).         1.文件类型,权限,UID,GID         2.链接数(指向这个文件名路径名称个数)         3.文件的大小和时间戳         4.指向磁盘上文件的指针         5.有关文件的其他数据         6.inode 索引节点编号 inode表结构      直接块指针:有12个块直接指向对应的数据单元,每个数据单元可以容纳4K

时序数据库 Apache-IoTDB 源码解析之文件索引块(五)

上一章聊到 TsFile 的文件组成,以及数据块的详细介绍.详情请见: 时序数据库 Apache-IoTDB 源码解析之文件数据块(四) 打一波广告,欢迎大家访问IoTDB 仓库,求一波 Star. 这一章主要想聊聊: TsFile索引块的组成 索引块的查询过程 索引块目前在做的改进项 索引块 索引块由两大部分组成,其写入的方式是从左到右写入,也就是从文件头向文件尾写入.但读出的方式是先读出TsFileMetaData 再读出 TsDeviceMetaDataList 中的具体一部分.我们按照读

关于一道习题的思考

K&R书中习题5-7为: 重写函数readlines, 将输入的文本行存储到由main函数提供的一个数组中,而不是存储到调用alloc分配的的存储空间中.该函数的运行速度比改写前快多少? 本人参考the C answer book中给出的解答,改写readlines, 经测试编译后与原程序在处理速度上没有差别. 一个是调用 malloc 动态分配内存,一个是用固定分配的内存,本来期望修改后程序的处理速度会大大提高.分析一下可知:sortline 程序最复杂的部分为文本排序,应占用大部分处理时间.