9


2

C#の完全なオペレーティングシステム

このスレッドはhttp://forum.codecall.net/csharp-tutorials/11620-create-operating-system-c.html [こちら]で見ました。 私はこれが合法であるか(それと同じように聞こえるか)と、これを行うことの欠点は何かを疑問に思っていました。 一部のアーキテクチャでスタンドアロンで実行することは何を必要としますか? ありがとう

4 Answer


12


管理言語でオペレーティングシステムを作成しようとすることは、現在「興味深い研究問題」です。 これは可能だと思われますが、解決する必要のある重要な問題がまだいくつかあります(たとえば、「管理ウィンドウ」はすぐには期待できません)。

たとえば、http://research.microsoft.com/en-us/projects/singularity/ [Singularity project](http://singularity.codeplex.com/[at CodePlex]でも入手可能)をご覧ください。 まだいくつかのネイティブ部分がありますが、ごくわずかです。 私の知る限り、ガベージコレクターでさえマネージコードで記述されています(ポインターを使用した安全な操作を可能にする言語拡張機能を備えています)。

秘Theは、マネージコードでさえ最終的にネイティブコードにコンパイルされることです。 .NETでは、コンパイルは通常、アプリケーションの起動時にJITterによって行われます。 Singularityでは、これは事前に行われるため、ネイティブコードを実行します(ただし、マネージから生成されます)。 特異性には、他の興味深い側面もあります。たとえば、プロセスはメッセージを介して通信し(コードを動的にロードできません)、ネイティブコードの生成時に積極的な最適化を行うことができます。


4


まさにそれを達成しようとしているオープンソースプロジェクトがあります。 「Managed Operating System Alliance」と呼ばれています。 主にフレームワーク(ユーザーにコンパイラ、ライブラリ、インターフェイス、ツール、サンプルカーネルを提供する)をターゲットにしていますが、完全なオペレーティングシステムカーネルと小さなアプリも備えています。

詳細については:

  • ウェブサイト:http://mosa-project.org/projects/mosa

  • IRC:freenodeの#mosa


2


合法です。 欠点は明らかです。これはマイクロカーネルです。 ビデオアダプタドライバも完全に管理されるまでにはしばらく時間がかかります。 それには、多くの開発者とメーカーが時流に乗ってクリティカルマスを獲得する必要があります。 難しいですが、明らかな例としてLinuxで起こりました。

これもMicrosoftによって追求されています。 特異点についてはよく知られています。 みどりという名前の秘密の研究プロジェクトに進化しました。 目標を知るのに十分なリークがあり、ウィキペディアにはhttp://en.wikipedia.org/wiki/Midori_%28operating_system%29 [記事]があります。 オリジナルのCLRで働いていた多くの開発者がこのプロジェクトに参加したと思います。 良い結果になるかどうかは未解決の問題です。 もしそうなら、明らかにプロジェクトの支援者はその重要な大衆のローリングを得るのにおそらく十分です。


1


MicrosoftのSingularityプロジェクトは、カスタマイズ可能なオペレーティングシステムを作成できるオペレーティングシステムアーキテクチャフレームワークであり、おそらくMicrosoftの新しいオペレーティングシステムは特異性に基づいています。

NET is very powerful framework, it evolved and it probably contains

メタデータ属性からlinqに至るまでのすべてのことで、バッドポインターエラーから確実に解放されます。

Windows PhoneやiPhoneのように、デバイス用にカスタマイズ可能なオペレーティングシステムを作成できます。

今日、ほとんどのファイアウォール、ルーター(ハードウェア)にはカスタマイズされたlinuxが含まれており、Singularity kernalと独自のビジネスプロセスに置き換えることができます。

特異点カーネルは小さく、組み込みWindows / Linuxの完璧な代替品のように見えます。

まったく新しいシステムであり、ハードウェアベンダーがこれに対応するデバイスを提供するには時間がかかることを除いて、欠点はないと思いますが、将来的には発生します。