博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件系统(File System)
阅读量:7281 次
发布时间:2019-06-30

本文共 1524 字,大约阅读时间需要 5 分钟。

什么是文件系统,引用百科解释:

  操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

文件系统是操作系统核心的组成部分,没有它我们无法完成对文件的增、删、改、查等基本操作

 

概念

  在了解文件系统之前我们需要了解一些基本概念

  • inode 索引节点 (index node)

  我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block)

  数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息

  在 Linux 中,元数据中的 inode 号才是文件的唯一标识而非文件名,文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块

  • block data(数据块)

    数据块即真正存储用户数据的地方

    每个数据块大小固定相等(1024或者4096)字节

    数据块中主要存储的数据是 文件、目录文件

  • dir_entry(目录结构 / 目录条目 / 目录文件)  

    目录结构实质也是一个数据块,该数据块类似于一个表格,记录当前目录下对应的文件名,和文件名对应的inode

  • block bitmap(块位图)

  在每个分区的数据的储存区是由一个又一个的数据块(data block)组成,在用户需要存储新的数据时需要遍历整个分区的数据块,这显然是非常耗时的,所以每个分区都存在一个快位图,每一个数据块在块位图中都存在一个标识符(1个bit),用于表示该块当前储存状态,在存入新数据时只需要遍历块位图就能快速找到空闲的数据块

  • inode bitmap(inode位图)

    inode在磁盘格式化完成后就已经完成分配,每个inode都有固定且唯一的ID

    inode_map中每一位对应一个inode节点,标识其是否可用,每一位占用一个字节

    inode_map大小通常与一个数据块的大小一样

  • block group(块组)

     文件系统将一个分区逻辑分成多个块组,每个块组都有其独立的 data block区、block bitmap、inode bitmap、inode区

    具体分为多少组取决于分区大小,以及每个数据块大小

    文件可以跨组保存

  • 超级块

    每个分区都有一个数据块来保存当前分区全局信息,每个块组中备份有一个

    超级块中描述了每个分区包含多少块组、每个块组包含多少块、每个块的大小、空闲磁盘块、引用磁盘块、空闲inode、引用inode

  • 块组描述符(GDT : group descrpition table)

      保存着当前分区有多少个块组,每个块组的起始位置

  • boot block (引导块)

    任何分区的第一个块是boot block , 不能被使用

    如果在当前分区装有操作系统,boot load 需要放在 boot block

    开机是由MBR调用

    

那文件系统又是如何查找文件的呢?

例如想要找到 /log/var/log/message 文件,如下图

找到根目录inode(自引用) -- 根目录数据块 -- var目录inode -- var目录数据块 -- log目录inode -- log目录数据块 -- message文件inode -- message文件

 

虚拟文件系统(VFS)

 

转载于:https://www.cnblogs.com/xiaoliwang/p/9001753.html

你可能感兴趣的文章
linux 命令
查看>>
Go Timer实现原理剖析(轻松掌握Timer实现原理)
查看>>
django 内置标签和过滤器
查看>>
mysql主从复制
查看>>
C++多态的概念
查看>>
关于中文乱码问题的一些解决方案和经验
查看>>
Cisco 交换机命令全集
查看>>
Why Namespace? - 每天5分钟玩转 OpenStack(102)
查看>>
review what i studied `date` - 2017-4-19
查看>>
linux系统中如何查看日志 (常用命令)
查看>>
Java IO与NIO 学习
查看>>
SSH登录的时候显示一些实用信息
查看>>
CentOS 7 安装 MySQL
查看>>
Cisco 无线AP 初始化配置WPA加密日记
查看>>
java最最基础的题目(满分100分,笔试,不可上机):
查看>>
5月第1周中国五大顶级域名净增6,103个 美国净减7万个
查看>>
12月第3周全球域名商新增注册量20强:易名夺冠
查看>>
js伪3D图片翻页特效,带缩略图可无限屏
查看>>
从ORACLE RAC角度看跨数据中心的存储双活配置注意事项
查看>>
【产品功能】配置网卡从此与关机无缘,弹性网卡支持热插拔功能
查看>>