20211316郭佳昊 《信息安全系统设计与实现(上)》 第五周学习总结

发布时间 2023-10-15 21:10:29作者: 20211316郭佳昊

一、任务要求

[ 1 ] 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容 (4分)
我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题

核心是要求GPT:请你以苏格拉底的方式对我进行提问

然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:你的理解(回答)是什么?

如果你觉得差不多了,可以先问问GPT:针对我XXX知识点,我理解了吗?

GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:我的回答结束了,请对我的回答进行评价总结,让它帮你总结一下。

[ 2 ] 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图(3分)

[ 3 ] 实践过程截图,代码链接(2分)

[ 4 ] 其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)(1分)

二、知识点总结

EXT2文件系统数据结构

  • 通过mkfs创建虚拟磁盘

mke2fs [-b blksize -N ninodes] device nblocks

  • 虚拟磁盘布局

Block#0:引导块

  • 超级块

Block#1:容纳整个文件系统的信息

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://表示每个组块的inode数目,查找文件inode所在块的位置很重要
u32 s_mnt_count://文件系统挂接计数
u32 s_max_mnt_count://文件系统最大挂接计数
u32 s_state://文件系统的状态

  • 块组描述符

Block#2: EXT2将磁盘块分成好几组,每个组有8192个块(32k),每组用一个块组描述符结构体来描述。

  • 块个索引节点位图

Block#8:块位图。位图用来表示某种项的位序列,如磁盘块或索引节点
Block#9:索引节点位图。 一个索引节点用来代表一个文件的数据结构

  • 索引节点

Block#10

直接块:i_block[0]至i_block[11],指向直接磁盘块
间接块:i_block[12]指向一个包含256个块编号的磁盘块,每一个块编号指向一个磁盘块。
双重间接块:i_block[13]指向一个指向256个块的块,每个块指向256个磁盘块。
三重间接块

  • 数据块

紧跟在索引节点块

  • 邮差算法

Linear_address LA = N*block + house;
Block_address BA = (LA/N,LA%N);

3级文件系统

  • 挂载算法

可将某个文件挂载到mount_point目录上,它允许文件系统包含其他文件作为文件系统的一部分。

mout filesys mount_point

  • 卸载算法

用于操作可卸载已挂载的文件系统,它将挂载的文件系统与挂载点分开。

三、苏格拉底挑战