YesOS实现一个简易但五脏俱全的操作系统

A Tiny Operating System

Posted by Honcy on September 18, 2022

写一个简易操作系统的想法源于大二的DSP张老师的建议,不过由于当时基础薄弱而且没有大块的时间(其实就是太菜=_=),也就作罢。好在大四这段时间相对清闲,便找了这本已经几乎绝版的书(值得参考的书实在不多),头铁开始边看边写。 有了之前看《x86汇编语言:从实模式到保护模式》的基础,并得益于作者详略得当的写作,内容理解起来还算顺利,不过毕竟是十多年前的书了,很多编译和运行环境都有了变化,导致实践起来一路摸坑,一路填坑,甚是酸爽……好在最后都基本解决了,不过由于手头没有老机器和空闲的硬盘,没能在实体机器上运行自己写的(其实只能算自己一点点抄的)OS过把瘾,只能在虚拟机运行,有点遗憾。 这应该算是自己第一次不为应试也不为完成任务而just for fun and promotion,自学完一本技术书并完成实践。虽然中间几度被各种奇怪的bug搞到快崩溃,不过好在最终还是坚持了下来,体会了一把geek的乐趣和成就感,也通过实践让很多OS课上学的抽象的概念有了具体的理解,同时掌握了很多开发工具的使用和实践技巧,总的来说收获颇丰!

对于书的内容,我觉得除了还是基于x86而非现在主流的x64平台,有些过时之外(毕竟十多年前的书了,但是这也意味着相对简单一些)作者已经做到相当完美了。内容全面完整,编排合理,排版精美,详略得当,写作风格也将枯燥的内容尽量写的比较风趣,但是这不意味着人人都能轻易读懂。我认为要完整地读懂这本书x86汇编基础、c语言基础以及简单的体系结构基础和操作系统理论基础等知识储备是必不可少的。希望这些能对其他读者有所帮助,共勉!

Ye’s OS运行界面

实现的源码见:https://github.com/yeholdon/YesOS

学习实践过程中的一些笔记和注意点(“坑”)记录在了博客中:Honcy Ye的博客_CSDN博客