编者按:
如今
,我们
每天
都在手机
、
电脑
、
平板
等移动
设备
上享受着各种软件提供的便捷服务,比如新闻推荐、购物、打车、聊天、搜索等
等
。
这些便捷服务的背后
离不开
底层计算机软件系统的支持
,
计算机系统研究
的创新
则为
各种技术
提供了持续
提升与变革
的肥沃
“
土壤
”
。
计算机系统研究关注于创造新的方法论和工程技术,以构建高效、节能、鲁棒、可扩展、安全和交互友好的软硬件系统。为了帮助大家更好地了解、学习计算机系统研究领域的相关知识,我们邀请了微软亚洲研究院系统研究组高级研究员林昊翔为大家推荐了该领域的五本经典书籍,内容涵盖系统基础原理、操作系统、并发计算、分布式系统等。
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
等多项大奖。
本书将分布式算法分为同步网络、异步、部分同步等三个类别进行
了