基于C语言的简单文件系统的实现

1 题目介绍

通过具体的文件存储空间的管理、文件物理结构、目录结构和文件操作的实现,加深对文件系统内部的数据结构、功能以及实现过程的理解。

1.1 要求

在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在推出该文件系统的使用时,应将虚拟磁盘上的内容以一个文件的方式保存到磁盘上,一遍下次可以将它恢复到内存的虚拟磁盘中

文件物理结构可采用显式链接或其他结构

空闲磁盘空间的管理可选择FAT表、位示图或其他办法

文件目录结构采用多级目录结构。为简单起见,可以不使用索引结点,每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护

需要提供一以下操作命令

my_format

my_mkdir

my_rmdir

my_ls

my_cd

my_create

my_open

my_close

my_write

my_read

my_rm

my_exitsys

2 实验思路

2.1 程序设计思想

在该虚拟文件系统启动时,申请一块内存作为磁盘空间

将这块内存空间进行格式化,本系统仿照的是FAT16文件系统,其结构如下

| 1块 | 2块 | 2块 | 995块 |

| :—: | :—: | :—: | :—: |

| 引导块 | FAT1 | FAT2 | 数据区 |

格式化时,主要包括引导块,FAT1,FAT2,的一些初始化工作。例如设置文件魔数,文件系统的信息,FAT1,FAT2的信息等等

根据用户输入的命令,调用对应的my_函数

基于C语言的简单文件系统的实现_第1张图片

源码下载地址:https://www.write-bug.com/article/1714.html

你可能感兴趣的:(基于C语言的简单文件系统的实现)