我是一名学生,希望了解操作系统的工作原理。经过一些研究,我决定我想尝试用C或C ++编写自己的内核。
我也很可能会跟着Peter Jay Salzman,Michael Burian和Ori Pomerantz撰写的《 Linux内核模块编程指南》。(让我知道是否应该寻找更好的资源。)
在大学里,我可以使用自己的个人Windows计算机和ubuntu机器,但我都无法承担破坏的风险。
我有一个长期项目的想法,那就是用树莓派制作一个虚拟的宇宙飞船,并为其编写所有代码。这个核心将是它的第一位。
我看了Linux From Scratch,但这似乎只是安装您自己编写的别人编写的程序组合,这对我不感兴趣。我想做的是编写自己的线程调度程序/内存管理器等,并处理所有引起的麻烦。(不过,稍后我可能想使我的内核与LFS一起使用。)
我的问题:
基本上,我希望发现的是,在硬件方面开始编写,编译和运行自己的内核所需的最低入门要求是什么?我是否需要购买像树莓派这样的新专用机器,还是可以在自己的笔记本电脑上编写/编译/运行它?
非常感谢。
您可以使用诸如QEmu,Bochs或VirtualBox之类的虚拟机来运行和调试内核,而不必担心会破坏计算机。您只需要编译任何标准的c / c ++编译器和一个汇编器即可。
另外,建议您访问OSDev Wiki网站,该网站上有许多有用的信息。
请记住,编写自己的操作系统可能是有史以来最大的挑战,因此请确保您拥有所需的所有工具和知识。我说这是因为我尝试推出自己的操作系统,而不得不使用无法正常工作的键盘驱动程序放弃它...
无论如何,作为语言我建议使用C ++而不是C,因为类是编程中非常有用的工具。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句