c#中的完整操作系统

我在这里看到了这个post。 我想知道这是否合法(听起来像这样)以及这样做的缺点是什么。 在一些架构中独立运行它需要什么? 谢谢

尝试用托管语言创建操作系统目前是一个“有趣的研究问题”。 这意味着它似乎有可能,但仍有相当多的重要问题需要解决(例如,我不希望很快就会出现“托管窗口”)。

例如,看一下Singularity项目 (也可以在CodePlex上找到 )。 它仍然有一些原生部分,但很少。 据我所知,甚至垃圾收集器都是用托管代码编写的(有一些语言扩展,允许使用指针进行安全操作)。

诀窍是即使托管代码最终也会被编译为本机代码。 在.NET中,当您启动应用程序时,编译通常由JITter完成。 在Singularity中,这是事先完成的,因此您运行本机代码(但是从托管生成)。 Singularity还有其他一些有趣的方面 – 例如,进程通过消息进行通信(并且不能动态加载代码),这使得在生成本机代码时可以进行一些积极的优化。

有一个开源项目正试图实现这一目标。 它被称为“管理操作系统联盟”。 主要针对框架(为用户提供编译器,库,接口,工具和示例内核),它还将具有完整的操作系统内核和小型应用程序。

了解更多信息:

  • 网站: http : //mosa-project.org/projects/mosa
  • IRC:freenode上的#mosa

这是合法的。 缺点很明显,这是一个微内核。 在您的video适配器驱动程序完全管理之前还需要一段时间。 这需要获得临界质量, 许多开发商和制造商纷纷加入这一行列。 很难,但它已经发生在Linux作为明显的例子。

微软也在追求这一点。 Singularity已经很好地发表了。 它已发展成为一个名为Midori的秘密研究项目。 已经有足够的漏洞来了解它的目标,维基百科有一篇关于它的文章 。 我认为许多在原始CLR上工作的开发人员加入了这个项目。 能否达到目的是一个悬而未决的问题。 如果确实如此,显然项目支持者可能足以让临界质量滚动。

微软的Singularity项目是一个操作系统架构框架,它允许人们编写可定制的操作系统,而微软的新操作系统可能会基于奇点。

.NET是一个非常强大的框架,它是进化的,它可能包含从元数据属性到linq的所有内容,它确实使我们摆脱了错误的指针错误。

就像Windows Phone和iPhone一样,人们将能够为设备编写可定制的操作系统。

今天,大多数防火墙,路由器(硬件)都包含定制的linux,可以用Singularity kernal和你自己的业务流程代替。

奇点内核很小,看起来像是嵌入式windows / linux的完美替代品。

我不认为有任何缺点,除了它是一个全新的系统,硬件供应商需要时间来提供与之兼容的设备,但它将来会发生。