文件管理---索引文件结构、位示图、树形目录结构

这篇具有很好参考价值的文章主要介绍了文件管理---索引文件结构、位示图、树形目录结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

操作系统文件管理

操作系统中对软件的管理就是对文件的管理(基本单位)

  • 逻辑结构:主要是概念当中的一些结构层次,主要有流式文件和记录式文件;
  • 物理结构:
    • 顺序文件结构:按照文件的逻辑顺序存储到物理结构当中,相当于给文件分配一个连续的存储空间,逻辑上是什么形式,物理上就是什么形式;
    • 链式文件结构:在存储空间分配时上不考虑连续空间,将文件和存储空间分成相同大小的物理块(页),在存储相应文件信息时,存储逻辑关系,上一个节点存储指向下一个节点的指针;
    • 索引文件结构:将所有文件划分成数据存储,并把它们存储的位置记录下来,类似于用一张表来记录文件存储所在的位置,线索式结构。

文件索引,架构,数据结构,数据结构

  • 索引文件在unix系统中,默认有13个索引结点,一般都不会多于13个索引结点;
  • 直接索引:索引结点(线索)---->地址指向----->物理块号,结点编号的直接指向物理块,物理块里存储的是文件本身(文件的逻辑页,文件的数据),在直接索引中索引编号是连续的,对应物理块中的逻辑页也是连续的,例如:0号索引编号对应物理块中0号逻辑页,1号对应1号…,直到9号直接索引结束;
  • 一级间接索引:索引结点(线索)---->一级间接索引表----->物理块号,结点编号不直接指向物理块,而是指向遗迹间接索引表,由一级间接索引表编号指向物理块;
  • 二级间接索引:索引结点(线索)---->一级间接索引表----->二级间接索引表----->物理块号,结点编号不直接指向物理块,而是指向两次间接索引表,经过两次间接索引表编号最后指向物理块;
  • 三级间接索引:索引结点(线索)---->一级间接索引表----->二级间接索引表----->三级间接索引表----->物理块号,结点编号不直接指向物理块,而是指向三次间接索引表,经过三次间接索引表编号最后指向物理块;

文件索引,架构,数据结构,数据结构

  • 文件在逻辑上一定是连续的,如图0—9,10—n+9,n+10…;在物理上可以是分散的,如图108、11、16、141、21、33、19、12、51…
  • 无论是索引块还是数据块大小一般都是固定的,如图上编号93就是索引块,对应的141到21也是索引块,数据块10号,根据不同的机器存在区别;而141、6、21、这种叫做地址项除一级索引外,一个索引块或者数据块存在多个地址项
  • 例如:上图,一个索引块、数据块是1KB,一个地址项是1B,那么一级索引指向的最后一个物理块是多少号,1KB/1B = 256;一级间接索引的物理块号从10开始,一级索引项有256个,一级间接索引的物理块号最后一个编号为:256+10-1=265,二级间接索引有2个索引盘,所以有256^2个索引项,编号从266开始到266 - 1 + 256^2;三级间接索引有3个索引盘,所以有 256^3 个索引项;
  • 直接索引访问一次磁盘(直接访问数据盘)就可以获取数据,一级间接索引访问二次磁盘(一次索引盘,一次数据盘)才可以获取到数据,二级间接索引访问三次磁盘(二次索引盘,一次数据盘)才可以获取到数据,三级间接索引访问四次磁盘(三次索引盘,一次数据盘)才可以获取到数据;
  • 索引结构表示的单个文件长度:所有物理块相加,

文件索引,架构,数据结构,数据结构
文件索引,架构,数据结构,数据结构

位示图

针对不同的文件,会把文件切割成多块后,分散分布存储在不同的物理块磁盘块中,而这些物理块、磁盘块中哪一些是空闲的可以用来分配存储的?对这些物理块、磁盘块的空间管理由多种方式:

  • 空闲区表法(空闲文件目录)
    将所有空闲空间按目录用一个表进行记录;
  • 空闲链表法
    以指针的方式,上一个节点保存着指向下一个节点指针;
  • 位示图法
    位指的是bit位,1位二进制,将磁盘上的存储空间罗列出来,用1位二进制(0、1)来表示它们是否空闲,0:空闲,1:已被占用;空闲空间被分配使用则改为1,回收被使用的磁盘块则把1改为0;
  • 成组链接法
    用成组链接的方式,将空闲的空间组合出来。

文件索引,架构,数据结构,数据结构

  • 位示图按字进行分组,根据不同的计算机,具体一个字多长,一个字占多少bit位也不同;
  • 位示图的分组,按字长多少,一个字占多少bit位进行分组;

文件索引,架构,数据结构,数据结构
文件索引,架构,数据结构,数据结构

如图所示:
图中有16个字,每个字占16位,且磁盘序号是从0开始的,如果要分配15号、32号磁盘,它们在第几个字的第几位了?

解题思路:

  • 首先判断磁盘块从第几号字的第几号位开始,且一字占几位,要分配的磁盘块是几号,磁盘号所在的实际位置;
  • 用1-开始的磁盘号就是磁盘号相差的实际存的位置,例如:从0号开始,那么1-0 = 1,那么15号实际上在16的位置,32号实际上在33号的位置,15和32只是按从0开始排的序号;
  • 如果要分配的磁盘块号 < 一字占位长,实际存在的位置:磁盘号+相差的实际存的位置 ,则从开始序号数到实际存在的位置查看所在字号和位号;(实际上是从0数数到16所排的序号15);
    如果要分配的磁盘块号 > 一字占位长,实际存在的位置:磁盘号+相差的实际存的位置 ,则该磁盘块号实际存在位置 / 一字占位长 = 商 和 余数;

15号磁盘块:因为磁盘块从第0号字的第0号位开始,序号和实际位置相差:1 - 0 ,实际位置:16,且一个字占16位,15<16,从0数到16所在的序号是15,所以在第0号字的第15位上;
32号磁盘块:因为磁盘块从第0号字的第0号位开始,序号和实际位置相差:1 - 0 ,实际位置:33,且一个字占16位,32>16,33/16 = 2 余 1,所以在2号字的1号位上;

文件索引,架构,数据结构,数据结构
文件索引,架构,数据结构,数据结构
第2048号磁盘块在几号字的几位上?
2048号磁盘块:因为磁盘块从第0号字的第0号位开始,序号和实际位置相差:1 - 0 ,实际位置:2049,且一个字占32位,2048>32,2049/32 = 64 余 1,所以在64号字的1号位上;

树形目录结构

文件索引,架构,数据结构,数据结构
树形目录结构(多级目录结构):文章来源地址https://www.toymoban.com/news/detail-804317.html

  • 主节点(根目录/),在unix系统中根目录用/表示且只有一个根目录,在window系统中理解为盘符D盘、E盘等等,中间节点和末尾的节点(叶子节点);
  • 绝对路径:从根目录开始,直到找到目标节点的路径
  • 相对路径:从当前所在节点的下一级节点开始,直到找到目标节点的路径
  • 相对路径打开文件的效率比绝对路径的高
  • 在系统中,整个文件完整的文件名:该文件的绝对路径 + 扩展名,如:/D1/W2/F2.txt;D:/D1/W2/F2.txt;
  • 树形目录结构允许文件在不同路径下同名,在相同路径下不允许同名,如图上的f1节点,

到了这里,关于文件管理---索引文件结构、位示图、树形目录结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux目录结构于文件管理(03)(五)

    目录 前言 一、系统信息修改 1、主机名 2、时间查看 3、显示输出系统信息 4、文件的详细属性查看 5、连接文件 6、生成指定容量的文件 二、内容统计于筛选 1、目录 2、文件 总结 今天是在前几天学习的基础上,又学习的一些新的内容,虽然同样是基础性的东西,但也是我们

    2024年02月11日
    浏览(33)
  • Linux目录结构与文件管理(01) (三)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、Linux 系统的组成 二、目录结构 根目录  三、文件管理 目录管理  总结 今天主要学习了Linux的目录结构,主要是一些命令的含义和用法,希望我的此篇文章内容对于刚接触Linux系统的人有

    2024年02月11日
    浏览(32)
  • Deepin_Ubuntu_查看树形目录结构(tree)

    Linux 系统( Deepin 、 Ubuntu )中,可以使用 tree 命令来查看树形目录结构,下面是一些示例: 查看当前目录的树形结构: 查看指定目录的树形结构,例如 /etc/X11/fonts 目录: 运行结果如下图 查看指定目录的树形结构,并限制显示的层级,例如只显示 /etc 的前两层: 查看指定目

    2024年01月21日
    浏览(37)
  • 【数据库】树形数据组织架构下的封锁并发控制,B树索引并发访问控制,树协议原理及案例分析

    ​ 专栏内容 : 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方便阶段学

    2024年02月04日
    浏览(41)
  • nginx简介与安装配置,目录结构和配置文件介绍,配置nginx的service管理

    目录 一.nginx简介 1.简介 2.特性 二.nginx安装 1.rpm包方式 (1)下载扩展源 (2)安装扩展rpm包,nginx -V查看配置参数,后面源码安装时要用到 (3)默认的配置文件位置和html存放位置 2.源码方式 (1)建议提前下好所需要的部分包 (2)下载tar.gz包 (3)建议将包解压到/usr/local

    2024年02月04日
    浏览(45)
  • (三)ElasticSearch核心知识理解(目录结构,索引,RESTful)

    bin:包含 Elasticsearch 的可执行文件,如 elasticsearch(用于启动 Elasticsearch)、elasticsearch-plugin(用于管理插件)等。 config:包含 Elasticsearch 的配置文件。 elasticsearch.yml:主要的配置文件,用于配置 Elasticsearch 的各种设置,如集群名称、节点设置、网络配置等。 jvm.options:用于配

    2024年02月11日
    浏览(49)
  • Linux:概述 、安装 、文件与目录结构 、vim编辑器 、网络配置 、远程登录 、系统管理 、基础命令 、软件包管理 、克隆虚拟机 、shell编程

    2.1.1、Linux是什么? Linux是一个操作系统(OS) 所谓的操作系统就是直接用来操作计算机底层硬件的软件。 2.1.2、Linux的出现 官网: https://www.centos.org/ 进入官网进行下载 有很多的镜像,以阿里云的为例: 3.3.1、下载 官网: https://www.vmware.com/ 这是下载的企业版,30天试用期,可

    2024年02月05日
    浏览(65)
  • Nginx日志管理、Nginx目录索引、Nginx状态监控、Nginx访问控制、访问限制

    目录索引模块简述 ngx_http_autoindex_module 模块处理以斜杠字符 (\\\'/\\\') 结尾的请求,并生成目录列表。 当 ngx_http_index_module 模块找不到索引文件时,通常会将请求传递给ngx_http_autoindex_module 模块。 配置 Nginx 默认是不允许列出整个目录浏览下载。 配置站点目录浏览功能 案例 自定

    2024年02月12日
    浏览(61)
  • Linux文件目录结构

    使用 Linux 时,通过命令行输入 ls -l / 可以看到,在 Linux 根目录(/)下包含很多的子目录(称为一级目录),例如 bin、boot、dev 等。同时,各一级目录下还含有很多子目录(称为二级目录),比如 /bin/bash、/bin/ed 等。Linux 文件系统目录总体呈现树形结构,/ 根目录就

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包