我是一名计算机科学工程专业的学生,我在.NET框架上编程已经有2-3年了,但我没有使用Linux。我想,在我最后一年的项目中,Linux发行版会很好。
当我想到了几种实现它的方法时,我突然想到了一个疯狂的想法:
我们能否首先在内核上实现.NET框架,然后使用它构建其余的框架呢?
这可能是最奇怪的问题,但请给我一个方法,如果我是对的问题,如果我错了,请纠正我。
发布于 2009-10-22 05:30:08
.NET框架的功能太丰富了,没有大量的用户空间帮助(从libc开始)就无法在一个普通的Linux内核上构建它。IMHO并不是不可能,而是过于雄心勃勃,对于一个学生的PhD论文来说(如果你的目标是一个比博士学位更低的学位的话)。
看看单峰 for Windows --独立于.NET的实现和它所依赖的一切--并考虑如何减少(而不是消除)您自己的用户空间依赖,在您的论文范围内,在您自己的Mono分支中(当然,假设任何论文顾问都会注册来支持您)。
发布于 2009-10-22 05:30:33
对于问题的第一部分,您可能需要签出单体工程,这是.net在c#中的一个实现。
至于第二部分,我不知道为什么要在.net中实现Linux。这似乎是一种倒退的方式来接近这件事。
如果您对在c#中实现操作系统感兴趣,请查看奇点,这是在c#中开发的一种研究操作系统
发布于 2009-10-22 06:46:43
CLR (又名.NET框架)至少在Linux上实现了一次。
的确,您可以制作一个附带Mono的Linux发行版,或者使用.NET作为它的一些启动脚本/守护进程。那就好了。可能已经有人这么做了。
我看不出在内核中运行托管代码会带来什么好处,可能没有。在内核中运行托管代码是非常困难的,因为在内核的许多部分,内存分配需要小心--您可能没有足够的控制。此外,内核堆栈在默认情况下可能太小,等等。在内核中的某些上下文中,不能进行堆内存分配。
https://stackoverflow.com/questions/1605171
复制相似问题