一个完整的操作系统在C# [英] A full operating system in c#

查看:202
本文介绍了一个完整的操作系统在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我这里看到这个线程。我想知道这是否是合法的(听起来),什么是这样做的缺点。这是什么意味着运行它独立于一些架构?
谢谢

I saw this thread here. I was wondering if this was legit (sounds like it) and what are the drawbacks of doing this. What does it entail to run it stand alone in some architecture? Thanks

推荐答案

试图在托管语言创建一个操作系统目前是一个有趣的研究问题。这意味着,它看起来可能,但还是有相当的需要解决的问题(例如,我不希望管理窗口很快)的几个重要问题。

Trying to create an operating system in a managed language is currently an "interesting research problem". This means that it seems possible, but there are still quite a few important issues that need to be resolved (for example, I wouldn't expect "managed windows" anytime soon).

例如,看看在 Singularity项目(在CodePlex上还提供)。它仍然有一些本地部分,但其中很少。据我所知,即使是垃圾收集器是用托管代码(有些语言扩展,允许安全操作的指针)。

For example, take a look at the Singularity project (also available at CodePlex). It still has some native parts, but very few of them. As far as I know, even the garbage collector is written in managed code (with some language extension that allows safe manipulation with pointers).

诀窍是,即使托管代码最终会被编译为本地代码。在.NET中,编译通常是由抖动,当你启动应用程序完成的。在奇异,这是提前完成,因此你运行本地代码(但是从管理的产生)。奇异还有其他一些有趣的方面 - 例如,通过流程沟通信息(并且不能动态加载代码),这使得它可以做一些积极的优化生成本地代码时。

The trick is that even managed code will eventually be compiled to native code. In .NET, the compilation is done usually by JITter when you start the application. In Singularity, this is done in advance, so you run native code (but generated from managed). Singularity has some other interesting aspects - for example, processes communicate via messages (and cannot dynamically load code), which makes it possible to do some aggressive optimizations when generating native code.

这篇关于一个完整的操作系统在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆