Ext2的一般特征:
1、创建Ext2文件系统时,系统管理员可以根据预期的文件平均长度来选择最佳块大小(从1024B~4096B)。来减少文件碎片
2、创建Ext2文件系统时,系统管理员可以根据在给定大小的分区上预计存放的文件树来选择给该区分配多少个索引节点。更加有效的利用磁盘空间
3、文件系统将磁盘分组,每组包含存放在相邻磁道上的索引节点和数据块。对单独块组中的文件访问的时候可以减少磁盘的平均寻道时间。
4、磁盘数据块被使用之前,就被系统预分配给普通文件,当文件增大时,因为物理上的相邻块已经被保留,这就减少了文件的碎片。
5、支持快速符号链接。 Ext2的一些健壮灵活的特点:
1、给文件创建新的硬链接时,先在索引节点中增加硬链接计数器,然后把新名字加到指定目录下。这样虽然在删除文件后,导致文件不会被自动回收。但是相比反过来,先添加到目录,后加索引计数器,在删除原文件后,导致新增硬链接指向错误的数据块,更是一场灾难。
2、在启动时支持对文件系统的状态进行自动的一致性检查。由外部程序e2fsck完成。可以再系统崩溃之后激活,也可以在预订的安装次数、或者预定义的时间激活。
3、支持不可变的文件
4、兼容Unix System V Release (SVR4, 新文件的用户组ID的BSD语义相兼容 Ext2需要的特性:
1、块片:
系统管理员对磁盘的访问通常选择较大的块,因为计算机通常处理大文件。因此导致大的块存放小文件会浪费很多磁盘空间。为解决这个问题,将几个不同文件放在同一个块点不同片上来解决。 2、透明地处理压缩和加密文件:
这些新的选项将允许用户透明地在磁盘上存放压缩和加密的文件版本。 3、逻辑删除:
一个undelete选项将允许用户在必要的时候很容易恢复以前已经删除的内容 4、日志:
日志避免文件系统在被突然卸载时对其进行自动的耗时检查。 Ext2的数据结构:
1、第一个块不受Ext2文件系统的管理,保留下来作为分区引导扇区。
2、其余的分为块组,大小相等,顺序排列
3、块组的多少,取决于分区的大小和块的大小。限制在于块位图
4、块位图必须放在一个单独的块中。用来标记组中块的空闲和占用情况,所以每个组中可以有8*b个块,b是块的字节数(1024~4096)。 超级块:
组描述符和位图:
1、块大小为1024、2048、4096字节,因此一个单独的位图描述8192、16384、32768个块的状态。 索引节点表:
1、由一连串连续的块组成,每一个块包含索引节点的一个预定义号。
2、索引节点大小相同,128个字节。
3、128个字节,限制了索引节点的扩展。256个字节又太浪费,故提出了增强属性的概念。 访问控制列表:
1、限制了每个文件可以访问用户(用户组)名称以及权限 创建Ext2文件系统:
1、格式化磁盘,以使磁盘驱动程序可以读和写磁盘上的块。
2、创建文件系统。 Ext3文件系统
1、添加了日志功能

  

深入理解Linux内核-Ext2和Ext3文件系统的更多相关文章

  1. 在Linux环境中使用Ext3文件系统

      Linux缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定.但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统 ...

  2. 读书笔记之Linux系统编程与深入理解Linux内核

    前言 本人再看深入理解Linux内核的时候发现比较难懂,看了Linux系统编程一说后,觉得Linux系统编程还是简单易懂些,并且两本书都是讲Linux比较底层的东西,只不过侧重点不同,本文就以Linu ...

  3. 《深入理解Linux内核》 读书笔记

    深入理解Linux内核 读书笔记 一.概论 操作系统基本概念 多用户系统 允许多个用户登录系统,不同用户之间的有私有的空间 用户和组 每个用于属于一个组,组的权限和其他人的权限,和拥有者的权限不一样. ...

  4. 【读书笔记::深入理解linux内核】内存寻址【转】

    转自:http://www.cnblogs.com/likeyiyy/p/3837272.html 我对linux高端内存的错误理解都是从这篇文章得来的,这篇文章里讲的 物理地址 = 逻辑地址 – 0 ...

  5. 【读书笔记::深入理解linux内核】内存寻址

    我对linux高端内存的错误理解都是从这篇文章得来的,这篇文章里讲的 物理地址 = 逻辑地址 – 0xC0000000:这是内核地址空间的地址转换关系. 这句话瞬间让我惊呆了,根据我的CPU的知识,开 ...

  6. linux 内核移植和根文件系统的制作【转载】

    原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...

  7. linux 内核移植和根文件系统的制作

    1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号 ...

  8. 深入理解Linux内核-虚拟文件系统

    Linux 成功的关键之一是它具有和其他操作系统和谐共存的能力 5个标准文件类型:1.普通文件2.目录文件3.符号链接文件4.设备文件5.管道文件 虚拟文件系统(Virtual FileSystem) ...

  9. Linux内核启动及根文件系统载入过程

    上接博文<u-boot之u-boot-2009.11启动过程分析> Linux内核启动及文件系统载入过程 当u-boot開始运行bootcmd命令,就进入Linux内核启动阶段.与u-bo ...

随机推荐

  1. msiexec command line arguments

    Documented command line arguments Type MSIEXEC /? and you'll get the following on-screen help: Windo ...

  2. mysql5.6特殊字符问题

    问题描述: 在搭建redis监控cache-cloud软件,发现对建立cache-cloud的库,无法删除 drop database cache-cloud; 很奇怪..... 问题解决: 百思不得 ...

  3. 上海期货交易所CTP行情和交易接入

    发布时间:2018-09-25   技术:C++11,动态库的制作   概述 CTP的接入Demo 详细 代码下载:http://www.demodashi.com/demo/14125.html 本 ...

  4. Oracle 错误总结及问题解决 ORA

    参考地址 ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数O ...

  5. 【TP3.2.X】(同样适用于OT) 设置单入口index.php文件,区分PC/WAP/Wechat 三个终端

    1.目的:本教程适用于 OneThink1.0.或者TP3.2.X 系列,达到单入口index.php文件,区分PC/WAP/Wechat 三个终端 2.启发至 : http://www.thinkp ...

  6. DOM API详解

    来源于:http://zxc0328.github.io/2016/01/23/learning-dom-part1/ https://zxc0328.github.io/2016/01/26/lea ...

  7. Easyui入门视频教程 第07集---Accordion的使用

    Accordion 是一个 收缩的组件 类似挂历的 百度了一下 意思是 accordion 英[əˈkɔ:diən] 美[əˈkɔrdiən] n. 手风琴 adj. 可折叠的 他就是 一个折叠的 很 ...

  8. Swift3 根据秒数获取视频时长(转换成00:00:00时间格式)以及将时长转换成秒

    直接代码了: /// 秒转换成00:00:00格式 /// /// - Parameter secounds: <#secounds description#> /// - Returns ...

  9. hibernate的批量删除

    转自:hibernate的批量删除一般而言,hibernate的批量删除的写法有两种,一种是hibernate内置的批量删除,不过他的批量删除是将每条记录逐一生成删除语句,其效率极低,当然我们可以使用 ...

  10. std::string std::wstring 删除最后元素 得到最后元素

    std::string str = "abcdefg,"; std::cout << "last character:"<<str.ba ...