首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深入理解Linux文件系统之文件系统挂载(上)

,但是你有没有思考过:为什么块设备挂载之后才能访问文件?...2. vfs 几个重要对象 在这里我们介绍整个IO栈,只说明和文件系统相关vfs具体文件系统层。...文件系统分为以下几种: 1)磁盘文件系统 文件非易失性存储介质上(如硬盘,flash),掉电文件丢失。 如ext2,ext4,xfs 2)内存文件系统 文件在内存上,掉电丢失。...) //创建mount实例 关联挂载超级块 添加到命名空间挂载树中 下面主要看下vfs_get_treedo_new_mount_fc: 4.具体文件系统挂载方法 1)vfs_get_tree...: 1.读取磁盘上超级块; 2.填充并关联vfs超级块; 3.读取块组描述符; 4.读取磁盘根inode并建立vfs 根inode; 5.创建根dentry关联到根inode

1.7K10

文件系统

提供便利及特征 保护: 分层来保护数据安全 可靠性,持久性: 保持文件持久即使发生崩溃,媒体错误,攻击等 文件块: 文件属性: 名称,类型,位置,大小,保护,创建者,创建时间,最久修改时间…...用户视图: 持久数据结构 3_2. 系统访问接口 字节集合(UNIX) 系统不会关心你想存储盘上任何数据结构 3_3....操作系统内部视角: 块集合(块是逻辑转换单元,而扇区是物理转换单元) 块大小 扇区大小: UNIX中, 块大小是 4KB 当用户说: 给我2-12字节空间时会发生什么?...允许用户指定相对路径来代替绝对路径 一个文件系统需要先挂载才能被访问 一个挂载文件系统被挂载挂载点上 文件别名 两个或多个文件名关联同一个文件: 硬链接: 多个文件项指向一个文件 软链接: 以快捷方式指向其他文件...”0”之前需要扫描 磁盘上数据块总数 (n)/ 空闲数目(r) 这个管理空闲空间数据块空间 是需要保护: 指向空闲列表指针 位图: 必须保存在磁盘上; 在内存磁盘拷贝可能有所不同; 不允许

6310
您找到你想要的搜索结果了吗?
是的
没有找到

Linux文件系统 | 知识要点总结

由于有很多不同实现,应用程序需要一种方法来处理不同操作。因此,有一种东西叫做虚拟文件系统抽象层。它是应用程序不同文件系统类型之间一层,因此无论拥有什么文件系统,你应用程序都能够使用它。...你盘上可以有许多文件系统,这取决于它们是如何分区。 Linux系统中日志记录 大多数文件系统类型上,日志记录是默认,但是为了以防万一,你应该知道它是做什么。...常见桌面文件系统类型 ext4:这是本地Linux文件系统最新版本。它与旧ext2ext3版本兼容。它支持高达10亿字节磁盘卷高达16TB甚至更多文件大小。...你可以一个磁盘上有多个分区,它们不能相互重叠。如果有未分配给分区空间,则称为空闲空间。分区类型取决于你分区表。...如果你有多个分区,它们将有引导块,但其中许多是使用。 超级块:这是引导块之后单个块,它包含关于文件系统信息,例如inode大小、逻辑块大小和文件系统大小。

68930

xv6(9) 文件系统理论部分

不论是普通文件,目录,块/字符设备,网络设备套接字等等,对于 $Linux$ 来说都是文件,虽然它们类型不同,但是 $Linux$ 系统为它们提供了一套统一接口来统一对待统一操作。...本文聊那么多种文件,只来说说存储盘上文件,文件要存储盘上关键问题是记录各个文件分别用到哪些磁盘块,一般有着以下一些方法。...EXT2 来看一个具体文件系统 EXT2,捋一捋上面所讲知识点,看看 EXT2 这种文件系统盘上是怎么布局。...目录就是一张表,里面存放是目录项,主要有 3 个属性:文件名、 inode 编号,文件类型inode 包含了一个文件绝大部分信息,但是并没有包含文件名,这属性是目录项这儿指出。...记住 CPU 是不能磁盘直接交换数据,直接与 CPU 打交道是内存,所以要对磁盘上文件做什么操作都是要先读取到内存,在内存中操作完之后同步到磁盘。

27510

Linux:基础IO(二.缓冲区、模拟一下缓冲区、详细讲解文件系统)

下面我将简要解释它们含义作用: 磁道:硬盘盘片表面被划分成多个同心圆环,每个环称为一个磁道,每一个都有自己编号。磁道是硬盘上存储单位之一,数据磁道上被存储组织。...当数据被写入硬盘时,它会被分割成适当大小扇区,并存储硬盘不同扇区中。 柱面:硬盘上每个盘片都有多个磁道,而所有盘片上相同位置磁道组成一个柱面。...记录信息主要有:bolck inode总量,使用blockinode数量,一个blockinode大小,最近一次挂载时间,最近一次写入数据时间,最近一次检验磁盘时间等其他文件系统相关信息...更新inode位图块位图:将文件inode和数据块对应位图中相应位标记为使用状态,以释放这些资源。 这里我们看到不对数据块里内容进行清理,只是标志为使用(这样效率更快)。...是一系列 Linux 文件系统,最常见Ext2、Ext3 Ext4 每一个分区有自己文件系统。

15010

Linux文件系统详解

Linux上文件系统一般来说就是EXT2或EXT3,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立基础——硬盘开始,一步步认识Linux文件系统。...(现在SSD闪存从概念逻辑上部分继承自机械硬盘,所以使用机械硬盘来进行理解也是没有问题)机械硬盘能实现信息存储功能基于:磁性存储介质能够被磁化,且磁化后会长久保留被磁化状态,这种被磁化状态能够被读取出来...普通文件(-) 从Linux角度来说,类似mp4、pdf、html这样应用层面上文件类型属于普通文件Linux用户可以根据访问权限对普通文件进行查看、更改删除目录文件(d,directory file...有什么机制善后吗?)每个块组实际还会分为分为6个部分,除了inode table data block外还有4个附属模块,起到优化完善系统性能作用所以整个分区大概会这样划分:?...号码, 至于inode bitmap 则是记录使用与使用inode 号码5.挂载一个区被格式化为一个文件系统之后,它就可以被Linux操作系统使用了,只是这个时候Linux操作系统还找不到它,所以我们还需要把这个文件系统

6.2K32

磁盘移动存储常用命令

,默认ext2 # 询问分区位置起始点,指的是从第几MB开始,输入0 (4K对其) # 询问分区位置结束点,指的是到第几MB结束,比如想给它2G,即给2048 # 可能会出现一个"对齐"错误提示...resize2fs 命令 描述:该命令用来增大或者收缩未加载ext2/ext3/ext4文件系统大小,常常用在LVM逻辑卷划分; 注意事项: 如果文件系统是处于mount状态下,那么它只能做到扩容前提条件是内核支持在线...,用于打印“ext2/ext3”设备文件系统中超级块块组信息。...检测之前可以先使用dmesg命令查看有没有硬件I/O故障日志,如果有先用fsck看看是不是文件系统有问题,如果不是则可以使用下面介绍硬盘检测优化方法来修复它。...#当类型为"p"时可不指定主设备号次设备号,否则它们是必须指定

2.4K10

图解 | 计算机文件系统

这些文件硬盘看来,就是一堆二进制数据而已 ? 你准备把这些文件存储盘上,并在需要时候读取出来。 要设计怎样软件,才能更方便地硬盘中读写这些文件呢?...不行,得有一个地方记录,现在可使用块有哪些,像这样。 块 0:使用 块 1:使用 块 2:使用 块 3:已使用 块 4使用 ......既然 inode 中记录了文件所在块号,为什么扩展一下,多记录几块呢? ? 原来 inode 中只记录了一个块号,现在扩展一下,记录 8 个块号!而且这些块不需要连续。 ?...你是不是觉得这没啥了不起。 但这个破玩意,它就叫文件系统 后记 这个文件系统, linux 上经典文件系统 ext2 基本相同。...5. ext2 文件系统超级块、块描述符、inode 表中记录信息更多,但核心和我们文件系统一样,而且这些字段在后续 ext3 ext4 中不断增加,保持向前兼容。

61520

Linux知识体系之磁盘与档案系统管理

首先,硬盘里一定会有所谓磁头(Head)进行该硬盘上面的读写动作,而磁头是固定在机械手臂上,机械手臂上有多个磁头可以进行读取动作。...而当磁头固定不动,硬盘转一圈所画出来圆就是所谓磁道(Track)。而一个硬盘中可能具有多个硬盘盘,所有硬盘盘上相同半径那一个磁道就组成了所谓柱(Cylinder)。 ?...3inode   当我们要将一个partition格式化(format)为ext2时,就必须要指定inode与Block大小才行。...inode除了记录档案属性以外,同时还具有指向功能,指向档案内容防止区域,好让操作系统可以正确取得档案内容。 ?   ...4、Linux 档案系统运作:   整个ext2/ext3数据存取是透过journal与metadata还有数据存放区在记录

95650

【Linux】《how linux work》第四章 磁盘和文件系统

分区是整个磁盘子分区。 Linux上,它们以整个块设备后面的数字表示,因此具有设备名称,如/dev/sda1/dev/sdb3。 内核将每个分区呈现为块设备,就像它对待整个磁盘一样。...硬盘也例外;即使你可以将硬盘视为具有对任何块随机访问块设备,但如果你盘上数据布局上不小心,会导致严重性能后果。 考虑图4-3所示简单单盘硬盘物理特性。...就像 SCSI 子系统标准化不同设备类型内核控制命令之间通信一样,VFS 确保所有文件系统实现支持标准接口,以便用户空间应用程序以相同方式访问文件目录。...扩展文件系统系列具有一定向后兼容性。 例如,您可以将ext2ext3文件系统挂载为彼此,也可以将ext2ext3文件系统挂载为ext4,但不能将ext4挂载ext2或ext3。...不过,您可能希望 ext2 模式下挂载已损坏 ext3 或 ext4 文件系统,因为内核不会挂载日志不为空 ext3 或 ext4 文件系统。

9210

磁盘移动存储常用命令

,默认ext2 # 询问分区位置起始点,指的是从第几MB开始,输入0 (4K对其) # 询问分区位置结束点,指的是到第几MB结束,比如想给它2G,即给2048 # 可能会出现一个"对齐"错误提示...resize2fs 命令 描述:该命令用来增大或者收缩未加载ext2/ext3/ext4文件系统大小,常常用在LVM逻辑卷划分; 注意事项: 如果文件系统是处于mount状态下,那么它只能做到扩容前提条件是内核支持在线...,用于打印“ext2/ext3”设备文件系统中超级块块组信息。...检测之前可以先使用dmesg命令查看有没有硬件I/O故障日志,如果有先用fsck看看是不是文件系统有问题,如果不是则可以使用下面介绍硬盘检测优化方法来修复它。...#当类型为"p"时可不指定主设备号次设备号,否则它们是必须指定

2.8K20

看完这篇,你应该就知道什么是Linux了~

EXT2或EXT3,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立基础——硬盘开始,一步步认识Linux文件系统。...(现在SSD闪存从概念逻辑上部分继承自机械硬盘,所以使用机械硬盘来进行理解也是没有问题) 机械硬盘能实现信息存储功能基于:磁性存储介质能够被磁化,且磁化后会长久保留被磁化状态,这种被磁化状态能够被读取出来...普通文件(-) 从Linux角度来说,类似mp4、pdf、html这样应用层面上文件类型属于普通文件 Linux用户可以根据访问权限对普通文件进行查看、更改删除 1.2....有什么机制善后吗?) 每个块组实际还会分为分为6个部分,除了inode table data block外还有4个附属模块,起到优化完善系统性能作用 所以整个分区大概会这样划分: ?...4K block 大小 3. superblock 记录整个文件系统相关信息地方,一般大小为1024bytes,记录信息主要有: block 与inode 总量 使用与已使用inode /

76221

Linux磁盘及文件系统管理

文件系统:主要类型有,"ext(2,3,4)", "xfs", "ffs", "ufs", "reiserfs", "jfs", "vfat(fat32)", "ntfs" 计算机文件系统是一种存储组织计算机数据方法...写入新数据之前,用户不必关心硬盘上那个块地址没有被使用,硬盘上存储空间管理(分配释放)功能由文件系 统自动完成,用户只需要记住数据被写入到了哪个文件中。...包括blockinode总量、数量、大小(block为1,2,4K,inode为128 Bytes);mount、fsck时间;文件系统状态;块组信息;日志信息;别名信息。...5、块位图(Block Bitmap):记录block状态,0为空闲可用,1为非空闲不可用。...6、Inode位图(Inode Bitmap):与块位图一样,记录Inode状态,0为空闲,1为非空闲

2.2K30

linux 磁盘管理

首先,Linux将所有的硬件设备当做文件来处理,因此当使用光驱等硬件设备时,必须将其挂载到系统中,只有这样Linux才能对磁盘上面的文件进行操作。...细讲磁盘分区: MBR模式分区规则 1.一块磁盘上主分区扩展分区个数总和不能超过4个 2.一块磁盘上最多只能有1个扩展分区 3.扩展分区中可以创建逻辑分区,个数限制视磁盘类型而定 操作: lsblk...细讲格式化: 格式化,又称逻辑格式化,它是根据用户选定文件系统(如EXT2,EXT3,EXT4,NTFS,FAT32)磁盘特定区域写入特定数据,分区中划分出一块存放文件分配表,目录表等用于文件管理磁盘空间...-p: 自动修复错误 -r: 交互式修复错误 FS_TYPE一定要与分区上已经文件类型相同 • e2fsck:ext系列文件专用检测修复工具 -y:自动回答为yes -f:强制修 fsck...-r: readonly,只读挂载;     -w: read and write, 读写挂载;     -n: 更新/etc/mtab;      -a:自动挂载所有支持自动挂载设备;(定义了/

6.9K30

低调 Linux 文件系统家族

/cxuan/xxx Linux 文件系统区分磁盘,这是什么意思呢?...Linux 虚拟文件系统 为了能够使应用程序能够不同类型本地或者远程设备上文件系统进行交互,因为 Linux 当中文件系统千奇百种,比较常见有 EXT3、EXT4,还有基于内存 ramfs、...i-node 索引节点,包含了每一个文件描述符。 ❝ Linux 中,目录设备也表示为文件,因为它们具有对应 i-node ❞ 超级块索引块所在文件系统都在磁盘上有对应结构。...Ext4 文件系统被设计用来高度匹配 ext2 ext3 文件系统,尽管 ext4 文件系统在内核数据结构磁盘布局上都做了变更。...尽管如此,一个文件系统能够从 ext2 文件系统上卸载后成功挂载到 ext4 文件系统上,并提供合适日志记录。 日志是作为循环缓冲区管理文件。日志可以存储与主文件系统相同或者不同设备上。

98840

Linux 文件系统详解

,需要把这些接口抽象一下,形成一个统一对外接口,这样,不管你是什么硬盘,什么驱动,对外而言,它们所提供IO接口没什么区别,一视同仁被看作块设备来处理。...支持最大 16TB 分区最大 2TB 文件 Ext4 是 Ext3 文件系统升级版。Ext4 性能、伸缩性可靠性方面进行了大量改进。...Ext4 变化可以说是翻天覆地,比如向下兼容 Ext3、最大 1EB 文件系统 16TB 文件、无限数量子目录、Extents 连续数据块 概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验...硬连接源文件具有相同 inode 。 数据块(Block) :实际记录文件内容,若文件太大时,会占用多个 block。...它们各自特点是: 硬连接:原文件名连接文件名指向相同物理地址。

10.4K20

简直不要太硬了!一文带你彻底理解文件系统

因此,具有 1KB 块盘上,将为 50 KB 文件分配 50 个连续块。 ? 上面展示了 40 个连续内存块。从最左侧 0 块开始。初始状态下,还没有装载文件,因此磁盘是空。...到目前为止,我们已经假设文件具有较短、固定长度名字。 MS-DOS 中,具有 1 - 8 个字符基本名称 1 - 3 个字符可拓展名称。...在这种设计中,inode 甚至具有与 UNIX 中相同结构,但是现在它们分散整个日志中,而不是位于磁盘上固定位置。所以,inode 很定位。...当已达到硬限制时,再往文件中添加内容将引发错误。同样,对文件数目也存在类似的检查什么是硬限制软限制?硬限制是软限制上限。软限制是为会话或进程实际执行限制。...Linux 文件系统(特别是 ext2 ext3)由于其选择磁盘块方式,磁盘碎片整理上一般不会像 Windows 一样困难,因此很少需要手动磁盘碎片整理。

54610

文件系统考古:1974-Unix V7 File System

当我们执行挂载(mount)系统调用时,系统会找到一个空闲挂载结构(mount structure),并且从磁盘上读取超级块,把它作为挂载结构一部分。...它包含一个 short 类型字段,用于存储一个索引节点数组(inode array)盘上位置。...; (4字节)size,文件长度,以字节为单位(定义为 off_t,长整型); (40字节)addr 数组,包含了文件数据块盘上地址; (3x 4字节)三个时间,atime(访问时间),mtime...Atomic writes 文件写入是加锁状态下进行,因此它们始终具有原子性。即使是跨越多个数据块写入操作,也是如此。这一点 But Is It Atomic? 中有详细讨论。...稍后一篇文章中,我们将会了解到关于BSD快速文件系统,如何更好地布局磁盘上数据,如何实现更长文件名、更多inode,以及如何通过考虑磁盘物理特性来加快速度。

22430

操作系统基础 - 文件系统

我们可以从两个角度来看待文件系统: 文件系统数据结构是怎么组织,文件数据元数据盘上是怎么存放? 访问文件系统方法,当我们打开、读取或写入一个文件时,需要读写哪些数据结构?...我们有时候会遇到文件系统报磁盘满了错误,而通过df命令却看到磁盘空间还很空闲情况,这是因为i节点用完了。像是ReiserFS之类文件系统是动态分配i节点它们不会出现这种情况。...大体来说,fsck会尝试扫描以下内容: 超级块:如果超级块损坏,会尝试使用副本 空闲数据块是否与i节点block指针一致 i节点状态链接数 是否有不同i节点指向同一个数据块 i节点block是否指向不合法磁盘地址...目录项检查:比如是否包含了......writeback,类似metada journaling,但是它不保证步骤12顺序,因此数据块中可能是老初始化数据(即数据一致性中场景2),建议使用。

1.2K10

详解Linux文件系统:ext4及更高版本

随着时间推移,由于碎片(单个文件存储多个位置,物理上其分散旋转盘上),它们也遭受了严重性能损失。...即使严格来说,写不是事务性,但如果文件关闭后发生崩溃,则丢失数据风险很小。 如果写入不成功(由于程序上错误、磁盘上错误、断电等),文件原始版本较新版本都可能丢失数据或损坏。...对日志进行校验允许文件系统崩溃后第一次挂载时意识到其某些条目是无效或无序。因此,这避免了回滚部分条目或无序日志条目的错误,并进一步损坏文件系统 —— 即使部分存储设备假做或遵守写入障碍。...快速文件系统检查 ext3 下, fsck 被调用时会检查整个文件系统 —— 包括已删除或空文件。相比之下,ext4 标记了 inode 表未分配扇区,从而允许 fsck 完全跳过它们。...ext2 有一个包含实用程序 e2defrag,它名字暗示 —— 它需要在文件系统挂载时脱机运行。(显然,这对于根文件系统来说非常有问题。)

4.3K52
领券