众力资讯网

古法编程 电子书 Putting the “You” in CPU地址:cpu

古法编程 电子书 Putting the “You” in CPU地址:cpu.land/好奇当你在电脑上运行一个程序时,到底发生了什么吗?阅读这篇文章,你将了解多进程是如何工作的、系统调用到底是什么、计算机如何通过硬件中断来管理内存,以及 Linux 是如何加载可执行文件的。“在电脑方面,我已经做过很多事情,但我的知识里一直有一个缺口:当你在电脑上运行一个程序时,到底发生了什么?

我一直在思考这个问题。我其实已经具备了大部分所需的底层知识,但始终很难把所有东西串起来。程序真的会直接在 CPU 上执行吗?还是背后还有别的机制?

我用过系统调用,但它们是怎么工作的?它们本质上到底是什么?多个程序又是如何同时运行的?

一幅潦草的数码插画:一个长发的人困惑地低头看着一台正在吞入二进制数据的电脑。突然,他们有了一个想法!于是他们开始弯着腰、姿势糟糕地在台式电脑上做研究。

后来我终于忍不住了,开始尽可能多地搞清楚这些问题。如果你没有上大学,其实很难找到全面的系统知识资料。所以我不得不筛选大量来源不一、质量参差不齐,甚至有时相互矛盾的信息。

经过几周研究,以及将近 40 页笔记之后,我觉得自己对计算机从启动到程序执行的整个过程,已经有了清晰得多的认识。要是当时能有一篇扎实的文章,把我学到的东西都解释清楚,我一定会非常想读。所以,我现在就在写那篇我当初希望自己能看到的文章。”