《操作系统》实验报告-2020秋:设计文档1,熟悉与创建一个简单的文件系统

需积分: 0 0 下载量 5 浏览量 更新于2024-01-25 收藏 2.12MB PDF 举报
设计文档1;1. 实验目的 本实验的目的是通过研究Linux系统中的EXT2文件系统,了解该文件系统的内部数据结构的组织方式和基本处理流程,并在此基础上设计和实现一个简单的文件系统。 2. 实验环境 编程环境:VS Code IDE 系统运行环境:Ubuntu虚拟机 3. 实验内容 3.1 实验任务 本实验的任务是实现一个青春版的EXT2文件系统,并提供一些简单的shell命令来展示文件系统的基本功能。具体的功能包括: - 创建文件:通过执行"touch file"命令来创建文件。 - 创建文件夹:通过执行"mkdir directory"命令来创建文件夹。 - 复制文件:通过执行"cp file1 file2"命令来复制文件。 - 关闭系统:通过执行"shutdown"命令来关闭系统。 - 展示文件夹内容:通过执行"ls"命令来展示文件夹内容。 - 在系统关闭后,再次进入文件系统时能还原上次的文件部署。 - 系统会判断用户输入的命令和参数是否正确,并给出相应的提示。 3.2 实验过程 3.2.1 系统架构分析 本实验中的系统架构包括以下几部分: - 代码结构:实验采用了特定的代码结构来实现文件系统,并将其分为多个模块进行开发和调试。 - 系统架构图:通过绘制系统架构图,可以更清晰地了解各个模块之间的关系和数据流动。 3.2.2 函数分析 对于disk.c和main.c中的函数不做具体分析,前者由课程提供,后者是简单的系统运行函数。接下来将对superblock.c进行函数分析,该模块是文件系统的核心模块,负责管理和维护文件系统的超级块信息。 总结: 本实验通过研究Linux系统中的EXT2文件系统,设计和实现了一个简单的文件系统。通过实现一些基本的shell命令,展示了文件的创建、复制、显示等功能。同时,通过对系统架构和函数的分析,加深了对文件系统内部数据结构的理解。通过该实验,我们可以更好地掌握文件系统的组织方式和基本处理流程,并提高系统架构设计和函数实现的能力。