书单 | 全面了解计算机系统研究的必读书目

编者按: 如今 ,我们 每天 都在手机 电脑 平板 等移动 设备 上享受着各种软件提供的便捷服务,比如新闻推荐、购物、打车、聊天、搜索等 这些便捷服务的背后 离不开 底层计算机软件系统的支持 计算机系统研究 的创新 则为 各种技术 提供了持续 提升与变革 的肥沃 土壤

计算机系统研究关注于创造新的方法论和工程技术,以构建高效、节能、鲁棒、可扩展、安全和交互友好的软硬件系统。为了帮助大家更好地了解、学习计算机系统研究领域的相关知识,我们邀请了微软亚洲研究院系统研究组高级研究员林昊翔为大家推荐了该领域的五本经典书籍,内容涵盖系统基础原理、操作系统、并发计算、分布式系统等。

Computer Systems: A Programmer’s Perspective, 3rd Edition

中文版: 深入理解计算机系统

作者:Randal E. Bryant, David R. O’Hallaron

推荐理由: 本书由美国两院院士  Randal E. Bryant  与  Gordon Bell  奖得主  David R. O’Hallaron  两位大师合著,是 计算机系统的最佳入门基础教材 本书第三版基于  x86-64  指令集架构,从程序员的视角深入浅出地将计算机组成原理、体系结构、编译器、操作系统、网络和并发编程等众多领域的知识有机 串联在一起。 通过阅读本书,读者可以理解计算机系统各个组件的基本工作原理,为今后的学习、研究和工作打下坚实的基础。

Modern Operating Systems, 4th Edition

中文版: 现代操作系统

作者:Andrew S. Tanenbaum, Herbert Bos

推荐理由: 操作系统是一组实现用户与硬件、平台交互的核心程序,也是整个计算机系统的基石。 本书第一作者  Tanenbaum  教授是操作系统领域的杰出专家和教育家, 为教学创造的微内核操作系统  MINIX ,不仅启发了  Linux  内核的创作,还被英特尔公司采用作为处理器管理引擎的组件。 作为一本 操作系统的经典教材 ,本书的内容却相当 “现代”: 除了涵盖传统的进程与线程、内存管理、文件系统、 I/O  系统、死锁和多处理机,还紧跟时代的发展,论述 近来流行的虚拟化、云平台和安全等方面的知识。 此外,本书将理论和实践融为一体,以案例的方式详解 了  UNIX Linux Android  和  Windows 8  等主流操作系统,帮助读者深刻理解操作系统设计与实现的指导原则。

Windows Internals, 7th Edition

中文版: 深入解析 Windows 操作系统

作者:Pavel Yosifovich, Mark Russinovich, David Solomon, Alex Ionescu

推荐理由: 微软 的  Windows  操作系统是最流行的个人电脑和服务器的操作系统,自 2015 年发布  Windows 10  以来, Windows  开启了大一统融合的过程。 除了传统的台式机和笔记本, Windows 10  还运行在平板电脑、 HoloLens  混合现实设备、 Xbox  游戏机和各种嵌入式设备 ,为用户提供 通用的应用程序架构和统一的生态环境。 本书是 关于 Windows 操作系统原理的权威专著 ,几位作者也是知名的微软技术专家,其中第二作者  Russinovich  先生还是微软  Azure  云计算 部门的首席技术官。 本书以最新的  Windows 10  和  Windows Server 2016  操作系统为例,详细论述了  Windows  的系统架构和核心组件,内容涵盖进程和作业、线程、内存管理、 I/O  系统和安全模型。 本书内容全面,讲解深刻,是  Windows  开发人员、系统管理员和操作系统爱好者极有价值的参考读物。

The Art of Multiprocessor Programming

文版: 多处理器编程的艺术

作者:Maurice Herlihy, Nir Shavit

推荐理由: 并发程序的设计通常比较困难,容易导致各种非确定性的程序缺陷,且难于诊断与修复。 本书是一本 关于并发程序设计与实践的优异教材 ,不仅适合各类在校学生,也适合广大工程技术人员。 两位作者是并发与分布式系统研究方向的权威,曾获 得  Gödel Prize Dijkstra Prize  等多项大奖。 本书的前六章论述 并发编程的原理,包括并发对象正确性和非阻塞性的形式化定义,以及互斥、共享存储器、同步原子操作等概念的基本理论。 后十二章 涵盖 并发编程在多处理器上的实践,详解 如何正确地设计与实现基本的并发数据结构(例如链表、队列、散列表、跳表等)以及近来流行的事务内存。 通过阅读本书,读者不仅可以掌握并发程序的具体算法技术,更能深刻领悟其背后的指导思想和原则。

Distributed Algorithms

中文 版: 分布式算法

作者:Nancy A. Lynch

推荐理由: 分布式系统是一组由网络相互连接的电脑或设备,它们彼此通过消息传递进行通信并协调完成共同的计算任务。 随着移动设备、大数据和云计算的普及,分布式系统已经成为互联世界的基础。 书是 分布式系统领域的经典教材 ,其作者  Lynch  教授曾获 得  Dijkstra Prize Knuth Prize  等多项大奖。 本书将分布式算法分为同步网络、异步、部分同步等三个类别进行 全面阐述。 在每个类别中,本书首先介绍 相应的系统模型(例如  I/O  自动机)及其能力,然后针对分布式系统理论中的核心问题(例如领导者选择、互斥、一致性和逻辑时间)详解 算法的设计,并给出 严格的数学证明和算法复杂度分析。 每章末尾还附列了详尽的参考文献,方便读者了解背景信息以及深入研究相关问题。

大家还对哪个领域的书单感兴趣? 欢迎在评论区留言告诉我们,也欢迎大家分享自己的阅读书单。

你也许还想看