我看到了这个帖子 here .我想知道这是否合法(听起来像)以及这样做的缺点是什么。在某些架构中独立运行它需要什么? 谢谢
最佳答案
尝试用托管语言创建操作系统目前是一个“有趣的研究问题”。这意味着这似乎是可能的,但仍有相当多的重要问题需要解决(例如,我不希望很快出现“托管窗口”)。
例如,看一下 Singularity project (也可用 at CodePlex )。它仍然有一些本地部分,但很少。据我所知,即使是垃圾收集器也是用托管代码编写的(带有一些允许使用指针进行安全操作的语言扩展)。
诀窍在于,即使是托管代码最终也会被编译为 native 代码。在 .NET 中,编译通常在您启动应用程序时由 JITter 完成。在 Singularity 中,这是提前完成的,因此您运行 native 代码(但从托管生成)。 Singularity 还有其他一些有趣的方面——例如,进程通过消息进行通信(并且不能动态加载代码),这使得在生成 native 代码时进行一些积极的优化成为可能。
关于c# - C# 中的完整操作系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4058876/