Ext2 文件系统仿真
该项目模仿早期Linux版本所采用的的Ext2文件系统,通过8.1M的文件模拟磁盘空间,实现文件系统对磁盘管理、内存管理的仿真。
磁盘管理中将每一个物理块定义为1K大小,逻辑块定义为1K大小。按照Ext2文件系统的格式,将系统划分为8个组,每个组大小为1024K,又包含超级块、组描述符、块位图、逻辑位图、内存索引节点和数据块。按照创建文件、创建目录、删除文件、删除目录、打开文件、读文件、写文件的算法分别实现相关函数。
内存管理中建立内存索引节点、系统打开文件表、用户打开文件表、进程数据结构。模拟进程操作文件时,通过内存索引节点信息,调用底层文件操作函数,依次填充系统打开文件表,用户打开文件表来实现进程对文件的操作。