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

Linux文件系统之 — 通用块处理层

概述 由于不同块设备(如磁盘,机械硬盘等)有着不同的设备驱动程序,为了让文件系统有统一的读写块设备接口,Linux实现了一个 通用块层。如下图中的红色部分: ?...通用块层 的引入为了提供一个统一的接口让文件系统实现者使用,而不用关心不同设备驱动程序的差异,这样实现出来的文件系统就能用于任何的块设备。...如下图: 注意:不同的文件系统可能对逻辑数据块定义的大小不一样,比如 ext2文件系统 的逻辑数据块大小为 4KB。 ?...字段指定了要读写的数据块号,而 b_size 字段指定了数据块的大小。...所以在进行IO操作前,必须将数据块号转换成真正的扇区号,而代码 bh->b_blocknr * count 就是用于将数据块号转换成扇区号。

2.4K40

linux 创建虚拟块设备,制作文件系统并挂载,用于测试lustre

每个设备可虚拟一个块设备。注意只有超级用户才有权限设置回环设备。 回环设备的使用与其它任何块设备相同。特别是,你可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载在系统中。...VFS 通常另有所指,如指代 Linux 内核中有关文件系统抽象的代码层次等)。 1. 什么是loop设备?...这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。...2. loop设备的使用 一般在linux中会有8个loop设备,一般是/dev/loop0~loop7,可用通过losetup -a查看所有的loop设备,如果命令没有输出就说明所有的loop设备都没有被占用.../var/loop.img 3)通过lsblk查看刚刚创建的块设备 lsblk |grep loop0 losetup -a 4)当然,你也可以将这个块设备格式化并创建其他的文件系统,然后再mount

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

    Linux文件系统

    文件系统 磁盘 磁盘的物理结构 磁盘的储存结构 磁盘的逻辑结构 文件系统 分治 inode与数据块 软硬链接 什么是软硬连接 文件与引用计数 文件的三大时间 动静态库 什么是库 库的使用 静态库...一面是:10*100 假如说下标为123: 123/100在一号磁道 C 123/1000在第0面 H 123%100在23号扇区 S 这就是CHS方法。...Super Block:超级块对象,保存的是整个文件系统的信息。 如果想清空哪个盘里面的所有数据内容,其实就相当于重写文件系统。一个磁盘,第一步是分区,第二部就是格式化,也就是写入文件系统。...文件系统的信息有分区的使用状态,分区的每个组的状态和信息。 既然这么重要,为何放在这里呢?其实在大部分文件系统中,块组前几个开头就是Super Block,这就相当于备份。...inode与数据块 文件 = 内容 + 属性 Linux中,文件的属性和内容是分批存储的。 保存文件属性的叫inode块:具体大小跟文件系统的版本有关,我的是ext3,128字节。

    12.6K00

    linux文件系统

    Linux是一个基于Unix的操作系统,具有强大的文件系统功能。Linux文件系统是在硬盘上组织和存储数据的一种结构,通过文件系统可以管理文件、目录、权限等信息。...在Linux中,文件系统被组织成一个树形结构,称为文件系统层次结构(Filesystem Hierarchy Standard,FHS),该标准规定了Linux操作系统中各级目录的名称和用途,使得Linux.../proc /proc目录是Linux系统中一个特殊的目录,用于提供进程和系统信息的虚拟文件系统。.../dev /dev目录是Linux系统中用于存放设备文件的目录,这些文件用于与系统硬件设备的通信。例如/dev/sda表示第一块硬盘,/dev/tty表示终端设备等。.../mnt /mnt目录是Linux系统中用于挂载文件系统的目录,通过挂载可以将其他文件系统的内容挂载到/mnt目录下,使得这些文件系统可以被访问。

    8.8K00

    【Linux】文件系统

    在每个分区内部分组,然后写入文件系统的管理数据,称之为格式化!!! Linux 文件系统特定: 文件属性 与 文件内容 分开存储。...里面储存着非常多的数据块( 都有对应的块号),每个数据块只存储文件的内容。...inode 表 : 存放文件属性 如 文件大小,所有者,最近修改时间等 Linux中文件的属性是大小固定的集合体(一般固定128字节) 不包含文件名,但是都有inode_number,通过inode号来标识一个文件...int datablocks[N] } 其中的datablocks[N]用来储存使用了哪些数据块(通过块号来储存)。但是N一般是15,想要储存一个大文件是怎样储存的呢?...也有对应块号。这样就能找到文件的内容。 inode 表中的datablock[N]通常只有15容量,那是怎样储存大文件的呢?

    11610

    【Linux】文件系统

    上一篇博客:【Linux】磁盘结构和文件系统 Group中的组成部分 下面是每个group的组成部分,但是super block不是每个组都有的,这个点后面详谈。...inode table inode table 是 Linux 文件系统(如 Ext2、Ext3、Ext4)中用于存储 inode 的一张表格。...在 Linux 文件系统(例如 Ext2、Ext3、Ext4)中,inode bitmap 是块组元数据的一部分,用来跟踪某个块组内 inode 的使用情况。...block号,我们也只需要记录每个组的起始位置的号,这个信息一般记录在GDT当中,当我们查找一个文件的时候,只需要拿到给定的inode,然后拿着这个inode在GDT中查找这个inode是属于哪个分组的...inode编号和块号都是全局建立的 inode和block是如何映射的? inode当中有15个指针映射到block当中,但是15个够吗?

    13310

    【Linux】文件系统

    ,就能管理好每一个分区,这里用了分治的思想 02.文件系统 上面的逻辑图与之对应 文件 = 内容 + 属性 文件在磁盘存储,本质是文件的内容+文件的属性数据,Linux文件系统特定:文件内容和文件属性分开存储...,块位图的位置代表块号,在文件系统的块位图中,每一位的位置对应一个具体的数据块,通过该位置的索引值,我们可以确定对应的数据块的块号,内容表示该块是否被占用(0/1) i节点表(inode Table...文件系统是一个独立的区域,它有自己的结构,包括 inode 表、数据块、块位图等。 inode 编号与文件系统分区的关系 在每个文件系统中,inode 编号是从文件系统的 inode 表中分配的。...inode与文件名的映射 在 Linux 文件系统中,文件名 和 inode 之间的映射关系是通过 目录项(directory entry) 来建立的。...找到 inode 号后,操作系统就可以通过该 inode 获取文件的元数据(如大小、权限、数据块位置等)。

    10010

    linux文件系统

    Linux 文件系统 操作系统中,用来管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。...RAW RAW文件系统是一种磁盘未经处理或者未格式化产生的文件系统。...一般来说有这几种可能造成正常文件系统变成RAW文件系统: 没有格式化 格式化中途取消 硬盘出现坏道 硬盘出现不可预知的错误 EXT EXT是扩展文件系统,目前最新的版本是5.0....HFS(+) 苹果电脑上的文件系统。 Linux里的文件系统 不同于Windows系统有盘符的概念(C盘、D盘等),Linux里只有一个盘符,是从 " / " 开始的,只有它是没有上级目录的。.../media Linux系统自动识别的一些设备,比如U盘、光驱等,当识别后,linux会把识别的设备挂载到这个目录下。

    7.3K30

    Linux文件系统

    Linux文件系统 在Linux系统中所有的设备都统称为文件,所以同样必须要去学习下linux文件系统到底是何物??? 进入系统后我们使用命令ls -ll 就可以查看根目录下所有文件的信息 ?...二进制文件:linux中可执行文件(命令) ? 数据格式文件(一种特殊的文件 data) ? 2、d目录文件 ls -ld 可以显示所有目录文件 3、b块设备文件 ?...二:文件的扩展名 同样linux系统中的文件也有扩展名,不过意义不大,只是为了区分不同的文件 linux中常见的扩展名类型有以下几种: 1、.tar .tar.gz .tgz .zip 这类表示压缩文件...Inode:索引节点,linux中存储设备或分区被格式化为文件系统后,一般都会分成二个部分,第一部分就是inode,第二部分为block,inode存储的是文件的属性信息,我们可以使用ls -i查看Inode

    9.8K40

    linux文件系统

    Linux 文件系统是 Linux 操作系统中的重要组成部分,它是文件和目录的组织方式,为用户提供了一个良好的管理和访问文件的方式。...Linux 文件系统具有以下特点:一切皆文件:在 Linux 文件系统中,一切都被视为文件,包括硬件设备、目录、文件、管道等等。这种一切皆文件的思想使得 Linux 文件系统非常灵活。...Linux 文件系统层次结构Linux 文件系统层次结构定义了一组标准目录和文件,使得用户和程序员可以更容易地找到和管理文件。这些目录和文件通常被存储在根目录下。...Linux 文件系统格式Linux 文件系统可以使用多种格式来存储数据,包括 ext2、ext3、ext4、ReiserFS、XFS等。...以下是一些常见的 Linux 文件系统格式:ext2:是 Linux 文件系统的最早版本,它是一个简单的文件系统,不支持日志和数据恢复功能。

    8.7K40

    【linux学习指南】Ext系列文件系统(二)引⼊⽂件系统“块“&&分区&&inode概念

    知道LBA:块号=LBA/8 知道块号:LAB=块号*8+n....注意: Linux下⽂件的存储是属性和内容分离存储的 Linux下,保存⽂件属性的集合叫做inode,⼀个⽂件,⼀个inode,inode内有⼀个唯⼀的标识符,叫做inode号 所以⼀个⽂件的属性inode...在Ext系列文件系统中块的组织和查找 块的组织 在Ext文件系统中,块不是随意排布的。分区被划分为多个块组(Block Group)。...数据块用于存储文件的数据内容。块的大小是在文件系统创建时确定的,常见的块大小有1KB、2KB、4KB等。 块的查找 当需要查找一个文件的数据块时,首先要通过文件的inode来获取相关信息。...Ext系列文件系统中inode的放置 在Ext文件系统中,inode存储在inode表中。每个块组都有自己的inode表。

    10310

    文件系统和裸块设备的page cache问题

    Linux内核之旅 | 阿克曼 普通文件的address space 文件系统读取文件一般会使用do_generic_file_read(),mapping指向普通文件的address...//此处省略约200行} 块设备的address space 但是在读取文件系统元数据的时候,元数据对应的page会被加入到底层裸块设备的address space中。...下面代码的bdev_mapping指向块设备的address space,调用find_get_page_flags()后,一个新的page(如果page不在这个块设备的address space)就被创建并且插入到这个块设备的...文件系统在块设备上欢快的跑着,如果有人绕过文件系统,直接去操作块设备上属于文件的数据块,这会出现什么情况?...答案是直接修改块设备上块会新建一个对应这个块的page,并且这个page会被加到块设备的address space中。

    1.6K10

    linux伪文件系统

    在 Linux 系统中,除了普通的文件系统外,还存在一些伪文件系统,也称为虚拟文件系统或特殊文件系统。...这些文件系统不是真正的物理存储设备,而是一些特殊的文件和目录,它们提供了对系统资源的访问接口,如内存、进程、网络等。本文将介绍常见的 Linux 伪文件系统及其作用。...为了解决这个问题,Linux 内核引入了 /run 文件系统,它是一个临时文件系统,用于存储系统运行时的各种信息,如进程 PID 文件、服务套接字文件等。...为了避免将这些临时文件放在普通的文件系统中,占用过多的存储空间,而且会对文件系统的性能产生影响,Linux 系统引入了 /tmp 文件系统。...在 Linux 系统中,共享内存是一种高效的进程间通信方式,它可以让多个进程共享同一块内存区域,从而避免了数据复制和进程切换的开销。

    6.1K50

    linux之文件系统

    文件系统 文件系统是操作系统用于明确磁盘或者分区上相关文件的方法和数据结构,通俗的说法就是在磁盘上组织文件的方法。...linux有很多不同的文件系统,例如ext2、ext3、ext4、zfs、iso9660、vfat、msdos等等。...文件系统虽然多种多样,但是大部分linux系统都具有类似的通用结构,包括超级块(superblock)、i节点(inode)、数据块(datablock)、目录块(directory block)等。...在完成磁盘分区后,需要进行创建文件系统的操作,最后将分区挂载到系统中的某个挂载点才能使用。 创建文件系统 创建文件系统可以利用fdisk来创建。如果系统已经创建好了文件,则显示的是创建好的文件系统。...利用创建文件系统的格式,利用 mkfs.ext3 /dev/sdb1创建新的文件系统。其中ext3是文件系统格式。

    4.6K20

    Linux文件系统类型

    这个过程就叫建立文件系统 种类: 1 ext2与ext3是linux专门设计的硬盘文件系统一般称为扩展文件系统。Ext3增加了日志记录功能。...fdisk 分区在终端会显示打印信息 mkfs.ext4 /dev/XXX sfdisk [options] device 可以直接执行分区 2 swap文件系统 用于linux的交换分区,用来提供虚拟内存...由操作系统自行管理 3 vfat 是linux对DOS,windows系统下的FAT文件系统的一个统称 4 NFS文件系统 即网络文件系统,用于系统间通过网络进行文件共享, 不能建立在flash上,...-m 最小的I/O操作的大小 -e 擦除块的大小 -p 物理擦除块的大小 -c 最大逻辑擦除块的数量 -o 最终制作成的根文件镜像的文件名 8、yaffs文件系统 YAFFS/YAFFS2是一种和JFFSx...此外,YAFFS自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。

    7.5K20

    linux overlay文件系统

    一个 overlay 文件系统包含两个文件系统,一个 upper 文件系统和一个 lower 文件系统,是一种新型的联合文件系统。...文件树结构如下: 1、在一个支持 overlay文件系统的 Linux (内核3.18以上)的操作系统上一个同级目录内(如/root下)创建四个文件目录 lower 、upper 、merged 、work...Filesystem Size Used Avail Use% Mounted on overlay 20G 13G 7.8G 62% /root /merged 作用 Linux Overlay文件系统的作用是提供一种轻量级的文件系统层叠机制...总之,Linux Overlay文件系统的作用是提供了一种灵活且高效的文件系统层叠机制,可以在保持只读文件系统的完整性的同时,允许在可读写文件系统上进行修改和添加文件。...可以看到删除merged目录下的文件或目录后,在upper层新建了aa、bb、dir三个whiteout文件,whiteout文件不是普通文件,而是主/次设备号都是0的字符设备。

    3K11

    Linux—文件系统结构

    1、文件目录结构 /:是Linux系统的根目录 /bin:存放用户经常使用的命令 /boot:启动加载程序的静态文件 /dev:设备文件目录,不能单独分区 /etc:系统配置文件目录 /home:普通用户的家目录...被抛弃的临时文件目录 /var:动态数据文件目录;日志文件log,数据库,缓存目录等 /lib:存放程序的库文件 /lib64:存放64位程序库文件 /media:移动媒体的挂载点 /mnt:临时挂载的文件系统的挂载点.../opt:存放第三方软件服务 /proc:伪文件系统,内核映射文件,不能单独分区 /srv: 用来存储本机提供的服务或数据 /sys:伪文件系统,跟硬件设备相关的属性映射文件,不能单独分区 注意: /...etc,/bin,/sbin,lib目录存放的是系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在跟文件系统的分区上 /usr/bin、/usr/sbin、/usr/lib提供操作系统核心功能

    7.4K40

    Linux 文件系统详解

    早在 1996 年,在真正理解文件系统的结构之前,我就学会了如何在我崭新的 Linux 上安装软件。这是一个问题,但对程序来说不是大问题,因为即使我不知道实际的可执行文件在哪里,它们也会神奇地工作。...如果你已经使用你的系统有一段时间了,这可能需要一段时间,因为即使你自己还没有生成很多文件,Linux 系统及其应用程序总是在记录、缓存和存储各种临时文件。文件系统中的条目数量会快速增长。...大多数 Linux 发行版都会向你显示与你在上图中看到的相同或非常类似的结构。 这意味着,即使你现在感到困惑,掌握这一点,你将掌握大部分(如果不是全部的话)全世界的 Linux 文件系统。...总结 尽管 Linux 发行版之间存在细微差别,但它们的文件系统的布局非常相似。 你可以这么说:一旦你了解一个,你就会都了解了。 了解文件系统的最好方法就是探索它。...很快你就会发现 Linux 文件系统及其布局的确很有意义,并且你会直观地知道在哪里可以找到应用程序,文档和其他资源。

    7.4K31
    领券