[源码和文档分享]基于JAVA的文件系统
一、项目需求
在内存中开辟一个空间作为文件存储器,在其上实现一个简单的文件系统。退出这个文件系统时,需要该文件系统的内容保存到磁盘上,以便下次可以将其恢复到内存中来。
二、具体技术细节
-
文件存储空间管理可采取显式链接(如FAT)或者其他方法。(即自选一种方法)
-
空闲空间管理可采用位图或者其他方法。如果采用了位图,可将位图和FAT表合二为一
-
文件目录采用多级目录结构。至于是否采用索引节点结构,自选。目录项目中应包含:文件名、物理地址、长度等信息。同学可在这里增加一些其他信息
三、开发工具
-
环境: intellij
-
语言: Java
四、文件系统管理方案
4.1 存储空间概述
-
盘区数量:10
-
盘区大小:1024KB
4.2 存储空间管理方式
-
FAT:在本次项目中,我的文件系统管理方案采用了显式链接的方式,在每一个盘区都开了一个文件用来存储当前盘区所有存储块的使用情况。并记录盘区内所有文件所占用内存块的情况
-
优点:不存在内外内存碎片,最大程度地利用了盘区空间
4.3 空闲空间管理方式
-
位图:在本次项目中,我的文件系统空闲空间管理方案采用了位图。使用一串0和1来标识内存块的状态。0为未使用,1表示已经被占用。创建文件时从最前方开始检索空闲块,确定使用后将0置为1
-
优点:一目了然,易于管理
4.4 文件目录结构
- 多级目录结构
参考文档和完整的文档和源码下载地址:
https://www.write-bug.com/article/1366.html