简单模拟操作系统中的文件操作(3)

博主分享了在模拟操作系统文件操作过程中遇到的问题与解决经验,包括全局变量的使用、动态内存分配、功能封装和随机数优化。通过将记事本数据读入内存、密码输入处理、利用系统时间生成随机数以及异常处理等方面,阐述了程序设计的四大特色。博主认识到减少全局变量、优化随机数生成、细致处理异常情况的重要性,并表达了对深入学习和提高的渴望。
摘要由CSDN通过智能技术生成

前两篇是关于文件操作模拟的说明、设计、以及code!

下面我谈谈自己的心得体会:

    首先,我说说自己程序中的缺点:

在程序中我使用了较多的全局变量。当程序写完时,我回想了一下,其实MFD、UFD、UOF这些结构体,完全可以定义成局部变量,然后通过函数的形参传递并调用。一般不建议使用全局变量。还有一点,就是我在创建和撤销文件时,没有用动态存储分配malloc()和回收free(),这不是一个好习惯,我以后会注意。

通过本次课程设计也使我收获了不少:这是我第一次个人独立完成:从需求分析到编码实现及简单测试(代码达到了上千行)。虽然题目中给出了:提示和一些函数的算法实现。但是我还是自己一点点地分析了整个部分。从整体到局部,再从局部到整体的反复推敲,反复理解,以及查阅相关资料。(个人观点:)我认为题目中的部分流程图给的是有其不合理的地方。我经过反复思考,并对其中的部分函数的实现甚至整体流程做了一定的修改。

通过本次课设,我认为自己收获最大的就是对相关功能的封装,本程序有上千行代码,如果只写到个别函数里,那么会出现很多问题,比如:难以把握全局,以及全局和局部的关系,容易出现思路换乱,代码冗余大,没有可重用性。通过对不同功能的分装,使我对算法整体的认识更加清晰明了,代码量也减少了

【实验目的】 1. 了解文件系统的原理; 2. 用高级语言编写和调试一个简单文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。 【实验准备】 1.文件的逻辑结构  顺序文件  索引文件  索引顺序文件  直接文件和哈希文件 2.外存分配方式  连续分配  链接分配  索引分配 【实验内容】 1. 实验要求 要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 2. 实验题目  设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。  程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。  为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。 因系统小,文件目录的检索使用了简单的线性搜索。文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。程序使用的主要设计结构如下:主文件目录和用户文件目录( MFD、UFD)打开文件目录( AFD)(即运行文件目录)。 M D F 用户名 文件目录指针 用户名 文件目录指针 U F D 文件名 保护码 文件长度 文件名 A F D 打开文件名 打开保护码 读写指针
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值