更新:由于缺乏时间,该项目无法积极维护。

Thor是为学习目的而创建的操作系统。
目前,它是一个64位OS,主要用C ++编写,必要时有几行组装。
从头开始构建操作系统的原因有很多。
对我来说,主要原因是娱乐和学习新事物。当我对制作自定义编译器的工作变得无聊时,我决定从事一个新项目,然后选择操作系统开发。这可能是可以完成的最复杂的爱好项目。在这个项目中,我必须学到很多东西要进步。在普通程序中,您甚至都不考虑很多困难。更普遍的是,由于我喜欢编程,因此我确信我可以开发自己的操作系统有很多乐趣。拥有自己的操作系统也有极客的一面:)
我绝对没有意图在这个项目上赚钱。当我不再开心开发它时,我将简单地切换项目一段时间;)
从头开始编写操作系统并不容易,在每个步骤中,您都需要许多不一定容易获得的信息。通常,您的操作系统越先进,您发现的信息就越少。
开发的主要两个资源是:
首先,一系列好的教程是破碎的荆棘系列。我没有遵循完整的教程(只有一些特定的部分),但是它充满了好的信息,这可能是一个很好的起点。
还有詹姆斯·莫洛伊(James Molloy)系列。它的完整要少得多,但是如果您喜欢教程,则可能会有所帮助。
当然(如果您在英特尔上开发), Intel 64和IA -32体系结构软件开发人员的手册,指南有几个部分,我主要使用了系统编程 - 第1部分部分。尽管看起来很重,但它非常好,并且将是理解架构的宝贵资产:例如,分页和中断处理。
至于书籍,到目前为止,我感到非常失望。有很多关于操作系统的书,但是到目前为止,我读过的几本都没有很棒。他们可能擅长帮助您了解OS,但很擅长帮助您开发自己的操作系统。而且,它们也已经过时了。
我读过的书是:
通常,尽管书籍将帮助您了解操作系统,但它们实际上不会帮助您开发任何东西。我还有其他应该很快到达的书,希望它们能更好。
注意:此存储库正在使用子模块,当您检查出来时,请不要忘记 - 恢复选项。
Wiki上描述了构建过程:https://github.com/wichtounet/thor-os/wiki/build
该项目根据麻省理工学院许可证分发。阅读许可证以获取详细信息。