一、实验目的和要求
文件系统是操作系统中最直观的部分,因为用户可以通过文件直接地和操作系统交互, 操作系统也必须为用户提供数据计算、数据存储的功能。本实验通过添加一个文件系统,进 一步理解 Linux 中的文件系统原理及其实现。
- 深入理解操作系统文件系统原理
- 学习理解 Linux 的 VFS 文件系统管理技术
- 学习理解 Linux 的 ext2 文件系统实现技术
- 设计和实现加密文件系统
二、实验内容
添加一个类似于 ext2,但对磁盘上的数据块进行加密的文件系统 myext2。实验主要内
容:
- 添加一个类似 ext2 的文件系统 myext2
- 修改 myext2 的 magic number
- 添加文件系统创建工具
- 添加加密文件系统操作,包括 read_crypt, write_crypt,使其增加对加密数据的
读写。
三、操作方法和实验步骤
1. 添加一个类似 ext2 的文件系统 myext2
a) 将linux/fs文件夹下的ext2复制为myext2,并将文件夹中的ext2.h重命名为myext2.h
b) 进入 Linux 内核源码文件夹复制 ext2_fs.h, ext2_atomic.h, ext2_atomic_setbit.h 并重
命名
c) 在 linux/fs/myext2 文件夹中编辑将将原来“EXT2”替换成“MYEXT2”;使用脚本substitute.sh
(注意脚本文件只能执行一遍,实验中为了截图执行了两次脚本文件导致后续编译出了问题,只能回去修改脚本文件再将mymy替换为my)
f) 用编辑器的替换功能,把/lib/modules/ ( u n a m e − r ) / b u i l d / i n c l u d e / l i n u x / m y e x t 2 f s . h , 和 / l i b / m o d u l e s / (uname -r)/build/include/linux/myext2_fs.h, 和 /lib/modules/