LINUX EXT文件系统

合集下载

文件系统

文件系统

ext3的缺点:其最大的缺点是没有现代文件系统 所具有的能提高文件数据处理速度和解压的高性 能,另外使用ext3文件系统时要注意硬盘限额问 题,在这个问题解决之前,不推荐在重要的企业应 用上采用ext3+disk quota(磁盘配额)。
பைடு நூலகம்
四、 jsf jsf提供了基于日志的字节级文件系统,该文件系统是为面向事 务的高性能系统而开发的。JSFs也是一个有大量用户安装使用的企 业级文件系统。它具有可伸缩性和 健壮性,与非日志文件系统相比, 它的优点是其快速重启能力:Jfs 能够在几秒或几分钟内就把文件系 统恢复到一致状态。虽然 jsf 主要是为满足服务器(从单处理器系统 到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,j sf 还可用于想得到高性能和可靠性的客户机配置因为在系统崩溃时, jsf 能提供快速文件系统重启时间,所以它是因特网文件服务器的关 键技术。使用数据库日志处理技术,jsf 能在几秒或几分钟之内把文 件系统恢复到一致状态。而在非日志文件系统中,文件恢复可能花 费几小时或几天。 jsf的缺点:使用jsf日志文件系统,性能上会有一定损失,系统 资源占用的比率也偏高。是因为当它保持一个日志时,系统需要写 许多数据。
• Smb:smb是一种支持 Windows for workgroups、Windows NT 和Lan Manag er的基于SMB协议的网络操作系统。 • Sysv: sysv文件系统实际上是System V/Coherent 在Linux平台上的文件系统。 • Ncpfs:ncpfs是一种Novell NetWare 使用的NCP协议的网络操作系统。 • Proc:proc是Linux 系统中作为一种伪文件系统出现的,它用来作为连接内核
五、xfs xfs是一种非常优秀的日志文件系统,它是SGI公司设 计的。xfs被称为业界最先进的、最具可升级性的文件 系统技术。它是一个全64位,快速、稳固的日 志文件 系统,多年用于SGI的IRIX操作系统。 xfs的缺点:由于xfs比较复杂,实施起来有一些 难度,所以目前xfs主要应用于Linux企业应用的高端。

linux ext4 读写流程

linux ext4 读写流程

linux ext4 读写流程
Linux ext4 文件的读写流程涉及到多个环节,下面是详细的读写流程:
1. 用户层请求:用户层通过系统调用(如write() 函数)发起文件读写请求。

2. 系统调用处理:内核接收到用户层的读写请求后,会进行相应的处理。

例如,write() 函数会将数据缓冲到内核缓冲区,然后准备进行实际的磁盘写入。

3. 磁盘分配策略:ext4 文件系统根据磁盘空间情况和文件系统参数来决定如何分配新的数据块。

这一过程涉及到ext4 特定的磁盘分配策略,如扩展块分配(extend_block)和迁移块(move_block)等。

4. 文件系统元数据操作:内核会更新文件系统的元数据,如文件索引、文件大小、分配位图等,以反映磁盘上实际的数据变化。

5. 块设备操作:内核将数据从用户缓冲区拷贝到磁盘的ext4 块设备上。

这一过程涉及到块设备的I/O 操作,如block_write() 函数。

6. 同步和挂起:根据ext4 文件系统的配置,内核可能会在写入数据
后同步磁盘数据(如使用fsync() 函数)并挂起其他I/O 操作。

7. 完成操作:内核完成磁盘写入后,将返回结果给用户层,通知读写操作成功或失败。

读流程类似,只是在磁盘读取数据时,数据是从磁盘的ext4 块设备读取到内核缓冲区,然后传递给用户层。

需要注意的是,这里的读写流程是一个简化版,实际操作可能会根据具体情况进行调整。

ext4 文件系统的读写性能取决于多个因素,如磁盘性能、文件系统参数和内核优化等。

在不同场景下,ext4 文件系统的读写流程可能会有所不同。

Linux系统ext2与ext3文件系统的区别与转换

Linux系统ext2与ext3文件系统的区别与转换
ext2与ext3文件系统的区别与转换
ext2和ext3是Linux比较旧的文件系统, 在Linux 7中支持的文件系统已经是 “xfs”,但是为了知识的衔接性,也为 了更深的认识文件系统之间的差别有必 要认识一下这两个文件系统。 这两个文件系统的格式是相同的,不 同的是在ext3文件系统中在硬盘的后面 留出一块磁盘空间来存放日志(journal) 记录。
全部消失。 如果你接手一个很重要的Linux系统, 而这个Linux系统的文件系统还是很老的 ext2,而为了提高性能还要保留原来的 数据就只能使用命令tune2fs命令(在线 转换文件系统ext2→ext3)了。
除了使用“-j”选项创建ext3文件系 统之外,可以直接使用mkfs.ext3 设备名
在开机时Linux系统都会检查每个文件 系统的Valid bit,值如为1则直接挂载该 文件系统,而如果为0值,则系统会扫描 这个文件系统(硬盘分区)查找损坏的 数据,如果这个硬盘分区很大,扫描时 间会很长。 1扫描
0不扫描 由于ext3文件系统有日志机制,开机 时系统会先检查日志中的信息,检查日
创建ext3文件系统。
journal=”日志”
使用命令dumpe2fs /dev/sdc1 | more 可以看到成功创建ext3文件系统。
二、在ext3格式文件系统上,数据写 入硬盘的操作过程为: ⑴数据同样先写 入缓冲区 ① ⑵当数据写入 缓冲区 (内存) 缓冲区满时,先通知 ③ 日志 ext3 文件 ⑶通知日志之后 ② ④ 系统 数据才会写入硬盘中 日志 ⑷数据写入硬盘后,系统 再通知日志数据已经写入硬盘。
三、日志机制 在ext2和ext3中,文件系统的格式是 一样的,不一样的地方是ext2没有日志 机制,而ext3有日志机制。 对于ext2,由于它没有日志机制,在 Linux使用Valid bit标志位来记录系统在 关机之前该文件系统是否已经卸载。因 每一个文件系统都有一个自己的Valid bit 。并且,Valid bit的值为1,则表示这个 文件系统已经卸载,而其值为0,则表示 这个文件系统没有正常关机。

不是linux系统中常用的文件系统的格式

不是linux系统中常用的文件系统的格式

不是linux系统中常用的文件系统的格式【原创版】目录1.引言2.Linux 系统中的文件系统格式3.非 Linux 系统中的文件系统格式4.结论正文【引言】在计算机领域,文件系统是存储和组织文件的一种方式。

不同的操作系统使用不同的文件系统,而 Linux 系统则常用多种文件系统。

本文将介绍一些不是 Linux 系统中常用的文件系统格式。

【Linux 系统中的文件系统格式】Linux 系统中最常用的文件系统格式有以下几种:1.EXT2:这是一种早期的 Linux 文件系统格式,主要用于 Linux 系统中的根目录(/)和 boot 目录。

2.EXT3:这是 EXT2 文件系统的升级版,提供了更好的日志记录功能和更高的安全性。

3.XFS:这是一种由 SGI 公司开发的文件系统,后来被 Linux 社区广泛采用。

它提供了高性能、可扩展性和容错能力。

4.Btrfs:这是一种较新的文件系统,旨在取代 EXT3 和 XFS。

它提供了许多高级功能,如数据压缩、快照和卷缩放。

【非 Linux 系统中的文件系统格式】除了以上提到的 Linux 系统中的文件系统格式,还有许多其他操作系统使用的文件系统格式,如下所示:1.FAT32:这是一种早期的 Windows 文件系统格式,主要用于存储不超过 4GB 的单个文件。

它也被一些 Linux 发行版用于兼容 Windows 系统。

2.NTFS:这是 Windows NT 操作系统使用的文件系统格式,提供了高级功能,如文件加密、压缩和磁盘配额。

然而,Linux 系统对 NTFS 的支持有限。

3.HFS+:这是苹果操作系统(如 macOS)使用的文件系统格式。

它提供了许多高级功能,如文件和文件夹权限、时间戳和数据保护。

【结论】总之,不同的操作系统使用不同的文件系统格式。

Linux 系统中有许多常用的文件系统格式,如 EXT2、EXT3、XFS 和 Btrfs。

而非 Linux 系统中,FAT32、NTFS 和 HFS+等文件系统格式也非常常见。

文件系统类型(ext4、xfs、fat32、vfat、ntfs、....)

文件系统类型(ext4、xfs、fat32、vfat、ntfs、....)

⽂件系统类型(ext4、xfs、fat32、vfat、ntfs、....)Linux1、Linux:存在⼏⼗个⽂件系统类型:ext2,ext3,ext4,xfs,brtfs,zfs(man 5 fs可以取得全部⽂件系统的介绍)不同⽂件系统采⽤不同的⽅法来管理磁盘空间,各有优劣;⽂件系统是具体到分区的,所以格式化针对的是分区,分区格式化是指采⽤指定的⽂件系统类型对分区空间进⾏登记、索引并建⽴相应的管理表格的过程。

ext2具有极快的速度和极⼩的CPU占⽤率,可⽤于硬盘和移动存储设备ext3增加⽇志功能,可回溯追踪ext4⽇志式⽂件系统,⽀持1EB(1024*1024TB),最⼤单⽂件16TB,⽀持连续写⼊可减少⽂件碎⽚。

rhel6默认⽂件系统xfs可以管理500T的硬盘。

rhel7默认⽂件系统brtfs⽂件系统针对固态盘做优化,zfs更新?注:EXT(Extended file system)是延伸⽂件系统、扩展⽂件系统,ext1于1992年4⽉发表,是为linux核⼼所做的第⼀个⽂件系统。

格式化命令:mkfs -t <⽂件系统类型> <分区设备⽂件名> mkfs.xfs /dev/sdb1man 5 fs可以取得全部⽂件系统的简要介绍最⼤⽀持⽂件等信息?windowsFAT16:MS—DOS和win95采⽤的磁盘分区格式,采⽤16位的⽂件分配表,只⽀持2GB的磁盘分区,最⼤单⽂件2GB,且磁盘利⽤率低FAT32:(即Vfat)采⽤32位的⽂件分配表,⽀持最⼤分区128GB,最⼤⽂件4GBNTFS:⽀持最⼤分区2TB,最⼤⽂件2TB,安全性和稳定性⾮常好,不易出现⽂件碎⽚。

其他RAMFS:内存⽂件系统ISO 9660:光盘NFS:⽹络⽂件系统SMBAFS/CIFS:⽀持Samba协议的⽹络⽂件系统Linux swap:交换分区,⽤以提供虚拟内存。

EXT2、EXT3、EXT4、XFS、GPT详解

EXT2、EXT3、EXT4、XFS、GPT详解

EXT2、EXT3、EXT4、XFS、GPT详解原创:运维老司机小柒博客7月18日EXT2与EXT3区别Linux之前缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定。

但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统。

这在关键行业的应用是一个致命的弱点,Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。

它完全兼容ext2文件系统。

用户可以平滑地过渡到一个日志功能健全的文件系统中来。

这实际上了也是ext3日志文件系统初始设计的初衷。

1) ext3和ext2的主要区别在于,ext3引入Journal(日志)机制,Linux内核从2.4.15开始支持ext3,它是从文件系统过渡到日志式文件系统最为简单的一种选择,ext3提供了数据完整性和可用性保证。

2) ext2和ext3的格式完全相同,只是在ext3硬盘最后面有一部分空间用来存放Journal的记录;3) 在ext2中,写文件到硬盘中时,先将文件写入缓存中,当缓存写满时才会写入硬盘中;4) 在ext3中,写文件到硬盘中时,先将文件写入缓存中,待缓存写满时系统先通知Journal,再将文件写入硬盘,完成后再通知Journal,资料已完成写入工作;5) 在ext3中,也就是有Journal机制里,系统开机时检查Journal的内容,来查看是否有错误产生,这样就加快了开机速度;EXT3日志文件系统的特点1、高可用性系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。

宕机发生后,恢复ext3文件系统的时间只要数十秒钟。

2、数据的完整性ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。

在保证数据完整性方面,ext3文件系统有2种模式可供选择。

其中之一就是"同时保持文件系统及数据的一致性"模式。

Linux ext2

Linux  ext2

Linux ext2ext2文件系统是早期Linux发布版的基础,Linux默认直接支持的文件系统。

该文件系统非常优势,也是ext3文件系统的基础。

ext2文件系统和其他现代Unix 使用的文件系统非常相似,但更接近于BSD(Berkeley Software Distribution:Berkeley 软件分发版)系统所用的Berkeley Fast Filesystem。

ext2文件系统除了具有标准功能外,还支持一般Unix文件系统中所没有的高级功能,如设置文件属性、支持数据更新时同步写入、允许磁盘管理员在创建文件系统时选择逻辑数据块的大小、实现快速符号链接以及提供两种定期强迫进行文件系统工具等。

1.ext2文件系统的物理结构ext2文件系统像多数文件系统一样,建立在文件数据存放在数据中的前提下。

ext2文件系统中的数据块具有相同的长度,虽然不同的ext2文件系统的块长度可以不同,但是对于某个特定的ext2文件系统,它的块长度在创建的时候就已经确定了。

每一个文件的长度都会按照块取整,例如,存在一个文件1025字节,而一个块的大小为1024字节时,该文件就会占用两个1024字节的块,这就意味着平均每一个文件都有可能浪费一部分磁盘空间。

每个块包含了相同的信息如:超级块、块组描述结构、块位图索引节点、索引点表和数据块等内容,图4-2演示了ext2文件系统的物理结构。

图4-2 ext2物理结构2.块组的构造从图4-2中可看到每一个块组都重复保存着一些有关整个文件系统的关键信息,以及真正的文件和目录的数据块。

超级块包含有文件系统本身的大小和形式的基本信息,系统管理员可以利用这些信息使用和维护文件系统。

在安装文件系统时,系统只读取数据块组1中的超级块,将其放入内存直到该文件系统被卸载,超级块中包含了以下内容。

●块数用于确认安装的文件系统是否为ext2的超级块。

●修订级别这是文件系统的主版本号和次版本号。

简述linux文件系统的类型

简述linux文件系统的类型

简述linux文件系统的类型Linux文件系统是指Linux操作系统中用来组织和管理文件的一种系统。

Linux文件系统的类型有很多种,每种文件系统都有其特定的特点和用途。

本文将对常见的几种Linux文件系统进行简要介绍。

1. ext文件系统ext文件系统是最早也是最常用的Linux文件系统之一,它是Linux 操作系统的默认文件系统。

ext文件系统有多个版本,包括ext2、ext3和ext4。

其中,ext4是最新版本,具有更好的性能和可靠性。

ext文件系统使用索引节点(inode)来管理文件和目录,支持文件和目录的权限控制、日志功能以及快速文件系统检查等特性。

由于其可靠性和稳定性,ext文件系统常被用于服务器和桌面应用。

2. XFS文件系统XFS文件系统是一种高性能的Linux文件系统,最早由SGI开发。

XFS文件系统采用了B+树来组织和管理文件和目录,具有较高的扩展性和可靠性。

它支持大容量存储、高并发访问和快速文件系统检查等特性,适用于大规模数据存储和高性能计算等场景。

XFS文件系统广泛应用于企业级服务器和大型数据库等领域。

3. btrfs文件系统btrfs文件系统是一种新型的Linux文件系统,它的设计目标是提供高性能、高可靠性和高可扩展性。

btrfs文件系统支持快照、压缩、在线扩容和数据校验等功能,能够有效地保护数据的完整性和安全性。

btrfs文件系统还支持RAID和数据镜像等高级特性,可以提供更好的数据冗余和故障恢复能力。

btrfs文件系统逐渐成为Linux发行版中的重要选择,但在生产环境中仍需谨慎使用。

4. ZFS文件系统ZFS文件系统是由Sun Microsystems开发的一种先进的文件系统,现在由Oracle维护。

ZFS文件系统采用了复制写(Copy-on-write)技术和存储池(Storage Pool)的概念,具有高度的可靠性和可扩展性。

它支持快照、压缩、数据校验、数据恢复以及自动存储池管理等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EXT文件系统研究报告EXT2 文件系统The Second Extended File System(ext2)文件系统是Linux系统中的标准文件系统,是通过对Minix的文件系统进行扩展而得到的,其存取文件的性能极好。

在ext2文件系统中,文件由inode(包含有文件的所有信息)进行唯一标识。

一个文件可能对应多个文件名,只有在所有文件名都被删除后,该文件才会被删除。

此外,同一文件在磁盘中存放和被打开时所对应的inode是不同的,并由内核负责同步。

ext2文件系统采用三级间接块来存储数据块指针,并以块(block,默认为1KB)为单位分配空间。

其磁盘分配策略是尽可能将逻辑相邻的文件分配到磁盘上物理相邻的块中,并尽可能将碎片分配给尽量少的文件,以从全局上提高性能。

ext2文件系统将同一目录下的文件(包括目录)尽可能的放在同一个块组中,但目录则分布在各个块组中以实现负载均衡。

在扩展文件时,会尽量一次性扩展8个连续块给文件(以预留空间的形式实现)。

一、文件系统特性磁盘分区完毕后还需要进行格式化,之后操作系统才能够使用这个分区。

这是因为每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此就需要将分区进行格式化,以成为操作系统能够利用的文件系统格式。

传统的磁盘与文件系统的应用中,一个分区誻只能够被格式化成为一个文件系统,所以我们可以说一个文件系统就是一个分区。

操作系统的文件数据除文件内容外,通常还有非常多的属性,Linux中的文件权限(rxw)与文件属性(所有者,群组、时间参数等)。

文件系统通常会将这两部分数据分别存放在不同的块:权限与属性放置到inode中.至于实际数据则放置到data block块中。

另外还有一个超级块(super block)会记录整个文件系统的的整体信息,包括inode 与block的总量、使用量、剩余量,以及文件系统的格式与相关信息等。

inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block 号码。

block:实际记录文件的内容,若文件太大时,会占用多个block。

由于每个inode与block都有编号,而每个文件都会占用一个inode,inode内则有文件数据放置的block号码。

因此,如果能找到文件的inode的话,那么自然就会知道这个文件所放置数据的block号码,也就能够读出该文件的实际数据。

如图,假设某一个文件的权限与属性数据放置到inode 4号下(小方格)而这个inode记录了文件数据的实际放置点为2,7,13,15这4个block号码,此时我们的操作系统就能够据此来排列磁盘的阅读顺序,可以一下子将4个block内容读出来。

二、Linux的ext2文件系统文件系统一开始就将inode与block规划好了,除非重新格式化(或者利用resize2fs等命令更改文件系统大小)否则inode与block固定后就不再变动。

为了方便管理,ext2文件系统在格式化时基本上是区分为多个块组的。

每个块组都有独立的inode/block/super block系统。

如下图所示:文件系统最前面有一个启动扇区,这个启动扇区可以安装引导装载程序,这样我们就能够将不同的引导装载程序安装到个别的文件系统最前端,而不用覆盖整块硬盘唯一的MBR,这样也才能制作出多重引导的环境。

*data block:用来放置文件内容的地方,在ext2文件系统中所支持的block的大小有1KB,2KB,4KB,在格式化时大小就固定了,每个block内最多只能放置一个文件的数据,如果文件大于一个block的大小,则一个文件会占用多个block数量,若文件小于block,则该block的剩余空间就不能够再被使用了。

block的大小而产生的ext2文件系统限制如下:*inode table(inode 表格)inode记录的文件数据至少有:1、该文件的访问模式;(rwx)2、该文件的所有者与组(ower/group);3、该文件的大小;4、该文件创建或状态改变的时间(ctime);5、最近一次读的时间(atime);6、最近修改的时间(mtime);7、该文件的特性的标志(flag);8、该文件真正内容的指向(pointer);而有这么强大功能的inode的大小均固定为每个128B。

inode除了文件权限属性记录区域外,还有12个直接,1个间接,一个双间接与一个三间接记录区。

12个直接指向号码的对照,这12个记录就能够直接取得block号码,至于所谓的间接就是再拿一个block来当作block号码的记录区,如果文件太大,就会使用间接的block来记录编号。

同理,如果文件持续长大,那么就复用所谓的双间接,第一个仅再指出下一个记录编号的block在哪里,实际记录在第二个block当中。

依此类推,三间接就是复用第三层block来记录编号。

如下图所示:*Super block:Super block是非常重要的,因为文件系统的基本信息都写在这里,一个文件系统应该仅有一个super block而已。

它记录的信息主要有:1、block与inode总量;2、未使用与已使用的inode、block数量;3、block与inode的大小;4、文件系统的挂载时间、最近一次写入数据的时间,最近一次检验磁盘的时间等文件系统的相关信息;5、一个validbit数值,若此文件系统已挂载,则validbit为0,若未挂载,则validbit 为1;*File system Description(文件系统描述说明)这个区段可以描述每个block group的开始与结束的号码,以及说明每个区段分别介于哪一个block号码之间。

可以用dumpe2fs来查看。

*block bitmap(块对照表)通过block bitmap可以知道哪些block是空的,因此我们的系统就能够很快速地找到可以使用的空间来处置文件。

同样,如果你删除某些文件时,那么那些文件原本占用的block 号码就得要释放出来,此时在block bitmap当中相对应到该block号码的标志就得要修改成为“未使用”。

*inode bitmap(inode对照表)这个其实与block bitmap 是类似的功能,只是block bitmap 记录的是使用与未使用的block 号码,至于inode bitmap 则是记录使用与未使用的inode 号码。

三、与目录树的关系每个文件(不管是一般文件还是目录文件)都会占用一个inode ,且可依据文件内容的大小来分配多个block 给该文件使用。

而我们知道目录的内容在记录文件名,一般文件才是实际记录数据内容的地方。

那么目录与文件在Ext2 文件系统当中是如何记录数据的呢?1、目录:在Linux下的ext2文件系统新建一个目录时,ext2会分配一个inode与至少一块block给该目录。

inode记录该目录的相关权限与属性,并可记录分配到的那块block号码;而block则是记录在这个目录下的文件名与该文件名占用的inode号码数据。

2、文件:在Linux下的ext2文件系统新建一个文件时,ext2会分配一个inode与相对于该文件大小的block数量给该文件。

例如:假设我的一个block 为4 Kbytes ,而我要创建一个100 KBytes 的文件,那么linux 将分配一个inode 与25 个block 来储存该文件!注意,如果文件太大,block的数量还要加上间接,双间接和三间接指向所指向的block。

3、由上述可知,inode本身并不记录文件名,文件名的记录是在目录的block当中。

当我们要读取某个文件进,就务必会经过目录的inode与block,然后才能够找到那个待读取文件的inode号码,最终才会读到正确的文件的block内的数据。

由于目录树是由根目录开始读起,因此系统通过挂载的信息可以找到挂载点的inode号码,此时就能够得到根目录的inode内容,并依据该inode读取根目录的block内的文件名数据,再一层层地往下读到正确的文件名。

四、ext3文件系统为了避免文件系统不一致的情况发生,在文件系统当中规划出一个块,该块专门记录写入或修订文件时的步骤,也就是加入了日志文件系统。

这就是ext3文件系统,它是ext2文件系统的升级版。

如果在我们的filesystem 当中规划出一个区块,该区块专门在记录写入或修订文件时的步骤,那不就可以简化一致性检查的步骤了?也就是说:1.预备:当系统要写入一个文件时,会先在日志记录区块中纪录某个文件准备要写入的信息;2.实际写入:开始写入文件的权限与数据;开始升级metadata 的数据;3.结束:完成数据与metadata 的升级后,在日志记录区块当中完成该文件的纪录。

在这样的程序当中,万一数据的纪录过程当中发生了问题,那么我们的系统只要去检查日志记录区块,就可以知道哪个文件发生了问题,针对该问题来做一致性的检查即可,而不必针对整块filesystem 去检查,这样就可以达到快速修复filesystem 的能力了!五、Linux 文件系统的运行我们现在知道了目录树与文件系统的关系了,我们也知道,所有的数据都得要加载到内存后CPU 才能够对该数据进行处理。

想一想,如果你常常编辑一个好大的文件,在编辑的过程中又频繁的要系统来写入到磁盘中,由于磁盘写入的速度要比内存慢很多,因此你会常常耗在等待硬盘的写入/读取上。

真没效率!为了解决这个效率的问题,因此我们的Linux 使用的方式是透过一个称为异步处理(asynchronously) 的方式。

所谓的异步处理是这样的:当系统加载一个文件到内存后,如果该文件没有被更动过,则在内存区段的文件数据会被配置为干净(clean)的。

但如果内存中的文件数据被更改过了(例如你用nano 去编辑过这个文件),此时该内存中的数据会被配置为脏的(Dirty)。

此时所有的动作都还在内存中运行,并没有写入到磁盘中!系统会不定时的将内存中配置为『Dirty』的数据写回磁盘,以保持磁盘与内存数据的一致性。

你也可以利用 sync命令来手动强迫写入磁盘。

我们知道内存的速度要比硬盘快的多,因此如果能够将常用的文件放置到内存当中,这不就会添加系统性能吗?没错!是有这样的想法!因此我们Linux 系统上面文件系统与内存有非常大的关系喔:∙系统会将常用的文件数据放置到主存储器的缓冲区,以加速文件系统的读/写;∙承上,因此Linux 的物理内存最后都会被用光!这是正常的情况!可加速系统效能;∙你可以手动使用sync 来强迫内存中配置为Dirty 的文件回写到磁盘中;∙若正常关机时,关机命令会主动呼叫sync 来将内存的数据回写入磁盘内;但若不正常关机(如跳电、死机或其他不明原因),由于数据尚未回写到磁盘内,因此重新启动后可能会花很多时间在进行磁盘检验,甚至可能导致文件系统的损毁(非磁盘损毁)。

相关文档
最新文档