Programming from the Ground Up - 读书笔记
基本信息
- 书名: Programming from the Ground Up
- 作者: Jonathan Bartlett
- 编辑: Dominick Bruno, Jr.
- 原书名: Programming from the Ground Up
- 页数: 248页
- 大小: 1.26 MB
- 处理日期: 2026-09-02
- 处理方法: pdf-inspector 文本提取
- 状态: done
核心内容
书籍定位
这是一本面向初学者的x86汇编语言入门书,使用GNU/Linux和GCC工具集。强调从底层理解计算机工作原理,而非仅作为参考手册。
主要内容结构
第1-2章:编程基础与计算机架构
- 介绍冯·诺依曼架构的核心概念:CPU和内存
- 计算机内存的组织方式:固定大小的存储位置序列
- 程序计数器、指令解码器、数据总线、通用寄存器和算术逻辑单元
第3章:第一个程序
- x86汇编程序的基本结构
- 寻址模式(Addressing Modes)
- 如何编写简单的汇编程序
第4章:函数
- 函数的汇编语言实现
- C调用约定(C Calling Convention)
- 递归函数
第5-6章:文件处理
- UNIX文件概念
- 缓冲区、.bss段
- 标准文件和特殊文件
- 读写记录
第7章:健壮程序开发
- 错误处理
- 程序调试技巧
第8章:共享库
- 动态链接库的使用和创建
- 查找库信息
第9章:内存管理
- Linux程序的内存布局
- 虚拟内存概念
- 简单的内存管理器实现
第10-11章:数字表示与高级语言
- 二进制、八进制、十六进制
- C、Perl、Python简介
第12-13章:优化与进阶
- 局部优化与全局优化
- 进一步学习资源
附录
- A. GUI编程
- B. 常用x86指令
- C. 重要系统调用
- D. ASCII码表
- E. C惯用法在汇编中的实现
- F. GDB调试器使用
- G. 文档历史
- H. GNU自由文档许可证
核心观点
-
编程如诗歌:Donald Knuth认为编程不仅是告诉计算机做什么,更是教导人们如何指示计算机做事。程序是给未来的程序员阅读的。
-
从底层理解:汇编语言帮助你理解程序如何与计算机交互,如何读取其他程序,以及如何快速学习新编程语言。
-
实践导向:每章末尾有三类练习题:回顾、应用和拓展问题。
关键概念
- 冯·诺依曼架构:CPU + 内存,程序和数据都存储在内存中
- Fetch-Execute Cycle:程序计数器指向下一条指令,指令解码器解析,数据总线传输数据,ALU执行运算
- 寄存器:通用寄存器和特殊用途寄存器,用于当前正在处理的数据
- 虚拟内存:每个内存地址都是”谎言”,操作系统提供内存抽象
- 系统调用:程序通过系统调用与内核交互
可行动点
- 使用Linux环境实践书中示例代码
- 配合GDB调试器理解程序执行流程
- 结合appendix B的指令表作为参考
关联知识
- 《深入理解计算机系统》-CS-APP-第2版 - 更全面的计算机系统视角
- 操作系统-课程概述与发展 - 操作系统原理