【读书笔记-《30天自制操作系统》-30】Day31
《30天自制操作系统》这部书的内容完结了,接下来是本书作者的后记部分和自己学习的一些体会。
在本书作者看来,这个操作系统其实还有诸多值得完善改进的地方。
首先是可以增加的功能。
比如当前的操作系统还不支持向磁盘写入,开发过程中完成的一些磁盘写入的动作其实是依赖于BIOS功能。如果实现了不依赖BIOS的磁盘写入功能,稍微改造就可以实现磁盘的读取功能。当前的操作系统在启动过程中是将所有内容都读入内存的,如果具备了磁盘读取功能,在启动过程中就不需要将全部内容都读入,可以加快启动时间。
而实现了对文件写入的功能之后,可以开发的东西就更多了。文本编辑器,画图编辑器,甚至移植了C语言编辑器后可以直接编译运行程序。
然后是需要优化的地方。
当前的操作系统内存管理没有考虑到内存不足的情况。启动多个程序可能会出现将内存耗尽的问题。这里需要进行处理,内存不足的情况下禁止再启动更多的应用程序。
大体总结一下这30天来学习的知识内容,涵盖了**使用32位模式的方法、内存段的使用方法、中断的处理方法、内存的管理方法、窗口和鼠标的处理、定时器的管理方法、命令行窗口的原理、API的方式、访问文件的方法等内容。**作者认为,书中给出的内容只是一种示例,并不是标准答案,读者更应该勇于自行探索更好的实现方式,不要被条条框框所束缚。
开发操作系统**不要一开始就想做的完美,这样会寸步难行。**先迈出一步,根据实现的情况不断进行调整,甚至将之前的工作完全推倒重来,这都是开发过程中的正常阶段。另外,基于什么样的目的进行开发也很重要。根据自己的目标,可以确定哪些是最重要的,而哪些是可以舍弃的。比如作者的目标在于让更多的读者能够读懂,因此在很多可以使用汇编语言的部分仍然选择了更易懂的C语言。如果有明确的目标,就可以排除不必要的干扰,更顺利地向目标迈进。
作者的话交代完了,接下来是自己的一些感受。
以前在阅读技术书籍的时候,总是读了前面的忘了后面的,很难整体掌握全书的知识。本书的主题很明确,结构上又很合理地分成了30天。但第一次读的时候看着前面的内容比较简单,就有轻视之心,结果越往后不明白的内容越多,终于导致读不下去了。
这一次采取的方法是步步为营。前面的部分都很基础,有些内容是反复读了几遍,直到自己完全理解为止。有了前面的基础,后面的内容也总算基本顺下来了。
此外每读完一讲的内容,还尽量把内容整合成几部分,然后用自己的语言重新解释一遍,形成一篇笔记。能把一件事情用自己的语言说明白,对于这件事情的理解也就达到了一定的程度。因此这种写笔记的方式对于学习这本书大有帮助。如果自己的笔记能对其他读者有些帮助,那就再好不过了。
但在实践方面,自己做的还不够好。对于作者提供的源代码,在看懂的基础上,只是抄写一遍了事,对于作者使用的方法和技巧还是不甚了了。不过这也没关系,毕竟这本书不会只读一遍。随着知识和技能的丰富,再读这本书一定会有新的体会。
虽然只是资质一般的普通人,但仍然可以有自己的进步方式。坚持下去,总会有自己的成绩。