计算机系统
现代操作系统(原书第4版)
Modern Operating Systems (4th Edition) Douban
[荷] Andrew S. Tanenbaum / [荷] Herbert Bos translator: 陈向群 / 马洪兵 等 publishing house: 机械工业出版社 2017 - 7
Andrew S. Tanenbaum教授编写的教材《现代操作系统》现在已经是第4版了。第4版在保持原有特色的基础上,又增添了许多新的内容,反映了当代操作系统的发展与动向,并不断地与时俱进。 对比第3版,第4版有很多变化。一些是教材中多处可见的细微变化,一些是就某一功能或机制增加了对最新技术的介绍,如增加了futex同步原语、读–复制–更新(Read-Copy-Update)机制以及6级RAID的内容。另外一些则是重大变化,例如:用Windows 8替换了Vista的内容;用相当大的篇幅介绍了移动终端应用最广泛、发展最快的Android,以替换原来Symbian的内容;增加了新的一章,介绍目前最流行的虚拟化和云技术,其中还包括典型案例VMware。很多章节在内容安排上也有较大的改动,例如:第8章对多处理机系统的内容进行了大幅更新;第9章对安全的内容进行了大量修改和重新组织,增加了对缺陷代码、恶意软件进行探查和防御的新内容,对于空指针引用和缓冲区溢出等攻击行为提出了更详细的应对方法,并从攻击路径入手,详细论述了包含金丝雀(canary)保护、不执行(NX)位以及地址空间随机化在内的防御机制。最后的参考文献也进行了更新,收录了本书第3版推出后发表的新论文。大部分章节最后的相关研究部分都完全重写了,以反映最新的操作系统研究成果。 本教材还增添了一名合著者—来自阿姆斯特丹自由大学的 Herbert Bos教授,他是一名全方位的系统专家,尤其擅长安全和UNIX方面。 Tanenbaum教授的教材还有一个特点,就是丰富的、引发思考的习题。所有章节后面都附有大量的习题,完成这些习题很不容易,需要花费很长时间,在深入理解操作系统精髓的基础上才能作答。这些习题很灵活,并且与实际系统相结合,既考核对基本概念、工作原理的理解,又考核实际动手能力。 Tanenbaum教授的教材是需要细细阅读的,字里行间体现了他对设计与实现操作系统的各种技术的深入思考。正因为Tanenbaum教授自己设计开发了一个小型、真实的操作系统MINIX,所以通过他在教材中的讲述,读者可以了解实现操作系统时应该考虑哪些问题、注重哪些细节。
树莓派开始,玩转Linux
Douban
Vamei / 周昕梓 publishing house: 电子工业出版社 2018 - 6
本书以树莓派基础工具,讲解Linux操作系统。树莓派是近年来流行的微型电脑,能用于各种有趣的硬件开发。树莓派中安装了Linux系统,可以充当操作系统的学习平台。本书按照“树莓派背景知识——树莓派使用——Linux使用——操作系统原理——实操项目”的顺序展开。读者不仅能体验到玩树莓派的乐趣,而且能全面了解操作系统的核心概念和原理。
深入理解计算机系统
Douban
(美)Randal E.Bryant, David R.O'Hallaron publishing house: 电子工业出版社 2006 - 7
《深入理解计算机系统》(英文版)主要介绍了计算机系统的基本概念,包括最底层的内存中的数据表示、流水线指令的构成、虚拟存储器、编译系统、动态加载库,以及用户应用等。书中提供了大量实际操作,可以帮助读者更好地理解程序执行的方式,改进程序的执行效率。此书以程序员的视角全面讲解了计算机系统,深入浅出地介绍了处理器、编译器、操作系统和网络环境,是这一领域的权威之作。
计算机系统要素
The Elements of Computer Systems: Building a Modern Computer from First Principles Douban Goodreads
[美] Noam Nisan / [美] Shimon Schocken translator: 周维 / 宋磊 … publishing house: 电子工业出版社 2007 - 1
本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。 通过12个章节和项目来引领读者从头开始,本书逐步地构建一个基本的硬件平台和现代软件阶层体系。在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论和应用技术如何融入这幅全局大图景当中去。全书基于“先抽象再实现”的阐述模式,每一章都介绍一个关键的硬件或软件抽象,一种实现方式以及一个实际的项目。完成这些项目所必要的计算机科学知识在本书中都有涵盖,只要求读者具备程序设计经验。本书配套的支持网站提供了书中描述的用于构建所有硬件和软件系统所必需的工具和资料,以及用于12个项目的200个测试程序。 全书内容广泛、涉猎全面,适合计算机及相关专业本科生、研究生、技术开发人员、教师以及技术爱好者参考和学习。