C# 中的完整操作系统

问题描述 投票:0回答:5

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

c# operating-system
5个回答
14
投票

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

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

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


4
投票

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

欲了解更多信息:


2
投票

这是合法的。缺点很明显,这是一个微内核。您的视频适配器驱动程序还需要一段时间才能得到完全管理。这需要获得足够多的开发者和制造商的足够支持。很难,但 Linux 就是一个明显的例子。 微软也在追求这一点。关于奇点已经有很多文章发表了。它已经发展成为一个名为 Midori 的秘密研究项目。关于它的泄露已经足够多,可以了解它的目标,维基百科有关于它的

一篇文章

。我认为许多参与原始 CLR 工作的开发人员都加入了这个项目。是否会有一个好的结局是一个悬而未决的问题。如果确实如此,显然项目支持者可能足以让临界质量滚动。


1
投票

.NET 是非常强大的框架,它不断发展,可能包含从元数据属性到 linq 的所有内容,这无疑使我们免受不良指针错误的困扰。

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

如今大多数防火墙、路由器(硬件)都包含定制的linux,可以用Singularity内核和您自己的业务流程替换。

Singularity 内核很小,看起来是嵌入式 Windows/Linux 的完美替代品。

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


0
投票
CosmosOS

© www.soinside.com 2019 - 2024. All rights reserved.