Article Radar: Internals for Interns + Kin
Article Radar: Internals for Interns + Kin
Overview
This radar catalogs diagram-rich Go internals writing in the same vein as Inside Go’s synctest—runtime source, compiler pipeline, and systems guests. Use it to prioritize reading and to track what this monorepo has absorbed into local chapters.
Diagram: map sources → book chapters
IFI runtime series this book
───────────────── ─────────
bootstrap ──► 248
allocator ──► 247
scheduler ──► 201, 256
GC ──► 208, 255
netpoll / sysmon ──► 213, 239
synctest ──► 223
Internals for Interns — Runtime series
| Article | URL | Book landing |
|---|---|---|
| Bootstrap | understanding-go-runtime | 248 |
| Memory allocator | go-memory-allocator | 247 |
| Scheduler | go-runtime-scheduler | 201 |
| Garbage collector | go-garbage-collector | 208 |
| System monitor | go-sysmon | 239 |
| Network poller | go-netpoller | 213 |
| Slices, maps, channels | go-runtime-slices-maps-channels | 203, 205 |
| select | go-runtime-select | 249 |
| Stacktraces | go-runtime-stacktraces | 250 |
| Reflect | go-runtime-reflect | 211 |
| Profiling | go-runtime-profiling | 222 |
| synctest (guest) | inside-go-synctest | 223 |
| mmap vs pread (guest) | mmap-vs-pread-go-storage-engine | 251 |
Series hub: Understanding the Go Runtime.
Internals for Interns — Compiler series
| Phase | URL | Book landing |
|---|---|---|
| Scanner | the-go-lexer | 209 + radar |
| Parser | the-go-parser | 209 |
| Type checker | the-go-type-checker | 209 |
| Unified IR | go-compiler-unified-ir | 209 |
| IR | the-go-ir | 209 |
| SSA | the-go-ssa | 209 |
| Machine code | the-go-machine-code | 209 |
| Linker | the-go-linker | 210 |
Kindred sources (same “diagram + source” energy)
| Source | Why |
|---|---|
| antonz.org Gist of Go: Concurrency | Interactive curriculum → part 21 |
| iximiuz Labs: Using Go for Systems Programming | libc vs direct syscalls, static binaries, CGO_ENABLED=0 → 140a |
| Go scheduler talk (Vyukov) | Original lightweight concurrency design |
| go.dev blog | Official GC, GOMAXPROCS, experiments |
| Channel runtime posts (e.g. gaborkoos / similar) | hchan latency mental models → 203 |
| Zero-copy sendfile/splice writeups | → 224 |
How we absorb articles
1. Extract durable models (not copy prose)
2. Add mermaid/ASCII diagrams in-repo
3. Cross-link experiments + GOROOT reading tips
4. Attribute the source series at chapter tops where used heavily
5. Re-check after each Go minor release
Experiment
Pick one unread row in the tables above; after reading, open the matching book chapter and add one personal note (sticky TODO in a _planning file if you keep one) for anything the monorepo still under-explains.
Try next: On each Go release, re-open the GC + scheduler posts and diff against 208 / 201.