文件管理 - 文件系统
操作系统第三次课程作业 - 文件系统
请勿删除可执行程序目录下的BitMapInfo.txt ,CategoryInfo.txt , MyDiskInfo.txt, 及其他配置文件, 否则可能导致文件系统无法正常运行
项目需求
基本任务
在内存中开辟一个空间作为文件存储器,在其上实现一个简单的文件系统。
退出这个文件系统时,需要该文件系统的内容保存到磁盘上,以便下次可以将其恢复到内存中来。
 
功能描述
-  
文件存储空间管理可采取显式链接(如FAT)或者其他方法。(即自选一种方法)
 -  
空闲空间管理可采用位图或者其他方法。如果采用了位图,可将位图和FAT表合二为一。
 -  
文件目录采用多级目录结构。至于是否采用索引节点结构,自选。目录项目中应包含:文件名、物理地址、长度等信息。同学可在这里增加一些其他信息。
 -  
文件系统提供的操作:
-  
格式化
 -  
创建子目录
 -  
删除子目录
 -  
显示目录
 -  
更改当前目录
 -  
创建文件
 -  
打开文件
 -  
关闭文件
 -  
写文件
 -  
读文件
 -  
删除文件
 
 -  
 
项目目的
- 熟悉文件存储空间的管理;
 - 熟悉文件的物理结构、目录结构和文件操作;
 - 熟悉文件系统管理实现;
 - 加深对文件系统内部功能和实现过程的理解
 
开发环境
-  
开发环境: Windows 10
 -  
开发软件:
Visual Studio 2017 15.9.28307.665
 -  
开发语言: C#
 
项目结构
│  BitMapInfo.txt   
│  CategoryInfo.txt   
│  FileManageSystem.exe   
│  FileManageSystem.exe.config   
│  FileManageSystem.pdb   
│  MyControl.dll   
│  MyControl.pdb   
│  MyDiskInfo.txt   
│  README.md   
│  文件管理系统_设计方案报告.md   
│  文件管理系统_设计方案报告.pdf   
│  
├─Resources   
│  │  file18.png   
│  │  file25.png   
│  │  fileopen48.ico   
│  │  folder18.png  
│  │  folder25.png   
│  │  
│  └─icon   
│          help.ico   
│          icon.ico   
│          note.ico   
│          
└─src
    │  Category.cs   
    │  FCB.cs   
    │  Program.cs   
    │  VirtualDisk.cs   
    │  
    └─Form   
        ├─HelpForm   
        │      HelpForm.cs   
        │      HelpForm.Designer.cs   
        │      HelpForm.resx   
        │      
        ├─MainForm   
        │      MainForm.cs   
        │      MainForm.Designer.cs   
        │      MainForm.resx   
        │      
        └─NoteForm   
                NoteForm.cs   
                NoteForm.Designer.cs   
                NoteForm.resx        
 
操作说明
- 双击目录下
FileManagementSystem.exe可执行文件进入文件系统模拟界面 

-  
请详细阅读操作帮助了解模拟器功能, 点击
我知道了关闭帮助信息窗口 -  
单击鼠标右键, 新建文件夹/新建文件
 

- 您也可以点击右侧按钮进行创建文件夹/文本文件
 

- 输入文件夹名或文件名, 即可在目录中查看到创建的文件夹/文件
 

 
- 在文件夹/文件上点击鼠标右键可选择打开/删除
 

- 单击文件夹可进入下一级文件夹, 上方可查看当前文件路径
 

- 单击文件可打开编辑窗口, 编辑完成后点击右上角的
X, 确定以保存, 取消则直接退出 

- 可查看文件相应信息(文件名, 上次修改日期, 文件大小*(自定义单位)*)
 

- 左侧的目录树可点击展开, 以查看当前目录结构
 

-  
双击目录树中的文件夹打开文件夹, 双击目录树中的文件可打开文件进行浏览和编辑
 -  
点击返回上级目录可跳转到上级文件夹, 在root文件夹时无法返回
 

- 点击右侧格式化并再次确定可清空磁盘, 系统会清空所有文件夹和文本文件, 并清空目录树
 

- 受展示限制, 本文件系统模拟器在一个目录下最多可创建8个子项目, 超过8个时会受到系统提醒*(只是受展示方式限制, 物理和逻辑上的存储理论上都允许创建无限多的子项目)*
 

系统分析
显示链接法
本文件系统中, 文件存储空间管理使用显示链接的方法,文件中的内容存放在磁盘不同的块中,每次创建文件时为文件分配数量合适的空闲块。每次写文件时按顺序将文件内容写在相应块中; 删除文件时将原先有内容的位置置为空即可。
位图、FAT表
磁盘空闲空间管理在位图的基础上进行改造,将存放磁盘上文件位置信息的FAT表与传统的位图进行结合,磁盘空闲的位置使用EMPTY = -1标识,放有文件的盘块存放文件所在的下一个盘块的位置,文件存放结束的盘块位置使用END = -2标识。
系统设计
界面设计
主界面MainForm
- System.Windows.Forms.Button
 - System.Windows.Forms.Label
 - System.Windows.Forms.TextBox
 - System.Windows.Forms.TreeView

 
帮助界面HelpForm
- System.Windows.Forms.Label
 - System.Windows.Forms.Button

 
记事本界面NoteForm
- System.Windows.Forms.TextBox
 

功能实现截屏展示
帮助信息界面

新建文件/文件夹

 
 
 
打开/删除文件项

编辑文本文件

查看文件信息

展开目录树

返回上级目录

格式化磁盘

创建最大数量的文件项
受展示限制, 本文件系统模拟器在一个目录下最多可创建8个子项目, 超过8个时会受到系统提醒*(只是受展示方式限制, 物理和逻辑上的存储理论上都允许创建无限多的子项目)*
 
退出系统重新进入后恢复目录

 
 
 










