[源码和文档分享]基于C++的类UNIX文件系统
一、题目要求
使用一个普通的大文件(如 c:\myDisk.img ,称之为一级文件)模拟 UNIX V6++的一个文件卷,一个文件卷实际上就是一张逻辑磁盘,磁盘中存储的信息以块为单位。每块 512字节。
-
磁盘文件结构
- 定义自己的磁盘文件结构
- SuperBlock 结构
- 磁盘 Inode 节点结构,包括:索引结构及逻辑块号到物理块号的映射
- 磁盘 Inode 节点的分配与回收算法设计与实现
- 文件数据区的分配与回收算法设计与实现
-
文件目录结构
- 目录文件结构
- 目录检索算法的设计与实现
-
文件打开结构:选作
-
磁盘高速缓存:选作
-
文件操作接口
• void fformat(); 格式化文件卷
• void ls(); 列目录
• int fopen(char *name, int mode); 打开文件
• void fclose(int fd); 关闭文件
• int fread(int fd, char *buffer, int length); 读文件
• int fwrite(int fd, char *buffer, int length);写文件
• int flseek(int fd, int position); 定位文件读写指针
• int fcreat(char *name, int mode); 新建文件
• int fdelete(char *name); 删除文件
- 主程序
- 初始化文件卷,读入 SuperBlock
- 图形界面或者命令行方式,等待用户输入
- 根据用户不同的输入,返回结果
参考文档和完整的文档和源码下载地址: