[源码和文档分享]基于C++的类UNIX文件系统

一、题目要求

使用一个普通的大文件(如 c:\myDisk.img ,称之为一级文件)模拟 UNIX V6++的一个文件卷,一个文件卷实际上就是一张逻辑磁盘,磁盘中存储的信息以块为单位。每块 512字节。

  • 磁盘文件结构

    • 定义自己的磁盘文件结构
    • SuperBlock 结构
    • 磁盘 Inode 节点结构,包括:索引结构及逻辑块号到物理块号的映射
    • 磁盘 Inode 节点的分配与回收算法设计与实现
    • 文件数据区的分配与回收算法设计与实现
  • 文件目录结构

    • 目录文件结构
    • 目录检索算法的设计与实现
  • 文件打开结构:选作

  • 磁盘高速缓存:选作

  • 文件操作接口

  1. • void fformat(); 格式化文件卷
  2. • void ls(); 列目录
  3. • int fopen(char *name, int mode); 打开文件
  4. • void fclose(int fd); 关闭文件
  5. • int fread(int fd, char *buffer, int length); 读文件
  6. • int fwrite(int fd, char *buffer, int length);写文件
  7. • int flseek(int fd, int position); 定位文件读写指针
  8. • int fcreat(char *name, int mode); 新建文件
  9. • int fdelete(char *name); 删除文件
  • 主程序
    • 初始化文件卷,读入 SuperBlock
    • 图形界面或者命令行方式,等待用户输入
    • 根据用户不同的输入,返回结果

 


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

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

posted @ 2018-12-09 15:01  ggdd5151  阅读(204)  评论(0编辑  收藏  举报