首页 > 其他分享 >学习笔记5 第十一章的自学归纳

学习笔记5 第十一章的自学归纳

时间:2023-10-15 20:22:06浏览次数:38  
标签:文件 第十一章 文件系统 笔记 索引 描述符 u32 自学 节点

学习笔记5 第十一章的自学归纳

EXT2文件系统

  • EXT2第二代扩展文件系统(英语:second extended filesystem,缩写为 ext2),是LINUX内核所用的文件系统。它开始由Rémy Card设计,用以代替ext,于1993年1月加入linux核心支持之中。

EX2文件系统数据结构

创建虚拟硬盘

mke2fs [-b blksize -N ninodes] device nblocks

超级块

  • 重要字段如下:
    u32 s_inodes_count
    u32 s_blocks_count
    u32 s_r_blocks_count
    u32 s_free_blocks_count
    u32 s_mtime
    u32 s_wtime
    u32 s_magic
    u32 s_inodes_per_group
    u32 s_mnt_count
    u32 s_max_mnt_count
    u32 s_state

块组描述符

  • Block#2:块组描述符块,EXT2将磁盘块分为几个组,每个组有8192个块,用一个块组描述符结构体来描述。

块和索引节点位图

  • Block#8:块位图,位图是用于表示某种项的位序列,也用于分配和回收项。
  • Block#9:索引节点位图,一个索引节点代表一个文件的数据结构。

索引节点

  • Block#10:索引(开始)节点块,每个文件都用一个128字节的唯一索引节点结构体表示
  • 直接块、间接块、双重间接块、三重间接块

数据块

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

邮差算法

  • 组合优化问题(旅行商问题):找到一条最短路径,使得一个旅行商能够恰好访问所有给定的城市一次,并最终回到起始城市。
  • 算法例子:最近邻算法(Nearest Neighbor Algorithm)、克里斯托弗算法(Christofides Algorithm)、模拟退火算法(Simulated Annealing)和遗传算法(Genetic Algorithm)
  • c语言中的Test-Set-Clear
  • 将索引节点号转换为磁盘上的索引节点

编程示例

  • 显示超级快
  • 显示位图
  • 显示根索引节点
  • 显示目录条目

3级文件系统函数

函数示例如下:

  • open(): 打开文件,创建一个文件描述符,并返回该描述符用于后续的文件操作。

  • close(): 关闭文件,释放文件描述符,并确保所有对文件的操作都已完成。

  • read(): 从文件中读取数据。它接受文件描述符、缓冲区和要读取的字节数作为参数,并返回实际读取的字节数。

  • write(): 向文件中写入数据。它接受文件描述符、要写入的数据和要写入的字节数作为参数,并返回实际写入的字节数。

  • lseek(): 在文件中进行定位。它用于在文件中移动读/写指针的位置,以便执行随机访问。可以设置指针相对于文件开头的偏移量,也可以相对于当前位置或文件末尾。

  • mkdir(): 创建一个新目录。它接受目录路径和权限参数,并尝试创建一个具有指定名称和权限的新目录。

  • rmdir(): 删除一个空目录。它接受目录路径作为参数,并尝试删除指定的空目录。

  • unlink(): 删除一个文件。它接受文件路径作为参数,并尝试删除指定的文件。

挂载算法

  • mount filesys mount_point
    可将某个文件系统挂载到mount_point目录上

卸载算法

  • 卸载文件系统可卸载已挂载的文件系统。

交叉挂载点

  • 向下遍历
  • 向上遍历

文件保护

文件系统项目拓展

  • 多个组
  • 4KB大小的块
  • 管道文件
  • I/O缓冲

苏格拉底挑战







标签:文件,第十一章,文件系统,笔记,索引,描述符,u32,自学,节点
From: https://www.cnblogs.com/889w/p/17766106.html

相关文章

  • 学习笔记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://为超级......
  • 20211314王艺达学习笔记5
    第十一章EXT2文件系统一.梗概多年来,Linux一直使用EXT2(Card等1995)作为默认文件系统。EXT3(EXT3,14)是EXT2的扩展。EXT3中增加的主要内容是一个日志文件,它将文件系统的变更记录在日志中。日志可在文件系统崩溃时更快地从错误中恢复。没有错误的EXT3文件系统与EXT2文件......
  • Linux第11章学习笔记
    第十一章学习笔记##EXT2文件系统多年来,Linux一直使用EXT2作为默认文件系统EXT3是EXT2的拓展。EXT3中增加的主要内容是一个日志文件EXT4的主要变化是磁盘块的分配EXT2文件系统数据结构通过mkfs创建虚拟磁盘创建了一个带有nblocks个块(每个块大小blksize字节)和ninodes个索引......
  • 第六周学习笔记(学习笔记5)
    第十一章EXT2文件系统—学习笔记〇、本章思维导图一、文件系统数据结构通过mkfs创建虚拟磁盘在Linux下,命令mke2fs[-bblkesize-Nninodes]devicenblocks在设备上创建一个带有nblocks个块(每个块大小为blksize字节)和ninodes个索引节点的EXT2文件系统。设备可以是真实......
  • 2023-2024-1 20211327 信息安全系统设计与实现 学习笔记5(必做)
    学习笔记5EXT2文件系统概述1级和2级文件系统函数实践过程EXT2文件系统概述EXT2(SecondExtendedFileSystem)是Linux操作系统早期使用的文件系统,它是EXT文件系统家族的第二个版本,于1993年首次引入。在现代Linux系统中已经被后续版本的EXT文件系统(如EXT3和EXT4)所取代。1.......
  • Linux笔记(2)
    文件权限 文件的权限针对三类对象进行定义owner属主,缩写ugroup属组,缩写gother其他,缩写o 每个文件针对每类访问者定义了三种主要权限r:Read读w:Write写x:eXecute执行 修改文件访问权限的方法指令:chmod    设置文件的访问权限。格式:chmodwhooptper......
  • 学习笔记5 截图+代码
    一、苏格拉底挑战二、遇见的困难三、实践截图和代码课堂笔记:man3printfman-ksort//会找到含有sort功能的命令或函数man-ksort|grep3//缩小查找范围到C语言命令课本练习:#include<stdio.h>#include<stdlib.h>#include<stdint.h>#defin......
  • 《信息安全系统设计与实现》学习笔记5
    《信息安全系统设计与实现》学习笔记5第十一章EXT2文件系统EXT2文件系统数据结构创建虚拟硬盘mke2fs[-bblksize-Nninodes]devicenblocks虚拟磁盘布局Block#0:引导块超级块Block#1:B1是超级块,用于容纳整个文件系统的信息,是记录整个文件系统相关信息的......
  • 20211301 学习笔记5
    20211301学习笔记5教材知识点总结11.1EXT2文件系统EXT2:linux的默认文件系统EXT3:扩展,增加了日志文件EXT4:磁盘块的分配11.2EXT2文件系统数据结构创建虚拟磁盘:创建指定个块和索引节点的文件系统,可以在虚拟磁盘也可以在真实设备上虚拟磁盘布局:超级块:容纳......