可以只用汇编语言制作操作系统吗?



我正在Ubuntu上做一个操作系统,但是设置交叉编译器太难了(其他问题没有帮助)。是否有可能仅在汇编中制作操作系统以避免C或c++交叉编译器?

PS:有没有好的Ubuntu 64位到i386:x86_64的交叉编译资源,请告诉我。

正确但无用的答案是——是的,这是可能的。C/c++能做的,汇编也能做。如果你的下一个问题是"怎么做",唯一可能的答案是"读一本书"。这是一个小问题,却有一本书那么长的答案。是的,任何可以用C/c++编写的代码都可以用汇编编写……但是它将花费你10倍的时间,特别是在调试的时候。

除此之外,用汇编语言组装一个工作的操作系统将比设置交叉编译复杂和耗时一个数量级。如果这对你来说是一个挑战,也许你现在还不应该处理整个操作系统。

是。实际上,在Unix引入跨体系结构操作系统的可移植性之前,这是很常见的。像Digital Equipment的RSX-11这样的操作系统是用汇编语言编写的。一个比较著名的学术例子是Alexia Massalin 1992年的Synthesis内核,这是一个带有Unix兼容层的小内核。它是用摩托罗拉68020汇编编写的,代表了对高级语言操作系统的一次小小的反叛。这在当时是非常快的。

相关内容

最新更新