首页 > 其他分享 >第十一章学习笔记

第十一章学习笔记

时间:2022-10-03 19:00:47浏览次数:53  
标签:ext2 第十一章 文件系统 笔记 学习 索引 大小 节点 EXT2

 

第十一章

主要内容:EXT2文件系统及其数据结构

 

  • 什么是EXT2文件系统

 

EXT2第二代扩展文件系统second extended filesystem,缩写为ext2,是LINUX内核所用的文件系统。它开始由Rémy Card设计,用以代替ext,于1993年1月加入linux核心支持之中。ext2 的经典实现为LINUX内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,至linux核心2.6版时,扩展到可支持32TB。其他的实现包括GNU Hurd,Mac OS X ,Darwin ,BSD。ext2为数个LINUX发行版的默认文件系统,如Debian、Red Hat Linux等。

 

其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的 x86 电脑系统中,簇最大为 4KB, 则单一文件大小上限为 2048GB, 而文件系统的容量上限为 16384GB。

 

但由于目前核心 2.4 所能使用的单一分割区最大只有 2048GB,实际上能使用的文件系统容量最多也只有 2048GB。

 

至于Ext3文件系统,它属于一种日志文件系统,是对ext2系统的扩展。它兼容ext2,并且从ext2转换成ext3并不复杂。

  • EXT2文件系统数据结构

1、通过mkfs创建虚拟磁盘  ,在Linux下命令:

mke2fs[-b blksize -N ninodes] device nblocks

            在设备上创建一个带有nblocks个块(每个块大小为blksize字节)和ninodes个索引节点的EXT2文件系统。

2、虚拟磁盘布局

  • 上述EXT2文件系统的布局如图所示

3、超级块

  • Block#1:超级块(在磁盘分区中字节偏移量为1024) B1是超级块,用于容纳整个文件系统的信息。

 

s_first_data_block : 0表示4KB块大小,1表示 1KB块大小。它用于确定块组描述符的起始块,即s_first_data_block +1。
s_log_block_size :确定文件块大小,为1KB*(2**s_log_block_size),例如:0表示lKB块大小,1表示2KB块大小,2表示4KB块大小等。最常用的块大小是用于小文件系统的1KB和用于大文件系统的4KB.
s_mnt_count : 已挂载文件系统的次数。当挂载计数达到max_mnt_count时,fsck 会话将被迫检查文件系统的一致性。
s_magic:标识文件系统类型的幻数。EXT2/3/4文件系统的幻数是0xEF53。

4、块组描述符

Block#2:块组描述符块(硬盘上的s_first_data_block+1) EXT2将磁盘块分成几个组。每个组有8192个块(硬盘上的大小为32K)。每组用一个块组描述符结构体来描述。

 

5、块和索引节点位图
Block#8:块位图
Block#9:索引节点位图

 

6、索引节点
Block#10:索引(开始)节点 每个文件都用一个128字节的唯一索引节点结构体表示。

 

7.数据块
紧跟在索引节点块后面的是文件存储数据块。

8.目录条目
目录包含dir_entry结构,即

 问题:Ext2文件系统的特点?

Ext2文件系统的特点:
支持可变块长:创建文件系统时根据预期的文件平均长度来选择最佳的块大小
支持快速符号链接:短路径名的符号链接直接存放在inode中
精巧复杂的文件更新策略使系统崩溃的影响减到最少
支持不可变(immutable)的文件(不能修改、删除和更名)和仅追加(append-only)的文件

标签:ext2,第十一章,文件系统,笔记,学习,索引,大小,节点,EXT2
From: https://www.cnblogs.com/MRC-/p/16750996.html

相关文章

  • 2022-2023-1 20211326《信息安全专业导论》第六周学习总结
    作业信息(1)XOR加密https://www.mosoteach.cn/web/index.php?c=interaction_homework&m=s_write&clazz_course_id=C070E3BB-B075-4571-98F8-B939119D851A&id=D647648F-56AB......
  • java---冒泡排序和稀疏数组的学习
    一.冒泡排序1.冒泡排序无疑是最为出名的排序算法,总共有8大排序2.冒泡代码相当简单,两层循环,两层冒泡轮数,里面依次比较3.我们看到的嵌套循环,应该立马就可以的出这个算法的......
  • Springboot笔记
    SpringBootHelloWorld1.创建Meven工程2.引入依赖pom.xml<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</a......
  • 代码学习记录1
    #include<stdio.h>structBook//结构体{charname[20];shortprice;};intmain(){structBookb={"c语言程序设计",100};printf("书名:《%s\n》",b.name);......
  • Ipyton使用笔记[1003]
    第一次使用:字符串操作   In[1]:lst=[11,12,13,7,1,3,2,2,5,6,10,7]In[2]:lstOut[2]:[11,12,13,7,1,3,2,2,5,6,10,7]In[3]:lst1=[11,12,13,......
  • Visual Studio Code= 笔记
    第一次ES6//letschool='magedu'//console.log(school.charAt(2))//g//console.log(school[2])//g//console.log(school.toUpperCase())//MAGEDU//console......
  • Spring学习第一步 配置环境
    springspring配置:创建spring工程在pom.xml导入spring依赖和单元测试依赖创建pojo包--->在里面创建实体类创建applicationContext配置文件---->写bean相关......
  • 树链剖分学习笔记(未完)
    思想树链剖分用于将树分割成若干条链的形式,以维护树上路径的信息。具体来说,将整棵树剖分为若干条链,使它组合成线性结构,然后用其他的数据结构维护信息。重链剖分原理首......
  • 信安系统学习笔记五
    第十一章EXT2文件系统一.知识点归纳EXT2文件系统TheSecondExtendedFileSystem(ext2)文件系统是Linux系统中的标准文件系统,是通过对Minix的文件系统进行扩展而得到......
  • 【博学谷学习记录】超强总结,用心分享 。Dubbo相关知识。
    一.Dubbo的介绍2011年10月27日,阿里巴巴开源了自己的SOA服务化治理方案的核心框架Dubbo,服务治理和SOA的设计理念开始逐渐在国内软件行业中落地,并被广泛应用。在企......