作为个人学习项目,我想将现有的 x86 模拟器库移植到 JavaScript,然后在其上运行一个非常简单的操作系统。
我对该库的唯一要求是它应该用 C\C++ 编写,因为我想使用 emscripten 和 asm.js 将源文件编译为 JavaScript。该库至少应该能够解释 x86 操作码; JavaScript 的特定环境细节(内存、GUI、中断等)我可以自己实现。操作系统没有任何要求,只要足够简单,可以在模拟器上运行即可。
到目前为止,在我的研究中,Softx86似乎是最可行的解决方案,因为它似乎很容易移植到 JavaScript(它只进行 CPU 模拟)。我能找到的最简单的 16 位实模式操作系统是 MikeOS ,唯一的问题是它需要一个 386 处理器,Softx86 无法模拟,我不确定它们是否完全兼容。
我的问题是,是否有人知道模拟器-OS 的替代组合,该组合足够简单,可以移植到 JavaScript。
最佳答案
对于将来遇到此线程的任何人,我决定移植 Fake86 JavaScript,并使用 MS-DOS 作为操作系统。
你可以看到一个 现场演示 here
它运行得非常非常慢,目前只能在 Firefox 上运行,但它仍然可以工作。
你可以看到完整的源代码here
关于operating-system - 推荐一个简单的 x86 模拟器和操作系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16770722/