Read OSS

golang/go

6 articles

前置知识

01

深入 Go 代码仓库:目录结构、自举流程与构建管道

golang/go 仓库导览——目录布局、自托管自举流程与工具链构建管道

02

深入 `go` 命令:子命令分发、模块加载与构建编排

深入剖析 go 命令的子命令分发机制、基于 MVS 的模块解析流程,以及并行构建动作图

03

Go 编译器流水线:从源代码到 SSA 再到机器码

追踪 Go 源代码在 cmd/compile 中经历解析、类型检查、逃逸分析和 SSA 优化流水线的完整过程

04

Go 运行时内部机制:进程启动与 G-M-P 调度器

从第一条汇编指令到 rt0_go,再到 G-M-P 调度器:goroutine 状态机、工作窃取与抢占机制

05

Go 内存管理:分配器层次结构与并发垃圾回收器

Go 受 tcmalloc 启发的分配器(mcache → mcentral → mheap)与带调速器调优的并发三色标记清除 GC

06

Channel、网络轮询器与运行时的横切关注点

Channel 内部机制(hchan/sudog)、epoll/kqueue 网络轮询器、运行时同步原语与编译器指令