当前位置: 首页 > news >正文

4.文件系统

组成

Linux:一切皆文件

索引节点(I-node)

I-node(Index Node):文件系统的内部数据结构,用于管理文件的元数据和数据块。

  • 文件的元数据:包括文件的权限、拥有者、大小、时间戳、索引和指向数据块的指针等信息。
  • 是文件的唯一标识,与文件一一对应

V-node(Virtual Node):操作系统级别的数据结构,用于维护打开文件的状态和信息。

  • V-node包含了文件的描述符、权限、模式、文件位置指针等信息。
  • 每当一个文件被打开时,操作系统会为该文件创建一个对应的V-node,并将其与文件描述符关联起来。
  • V-node可以看作是操作系统维护的文件控制块,用于跟踪和管理打开的文件。

目录项

内核维护的数据结构,缓存在内存,不存放在磁盘

  • 包含文件或目录的元数据信息,如文件名、文件大小、文件类型、权限、创建时间、修改时间等。
  • 包含指向文件数据所在位置的指针或索引信息。
  • 记录与其他目录项的层级关联关系。

目录是文件系统中用于组织和管理文件的一种特殊类型的文件。

  • 目录可以包含一组目录项,每个目录项对应一个文件或子目录。
  • 目录项是文件系统中的逻辑概念,而目录是文件系统中的特殊文件。
  • 目录项用于描述文件和目录的元数据,而目录则用于存储目录项和维护文件系统的结构。

存储

连续空间存放

文件头(相当于i-node)指定起始块的位置、长度
磁盘空间碎片、文件长度不易拓展

非连续空间存放

隐式链表

每个数据块留出一个指针空间,易丢失

显式链表

指针存放在一个文件分配表(FAT)
在这里插入图片描述

索引

在这里插入图片描述

空闲空间管理

空闲表

在这里插入图片描述

空闲链表

在这里插入图片描述

位图

在这里插入图片描述

链接

硬链接是文件系统中一个文件的多个名称,它们共享相同的索引节点(inode)。

原始文件和硬链接之间没有明显的区别,它们都指向相同的数据和元数据,可以独立地访问和修改文件内容。删除其中任何一个硬链接或原始文件,并不会影响其他链接或文件。

软链接,也称为符号链接或软连接,是一个特殊类型的文件。

它的文件内容是另一个文件的路径,实际上是一个指向另一个文件或目录的快捷方式,类似于操作系统中的快捷方式或符号链接。软链接和目标文件或目录之间是独立的实体,它们具有不同的索引节点。

http://www.lryc.cn/news/90142.html

相关文章:

  • Shell脚本case in esac分支语句应用
  • 【线性dp必学四道题】线性dp四道经典例题【最长上升子序列】、【最长公共子序列】、【最长公共上升子序列(maxv的由来)】【最长公共子串】
  • 追寻幸福:探索幸福的关键特征和行为
  • Redis-02-集群
  • 【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第三章——MindSpore云上调试调优
  • python笔记17_实例演练_二手车折旧分析p2
  • android 12.0长按Power弹出关机对话框去掉屏幕截图和紧急呼救功能
  • 2023年下半年软考高级需要报班吗?
  • 使用WordPress提高企业敏捷性
  • SSM编程---Day 07
  • Seata术语
  • 【Axure教程】通过文本框维护下拉列表选项
  • 【C++】基础知识--输入/输出(5)
  • 经典文献阅读之--PIBT(基于可见树的实时规划方案)
  • SAP-MM-计算方案字段解析
  • go-gf框架两个表以事务方式写入示例
  • 2023-5-31第三十一天
  • 什么是MQTT?mqtt协议和http协议区别
  • 平台使用篇 | 批处理(bat)脚本使用教程(四)
  • 接口的讲解
  • G0第21章 :gin框架介绍、RESTful API、Gin渲染
  • python list,dict操作
  • 我有一个页面a,在页面a中调用了一个组件,然后组件中要切换页面a的一块区域,该怎么实现?
  • ChatGPT唤醒AI游戏:AIGC持续走深,游戏或成AI最佳抓手
  • 远程服务和web服务和前端,三方通过socket和websocket进行双向通信传输数据
  • Linux 网络基础(2)应用层(http/https协议、请求格式、响应格式、session、cookie、加密传输)
  • 解决sshfs挂载报错
  • 由于过多的连接错误而被 MySQL服务器 阻止
  • Go语言实现JDBC
  • ubuntu修改环境变量的几种方法