首页 > 其他分享 >《信息安全系统设计与实现》第六周学习笔记

《信息安全系统设计与实现》第六周学习笔记

时间:2023-10-15 10:59:46浏览次数:31  
标签:EXT2 信息安全 文件系统 笔记 第六周 索引 挂载 节点 Block

《信息安全系统设计与实现》第六周学习笔记

第十一章 EXT2 文件系统

EXT2文件系统

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

EX2文件系统数据结构

  • 创建mkfs创建虚拟硬盘
    • mke2fs [-b blksize -N ninodes] device nblocks创建一个带有nblocks个块和ninodes个索引节点的EXT2文件系统
  • 虚拟磁盘布局
    • Block#0:引导块
  • 超级块
    • 超级块是记录整个文件系统相关信息的地方,没有superblock,就没有这个文件系统了,它记录的主要信息有:
      • block与inode的总量
      • 未使用与已使用的inode/block数量
      • block与inode的大小
      • 文件系统的挂载时间、最近一次写入数据的时间、最近一次检验磁盘的时间等文件系统的相关信息
      • 一个validbit数值,若此文件系统已被挂载,则valid bit为0,若未被挂载,则valid bit为1
  • 块组描述符
    • Block#2
    • EXT2将磁盘块分为几个组,每个组有8192个块,用一个块组描述符结构体来描述。
  • 块和索引节点位图
    • 块位图(Block#8),用于表示某种项的位序列
    • 索引节点位图(Block#9),代表一个文件的数据结构
    • 索引(开始)节点块(Block#10),索引节点大小用于平均分割块大小,所以每个索引节点块都包含整数个索引节点
  • 数据块
    • 紧跟在索引节点块后面的是文件存储数据块
  • 目录条目
    • 包含dir_entry结构
      • dir_entry是一种可扩充结构,不含终止NULL

邮差算法

  • 邮差算法:
    • 在计算机系统中, 经常出现下面这个问题。 一个城市有M 个街区, 编号从 0到M-1。 每个街区有N座房子, 编号从0 到 N-1。每座房子有一个唯一的街区地址, 用(街区, 房子)表示, 其中0<=街区<M, 0<=房子<N。 来自外太空的外星人可能不熟悉地球上的街区寻址方案, 倾向于采用线性方法将这些房子地址编为 0, 1, ···, N-1, N, N+1 等。 已知某个街区地址 BA= (街区, 房子), 怎么把它转换为线性地址 LA, 反过来,已知线性地址,怎么把它转换为街区地址?如果都从0开始计数,转换就会非常简单。

      •     Linear_address LA = N*block + house;
            Block_address BA = (LA/N,LA%N);
        
    • C语言中的Test-Set-Clear位
    • 将索引节点号转换为磁盘上的索引节点

编程示例

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

3级文件系统函数

  • 3级文件系统支持文件系统的挂载、卸载和文件保护
  • 挂载算法
    • mount filesys mount_point
    • 可将某个文件系统挂载到mount_point目录上。
  • 卸载算法
    • 可卸载已挂载的文件系统。
  • 交叉挂在点
    • 两个方向的挂载点可能会出现交叉
      • 向下遍历
      • 向上遍历
  • 文件保护

文件系统项目的扩展

  • 多个组:组描述符的大小为32字节,32个组的文件系统大小可扩展为32*8=256MB
  • 4KB大小的块:128各组

标签:EXT2,信息安全,文件系统,笔记,第六周,索引,挂载,节点,Block
From: https://www.cnblogs.com/gfynb/p/17765353.html

相关文章

  • 学习笔记5
    11章教材知识点EXT2概述:EXT2是一种磁盘文件系统,用于存储和组织文件和目录。支持文件和目录的权限、链接、文件系统的挂载和卸载等功能。使用磁盘上的数据结构来组织文件和目录的存储。EXT2数据结构:虚拟磁盘:通过mkfs命令创建的EXT2文件系统。虚拟磁盘布局:由超级块、......
  • 《信息安全系统设计与实现》学习笔记5
    第十一章EXT2文件系统EXT2文件系统数据结构通过mkfs创建虚拟磁盘mke2fs[-bblksize-Nninodes]devicenblocks虚拟磁盘布局Block#0:引导块。用来容纳一个引导程序,从磁盘引导操作系统。超级块Block#1:超级块。用于容纳整个文件系统的信息。超级块结构中的一些重要字......
  • 《Unix/Linux系统编程》教材学习笔记第十一章
    chapter11EXT2文件系统Linux一直使用EXT2(Card等1995)作为默认文件系统。EXT3(EXT3,2014)是EXT2的扩展。EXT3中增加的主要内容是一个日志文件,它将文件系统的变更记录在日志中。日志可在文件系统崩溃时更快地从错误中恢复。没有错误的EXT3文件系统与EXT2文件系统相同。EXT3的最新......
  • *【学习笔记】(7) 线段树及高级用法
    一.普通线段树线段树(SegmentTree)几乎是算法竞赛最常用的数据结构了,它主要用于维护区间信息(要求满足结合律)。与树状数组相比,它可以实现\(O(logn)\)的区间修改,还可以同时支持多种操作(加、乘),更具通用性。接下来我们用这道模板题为例,看看线段树是怎么维护区间和这一信息的。P33......
  • *【学习笔记】(4) 网络流
    1.算法简介网络一个网络\(G=(V,E)\)是一张有向图,图中每条有向边\((x,y)\inE\)都有一个给定的权值\(c(x,y)\),称为边的的容量。特别的,若\((x,y)\notinE\),则\(c(x,y)=0\)。图中还有两个指定的特殊节点\(S\inV\)和\(T\inV(S\neqT)\),分别为源点和汇点......
  • 第五周学习笔记
    EXT2文件系统EXT2文件系统数据结构使用mkfs创建虚拟磁盘linux命令为mke2fs[-bblksize-Nninodes]devicenblocks具体使用例:ddif=/dev/zeroof=vdiskbs=1024count=1440mke2fsvdisk1440虚拟磁盘布局Block#0:引导块B0是引导块(BootBlock),文件系统不会使用它。它......
  • [学习笔记]强连通分量
    定义什么是强连通分量?直白地说就是在一个有向图中,有一块区域,每个点都可以互相抵达。这里用一张图来说明一下。图中的\(1,2,3\)是一个强连通分量,因为他们可以互相抵达。Tarjan算法如何求强连通分量,最有名且最常用的就是Tarjan算法。先给出如下定义:\(dfn_u\):深搜时被......
  • 学习笔记五
    第11章EXT2文件系统EXT2文件系统数据结构:EXT2文件系统使用一些关键的数据结构来组织文件和目录的存储和访问。以下是EXT2文件系统中常见的数据结构:超级块(Superblock):是文件系统的起始部分,包含关键的元数据,如文件系统的大小、块的数量、inode(索引节点)的数量等信息。块组描......
  • 2023_10_14_MYSQL_DAY_05_笔记
    2023_10_14_MYSQL_DAY_05_笔记https://www.cnblogs.com/tdskee/p/16536166.html{MySQL的优化多种方法(至少15条)}#查看触发器showtriggers;#删除触发器droptrigger触发器名;#建立触发器droptriggerifexistsdept_del;createtriggerdept_delafterdeleteon......
  • 《敏捷软件开发宣言》阅读笔记二
    敏捷软件开发宣言的核心内容敏捷软件开发的原则《敏捷软件开发宣言》提出了四个基本原则:简洁、沟通、反馈和适应。这些原则构成了敏捷软件开发的基础,帮助团队在面对变化和不确定性时,能够迅速做出调整。敏捷软件开发的价值观敏捷软件开发宣言提出了12个价值观,包括:个体和互......