Linux ext2文件系统
Linux最传统的磁盘文件系统(filesystem)使用的是ext2
1.ext2文件系统结构
ext2文件系统划分为多个块组,每个块组拥有独立的inode/block,一个文件系统只有一个Superblock。
如下图所示:
1)Boot Sector:启动扇区。
启动扇区可以安装引导装载程序,这样可以将不同的引导装载程序安装到不同的文件系统,
不用覆盖整块硬盘唯一的MBR,才能制作出多重引导的环境。
2)Data Block:存放文件内容。
ext2系统中block的大小有1KB,2KB,4KB三种,block大小由文件系统总容量决定,如下图所示:
每个block只能放一个文件的数据,若文件大小超过block,则占用多个;
若小于block,block剩余的空间也不能被其他文件使用。
3)Inode Table:存放文件属性和权限等。
inode存放的文件数据至少有:
文件的访问权限(rwx)
文件的所有者与组(ower/group)
文件的大小
文件创建和状态改变时间
最近一次读的时间
最近修改的时间
文件类型标识
文件指向的block号
inode的大小固定为128B
我们重点看一下最后一项,“文件指向的block号”
inode是通过12个直接指针,1个间接指针,1个双间接指针,1个三间接指针来指向block的。
如下所示:
12个直接指针:直接取得block号码
如果文件太大,就会使用间接指针,双间接指针,三间接指针来记录编号
4)Superblock:存放文件系统的基本信息。
一个文件系统只有一个Superblock,存放的信息有:
inode,block的总量
未使用和已使用的inode,block数量
inode,block的大小
文件系统挂载时间,最近写入数据时间,最近检查磁盘时间
validbit值,文件系统已挂载,则validbit为0,否则为1
5)File system Description(文件系统描述):每个块组的开始结束号码
6)block bitmap(block对照表):标识block是否使用
便于系统快速找到空间来处置文件
7)inode bitmap(inode对照表):标识inode是否使用
与block bitmap相似。
2.文件系统树型结构之间的关系
1)目录
新建一个目录时,ext2会分配一个inode和至少一块block给该目录。
inode记录目录权限和属性,以及分配的block号。
block记录目录下的文件名和文件名占用的inode号。
2)文件
新建一个文件时,ext2会分配一个inode和对应文件大小的N个block块给该文件。
inode和文件名会同时被记录在目录的block中,以便通过目录访问到该文件。
block存放文件内容。
3)文件查找
查找文件时,会先找到文件所在目录,目录的inode对应的block中,
存放着文件的名称和inode,找到文件名对应的inode,
然后找到文件inode对应的block,找到文件内容。
3.ext3文件系统
ext3是ext2的升级,加入了日志文件系统。
4.挂载文件系统
文件系统要挂载到目录树,才能使用。
文件系统与目录树结合的操作,称为挂载。
挂载点是目录,该目录为进入该文件系统的入口。
Linux ext2文件系统的更多相关文章
- linux ext2 文件系统学习
Linux ext2文件系统理解 硬盘组成: 硬盘由多个圆形硬盘片组成.按照硬盘片能够容纳的数据量分为单盘和多盘.硬盘的数据读取主要靠机械手臂上的磁头,在机械手臂上有多个磁头.机械手臂不动硬盘旋转一 ...
- Linux ext2文件系统之初步思考
数据存放在磁盘中,磁盘最小存取单位sector(512Byte);文件系统中存储的最小单位是 块(Block),大小通常(1KB,2KB,4KB...), 一个block对应多个sector,因而可用 ...
- Linux EXT2 文件系统
磁盘是用来储文件的,但是必须先把磁盘格式化为某种格式的文件系统,才能存储文件.文件系统的目的就是组织和管理磁盘中的文件.在 Linux 系统中,最长见的是 ext2 系列的文件系统.其早期版本为 ex ...
- Linux 下EXT2文件系统 —— 如何将蚂蚁和大象优雅的装进冰箱里
这一阵子真是偷懒,无时无刻不和自己身体中的懒癌做斗争.最终我还是被打败了,星期天两天几乎都是荒废过去的,在空闲的时候实际上我内心也是有点焦虑的,不知道去怎么度过这时间.学习吧又不想学习,看电视娱乐吧也 ...
- Linux ext2/ext3文件系统详解
转载: Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表.索引节点是一个结构,它包含了一个文件的长度.创建及修改时间.权限.所属关系.磁盘中的位置等信 ...
- 文件系统的特性,linux的EXT2文件系统【转】
本文转载自:https://blog.csdn.net/tongyijia/article/details/52809281 先来提出三个概念: - superblock - inode - bloc ...
- Linux中ext2文件系统的结构
1.ext2产生的历史 最早的Linux内核是从MINIX系统过渡发展而来的.Linux最早的文件系统就是MINIX文件系统.MINIX文件系统几乎到处都是bug,采用的是16bit偏移量,最大容量为 ...
- Linux磁盘管理——Ext2文件系统
前言 通常而言,对于一块新磁盘我们不是直接使用,而是先分区,分区完毕后格式化,格式化后OS才能使用这个文件系统.分区可能会涉及到MBR和GPT问题.至于格式化和文件系统又有什么关系? 这里的格式化指的 ...
- Linux 文件系统及 ext2 文件系统
linux 支持的文件系统类型 Ext2: 有点像 UNIX 文件系统.有 blocks,inodes,directories 的概念. Ext3: Ext2 的加强版,添加了日志 ...
随机推荐
- fwrite错误
使用fwrite出错 f:\dd\vctools\crt_bld\self_x86\crt\srt\write.cline:69expression:_osfile(fh)&FOPEN 使用w ...
- C语言快速排序
复习快速排序,用C语言实现: #include <stdio.h> int quicksort(int begin, int end, int a[], int len); void ma ...
- 配置VS2010具有代码提示功能
Visual Assist X是一款非常好的Microsoft Visual Studio插件,可以支持Microsoft Visual Studio 2003,Microsoft Visual St ...
- N的阶乘的长度
阶乘是乘法 , 乘法的话 , 几位数*几位数的位数 就是 哪两个几位数相加 . 这个可以用log10来解决 , 所以有如下代码 . #include<stdio.h> #include& ...
- phpstorm-file watcher
在项目中使用了sass,将scss编译成css的时候,每次都需要compass watch netbeans产品带有file watcher功能 三大类 1,less,scss,sass into c ...
- Java 集合深入理解(14):Map 概述
点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 终于把 List 常用的几种容器介绍完了,接下来开始 Map 的相关介绍. 什么是 Map Java 中的 Map 接口 ...
- magento和discuz(ucenter)整合集成开发思路
discuz自带ucenter,主要就是用于和其他程序的通信.我们可以下载discuz的ucenter开发手册进行magento和discuz的集成.里面有一些ucenter的一些接口函数和参数说明, ...
- excel表里的数据导入到数据库里
采用的是jxl,所以需要导jxl-2.4.2.jar的jar包.(前提知道excel表的目录): //用log记录异常信息 private static final Logger log = Logg ...
- cannot find -lgcc_s
在64位centos6上编译32位的汇编程序,如果程序中使用了C库,比如printf.因为是编译32位的目标程序,所以使用gcc编译的时候需要加上-m32选项,但是如果编译的话会报错,以print.s ...
- 【Better Code】repeat
<JavaScript 框架设计> 版本1: function repeat(target, n) { return (new Array(n + 1)).join(target) } 版 ...