[C#.net]操作系统作业-模拟二级文件系统-开发日志

这篇博客介绍了使用C#.NET模拟二级文件系统的过程,包括设计目标、概念解析、实现方法和开发日志。博主利用DataTable和XML进行数据存储,实现了用户登录、文件操作(删除、关闭、读写)等功能,并提供了源码下载链接。

//开博题记: 接触编程两年多, 从没自己写过编程笔记, 偶尔会收藏些有用的文章, 但是都没整理过. 乱七八糟一大堆资料自己看起来也辛苦, 有必要把这些心得和资料整理记录下了, 留给自己以后查找, 也分享给各位学习者, 共同进步.

目标

  1. 设计一个简单的二级文件系统
  2.  实现下列命令(至少两个)
    • DELETE 删除文件
    • CLOSE 关闭文件
    • READ 读文件(显示出读的文件的内容)
    • WRITE 写文件(对原文件改写或添加内容,并显示修改后的文件内容)

概念


为了克服单级目录所存在的缺点, 可以为每一个用户建立一个单独的用户文件目录UFD(User File Directory). 这些文件目录具有相似的结构, 它由用户所有文件的文件控制块组成. 此外, 在系统中再建立一个主文件目录MFD(Master File Directory); 在主文件目录中,每个用户目录文件都占有一个目录项,其目录项中包括用户名和指向该用户目录文件的指针. 如下, 图中的主目录中示出了三个用户名,即Wang、Zhang和Gao.

 

 

实现方法

看到图片后我首先想到的是利用DataTable存数据的方法来模拟程序. 上图很显然可以做成一个表存用户信息, 一个表存文件信息. 文件信息表内通过外键约束辨别属于哪个用户的表, 这样就可以实现权限管理, 当前用户可以读写新建删除自己的文件, 只读其他用户创建的文件. 由于是模拟操作, 文件表内就直接保存文件名和文件内容, 所以表如下

User(user, password)

File(user, fileName, fileContent, fileTime)

有了表后, 我想实现的功能是首先一个界面, 用户可以登录或新建用户, 程序默认有一个超级管理员admin, 超级管理员可以操作所有用户的文件, admin不可删除以防用户删完后就不能操作文件. 登录后可以进行新建删除修改文件等操作, 关闭程序后, 数据保存到本地.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值