操作系统课程设计—类Unix文件系统,高分通过项目。 支持用户添加/删除,文件读写,权限控制等功能。 代码结构 src ├── fs │ ├── constant.rs // 定义了一些文件系统的常量,如块大小、磁盘大小等 │ ├── core // 核心数据结构,磁盘块的管理 │ │ ├── file.rs // 处理文件权限 │ │ ├── fs.rs // 整个文件系统 Fs 的定义,磁盘块的回收/删除 │ │ ├── inode.rs // inode 结点 │ │ ├── iter.rs // 实现对 DirEntry 的迭代 │ │ ├── mod.rs │ │ ├── traits.rs // 将 Inode / DirEntry 转换成字节数组的 trait │ │ └── utils.rs // 常用函数,如字符串与字节数组的转换 │ ├── func // 拓展文件系统的功能,提供常用的接口 │ │ ├── chdir.rs // 更改当前目
C++语言实现一个类UNIX文件系统,实现文件的创建、打开、读写、删除、及目录的创建、查看、删除等操作。
2022-05-21 22:56:16 26KB 模拟小型UNIX文件系统
1
File System (Unix) 项目简介 本项目是一个类似Unix文件系统的二级文件系统,即使用一个普通的大文件(unix-fs.img ,称之为一级文件)模拟UNIX V6++文件系统的一个文件卷。在完成本项目之前较为详细的阅读了Unix V6++系统的源代码,特别是文件系统相关部分。本文件系统为用户提供命令行界面,基本功能模块包括用户界面模块、文件打开表管理模块、系统访问管理模块、系统盘块管理模块、高速缓存管理模块、设备驱动模块等,可跨平台运行。所有工作由一人独立完成。 模块说明 DeviceDriver:设备驱动模块,直接负责磁盘文件直接读写。 BufferManager:高速缓存管理模块,主要负责管理系统中所有的缓存块,包括申请、释放、读写、清空一块缓存的功能函数接口,以及系统退出时刷新所有缓存块。 FileSystem:系统盘块管理模块,主要负责对镜像文件的存储空间管理,包
2022-05-05 20:52:24 1.49MB unix filesystem os C++
1