2

Go はオペレーティング システムのコアを作るのに十分なほど開発されているのでしょうか? したがって、基本的には、通常 C を使用するものを Go に置き換えます。

4

1 に答える 1

5

もちろん、ほぼすべての (チューリング完全な) 言語で OS を開発できます。ただし、通常は小さなアセンブリ レイヤーが必要です。そして通常、問題の言語の制限されたサブセットのみを使用して、OS の一部を実装する必要があります。

例:

  • JavaOS .
  • 特異点。(一部の制限付きでのみ適用されます。)

Go に関しては、以前は使用可能な (おもちゃの) Go カーネルの実装がありましたが、現在では長い間廃止されています。rsc の投稿から:

リポジトリの履歴には、「tiny」と呼ばれるおもちゃのカーネルがあります。hg log -k tiny を実行すると、それが見つかります。現在のバージョンの Go ではビルドされなくなりましたが、何ができるかを示しています。カーネルには、ガベージ コレクターを含むパッケージ ランタイム全体が含まれていました。

ラス

于 2013-06-04T08:18:40.883 に答える