计算机系统解密:从理解计算机到编写高效代码

[美] 乔纳森·E.斯坦哈特
译者序 我有幸翻译了本书,在翻译中数次被作者幽默风趣的语言打动。本书比较全面地讨论了计算机科学的有关知识,涉及的知识面非常广。作者在计算机组成原理、程序设计语言等方面颇有建树,同时还是《星际大战》游戏爱好者。本书既讨论了许多实际技术问题,以帮助人们认识计算机科学的方方面面,也适当地介绍了一些理论基础。本书的内容组织比较合理,适合作为计算机相关专业本科低年级的教材或教学参考资料,也适合其他热爱计算机科学技术,希望提升自己的计算机基础和能力的人阅读。本书并不需要太多的计算机基础知识。 本书以计算机技术的发展为重点,讨论了计算机科学各方面的基本问题,包括门电路结构、数据类型、组合逻辑、时序逻辑电路以及它们的实现机理,冯·诺依曼架构抽象及其实现,数据结构的抽象和面向对象的相关特征及其实现,并行机制的各种问题以及网络安全。本书还用相当的篇幅介绍了程序设计的思路,例如逻辑程序设计中的条件判断和循环语句,以及如何使用不同的编程语言来展示这样的设计。学习和理解这些知识及思路,对于计算机及其相关专业学生的知识完整性是非常重要的。从这些基础的计算机知识中可以看到许多很有价值的思想。实际上,无论是过去、现在还是将来,计算机基础的许多有价值的思想都以各种形式被新一代的工程实践所接纳和使用。无论是从事实践性工作还是研究性工作,在更大范围内了解工程实践情况,对于计算机领域的创新思维也是极其重要的。 本书的翻译工作主要由我和我的学生张淼完成,其中前言和第1、2、3、4、6、8、10、11、14、15章由我翻译,第5、7、9、12、13章由张淼翻译,最后由我统一修改定稿。本书译稿的每章都经过至少两个人多遍阅读和修订,但由于时间仓促,难免有所不足,希望读者朋友能够多多批评指正。 张开元 2021年3月17日 前言 我天生就是爱钻研的人。我父亲说,在荡秋千之前,我总会想象有一个开关打开秋千,荡完秋千之后…