Go语言抢占式调度

Go在1.14之前没有真正的实时抢占机制,而是一套协作式抢占(cooperative preemption)。1.14开始使用非协作式抢占(non-cooperative preemption),通过堆栈和寄存器来保存抢占上下文,避免对抢占不友好的函数导致GC STW延长

Go 调度模型

Go bootstrap toolchain

https://zhuanlan.zhihu.com/p/354094903

某些时候,可能要使用特殊版本的go,从源码安装,这同样很简单。从源码安装,首先要进行编译。Go 1.5实现了bootstrapping,所以编译1.5以后的版本和编译1.5以前的版本会略有不同。bootstrapping是编译器领域的一个术语,中文翻译为自举或自展,通俗地讲“用要编译的目标语言编写其编译器(汇编器)”。Go1.5开始编译器和运行时完全用Go语言编写(还有少量汇编);go1.4是最后一个用C编写工具链的发布。

https://www.cnblogs.com/dyh004/p/9669406.html