2. DOS 多线程
写DOS的时候 ,我在想,这么老的东西干嘛还要用它呢,而且Turbor C 还那么难用。
然而还是要做的,初期写代码的时候,发现老师把四个例程合并到一个C文件里面了,带来了很严重的变量污染,
全局变量放在一起,搞不懂了。
后来萌发了,写几个库文件的想法,后来发现这么搞得画接口成本太高,后来又发现,多个C文件不同同时共享使用一个全局变量会报错,
而且在Turbor C里面也没法写Makefile。后来还是把函数都写到一起了,但是是分成四个文件写的。
自己从底层去实现DOS多线程还是蛮有趣的
3.文件系统
老师说,文件系统是最比较简单的,后来我信了,但是自己真正做的时候发现并不是这样。
操作系统理论并没有好好学,然后自己做之前花了好多时间,搞懂各个部分的关系定义。
比如元数据Metadata,FAT表,Boot Block 引导块等等,同样的还是那个问题,初期在看文档的时候,描述的不是很容易懂。
同时关于各个结构体部分,包括结构体的属性,觉得老师的命名规范不好所以就自己重构了,导致,后期写代码的时候,
参考学长代码的时候,遇到很多问题,但是还是觉得自己设计的结构体会好一些。尤其是Open File Table中我把原来的一个整体
拆分成 FCB(File Control Block),FDT(File Descriptor Table)和 isUse字段,这样在操作和赋值的时候就会方面很多,