golang/go
6 articles
前置知识
- ›具备基本的 Go 语法与工具链使用经验
- ›了解编译器工具链的基本概念
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 网络轮询器、运行时同步原语与编译器指令