Go 运行时:摆脱操作系统束缚的提案
2025-05-07
该提案建议在 Go 运行时中添加一个新的 GOOS 目标(例如 GOOS=none),允许 Go 程序在特定应用程序定义的退出函数下运行,而不是依赖于任意的操作系统系统调用。这使得 Go 程序能够在没有直接操作系统支持的情况下进行独立运行(裸机运行)。这项技术在 TamaGo 项目中已经实现,该提案建议将其整合到 Go 主干代码中。通过定义一些必要的函数,例如 CPU 初始化、硬件初始化、标准输出、随机数生成和系统时间获取等,Go 程序可以在没有操作系统的情况下运行。这将极大地扩展 Go 语言的应用范围,例如嵌入式系统、虚拟机和 UEFI 等。
开发
裸机运行