代码之家  ›  专栏  ›  技术社区  ›  Dervin Thunk

c语言的完整操作系统#

  •  9
  • Dervin Thunk  · 技术社区  · 16 年前

    here . 我想知道这是不是合法的(听起来像是这样),这样做的缺点是什么。在某些架构中单独运行它需要什么? 谢谢

    4 回复  |  直到 16 年前
        1
  •  12
  •   Tomas Petricek    16 年前

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

    例如,查看 Singularity project at CodePlex ). 它仍然有一些本地的部分,但很少。据我所知,甚至垃圾收集器都是用托管代码编写的(带有一些允许使用指针进行安全操作的语言扩展)。

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

        2
  •  4
  •   Simon Wollwage    16 年前

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

    欲了解更多信息:

        3
  •  2
  •   Hans Passant    16 年前

    这是合法的。缺点很明显,这是一个微内核。您的视频适配器驱动程序也需要一段时间才能完全管理。需要获得临界质量 许多的

    微软也在追求这一点。奇点已经被广泛发表了。它已经发展成为一个名为Midori的秘密研究项目。维基百科已经有足够多的泄密者知道它的目标 an article 关于它。我想很多开发原始CLR的开发人员都加入了这个项目。它是否会有一个好的结局是一个悬而未决的问题。如果是这样的话,很明显项目的支持者可能就足以达到临界质量。

        4
  •  1
  •   Akash Kava    16 年前

    NET是一个非常强大的框架,它不断发展,它可能包含从元数据属性到linq的所有内容,这无疑使我们摆脱了错误的指针错误。

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

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

    我不认为有任何缺点,除了它是一个全新的系统,它将需要时间的硬件供应商提供符合这一点的设备,但它将在未来发生。