操作系统文件系统设计实验报告_计算机自制操作系统(七):简易文件系统设计...

dedd62fa4fce25b34300ee87d9811ee6.png

在我的仿生DOS系统各类数据准备好之后,就需要设计一个简易的文件系统了。由于文件系统需要读写硬盘,这部分功能在文章“计算机自制操作系统(三):读写磁盘操作”已经实现。下面就需要设计各类文件操作的逻辑流程了。

一、格式化硬盘

命令—format,以下为程序设计流程图:

fa8ddd840129621b5b858c52f1442f18.png

二、新建目录

命令—mkdir dirname,以下为程序设计流程图:

0856cc2e852dd19ba119af194a83ce45.png

其中dirid、parentsid 、dirname写入目录数据结构程序流程图为:

3de1bb3eaa1e6a33fd06e10cf188ab1b.png

三、切换目录

命令—cd

切换到根目录: cd /

切换到子目录: cd dirname

切换到父目录: cd ..

a90dcdeb887b98061d0c9c402bf70c2e.png

四、显示当前目录

命令—dir,以下为程序设计流程图:

0fc6b51ffd24ddf4517180e6a448a01d.png

五、删除目录

命令—deldir dirname,以下为程序设计流程图:

3b9974d5617788a4dc28c49f8f1cafbb.png

六、文件操作

文件操作同样包括创建、删除、移动等,与目录操作类似,但文件操作更加复杂一点,因为文件操作比目录操作要多一个文件内容存储寻址的过程。在此略去。

七、编码实现

按以上流程,用汇编语言将逻辑写进我们的操作系统内核程序:Kernel.asm,就可以实现了一个简易的文件操作系统。以下为我的操作系统运行图:

79518cfd44c4192ef719cce01dcc9586.png

支持各类命令操作:

580ba51cdb93eba8000bc05f31d5b428.png

b1e937351223a59704020e3692554526.png

八、 总结

我的仿生DOS操作系统编制算是完成了,由于全部采用汇编语言编写,调试的工作量还是比较大的。所以浅尝而止,目前仅支持目录的部分操作命令,对于文件的操作,基本原理都一致,就不再耗费精力了。最大的感受是,别小看DOS系统,我这个简陋的文件系统都有很多的缺陷:比如限制了最大的目录数量、文件数量、算法效率低等,并不能很好的进行适应性扩展。但它却是文件系统设计的有效尝试,至少我做出了一个可以直接让用户操作磁盘的操作系统,迈出了前进道路上的一大步。

下一章,我将贴出这个仿生DOS操作系统的源代码,供有兴趣的人士学习研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值