LibC OS は存在しますか? 質問する

LibC OS は存在しますか? 質問する

組み込み可能なOSについて聞いたことがあるが、それは基本的にlibcだけ(おそらくc++をサポートしていた)だった。カーネルやパイプなど、OSに期待されるものは何もなかった。私はそれを探してみた。ウィキペディアしかし、リストに載っていませんでした。

そのような OS は存在しますか? VM 外部との通信にターミナルのみ、または C/C++ + (tcp) ソケットのいずれかをサポートする OS はありますか? おもちゃとして役立つと思います。

ベストアンサー1

これに名前が見つからない理由は、それがオペレーティング システムではなく、オペレーティング システムが存在しないからです。これはしばしば「ベアメタル」プログラミングなどと呼ばれます。

ベアメタルプログラミングの一般的な考え方は、汎用的なコードが少しあるということです。「ブートローダー」-- メモリコントローラとボード上のその他のハードウェアを設定し、制御をプログラムに渡します。(オペレーティングシステムにもブートローダがあるので、その意味ではプログラムは交換するオペレーティング システム。ユーブートはかなり一般的なオープンソースのブートローダなので、情報を探すにはここから始めるのが良いかもしれません。

ベアメタル プログラミングの難しい点の 1 つは、ハードウェア通信を処理するオペレーティング システムがないため、「どのデータがどの周辺機器に送られるかに関して、printf は実際何を意味するのか」、また「そこに送るにはどうすればよいのか」について考える必要があることです。また、一部のブートローダはこの種の機能をサポートしていますが、すべてを接続することが必ずしも簡単ではありません。ここでも、Uboot が良い例です。

一方、C ライブラリ自体は、実際にはブートローダではなくコンパイラによって提供されます。

(ちなみに、私が勤めている会社は、ベアメタルおよびLinuxコンパイラのシリーズを製造しており、ソースリーコードベンチCodeBench の場合、ベアメタル バージョンは一般に、プログラムのリンクに使用する ABI 仕様に基づいて命名されるため、「ELF」または「EABI」バージョンはすべてベアメタル コンパイラーであり、これはこの種のものを指す一般的な方法であるため、このような名前もよく見かけると思います。

おすすめ記事