1

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

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

  2. 我的内核将用 C 编写,它将加载我用 C++ 编写的命令行 shell,它不进行任何 API 调用,只调用标准库,我需要重写整个 C++ 标准库吗?

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

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

  5. 我可以在 Windows 上使用 Mingw 编写这一切,还是必须在 Linux 上编写?

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

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

4

1 回答 1

2

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

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

5:您“可以”使用 MinGW 来完成,但根据我的经验,它通常会使事情复杂化。我永远无法真正让 Windows 环境正常工作,但我也毫不费力地放弃了。

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

如果您对这类事情完全感兴趣,该网站的其余部分也是一个非常好的教程。

于 2011-09-17T17:19:03.130 回答