20211105李宜时信息安全系统设计与实现第五周自学笔记

20211105李宜时信息安全系统设计与实现第五周自学笔记:EXT2文件系统和三级文件系统

EXT2文件系统

EXT2(Extended File System 2)是一种广泛用于Linux操作系统的文件系统。它是EXT文件系统家族的第二个版本,设计用于提供高性能和可靠性的存储解决方案。以下是一些关于EXT2文件系统的关键信息:

特点:

  • 支持大容量存储:EXT2文件系统支持非常大的存储容量,允许大型文件和分区。

  • 可靠性:它采用了一些技术来防止数据丢失,如日志文件系统。

  • 不支持元数据日志:与后续的EXT3和EXT4不同,EXT2不支持元数据(文件系统的数据结构)的日志记录。

文件和目录结构:

  • Inode:每个文件和目录都有一个与之相关的Inode,它包含文件的元数据信息,如权限、文件大小和文件数据块的位置。

  • 数据块:文件数据存储在数据块中,EXT2使用块组来组织这些数据块。

  • 目录:目录是一种特殊的文件,用于存储其他文件和子目录的引用。

EXT2文件系统数据结构

EXT2文件系统包含多个关键数据结构,用于组织文件和元数据。以下是一些重要的数据结构:

Inode(索引节点)

  • Inode是文件和目录的元数据结构,包含文件的属性和数据块的指向。

  • 每个Inode都有一个唯一的编号,它是文件在文件系统中的标识符。

数据块

  • 文件数据存储在数据块中,EXT2使用块组来组织这些数据块。

  • 块组是文件系统中的数据块的逻辑组织单元,它包含Inode表和数据块位图。

目录项

  • 目录项是目录中的条目,每个条目包含文件或子目录的名称和对应的Inode编号。

  • 目录项允许文件系统浏览和组织文件和目录结构。

三级文件系统

三级文件系统是一种文件系统组织结构,通常包括三个层次:

  1. 根目录:顶层目录,包含文件系统的所有内容,是文件系统的起点。

  2. 子目录:位于根目录下的目录,用于组织文件和其他子目录。

  3. 文件:存储数据的基本单位。

这种结构使文件系统能够以层次化方式组织和管理文件和目录,提供了用户友好的方式来查找和访问文件。

三级文件系统的优点:

  • 结构清晰:三级文件系统的结构简单清晰,易于理解和使用。

  • 层次化管理:文件和目录的层次化管理使文件系统更有序。

这些是跟gpt学习的代码

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

// 定义EXT2 Inode结构
struct ext2_inode {
    uint16_t mode;     // 文件的类型和权限
    uint16_t uid;      // 用户ID
    uint32_t size;     // 文件大小
    // 其他Inode字段...
};

int main() {
    // 假设你已经读取了EXT2文件系统中的某个Inode块
    struct ext2_inode inode;
    // 读取Inode的权限字段
    printf("原始权限模式: %o\n", inode.mode);
    // 修改权限模式
    inode.mode = 0755; // 设置权限为rwxr-xr-x
    // 写回Inode到文件系统
    // 这需要适当的I/O操作,这里仅是示例
    // 打印修改后的权限模式
    printf("修改后的权限模式: %o\n", inode.mode);
    return 0;
}

以下是我的苏格拉底挑战







posted @ 2023-10-15 16:22  李宜时  阅读(36)  评论(0)    收藏  举报