Make an OS in GO
Share
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.