易燃物汇聚 YouTube 有声书与书评
程序是怎样跑起来的(第3版) 封面

程序是怎样跑起来的(第3版)

矢泽久雄

1.1万人在读
11.7万字总字数
¥29.9定价

有声书与视频解读 YouTube视频解读 1

内容简介

本书从计算机的内部结构开始讲起,以图配文的形式详细讲解了二进制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容,目的是让读者了解从用户双击程序图标到程序开始运行之间到底发生了什么。书中还专设了“如果是你,你会怎样讲呢?”专栏,以小学生、老奶奶等为对象讲解程序的运行原理,颇为有趣。 第3版升级了书中用到的软件产品和开发工具,并在正文和注释中补充了大量内容,让初学者更容易理解。对于旧版中颇受好评的硬件相关章节,更新了C语言的样例代码。书末附录关于C语言的章节也升级至最新标准。 第12章新增了Python机器学习的内容,让初学者能够轻松体验人工智能的乐趣。附录也增加了对Python语言的介绍。 本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。

读者书评

★★★★★

这本书是对《计算机是怎样跑起来的》很好的补充,同为入门类书籍,这本书很好的补充了操作系统原理、硬件驱动原理、编译原理(包括汇编语言基础讲解)及机器学习的基本内容,推荐读完《计算机是怎样跑起来的》的书友继续补充这本书的知识。

★★★★★

我们日常生活基本离不开计算机,作为一名计算机专业的学生、编程爱好者,我上学学到的都是计算机是由什么组成的:CPU、内存、硬盘、主板、输入/输出设备等,内容非常抽象(也可能是我上学的时候没学好吧,学校的教科书说得云里雾里的)。看完此书有一种豁然开朗的感觉,计算机底层都是二进制数据,那么二进制数据是怎么表示文本、图像、文件的呢?小数的计算为什么会产生溢出?书中很通俗地科普了这些知识,值得计算机相关从业者或爱好者一读。

★★★★★

日本人写的计算机科普书一直是计算机书籍中的一个特殊的门类,他们很喜欢图文并茂,特别是用一些生活或者漫画的形式来解释原理,生动有趣。这本书也不例外,可以说是深入浅出:既有对计算机原理(CPU、操作系统)的生动介绍,也有对C语言和汇编语言之间一一对应关系的逐行解读,最后还加入了一段对于机器学习的说明,也很浅显易懂。推荐给想要知道计算机到底是如何运行的朋友。

★★★★★

入门书籍伴随的特性就是内容浅,那么基于书里的内容回答下书名里的问题,程序是怎样跑起来的? 操作系统和应用程序都属于程序,操作系统和应用程序跑起来的方式却完全不同,应用程序的运行基于操作系统,那么以应用程序为例:开发人员编写的程序源代码,经过编译器、汇编器、链接器生成可执行文件,再有加载器加载进内存,同时会用到虚拟内存,内存布局由高到低分为系统内核区、栈区、堆区、数据区、代码区、保留区;程序由指令和数据组成,CPU 是寄存器的集合,PC(程序计数器)寄存器读取指令,通用寄存器存储数据、累加器负责计算等等,简单的可以说是 CPU 和 内存一起让程序跑起来。

★★★★★

读者建议:有一定计算机基础概念,对程序运行底层机理感兴趣的人员。 主要内容:程序源代码经过“编译+链接”形成机器码/字节码,机器码直接由CPU运行,字节码通过虚拟机解释后形成机器码由CPU运行。CPU将机器码加载到内存中,分配变量、函数、栈、堆4个空间。CPU按程序指令对数据进行运算(加/移位/逻辑),通过中断机制和I/O通道实现数据的出入。

★★★★★

学习是一个由易到难的过程。这本《程序是怎样跑起来的》,就是一门讲解计算机基础知识的入门书籍,可以理解成是一本“计算机组成原理”的图解简述版,内含大量图解。是我先避开黑皮书、补课看的第一本书。这本书的优点是真的非常通俗易懂,不会劝退,适合菜鸟入门。看完脑子里对计算机组成建立起了一个模糊的框架,以及对一些概念了解,知道是怎么一回事。本书的缺点是知识讲的“浅”,因为是入门书籍,想要深入就应该去翻大黑皮书。 这本书比较适合学了《微机原理》之后,又写了一段时间的代码的同学来看,能够把整个知识体系给串起来。 我们以前学习的很多知识,其实是很割裂的,大学学习的 C 语言,单片机,微机原理,数字电路与模拟电路等很多知识,当时学习像是一个一个的点,工作之后慢慢连成了线,直至今日慢慢变成了面。我们逐渐形成了自己的知识体系,了解到了这个世界的浩瀚,知道自己所学之浅薄。 这本书的核心其实是想告诉我们,我们写的一行代码,背后运行起来究竟发生了什么,就如同我们写的一个 a = b + 1,其实会拆解成以下的步骤: 1️⃣先翻译成汇编,转换成多条指令,会用到各类寄存器,这里面会涉及到精简指令集和复杂指令集 2️⃣然后还会再转换成机器码,存储到硬盘上,在硬盘数据的存储组织此处不表 3️⃣执行的时候会从硬盘上將数据和程序加载到内存中,在执行的时候將相关的指令与数据存储在寄存器中,真正的计算其实是 cpu来进行的 4️⃣而 cpu 的计算,其实就是一条条去执行背后的指令,其原理是图灵机与冯诺依曼体系 5️⃣而因为 cpu的高速与存储介质读取的低速之间,我们又做了很多的优化,包括硬盘缓存,内存,cpu 缓存等多种优化手段 越来越感慨图灵机的设计之巧妙,就如同欧几里得的《几何原理》对于整个几何而言。 整个体系中,根基不变,但细节处还有诸多值得打磨与提升的,就如同今天的 cpu 频率还在不断提升一般,内存、硬盘等介质也在不停更新迭代。 从硬件到软件,从操作系统到应用程序,从数字电路到模拟电路,还有很多值得学习的东西!

★★★★★

读完矢泽久雄的《程序是怎么跑起来的(第三版)》,最大的感受不是“学到了多少新知识”,而是终于把许多理所当然却从未认真思考过的问题重新想了一遍。 在日常开发中,我们习惯于从高级语言开始思考问题:函数怎么写、组件怎么拆、状态如何管理。但这本书刻意把视角向下移动,从电源接通、CPU 上电、内存初始化讲起,一步步把“程序运行”这件事拆解到最底层。这种从硬件到软件、从物理到抽象的叙事方式,让人第一次真正意识到:程序并不是“天生就能跑”,而是被层层机制精心托举起来的结果。 书中对 CPU、内存、寄存器、指令执行流程的讲解尤其令人印象深刻。它没有陷入晦涩的硬件细节,而是用“数据如何在内存中被读取、修改、再写回”的过程,解释了程序执行的本质。这让我重新理解了“变量”“函数调用”“条件判断”这些高级概念在底层到底意味着什么——它们本质上只是数据和指令在特定规则下的流动。以前觉得这些知识“离业务太远”,现在才发现:当你知道它们的来路,很多性能问题、边界问题、甚至 Bug 的行为都会变得合理起来。 第三版中对操作系统角色的强调也非常到位。程序并不是直接控制硬件,而是运行在操作系统提供的“受控环境”中。进程、内存保护、系统调用、上下文切换……这些平时只在面试中出现的名词,在书中被串成了一条完整的逻辑链。读到这里时,会产生一种非常工程化的敬畏感:我们写的每一行代码,实际上都在和操作系统协作,而不是单打独斗。 让我尤为认同的一点是,这本书并不追求“把你变成底层专家”,而是努力建立一种纵向的技术直觉。它告诉读者:即便你主要写的是前端、业务系统或脚本语言,也值得知道代码最终会被翻译成什么、在哪里运行、受哪些限制。这种直觉不会立刻转化为代码量,但会在关键时刻影响你的技术判断。 总的来说,《程序是怎么跑起来的(第三版)》是一部非常适合中级程序员回炉重造的书。它不教你“怎么写更快的业务代码”,却能让你明白“代码为什么会这样运行”。当你再回到日常开发时,会发现自己看待程序的方式发生了变化——从“能跑就行”,变成了“我知道它是怎么跑的”。而这种确定感,正是技术成长中最稀缺、也最踏实的东西。

★★★★★

作为一本初级读物还是不错的,比较平易近人,通俗易懂,但是想要深入了解的话,还是建议读一下具体语言理论著作,这里是比较广泛介绍,没有深入探讨

★★★★★

入门科普性质的读物,不作为专业性学习书籍或者手册查询,贯穿了一个程序是怎么从程序员写的源代码转换为机器可以运行的机器码再被CPU执行的全过程,让读者对程序运行的过程或本质有了一个大概印象,但也仅仅是大概印象,这本书内容跨度和广度很大,但深度不深,总的说来这本书阅读难度不大,不过若一次性大量阅读本书,其知识跨度过大还是容易让读者应接不暇,这是一本好书,揭开了程序运行背后神秘的面纱,适合作为计算机导论

★★★★★

计算机的硬件并不只有CPU,还有用来存储程序指令和数据的内存,通过I/O[插图]连接的键盘、显示器、硬盘、打印机等外部设备。在不同的计算机中,这些外部设备的访问方式也有所不同。 Windows为消除这些硬件差异做出了巨大的贡献。

书籍信息

作者矢泽久雄
译者周自恒
出版社人民邮电出版社有限公司
出版时间2022-07-01
ISBN9787115595133
分类计算机-计算机综合
格式EPUB
完结状态连载中
章节数125