关于编写操作系统的问题

时间:2011-09-17 17:10:33

标签: c++ c assembly operating-system real-mode

我有一些关于编写操作系统的非常具体的问题,我希望能够得到答案:

  1. 如果我使用GRUB作为引导装载程序,我需要编写多少汇编代码才能加载最小的C内核?

  2. 我的内核将用C编写,它将加载我用C ++编写的命令行shell,它不会使任何API调用只有标准库调用,我是否需要重写整个C ++标准库这样做?

  3. 我可以用C ++编写视频,键盘和软盘驱动程序吗?

  4. GCC和G ++输出16位实模式代码吗?

  5. 我可以在Windows上使用Mingw编写全部内容,还是必须在Linux上编写?

  6. 我是否需要处于实模式才能直接写入视频内存?

  7. 如果有人能回答我的问题,我将非常感激

1 个答案:

答案 0 :(得分:3)

1:您只需要少量的程序集来处理引导过程并加载C代码。我认为不应该超过20-30行。

2-4:我还没有真正使用C ++与OS开发,但我想我记得读过它需要更多的工作才能让它在某个地方运行。对不起,我无法提供更多帮助。

5:你可以“使用MinGW”做到这一点,但从我的经验来看,这大多使事情复杂化。我真的无法让Windows环境正常工作,但我也没有太多努力就放弃了。

编辑:这是一些示例程序集的链接。这就是我曾经不得不使用的: http://www.jamesmolloy.co.uk/tutorial_html/2.-Genesis.html

如果您对此类内容感兴趣,该网站的其余部分也是一个非常好的教程。