Go-Runtime: Vorschlag für OS-freie Ausführung

2025-05-07
Go-Runtime: Vorschlag für OS-freie Ausführung

Dieser Vorschlag schlägt vor, ein neues GOOS-Ziel (z. B. GOOS=none) zur Go-Laufzeit hinzuzufügen, das es Go-Programmen ermöglicht, unter anwendungsdefinierten Beendigungsfunktionen zu laufen, anstatt sich auf beliebige OS-Systemaufrufe zu verlassen. Dies ermöglicht eine eigenständige Ausführung ohne direkte OS-Unterstützung, eine Funktion, die bereits im TamaGo-Projekt implementiert ist. Der Vorschlag befürwortet die Aufnahme im Upstream. Mit GOOS=none erstellte Go-Anwendungen würden auf Bare-Metal laufen; die gesamte benötigte Unterstützung kommt von der Go-Laufzeit und externen Go-Treiberpaketen. Schlüsselfunktionen wie CPU-Initialisierung, Hardware-Initialisierung, Standardausgabe, Zufallszahlengenerierung und Abruf der Systemzeit müssen definiert werden. Dies erweitert die Anwendbarkeit von Go erheblich auf Umgebungen wie Embedded-Systeme, virtuelle Maschinen und UEFI.