深入理解Linux内核-Ext2和Ext3文件系统
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文件系统的更多相关文章
- 在Linux环境中使用Ext3文件系统
Linux缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定.但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统 ...
- 读书笔记之Linux系统编程与深入理解Linux内核
前言 本人再看深入理解Linux内核的时候发现比较难懂,看了Linux系统编程一说后,觉得Linux系统编程还是简单易懂些,并且两本书都是讲Linux比较底层的东西,只不过侧重点不同,本文就以Linu ...
- 《深入理解Linux内核》 读书笔记
深入理解Linux内核 读书笔记 一.概论 操作系统基本概念 多用户系统 允许多个用户登录系统,不同用户之间的有私有的空间 用户和组 每个用于属于一个组,组的权限和其他人的权限,和拥有者的权限不一样. ...
- 【读书笔记::深入理解linux内核】内存寻址【转】
转自:http://www.cnblogs.com/likeyiyy/p/3837272.html 我对linux高端内存的错误理解都是从这篇文章得来的,这篇文章里讲的 物理地址 = 逻辑地址 – 0 ...
- 【读书笔记::深入理解linux内核】内存寻址
我对linux高端内存的错误理解都是从这篇文章得来的,这篇文章里讲的 物理地址 = 逻辑地址 – 0xC0000000:这是内核地址空间的地址转换关系. 这句话瞬间让我惊呆了,根据我的CPU的知识,开 ...
- linux 内核移植和根文件系统的制作【转载】
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...
- linux 内核移植和根文件系统的制作
1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1 Linux版本 Linux内核的版本号 ...
- 深入理解Linux内核-虚拟文件系统
Linux 成功的关键之一是它具有和其他操作系统和谐共存的能力 5个标准文件类型:1.普通文件2.目录文件3.符号链接文件4.设备文件5.管道文件 虚拟文件系统(Virtual FileSystem) ...
- Linux内核启动及根文件系统载入过程
上接博文<u-boot之u-boot-2009.11启动过程分析> Linux内核启动及文件系统载入过程 当u-boot開始运行bootcmd命令,就进入Linux内核启动阶段.与u-bo ...
随机推荐
- 关于.NET编程中各种事务的实现
从数据库事务开始 在很早的以前,我们要实现一个事务通常是基于SQL的数据库事务,一般的通过SQL查询语言来实现,如下所示,同时更新两本书的价格: BEGIN TRANSACTION UPDATE tb ...
- python之模块calendar(汇集了日历相关的操作)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #calendar日历模块 import calendar #3个大类: calendar.Calendar( ...
- 如何用命令行执行loadrunner的脚本
SET M_ROOT=D:\Mercury Interactive\Mercury LoadRunner\bin cd %M_ROOT% wlrun.exe -TestPath D:\ceshi10\ ...
- tomcat的war由于损坏不能解压导致的服务不能启动
问题描述: Tomcat启动,提示异常,服务自动释放! INFO: Starting Servlet Engine: Apache Tomcat/ Sep , :: PM org.apache.cat ...
- Ubuntu18.04和OpenWrt 18.06.0 下使用aria2和BaiduExport处理百度盘下载
Ubuntu下没有可用的百度盘客户端, 下载大文件如果通过浏览器就会特别不可靠. 可以使用Chrome插件 BaiduExport 得到下载链接和参数后, 通过aria2进行下载. Aria2安装 直 ...
- Pinpoint - 应用性能管理(APM)平台实践之部署篇
0.0 前言 国内的APM行业这两年刚刚起步,但是在国外却比较成熟了,并且由于这两年人力成本的快速提高,国内外涌现了几家非常不错的APM企业,例如APPdynamic,Dynamic,NewRelic ...
- Android webView打不开baidu网页的解决办法
有时候会出现一些很奇怪的问题,比如,webview就是打不开百度网页,那么 加上这句就好了(备忘): WebSettings webSettings = webview.getSettings(); ...
- 理解sklearn.feature.text中的CountVectorizer和TfidfVectorizer
""" 理解sklearn中的CountVectorizer和TfidfVectorizer """ from collections im ...
- Pycharm 中添加第三方库和插件
在 PyCharm 中选择:File — Settings — 进入如下界面,点击 右上角的 “+” 可以添加其他库: 选择到相应的库,并 Install Package 即可:
- java struts2入门学习--基于xml文件的声明式验证
一.知识点总结 后台验证有两种实现方式: 1 手工验证顺序:validateXxx(针对Action中某个业务方法验证)--> validate(针对Action中所有的业务方法验证) 2 声明 ...