2023-2024-1 20211327 信息安全系统设计与实现 学习笔记5(必做)

学习笔记5

  • EXT2文件系统概述
  • 1级和2级文件系统函数
  • 实践过程

EXT2文件系统概述

EXT2(Second Extended File System)是Linux操作系统早期使用的文件系统,它是EXT文件系统家族的第二个版本,于1993年首次引入。在现代Linux系统中已经被后续版本的EXT文件系统(如EXT3和EXT4)所取代。

1.历史和发展:

EXT2是EXT文件系统的改进版本,由Rémy Card开发于1993年。它取代了EXT文件系统,旨在提供更好的性能和可靠性。

2.特点:

  • 无日志:与后续的EXT3和EXT4文件系统不同,EXT2没有日志功能。这意味着在系统非正常关闭或崩溃时,EXT2更容易导致文件系统损坏,需要运行fsck(文件系统检查)工具来修复问题。
  • 性能:相对于EXT文件系统,EXT2提供了更好的性能,尤其在大文件和目录操作方面。
  • 限制:最大文件大小为2 TB,最大文件系统大小为4 TB。

3.文件和目录结构:

EXT2使用类似树的数据结构来组织文件和目录。每个文件和目录都有一个节点,称为inode(索引节点),用于存储元数据信息,如文件权限、所有者、文件大小和时间戳。
文件数据存储在数据块中,而inode包含指向这些数据块的指针。

4.文件系统一致性:

由于缺乏日志功能,EXT2在系统崩溃或意外断电时可能会导致文件系统损坏。因此,需要运行fsck工具来修复问题,这可能需要一些时间。

5.可移植性:

EXT2文件系统在不同的Linux发行版之间具有良好的可移植性,这使得可以轻松地在不同的Linux系统之间共享EXT2格式的存储介质,如硬盘分区或USB驱动器。

6.使用场景:

由于其性能和可移植性,EXT2仍然在某些嵌入式系统和旧版Linux发行版中找到用途,但在现代Linux系统中已不再是首选文件系统。后续版本的EXT文件系统,如EXT3和EXT4,引入了日志功能和更多高级功能,提供了更好的数据一致性和性能。

1级和2级文件系统函数

在Linux系统中,文件系统函数被组织为一级文件系统函数和二级文件系统函数,这些函数提供了与文件系统交互的接口。

一级文件系统函数

1.文件操作函数:

  • open:打开文件,获取文件描述符。
  • close:关闭文件描述符。
  • read:从文件中读取数据。
  • write:向文件中写入数据。
  • lseek:设置文件指针位置。

2.目录操作函数:

  • opendir:打开目录。
  • readdir:读取目录中的条目。
  • closedir:关闭目录。
  • mkdir:创建目录。
  • rmdir:删除目录。
  • chdir:更改当前工作目录。

3.文件和目录属性函数:

  • stat:获取文件/目录的元数据。
  • chmod:更改文件/目录的权限。
  • chown:更改文件/目录的所有者。
  • utime:更改文件/目录的访问和修改时间戳。

4.链接和符号链接函数:

  • link:创建硬链接。
  • symlink:创建符号链接。
  • readlink:读取符号链接的目标。

5.删除函数:

  • unlink:删除文件。
  • remove:删除文件或目录。

6.文件描述符操作函数:

  • dup:复制文件描述符。
  • dup2:将一个文件描述符复制到另一个文件描述符。
  • pipe:创建管道。

二级文件系统函数

这些函数是针对特定的文件系统类型,如EXT4、XFS、Btrfs等,它们提供了对文件系统的更高级别控制和操作。这些函数的名称和功能会根据不同的文件系统而变化,但一般包括以下:

1.文件系统挂载和卸载函数:

  • mount:将文件系统挂载到指定的挂载点。
  • umount:卸载文件系统。

2.日志和快照函数:

用于文件系统日志和快照管理的函数,如EXT4中的journalctl和Btrfs中的btrfs subvolume。

3.磁盘管理和块设备函数:

用于底层磁盘管理和块设备访问的函数,如XFS中的xfs_growfs用于扩展文件系统。

4.高级文件系统属性函数:

用于访问特定文件系统属性的函数,如EXT4中的e2fsck用于检查和修复文件系统。

5.文件系统扩展和压缩函数:

用于扩展或压缩文件系统的函数,以适应不同的存储需求。

实践过程

posted @ 2023-10-15 19:00  沈楗翔  阅读(8)  评论(0编辑  收藏  举报