04 2019 档案
摘要:本文主要从操作系统什么时候会起对线程的调度以及调度的时候内核会做哪些事情的角度简单的介绍一下系统线程方面的知识。
阅读全文
摘要:本文从汇编层面分析了函数调用的实现原理,主要内容包括:CPU是如何从调用者跳转到被调用函数执行的?参数是如何从调用者传递给被调用函数的?函数局部变量所占内存是怎么在栈上分配的?返回值是如何从被调用函数返回给调用者的?函数执行完成之后又需要做哪些清理工作?
阅读全文
摘要:go汇编格式跟前面讨论过的AT&T汇编基本上差不多,但也有些重要区别,本节就这些差异做一个简单说明。
阅读全文
摘要:本文是《go调度器源代码情景分析》系列 第一章 预备知识的第4小节。 汇编语言是每位后端程序员都应该掌握的一门语言,因为学会了汇编语言,不管是对我们调试程序还是研究与理解计算机底层的一些运行原理都具有非常重要的作用,所以建议有兴趣的读者可以多花点时间把它学好。 与高级编程语言一样,汇编语言也是一门完
阅读全文
摘要:本文是《go调度器源代码情景分析》系列 第一章 预备知识的第3小节。 什么是栈 栈是一种“后进先出”的数据结构,它相当于一个容器,当需要往容器里面添加元素时只能放在最上面的一个元素之上,需要取出元素时也只能从最上面开始取,通常我们称添加元素为入栈(push),取出元素为出栈(pop)。 不知道读者是
阅读全文
摘要:内存是计算机系统的存储设备,其主要作用是协助CPU在执行程序时存储数据和指令。
阅读全文
摘要:寄存器是CPU内部的存储单元,用于存放从内存读取而来的数据(包括指令)和CPU运算的中间结果,之所以要使用寄存器来临时存放数据而不是直接操作内存,一是因为CPU的工作原理决定了有些操作运算只能在CPU内部进行,二是因为CPU读写寄存器的速度比读写内存的速度快得多。
阅读全文
摘要:专题简介 本专题以精心设计的情景为线索,结合go语言最新1.12版源代码深入细致的分析了goroutine调度器实现原理。 适宜读者 go语言开发人员 对线程调度器工作原理感兴趣的工程师 对计算机底层运行原理感兴趣的工程师 专题目标 笔者希望即使是从未接触过计算机底层原理的读者,通过对本专栏的认真学
阅读全文

浙公网安备 33010602011771号