关于编写操作系统的问题

questions about writing an operating system

本文关键字:问题 操作系统 于编写      更新时间:2023-10-16

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

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

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

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

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

  5. 我可以在Windows上使用Mingw写这些吗?还是我必须在Linux上写?

  6. 我需要在真实模式,以便直接写入显存?

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

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

2-4:我并没有真正在OS开发中使用c++,但是我记得我读到过让它在某处运行需要更多的工作。对不起,我帮不上什么忙了。

5:你"可以"用MinGW来做,但是从我的经验来看,它会使事情变得更复杂。我从来没能真正让Windows环境工作,但我也没怎么努力就放弃了。

编辑:这是一个链接到一些示例汇编。这是我唯一能用的:http://www.jamesmolloy.co.uk/tutorial_html/2.-Genesis.html

如果你对这类东西感兴趣的话,这个网站的其他部分也是一个很好的教程。