Make an OS in GO

 

See video here

Recommended articles to read: https://totallygamerjet.hashnode.dev/... https://totallygamerjet.hashnode.dev/... https://fasterthanli.me/articles/lies... In short, yes! You can definitely write an operating system in Go. See: https://github.com/gopher-os/gopher-os See: https://github.com/mit-pdos/biscuit 

 

Kernel Development Challenges

🖥️Go's tightly coupled components like linker, debugger, garbage collector, and concurrency model make it unsuitable for kernel development without significant modifications.

🔧C remains the preferred choice for kernel development due to its insane granular control over low-level systems, allowing direct access to DMA controllers, flash memory, and RAM.

Go's Design Philosophy

🏝️Go's design as an "island" with its own integrated tools could potentially streamline kernel configuration, but would require a major overhaul of current kernel development approaches.

Resource Management

🗑️Implementing Go's garbage collector in a kernel would require allocating extra memory and resources for every single process, creating a significant overhead.

Language Suitability

🔬While Go excels as a high-level language for interacting with low-level systems, it is not designed as a systems language, making it less suitable for kernel-level programming without extensive modifications.

Back to blog