C# 用C语言编写操作系统程序#

C# 用C语言编写操作系统程序#,c#,osdev,C#,Osdev,我知道这个项目。问题是“我们能用托管代码创建一个真正的操作系统吗?或者用这个项目创建的操作系统是hello world操作系统吗?” 操作系统需要完全控制硬件。我们能用这个吗? 如果还有其他项目,请告诉我 是的,这是可以做到的-看看哪一个是微软的研究项目,在“Sing”(一个“Spec”的扩展版本,它本身就是C的扩展)中创建一个完全受管理的操作系统。值得强调的是,这只是一个对该概念的研究项目,从来没有打算作为Windows或Max OSX之类的“完整”操作系统 源代码可以在上获得-您可以下载代码

我知道这个项目。问题是“我们能用托管代码创建一个真正的操作系统吗?或者用这个项目创建的操作系统是hello world操作系统吗?” 操作系统需要完全控制硬件。我们能用这个吗? 如果还有其他项目,请告诉我

是的,这是可以做到的-看看哪一个是微软的研究项目,在“Sing”(一个“Spec”的扩展版本,它本身就是C的扩展)中创建一个完全受管理的操作系统。值得强调的是,这只是一个对该概念的研究项目,从来没有打算作为Windows或Max OSX之类的“完整”操作系统

源代码可以在上获得-您可以下载代码,构建代码并在模拟器中自己运行(我自己也做过,它有很好的文档记录并且相对容易,尽管我自己记不起确切的步骤)

系统的某些部分是用汇编/C编写的,特别是引导加载程序和最低级别的x86中断调度代码,但这基本上是不可避免的(它本质上非常依赖于平台-需要编写x86指令来控制和响应基本硬件)。低级中断在操作系统实际上如何运作方面也不是特别有趣,所以我个人不认为这是欺骗“完全管理”的定义。

在Wikipedia页面上查找Singularity还有5-6个类似的项目,包括Cosmos和一些使用Java而不是C#的类似尝试

Singularity操作系统的重点是安全性和依赖性,但令人印象深刻的是,根据一些基本基准,其架构的性能实际上与其他“更传统”的操作系统相当:

。。。这些数字表明了我们所需要的架构 提议不仅不会招致性能惩罚,而且通常与多个相同或更快 传统建筑。换句话说,这是建立一个系统的实际基础


您是否在问是否存在托管代码操作系统?看看微软的,我知道有。但是我们能用这些项目编写一个像mac os或windows这样的大型操作系统吗?@LightWing:这是一项艰巨的任务。首先,Singularity是一个操作系统,所以你不能用它来编写操作系统。我知道微软使用一种类似于C#的语言来编写它,但我没有更多的细节。很抱歉,我对MOSA的看法是错误的,但Cosmos是C#.Net开发OSOf的项目。当然,你可以在托管环境中构建操作系统。这完全取决于你如何定义操作系统。我认为托管操作系统非常棒。但是性能。它是开源的吗?如果不是,有开源的方法吗?Hanks真的很棒+1答案。@LightWing我不知道它是不是“开源的”(它只是一个研究项目,不是一个“合适的”操作系统)但是源代码在CodePlex上是可用的。我不知道性能是什么样的,但这不是他们研究的重点,所以它可能不是很好,但是我不知道如果花费足够的精力适当地优化它,它为什么不能执行。