Go 런타임: OS 없는 실행 제안
2025-05-07
이 제안은 Go 런타임에 새로운 GOOS 타겟(예: GOOS=none)을 추가하여 Go 프로그램이 임의의 OS 시스템 호출에 의존하는 대신 애플리케이션에서 정의한 종료 함수 아래에서 실행될 수 있도록 하는 것을 제안합니다. 이를 통해 직접적인 OS 지원 없이 독립 실행이 가능하며, 이는 이미 TamaGo 프로젝트에서 구현되었습니다. 이 제안은 업스트림 포함을 주장합니다. GOOS=none으로 빌드된 Go 애플리케이션은 베어 메탈에서 실행됩니다. 필요한 지원은 모두 Go 런타임과 Go로 작성된 외부 드라이버 패키지에서 제공됩니다. CPU 초기화, 하드웨어 초기화, 표준 출력, 난수 생성, 시스템 시간 검색 등의 주요 함수를 정의해야 합니다. 이를 통해 Go의 적용 범위가 임베디드 시스템, 가상 머신, UEFI 등의 환경으로 크게 확장됩니다.
개발
베어 메탈 실행