No description
Find a file
Tej Chajed 6558faa572 Document verify-lines tool in README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:07:14 -05:00
.github/workflows Update github actions 2026-04-02 09:51:24 -05:00
src Finish linking code snippets to Go source 2026-04-02 15:35:58 -05:00
tools/verify-lines Finish linking code snippets to Go source 2026-04-02 15:35:58 -05:00
.gitignore Fix accuracy, clarity, and assessment issues 2026-04-02 07:14:14 -05:00
book.toml Tweak the title/description 2026-04-02 09:56:11 -05:00
go.mod Finish linking code snippets to Go source 2026-04-02 15:35:58 -05:00
README.md Document verify-lines tool in README 2026-04-02 16:07:14 -05:00

OS with Go

Learn core operating systems concepts through the Go runtime

This is a mini course intended for anyone with some programming background who wants to better understand systems in general. It takes typical concepts from an operating systems class and teaches them in a modern context through the Go runtime. The Go source code is quite readable, so we'll be able to dive into the real implementations of these concepts in a real and widely used system.

Warning

This is still at an early stage, and was mostly written by Claude. I plan to review and refine it. The target is a self-contained, ~10 hour course, with additional optional material.

Building

Install mdbook.

mdbook serve
mdbook build

Code snippets include citations to the Go runtime source with links to specific line numbers. When updating to a new Go version, use the verification tool to check and fix line numbers:

go run ./tools/verify-lines -go-root ~/sw/go       # check citations
go run ./tools/verify-lines -go-root ~/sw/go -fix   # auto-fix shifted lines

The tool reads the VERSION file from the Go source tree to set the tag in URLs. Use -tag go1.XX to override.