首页
学习
活动
专区
工具
TVP
发布

Linux文件系统及文件缓存知识点整理

Linux文件系统 文件系统的特点 文件系统要有严格的组织形式,使得文件能够以块为单位进行存储。 文件系统中也要有索引区,用来方便查找一个文件分成的多个块都存放在了什么位置。...Linux内核要在自己的内存里面维护一套数据结构,来保存哪些文件被哪些进程打开和使用。 总体来说,文件系统的主要功能梳理如下: ?...由于如果每个块组里面都保存一份完整的块组描述符表,一方面很浪费空间;另一个方面,由于一个块组最大128M,而块组描述符表里面有多少项,这就限制了有多少个块组,128M * 块组的总数目是整个文件系统的大小...,就被限制住了。...Linux中的文件缓存 ext4文件系统层 对于ext4文件系统来讲,内核定义了一个ext4_file_operations。

4K40

linux文件系统

Linux是一个基于Unix的操作系统,具有强大的文件系统功能。Linux文件系统是在硬盘上组织和存储数据的一种结构,通过文件系统可以管理文件、目录、权限等信息。...在Linux中,文件系统被组织成一个树形结构,称为文件系统层次结构(Filesystem Hierarchy Standard,FHS),该标准规定了Linux操作系统中各级目录的名称和用途,使得Linux.../var /var目录是Linux系统中用于存放可变数据的目录,这些数据包括日志文件、缓存文件、临时文件等。...例如/var/log用于存放系统日志文件,/var/cache用于存放缓存文件,/var/tmp用于存放临时文件。.../mnt /mnt目录是Linux系统中用于挂载文件系统的目录,通过挂载可以将其他文件系统的内容挂载到/mnt目录下,使得这些文件系统可以被访问。

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

Linux文件系统

文件系统 磁盘 磁盘的物理结构 磁盘的储存结构 磁盘的逻辑结构 文件系统 分治 inode与数据块 软硬链接 什么是软硬连接 文件与引用计数 文件的三大时间 动静态库 什么是库 库的使用 静态库...文件系统 分治 虽然对应的磁盘访问基本单位是512字节,但是依旧很小。 所以操作系统定制的进行多个扇区的读取->1KB,2KB,4KB(现在基本都是4KB)为基本单位。...Super Block:超级块对象,保存的是整个文件系统的信息。 如果想清空哪个盘里面的所有数据内容,其实就相当于重写文件系统。一个磁盘,第一步是分区,第二部就是格式化,也就是写入文件系统。...文件系统的信息有分区的使用状态,分区的每个组的状态和信息。 既然这么重要,为何放在这里呢?其实在大部分文件系统中,块组前几个开头就是Super Block,这就相当于备份。...inode与数据块 文件 = 内容 + 属性 Linux中,文件的属性和内容是分批存储的。 保存文件属性的叫inode块:具体大小跟文件系统的版本有关,我的是ext3,128字节。

12.3K00

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.6K40

linux文件系统

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

8.5K40

Linux文件系统结构

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

7.1K40

Linux 文件系统详解

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

7.3K31

Linux 文件系统详解

虚拟文件系统:通用抽象接口、具体文件系统、系统文件缓存。...由于考虑到磁盘的缺点, 文件系统层之下是缓冲区缓存,它为文件系统层提供了一个通用函数集(与具体文件系统无关)。...因此文件系统在读写数据方法做了一些性能方面的优化:文件系统对磁盘访问的性能优化是通过页缓存(页缓存其实就是内存)完成的,这个页缓存与CPU中的缓存有异曲同工之妙。...文件系统通过页缓存在数据写和读两方面分别作了优化。 写方面的优化主要: 是延迟批量写,也就是数据先写到页缓存中,经过积累后再磁盘驱动提交。...逻辑分区没有数量上限制。 扩展分区只不过是逻辑分区的“容器”,实际上只有主分区和逻辑分区进行数据存储。

10.2K20

linux文件系统

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

4.5K20

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上,...这些特点使JFFS2文件系统成为目前Flash设备上最流行的文件系统格式,它的缺点就是当文件系统已满或接近满时,JFFS2运行会变慢,这主要是因为碎片收集的问题 它是在闪存上使用非常广泛的读/写文件系统...此外,YAFFS自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。

7.2K20

linux overlay文件系统

一个 overlay 文件系统包含两个文件系统,一个 upper 文件系统和一个 lower 文件系统,是一种新型的联合文件系统。...overlay是“覆盖…上面”的意思,overlay文件系统则表示一个文件系统覆盖在另一个文件系统上面。 为了更好的展示 overlay 文件系统的原理,现新构建一个overlay文件系统。...文件树结构如下: 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文件系统的作用是提供了一种灵活且高效的文件系统层叠机制,可以在保持只读文件系统的完整性的同时,允许在可读写文件系统上进行修改和添加文件。

1.5K11

linux文件系统

Linux 系统中,除了普通的文件系统外,还存在一些伪文件系统,也称为虚拟文件系统或特殊文件系统。...这些文件系统不是真正的物理存储设备,而是一些特殊的文件和目录,它们提供了对系统资源的访问接口,如内存、进程、网络等。本文将介绍常见的 Linux文件系统及其作用。...为了解决这个问题,Linux 内核引入了 /run 文件系统,它是一个临时文件系统,用于存储系统运行时的各种信息,如进程 PID 文件、服务套接字文件等。...在 Linux 系统中,许多应用程序需要使用临时文件来进行数据交换和缓存,这些文件通常只在应用程序运行期间存在,不需要长期存储。...为了避免将这些临时文件放在普通的文件系统中,占用过多的存储空间,而且会对文件系统的性能产生影响,Linux 系统引入了 /tmp 文件系统

5.8K50

Linux文件系统详解

Linux上的文件系统一般来说就是EXT2或EXT3,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立的基础——硬盘开始,一步步认识Linux文件系统。...标准的Linux文件系统Ext2是使用「基于inode的文件系统」我们知道一般操作系统的文件数据除了文件实际内容外, 还带有很多属性,例如 Linux 操作系统的文件权限(rwx)与文件属性(拥有者、群组...block大小有1K, 2K及4K三种,由于block大小的区别,会导致该文件系统能够支持的最大磁盘容量与最大单一文件容量各不相同: Block 大小 1KB 2KB 4KB最大单一档案限制 16GB...block格式化为1K大小时,能够容纳的最大文件为16GB,比较一下文件系统限制表的结果可发现是一致的!...但这个方法不能用在2K及4K block大小的计算中,因为大于2K的block将会受到Ext2文件系统本身的限制,所以计算的结果会不太符合文件系统大小与磁盘读取性能关于文件系统的使用效率,当你的一个文件系统规划的很大时

6.1K32

Linux文件系统解析

操作系统角度 文件系统的层次 在上述中,阐述挂载的时候说到一个概念,就是说 Linux在启动的时候,首先挂载的是根文件系统,然后再自动或者手动挂载其他文件系统,这也是Linux中支持不同文件系统的原因,...说到这里,就有必要提到Linux的虚拟文件系统了,再叙述它的概念之前,我们先以宏观的角度来看一下 Linux下的文件系统的一个结构: ?...文件系统的IO类型 根据文件系统的读写差异,可以将IO分为四种类型: 缓冲 I/O:是指利用标准库缓存来加速文件的访问,而标准库内部再通过系统调度访问文件。...非缓冲I/O:是指直接通过系统调用来访问文件,不再经过标准库缓存 此处标准库缓存指的是利用栈、队列等一些数据结构进行的资源调度,而不是页缓存。...无论是否是缓冲IO,都会通过系统调用页缓存来减少IO次数 根据是否利用操作系统的页缓存,可以把文件I/O分为直接I/O与非直接I/O 直接I/O:是指跳过操作系统的页缓存,直接跟文件系统交互来访问文件

6.7K10

浅谈Linux文件系统

Linux操作系统中有一句话叫做“一切皆文件”,接下来我们就用一篇文章研究下Linux文件系统!...1 文件系统概述Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。...在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。...利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。...以上内容来自百度百科:https://baike.baidu.com/item/Linux%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/109867472 Linux文件系统层级关系

25410

图解 Linux 文件系统

之前我写过有关 Linux 文件系统源码分析的文章,但从源码角度分析文件系统略显枯燥(对新手不友好),所以这次主要通过图文的方式来讲解 Linux 文件系统的原理,而不用陷入源代码的深渊之中。...在 Linux 内核中,每个数据块定义为 4KB 的大小,所以一个 128GB 的硬盘可以分为 33554432 个数据块,内核就是以数据块的编号来对硬盘进行读写操作的。...为了让用户在使用上更方便和直观,Linux 内核抽象出两个概念来管理硬盘中的数据:文件(File) 和 目录(Directory)。 文件:用于保存数据。...三、MINIX 文件系统实现 现在,我们以 MINIX 文件系统来详细介绍文件系统的设计原理。由于 MINIX 文件系统非常简单,所以适合用于教学使用。 1....四、总结 本文通过 MINIX 这种简单的文件系统来介绍怎么设计一个文件系统,虽然 Linux 系统有多种文件系统,但其基本思想都是怎么有效地管理硬盘的数据。

4K20

Linux文件系统浅析

Linux启动的时候,首先挂载的是根文件系统,之后可以自动或者手动挂载其他文件系统,这些文件系统要挂载到挂载点上,与虚拟文件系统和通用块设备层建立联系。...操作系统角度 文件系统的层次 在上述中,阐述挂载的时候说到一个概念,就是说 Linux在启动的时候,首先挂载的是根文件系统,然后再自动或者手动挂载其他文件系统,这也是Linux中支持不同文件系统的原因,...文件系统的IO类型 根据文件系统的读写差异,可以将IO分为四种类型: 缓冲 I/O:是指利用标准库缓存来加速文件的访问,而标准库内部再通过系统调度访问文件。...非缓冲I/O:是指直接通过系统调用来访问文件,不再经过标准库缓存 此处标准库缓存指的是利用栈、队列等一些数据结构进行的资源调度,而不是页缓存。...无论是否是缓冲IO,都会通过系统调用页缓存来减少IO次数 根据是否利用操作系统的页缓存,可以把文件I/O分为直接I/O与非直接I/O 直接I/O:是指跳过操作系统的页缓存,直接跟文件系统交互来访问文件

3K10

谈谈 Linux 文件系统

最近在看一本 Linux 环境编程的书,加上之前工作中接触了一些关于存储的东西,便突然有兴趣整理一下 Linux 是怎么支撑文件系统的。...的位置: VFS 本身可以理解为是 Linux 针对文件系统约定的 Interface,Linux 为了实现这种这套接口,采用类似面向对象的设计思路(而且代码结构也像极了)。...传统的文件系统:ext2 ext2 曾是一款优秀的文件系统,是Linux 上使用最为广泛的文件系统,也是原始 Linux 文件系统 ext 的继任者。...第一是理解 Linux 文件系统是怎么工作的,这对以理解一次 IO 发生了什么很有帮助。...第二是有助于理解 Linux 中的 IO 缓存,VFS 和很多缓存息息相关,包括页缓存,目录缓存,inode 缓存: 除了 inode 和目录项在内存的结构起到缓存作用外,比如页缓存用于缓存最近读写的文件数据块

4.6K21
领券