under-the-hood
under-the-hood copied to clipboard
📚 Go: Under The Hood | Go 语言原本 | https://golang.design/under-the-hood
## 实际描述 - 文件路径:book/zh-cn/part2runtime/ch06sched/preemption.md - 原文段落:我们在 [6.3 调度循环](https://golang.design/under-the-hood/zh-cn/part2runtime/ch06sched/exec) 一节中遗留过一个未解答的问题: ...
## 问题描述 在5.3 mutex一节中,开头有这么一句话 > 在正常模式中,等待者按照 FIFO 的顺序排队获取锁 我注意到这个是官方注释 在下文的`unlockSlow`方法中,正常唤醒逻辑的代码是`runtime_Semrelease(&m.sema, false, 1)`,您的注释是 > 唤醒一个阻塞的 goroutine,但不是唤醒第一个等待者 这两个说法是不是冲突了?
## 问题描述 第二部分运行时 第七章节 内存分配 部分是基于哪个branch或者tag的? 我看了golang 源码tag go 1.15没有7.4 大对象分配中的allocSpanLocked。 能否给出您描述的代码的commit id或者别的信息,有利于读者结合代码阅读。 请在此描述你的问题,提问前请参考[提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md)
## C.ref2 -> A,那么 shade(*slot)也就是shade(A),应该是把A着色为灰色,为什么图中是把A置为白色、C置为灰色了? ``` func YuasaWritePointer(slot *unsafe.Pointer, ptr unsafe.Pointer) { shade(*slot) *slot = ptr } ``` - 原文段落:8.2写屏障技术,图3:使用Yuasa写屏障赋值器  ps:还是同一个图,这个地方地方的文字和图不匹配,应该是YuasaWritePointer(C.ref3, B)吧 
## 动机 init 相关内容已过时 ## 需求说明 在 `runtime.main` 中关于 init 调用部分有更新,包括编译器部分。 相关 commit:https://github.com/golang/go/commit/d949d0b9252be1fffeadd65183a6bab3acf3de7a 本人水平有限,勉强能看懂一些,但还远远达不到能提 PR 修改此处。期待相关更新。 ps.这个项目能重启真是太好了 🎉
I was wondering if there a publish system like `gitbook` , which use to publish as `epub` or `pdf`.
读者反馈
## 动机 反馈作者 ## 需求说明 1. 读者本人:本科CS,研究生北邮网络协议方向。学习过C++,Java,Golang,深入了解过C++99,11语言特性,系统方向小白(计算机系统,编译原理 只是道听途说,上过一些youtube课),有2.5年应用层服务端搬砖经验。 2. 阅读感悟:本书学习难度大,阅读难度大,需要很深的学术功底和开发经验来了解计算机系统底层。 3. 三年前大二时我就收藏了,到今天学+用Go语言四年,能略微读懂基础篇和一些论文,gmp协程调度,窃取算法,内存调度只能说纸上谈兵。
resolve #issue_id ## 说明 Fixed 修复runtime/mpg 一些语言问题,使阅读更顺畅 ## 变化箱单 - 修复了 runtime/mpg 的语言问题 , 使阅读更顺畅 ## 参考文献 如果有请注明