• 基于C#实现的文件管理文件系统


    文件管理 - 文件系统

    操作系统第三次课程作业 - 文件系统

    请勿删除可执行程序目录下的BitMapInfo.txt ,CategoryInfo.txt , MyDiskInfo.txt, 及其他配置文件, 否则可能导致文件系统无法正常运行


    项目需求

    基本任务

    在内存中开辟一个空间作为文件存储器,在其上实现一个简单的文件系统。
    
    退出这个文件系统时,需要该文件系统的内容保存到磁盘上,以便下次可以将其恢复到内存中来。
    
    • 1
    • 2
    • 3

    功能描述

    • 文件存储空间管理可采取显式链接(如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        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    操作说明

    • 双击目录下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个时会受到系统提醒*(只是受展示方式限制, 物理和逻辑上的存储理论上都允许创建无限多的子项目)*
    在这里插入图片描述

    退出系统重新进入后恢复目录

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    new Socket(host, port)阻塞解决
    每天5分钟玩转Kubernetes | 先把Kubernetes跑起来
    Latext安装(一)TexLive安装教程
    磁场设备主要有哪些
    你必须要知道的关于直线导轨的五个小知识点
    【操作系统】文件系统的实现
    pytorch编程知识(2)
    shell------常用小工具,sort,uniq,tr,cut
    Python多线程(基本使用、防止重复、杀死线程)
    sql注入
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/125975157