我有一些关于编写操作系统的非常具体的问题,我希望能够得到答案:
如果我使用GRUB作为引导装载程序,我需要编写多少汇编代码才能加载最小的C内核?
我的内核将用C编写,它将加载我用C ++编写的命令行shell,它不会使任何API调用只有标准库调用,我是否需要重写整个C ++标准库这样做?
我可以用C ++编写视频,键盘和软盘驱动程序吗?
GCC和G ++输出16位实模式代码吗?
我可以在Windows上使用Mingw编写全部内容,还是必须在Linux上编写?
我是否需要处于实模式才能直接写入视频内存?
如果有人能回答我的问题,我将非常感激
答案 0 :(得分:3)
1:您只需要少量的程序集来处理引导过程并加载C代码。我认为不应该超过20-30行。
2-4:我还没有真正使用C ++与OS开发,但我想我记得读过它需要更多的工作才能让它在某个地方运行。对不起,我无法提供更多帮助。
5:你可以“使用MinGW”做到这一点,但从我的经验来看,这大多使事情复杂化。我真的无法让Windows环境正常工作,但我也没有太多努力就放弃了。
编辑:这是一些示例程序集的链接。这就是我曾经不得不使用的: http://www.jamesmolloy.co.uk/tutorial_html/2.-Genesis.html
如果您对此类内容感兴趣,该网站的其余部分也是一个非常好的教程。