- gopher-os
- implementation
- conclusion
- https://github.com/achilleasa/gopher-os
- experimental OS in Go
- without interrupt
- virtual memory system in progress
- the entrance of kernel
- bootloader jump to kernel in protected mode
- interrupt and paging are disable
- flow
- copy multiboot data
- check processor features
- initial page table, enable paging and longmode
- enter kernel written in golang
- core functions written in golang
- setup multiboot data pointer
- initial terminal
- physical memory initialize (just print memory map)
- asm issue
- communication between asm and go
- sharing data structure
- sharing
- switching between asm and go
- using gccgo
- gcc compiler with go-frontend
- gccgo / go are different tool chain
Made with Slides.com