Goランタイム:OS不要実行の提案

2025-05-07
Goランタイム:OS不要実行の提案

この提案は、Goランタイムに新しいGOOSターゲット(例:GOOS=none)を追加することを提案しており、Goプログラムを、任意のOSシステムコールに依存するのではなく、アプリケーションで定義された終了関数の下で実行できるようにします。これにより、直接的なOSサポートなしでスタンドアロン実行が可能になり、これはTamaGoプロジェクトですでに実装されています。この提案は、アップストリームへの組み込みを提唱しています。GOOS=noneでビルドされたGoアプリケーションは、ベアメタル上で実行されます。必要なサポートはすべて、GoランタイムとGoで記述された外部ドライバパッケージから提供されます。CPU初期化、ハードウェア初期化、標準出力、乱数生成、システム時刻取得などの主要な関数を定義する必要があります。これにより、Goの適用範囲が、組み込みシステム、仮想マシン、UEFIなどの環境に大幅に広がります。