0

私は、どのプラットフォームのオペレーティングシステムがコーディングされているかを知っている可能性があります。

私の知識によると。

C言語で書かれたWindowsカーネル。LinuxカーネルもC言語で書かれています。

しかし、オペレーティングシステムはそのままですか?

どのプラットフォームC言語で書かれていますか?

4

4 に答える 4

3

はい、WindowsカーネルとLinuxカーネルはCで書かれています。ほとんどのオペレーティングシステムはCで書かれている傾向があります。
他の言語で書かれたオペレーティングシステムもありますが、たとえばChorusカーネルはC++で書かれています。

ほとんどのCコンパイラもCで記述されています。これには、コンパイラをマシン上で実行できるようになると(通常、コンパイラ/クロスコンパイラがすでに動作している別のマシンでコンパイルすることにより)、マシン自体が更新をコンパイルできるという利点があります。さらに別のコンパイラを維持することなく、独自のコンパイラに変換します。

于 2012-08-27T12:53:39.050 に答える
1

Cコンパイラのほとんどの部分(gccなど)はC自体で記述されています。もちろん、コンパイラーがそれ自体をコンパイルできるように、コンパイラーをブートストラップするための何かが必要になります。その場合、それはアセンブラーのような下位型の言語になります。

于 2012-08-27T12:50:45.120 に答える
0

C言語は、セルフホスティングと見なされる多くの言語の1つです。つまり、コンパイラーは、コンパイラーがコンパイルするように設計されているのと同じ言語で記述された独自のソースコードをコンパイルできます。

また、ブートストラップのプロセスを調べることもできます。これは、特定の言語の最初のコンパイラを特定のプラットフォームで実行するために使用されるプロセスです。他の人が指摘しているように、これはクロスコンパイルまたは元のコンパイラを別の言語で作成しますが、他の手法も可能です。

于 2012-08-27T13:01:21.043 に答える
-2

まず、実際の文章で質問を改善したいと思うかもしれません。

第二に、Cはプラットフォームで書かれておらず、別のプログラミング言語で書かれています。ほとんどのコンパイラは、プロセッサに送信される実際のマシンコードのやや読みやすいバージョンであるアセンブラで記述されています。中間言語で書かれた他のコンパイラがあるかどうかはわかりませんが、最終的には、すべてがマシンコードにコンパイルされるアセンブラコードに要約されます。

于 2012-08-27T12:51:25.690 に答える