【发布时间】:2011-11-03 14:20:04
【问题描述】:
大家好,我正在寻找一种方法来在 Microsoft 宏汇编程序 (MASM) 中创建一个非常小的操作系统子集。最好是一个可以基本启动标准电脑并给出目录列表的系统;欢迎任何可以为我指明正确方向的资源或建议。提前致谢。
【问题讨论】:
标签: operating-system masm bootloader bootstrapping
大家好,我正在寻找一种方法来在 Microsoft 宏汇编程序 (MASM) 中创建一个非常小的操作系统子集。最好是一个可以基本启动标准电脑并给出目录列表的系统;欢迎任何可以为我指明正确方向的资源或建议。提前致谢。
【问题讨论】:
标签: operating-system masm bootloader bootstrapping
只要输入谷歌就有很多资源,但会推荐更高级别的语言。但是,如果您的目标是编写汇编语言,那么 MASM 仍然不是您的选择。 MASM 的 EULA 表示,除了为 Windows 编写之外,它不能用于任何其他用途。除此之外还有其他原因。查看 FASM。有一个完整的用 FASM 编写的操作系统
下面的链接里面有很多链接。 OS Construction Frequently Asked Questions (FAQ)
【讨论】:
我认为Operating Systems Design and Implementation 可以满足您的大部分问题,我真的不知道 MASM 是否是为低级部分选择的编译器。然而,大多数代码是基于 C 的,只有一小部分 asm。但是,目录列表取决于您要从中读取的文件系统,所以这是另外一回事,但它也包含在其中。
【讨论】:
您为什么要在 汇编程序 中这样做(而不是在 C 或 C++ 等中)?
已经有很多小型的免费软件操作系统。你可以看看其中一些(例如在sourceforge)。
而今天的 PC 比十年前要复杂一些。例如,今天的键盘和鼠标通常是 USB 设备,因此您的操作系统内核中通常需要有一个 USB 子系统,以便能够从键盘读取数据。
我认为研究现有的免费操作系统内核和/或为它们做出贡献可能会教给你更多,并且可能会更有趣。
【讨论】: