1 磁盘组成与分区

1.1 磁盘物理组成

(1)圆形盘片—记录数据
(2)机械手臂及磁头—读写盘片数据
(3)主轴马达—使得机械手臂成功读写数据驱动

1.2 盘片物理组成

(1)扇区—最小物理存储单位,512bytes
(2)柱面—扇区组成的圆,分区的最小单位
(3)第一扇区—最重要的扇区,包含主引导记录MBR446bytes 以及 分区表PB 64bytes

1.3 磁盘接口在Linux中文件名

(1)/dev/sd[a-p][1-15]  为 SCSI 、 SATA 、 USB 、 Flash等接口的磁盘文件名
(2)/dev/hd[a-d][a-63]  为IDE接口的磁盘文件名

2 文件系统特性

2.1 不同操作系统使用的文件系统

(1)传统Windows98及以前的操作系统主要利用的文件系统为FAT或FAT16
(2)Windows2000及以后的操作系统主要利用NTFS为其文件系统
(3)Linux操作系统的正规文件系统均为EXT2 或 EXT3 为其文件系统

2.2 文件系统的存储块

        通常,文件系统一般有三个存储块:
(1)super block : 超级块,用来存储文件系统的整体信息,包括其余两块innode 及 block的总量、使用量、剩余量以及文件系统的格式和文件信息
(2)innode:主要记录文件的属性信息,一个文件会占用一个innode块,同时记录该文件实际数据所在的block的编号
(3)block:主要记录文件的实际数据,根据实际情况可能占用一个或多个block存储

2.3 不同文件系统的数据访问方式

(1)索引式文件系统
        此类文件系统的innode块内存储文件实际数据所在的所有block的编号,此时,操作系统可以由此从开始就读取出文件数据所在的全部block。Linux的EXT2 、 EXT3都是这类文件系统;索引式文件系统的优点:它基本上不需要进行碎片整理,因为其文件写入的block不至于过于离散。
结构如下图:

(2)FAT文件系统
        此类文件系统没有innode块的存在,因此也就不存在一开始就读取文件实际数据的所有block。这种文件系统,通常都是一个block内存储要访问的下一block的编号,该存储方式容易造成文件数据block的过于离散。所以说,FAT的文件系统需要经常进行碎片整理,来保证其性能。我们通常使用的U盘一般是采用的FAT文件系统。
结构如下图:


3 Linux的EXT2文件系统

3.1 EXT2 存储块详解

        对于Linux的EXT2以及EXT3文件系统,有3个存储块,super block 、 innode以及block ,文件系统一开始就把innode和block规划好了,除非重新格式化或者利用resize2fs等命令更改,否则这两部分便不再进行改动。
(1)data block
data block是用来存储文件数据的块,EXT2文件系统中支持的block大小有1KB、2KB和4KB三种而已。
data block的大小在文件系统开始就已经初始化完毕,且不再改变。
一个block最多只能存储一个文件的数据,一个文件的数据根据实际内容量可以存储在多个block中。
对于小于block大小的文件来讲,在block中剩余的容量则不能再被其他文件占用,此时造成一定程度的磁盘空间浪费。
(2)innode block
innode主要记录文件的属性以及该文件实际数据存储在block的编号。
具体来讲,innode block中存储的内容有:
该文件的访问模式;
该文件大小;
该文件的所有者与组;
该文件创建状态改变的时间;
最近修改的时间;
定义文件特性的标志,如SetUID等;
该文件真正内容的指向;
innode block的大小也在文件系统格式化时已经确定,每个block的大小均固定为128bytes,每个文件只会占用一个innode block。
文件系统能够创建的文件数量与innode的数量有关。
系统读取文件时,先找到innode,分析权限,符合要求则读取block的内容。
innode block与文件大小密切相关,由于innode大小有限,只有128bytes的容量,记录一个block号码占用4bytes,而对于大文件则需要非常多的block来存储数据,block的数量远远超出了innode块可存储的容量。为此,文件系统采用多级存储结构,有12个直接,1个间接,一个双间接,一个三间接记录区,这样就满足了大文件的繁多block号的记录。
innode多级结构如下图:

        那么,这样的存储结构可以指定多少个block呢?以较小的1KB的block来讲:
12个直接指向,12*1K=12K , 直接指向可以记录12条;
间接指向,256*1K=256K,每条block号码的记录需要4bytes,因此1K大小可以记录256条;
双间接,256*256*1K,第一层指定256个记录,每个第二层指定256条;
三间接,256*256*256*1K , 第一层指定256个记录,每个第二层指定256条,每个第三层也指定256条记录;
总量,12+256+256*256+256*256*256(K)=16GB
此时,我们可以知道,文件系统将block划分为1KB时,能够容纳的最大文件为16GB,与文件限制表结果一致。但是这个方法不适用与block大小为2KB或者4KB时,因为大于2KB的block将会受到EXT2文件系统本身的限制,计算结果与限制表产生出入。

(3)super block
        此块记录整个文件系统相关信息的地方,记录信息主要有:
block与innode的总量;
未使用和已使用的innode/block的数量;
block和innode的大小;
文件系统挂载时间、最近一次写入数据的时间、最近一次检验磁盘时间等;
一个validbit数值,挂载值为0,未挂载值为1;

3.2 EXT2文件系统与目录树的关系

3.3 EXT2与EXT3文件系统访问与日志文件系统

3.4 文件系统操作及挂载点

3.5 其他Linux文件系统

        以上几节内容理论性强,通读《鸟哥的Linux私房菜—基础学习篇》P204-209了解即可。

Linux磁盘与文件系统管理 之 认识EXT2系统的更多相关文章

  1. Linux磁盘与文件系统管理笔记

    ### Linux磁盘与文件系统管理 linux 最传统的文件系统格式是EXT2,centos7 默认文件系统是xfs(日志式文件系统) 磁盘的组成: 盘片 机械手臂 主轴马达 (机械硬盘) 磁盘格式 ...

  2. Linux学习笔记—Linux磁盘与文件系统管理(转载)

    认识EXT2文件系统 文件的系统特性 Linux的正规文件系统为Ext2 文件数据除了文件实际内容外,还包括其他属性(文件权限.文件属性). 文件系统将这两部分数据分别存放在不同的块,权限和属性放在i ...

  3. Linux学习笔记之Linux磁盘及文件系统管理笔记

    Linux磁盘及文件系统管理 CPU,memory(RAM),I/O i/o: disks,ehtercard disks:持久存储数据 接口类型: IDE(ata): 并口,133MB/s;并行总线 ...

  4. Linux磁盘与文件系统管理概要

    Linux磁盘与文件系统管理 硬盘组成与分区 硬盘组成 圆形的盘片(主要记录数据) 机械手臂与磁头(可读取盘片上的数据) 主轴马达,转动盘片,让机械手臂的磁头在盘片上读取数据 扇区(Sector)为最 ...

  5. 鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)

    本文总结了Linux操作系统来管理我们的硬盘和文件系统需要使用命令.当我们在系统中增加一个硬盘驱动器.什么是我们需要去通过这个硬盘就可以真正使用步骤?下面步骤: (1)对磁盘进行分区,新建能够使用的分 ...

  6. Linux磁盘及文件系统管理

    在LINUX中我们知道一个很重要的概念,那就是"一切皆文件",这里的一切表示所有在LINUX系统的对象,自然也包括了LINUX中的硬盘设备.在LINUX中所有设备都被抽象成一个文件 ...

  7. Linux入门-3 Linux磁盘及文件系统管理

    1. 磁盘基本概念 1.1 磁盘结构:盘片(单碟vs多碟).磁头(读写数据) 1.2 磁盘在Linux中的表示 1.3 分区概念 2 使用fdisk进行磁盘管理 3 Linux文件系统 mke2fs ...

  8. Linux 磁盘与文件系统管理

    介绍一本书叫<Linux 鸟哥私房菜>, 一本教人用linux很经典的一本书,这两天又看了里面的一章节,做一点笔记.有一些很细节的东西的, 在平时运用过很容易被忽略. 1)U盘使用的文件格 ...

  9. 第八章、Linux 磁盘与文件系统管理

    认识 EXT2 文件系统 Linux最传统的磁盘文件系统(filesystem)使用的是EXT2这个啦!所以要了解文件系统就得要由认识EXT2开始! 而文件系统是创建在硬盘上面的,因此我们得了解硬盘的 ...

随机推荐

  1. DP Training(Updating)♪(^∇^*)

    DP Training DP Training 01 https://vjudge.net/contest/220286 密码 nfls A 数塔(Easy) \(f[i][j]\) 表示当前选第 \ ...

  2. 找回phpstorm删除文件/文件夹(phpstorm删除文件/文件夹的恢复)

    恢复phpstorm删除文件/文件夹 再开发的过程中,不小心删除了一个文件夹,后来百度了一下如何恢复,还好PHPStorm是个十分强大的编辑器,不小心删除了文件还可以恢复.一下是恢复的操作: 打开Vi ...

  3. Jmeter(二十三)稳定性测试后的波形图

    jmeter-plugins.org 这个网站为 JMeter 提供了一些增强型功能的插件,使用起来就像 Eclipse 装插件一样,完全做到了插件的可插拔特性.本文简要介绍如何使用这些插件让你的 J ...

  4. 关于如何在其他包中写controller和简单介绍@SpringBootApplication

    本文参考博客:https://blog.csdn.net/u013473691/article/details/52353923 关于@Configuration和@Bean参考博客:https:// ...

  5. 530 Minimum Absolute Difference in BST 二叉搜索树的最小绝对差

    给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值.示例 :输入:   1    \     3    /   2输出:1解释:最小绝对差为1,其中 2 和 1 的差的绝对值为 ...

  6. tera term 的一个命令解析脚本

    ;用虚拟串口虚拟2个串口,tera term使用串口2 ;设置串口2 波特率 115200,超时500ms;如果收到串口发来OK则回复SUCCESS;如果收到ERROR则回复faile;若超时则发送t ...

  7. [已读]用Angularjs开发下一代web应用

    屯了很久了,貌似是国内出现的第一本讲angularjs的书...上上周看完的时候,angular2都要出来了...angular的双向绑定很赞,因为之前公司后台系统我都用tmodjs做,模板语法什么的 ...

  8. CentOS 7.x升级内核

    第一种针对当前内核版本的小版本升级可以采用如下方法: [root@localhost ~]# uname -r -.el7 [root@localhost ~]# yum list kernel [r ...

  9. android开发学习 ------- 仿QQ侧滑效果的实现

    需要做一个仿QQ侧滑删除的一个效果: 一开始是毫无头绪,百度找思路,找到  https://blog.csdn.net/xiaxiazaizai01/article/details/53036994  ...

  10. ABC3D创客项目:小风扇

    风扇是我们纳凉的好帮手,然而大多的风扇都体积庞大不易携带.利用电池进行供电能让风扇变得更加便捷,下面我们利用电池供电的原理制作出一个风扇. 工作原理: 这个OK风扇的主要能源来自于后面的7号电池,风扇 ...