我是一名学生,希望了解操作系统的工作原理。经过一些研究后,我决定尝试用C或C ++编写自己的内核。
我也很可能会跟随The Linux Kernel Module Programming Guide - by Peter Jay Salzman, Michael Burian and Ori Pomerantz.(请告诉我是否有更好的资源我应该关注。)
我可以在大学里访问我自己的个人Windows电脑和ubuntu机器,这两种机器都不能冒险破解。
我有一个长期项目的想法,即制作一个带有覆盆子pi的虚拟太空船,并为它编写所有代码。这个核心将是它的第一位。
我看过Linux From Scratch,但这似乎更多的是关于安装自己编写的程序组合,这对我不感兴趣。我想要做的是编写我自己的线程调度程序/内存管理器等,并处理导致的所有令人头疼的问题。 (但是我可能想让我的核心稍后使用LFS。)
我的问题:
基本上,我希望找到的是,在开始编写,编译和运行我自己的内核的硬件方面,我需要的最小值是什么?我是否需要购买像树莓派这样的新专用机器,或者我可以在自己的笔记本电脑上编写/编译/运行它?
非常感谢。
答案 0 :(得分:2)
您可以使用QEmu,Bochs或VirtualBox等虚拟机来运行和调试内核,而不会有破坏您计算机的风险。您需要编译的只是标准的c / c ++编译器和汇编程序。
另外,我建议你看看OSDev wiki website,它们有很多有用的信息。
请记住,编写自己的操作系统可能是有史以来最大的挑战,因此请确保您拥有所需的所有工具和知识。我说这是因为我试图推出自己的操作系统而且我不得不放弃使用非工作键盘驱动程序......
无论如何,作为语言我建议C ++而不是C,因为类是编程中非常有用的工具。