【发布时间】:2011-11-19 08:46:40
【问题描述】:
我有一些关于编写操作系统的非常具体的问题,希望能得到解答:
如果我使用 GRUB 作为引导加载程序,我需要编写多少汇编代码来加载最小的 C 内核?
我的内核将用 C 编写,它会加载一个我用 C++ 编写的命令行 shell,它不会进行任何 API 调用,只有标准库调用,我是否需要将整个 C++ 标准库重写为这样做?
我可以用 C++ 编写视频、键盘和软盘驱动程序吗?
GCC 和 G++ 输出 16 位实模式代码吗?
我可以在 Windows 上使用 Mingw 编写这一切,还是必须在 Linux 上编写?
我是否需要处于实模式才能直接写入视频内存?
如果有人能回答我的问题,我将非常感激
【问题讨论】:
-
哇!一个完整的操作系统?看起来我们在这里谈论的是几年的努力!
-
wiki.osdev.org/Main_Page 为您解答所有问题。
-
@Matt 我不同意这一点。 linux 发行版比启动和运行一个微不足道的内核所需的复杂几个数量级。就个人而言,查看 Linux 0.1 源代码会更有帮助(这也是很好的历史课)。
-
-
@AlokSave:作为一个大学项目,我们在 6 个月内实施了一个,在说出这样(令人沮丧的)笼统声明之前,人们应该考虑“如何大 i> 有问题的操作系统是?” :)
标签: c++ c assembly operating-system real-mode