基于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

图形界面或者命令行方式,等待用户输入

根据用户不同的输入,返回结果

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1360.html

你可能感兴趣的:(基于C++的类UNIX文件系统)