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

第十一章学习笔记

时间:2023-10-15 20:22:22浏览次数:36  
标签:EXT2 第十一章 文件系统 笔记 学习 索引 磁盘 节点 block

第十一章学习笔记

一、课本知识

1.EXT2文件系统

The Second Extended File System (ext2)文件系统是Linux系统中的标准文件系统,是通过对Minix的文件系统进行扩展而得到的,其存取文件的性能极好。 在ext2文件系统中,文件由inode(包含有文件的所有信息)进行唯一标识

2.硬盘组成与分割

磁盘的物理组成,整颗磁盘的组成主要有:

  • 圆形的磁盘盘(主要记录数据的部分);
  • 机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据);
  • 主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据
  • 扇区(Sector)为最小的物理储存单位,每个扇区为 512 bytes;
  • 将扇区组成一个圆,那就是磁柱(Cylinder),磁柱是分割槽(partition)的最小单位;
  • 第一个扇区最重要,里面有:主要启动区(MBR)及分割表(partition table), 其中 MBR 占有 446 bytes,而 partition table 则占有 64 bytes。
    各种接口的磁盘在Linux中的文件名分别为:

/dev/sd[a-p][1-15]:

为SCSI, SATA, U盘, Flash闪盘等接口的磁盘文件名;

/dev/hd[a-d][1-63]:

为 IDE 接口的磁盘文件名;

3.通过mkfs创建虚拟磁盘

在Linux下,使用命令
mke2fs [-b blksize -N inodes] device blocks

在设备上创建一个带有nblocks个块和 inodes个索引节点的EXT2文件系统。设备可以是真实设备,也可以是虚拟磁盘文件。如果未指定 E blksize,则默认块大小为1KB。如果未指定 ninnies,mke2s将根据 blocks计算一个默认的 I inodes数。得到的EXT2文件系统可在 Linux中使用。

dd if=/dev/zero of=vdisk bs=1024 count=1440
mke2fs vdisk 1440

在名为vdisk的虚拟磁盘文件上创建一个EXT2文件系统,有1440个大小为1KB的块。

4.块组描述符

  • 块组描述符块eXT2将磁盘块分成几个组
  • 每个组有8192个块(硬盘上的大小为32K)
  • 每组用一个块组描述符结构体来描述

由于一个虚拟软盘(FD)只有1440个块,B2就只包含一个块组描述符。其余的都是0在有大量块组的硬盘上,块组描述符可以跨越多个块。

块组描述符中最重要的字段是bgblock bitmap、 bg inode bitmap和 bg inode table,它们分别指向块组的块位图、索引节点位图和索引节点起始块。

5.索引节点

每个文件都用一个128字节(EXT4中是256字节)的唯一索引节点结构体表示。下面列出了主要索引节点字段。block[15]数组包含指向文件磁盘块的指针,这些磁盘块有

  • 直接块: i block[0]至 i block[,指向直接磁盘块。

  • 间接块: i block[12]指向一个包含256个块编号(于1 KB BLKSIZE)的磁盘块,每个块编号指向一个磁盘块。

  • 双重间接块: i block[13指向一个指向256个块的块,每个块指向256个磁盘块。

  • 三重间接块: i block[11是三重间接块。对于“小型”EXT2文件系统,可以忽略它。

索引节点大小(128或256)用于平均分割块大小(1B或4KB),所以,每个索引节点块都包含整数个索引节点。在简单的EXT2文件系统中,索引节点的数量是184个(inux默认值)。索引节点块数等于184/8=23个。

因此,索引节点块为B10至B32。每个索引节点都有一个唯一的索引节点编号,即索引节点在索引节点块上的位置+1。注意,索引节点位置从0开始计数,而索引节点编号从1开始计数。0索引节点编号表示没有索引节点根目录的索引节点编号为2。同样,磁盘块编号也从1开始计数,因为文件系统从未使用块0。块编号0表示没有磁盘块。

6.数据块

紧跟在索引节点块后面的是文件存储数据块。假设有184个索引节点,第一个实际数据块是B33,它就是根目录/的i _block[0]。

7.目录条目

目录包含dir_entry结构,即

struct ext2_ dir_ entry_ _2{
u32 inode;// inode number; count from 1, NOT 0
u16 rec_ len;// this entry's length in bytes
u8 name_ len;// name length in bytes
u8 file_ type;// not used
char name[EXT2_ NAME LEN]; // name: 1-255 chars, no ending NULL
);

dir_entry是一种可扩充结构。名称字段包含1到255个字符,不含终止NULL。所以dir_entry 的rec_len 也各不相同。

二、知识点挑战

1.ext2文件管理




2.通过mkfs创建虚拟硬盘

标签:EXT2,第十一章,文件系统,笔记,学习,索引,磁盘,节点,block
From: https://www.cnblogs.com/kcf2003/p/17766105.html

相关文章

  • 学习笔记5 第十一章的自学归纳
    学习笔记5第十一章的自学归纳EXT2文件系统EXT2第二代扩展文件系统(英语:secondextendedfilesystem,缩写为ext2),是LINUX内核所用的文件系统。它开始由RémyCard设计,用以代替ext,于1993年1月加入linux核心支持之中。EX2文件系统数据结构创建虚拟硬盘mke2fs[-bblksize-Nn......
  • 汽车操控原理学习之 -- 行走系统
    一、轮胎对操控的影响轮胎花纹对轮胎操控的影响轮胎的花纹不仅仅是为了好看,轮胎的花纹还关系到能否完全地发挥轮胎的性能,如:牵引制动转弯排水静音等等性能简单来说,胎面花纹最重要的三大作用是:提升抓地力降低噪音增加排水性不过这三者之间本身就是互相牵制甚至是冲......
  • 汽车操控原理学习之 -- 悬架系统
    一、悬挂倾角对操控的影响现实中的汽车底盘并不像普通的玩具车、四驱模型车、玩具遥控车那么简单地将四个轮平行安放且完全垂直于地面,而是为了各种目的把车轮设计成在各个方向按一定的轻微的角度来安放。对于改装爱好者而言,了解四轮定位参数是相当有必要的一门必修课,因为牵一发......
  • 汽车操控原理学习之 -- 动力系统
    一、动力对汽车操控的影响及其相关物理原理本质上说,动力对汽车操控有两方面影响:加速快慢极速高低本质上,决定”加速快慢“和”极速高低“的都是”功率“,或者说”轮上功率“。而发动力是汽车功率的唯一来源,而变速箱的作用是根据不同形式工况(例如上坡、低速起步、高速再加速、......
  • 学习笔记5
    一、任务详情自学教材第11章,提交学习笔记(10分),评分标准如下知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图(3分)实践过程截图,代......
  • 学习笔记5
    学习笔记:EXT2文件系统知识点归纳EX2文件系统数据结构通过mkfs创建虚拟硬盘命令为:mke2fs[-bblksize-Nninodes]devicenblocks虚拟磁盘布局超级块Block#1:超级块,容纳整个文件系统的信息u32s_blocks_count://文件系统中块总数u32s_r_blocks_count://为超级......
  • 2023-2024-1 20231321王曦轶 《计算机基础与程序设计》第3周学习总结
    2023-2024-120231321王曦轶《计算机基础与程序设计》第3周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2023-2024-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2023-2024-1计算机基础与程序设计第三周作业)这个作业的目标<学习计算机......
  • 20211314王艺达学习笔记5
    第十一章EXT2文件系统一.梗概多年来,Linux一直使用EXT2(Card等1995)作为默认文件系统。EXT3(EXT3,14)是EXT2的扩展。EXT3中增加的主要内容是一个日志文件,它将文件系统的变更记录在日志中。日志可在文件系统崩溃时更快地从错误中恢复。没有错误的EXT3文件系统与EXT2文件......
  • jvm学习
    一、什么是JVMJVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与具......
  • Linux第11章学习笔记
    第十一章学习笔记##EXT2文件系统多年来,Linux一直使用EXT2作为默认文件系统EXT3是EXT2的拓展。EXT3中增加的主要内容是一个日志文件EXT4的主要变化是磁盘块的分配EXT2文件系统数据结构通过mkfs创建虚拟磁盘创建了一个带有nblocks个块(每个块大小blksize字节)和ninodes个索引......