现代操作系统(原书第4版)

[荷] Andrew S. Tanenbaum

出版时间

2017-07-01

ISBN

9787111573692

评分

★★★★★

标签

编程

书籍介绍

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,所以通过他在教材中的讲述,读者可以了解实现操作系统时应该考虑哪些问题、注重哪些细节。

AI导读
核心看点
  • Tanenbaum经典教材,内容全面涵盖进程、内存、文件系统等核心概念。
  • 紧跟时代更新,新增Android、虚拟化、云技术及最新安全防御机制。
  • 习题极具挑战性,结合理论与动手实践,深入理解操作系统精髓。
适合谁读
  • 计算机专业学生,需系统学习操作系统原理及架构设计的初学者。
  • 希望深入理解Linux、Android等现代系统底层机制的开发者。
  • 对系统安全、虚拟化技术感兴趣,具备一定编程基础的技术人员。
读前提醒
  • 中译本翻译质量参差不齐,建议条件允许者直接阅读英文原版。
  • 内容详实但略显啰嗦,建议重点研读核心概念,略读背景介绍。
  • 作者文风幽默但话痨,部分章节抽象难懂,需耐心结合习题消化。
读者共识
  • 公认的经典教材,知识架构清晰,是操作系统领域的权威参考书。
  • 翻译水平争议极大,部分术语错误严重,影响阅读体验和理解。
  • 适合复习巩固或高阶学习,纯零基础入门可能感到吃力且枯燥。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "抽象是管理复杂性的一个关键。好的抽象可以把一个几乎不可能管理的任务划分为两个可管理的部分。其第一部分是有关抽象的定义和实现,第二部分是随时用这些抽象解决问题。"
  • "个体重复系统发育:一些技术暂时消失的结果会造成我们有时需要反复考察一些“过时”概念,即那些在当代技术中并不理想的思想。而技术的变化会把一些“过时”概念带回来。正由于此,更重要的是要理解为什么一个概念会过时,而什么样的环境的变化又会启用“过时”概念。"
  • "多线程(即 Intel 所谓的超线程,前文注)不提供真正的并行处理。在一个时刻只有一个进程在运行,但线程的切换时间则减少到纳秒数量级。"
  • "从中我们可以看出,计算机工业有着不断用新的前缀或后缀来扩展首字母缩写词的习惯。我们还能看出,像“高级”这样的形容词应当谨慎使用,否则30年后再回首时会显得非常愚昧。"
  • "在每台计算机上有一块双亲板(在政治因素影响到计算机产业之前,它们曾称为“母板”)。"
  • "为了说明George Orwell关于 “所有进程都是平等的,但是某些进程更平等一些” 的含义,可以给更重要的进程额外的彩票,以便增加它们获胜的机会。"
  • "Main memory is divieded up into cache lines, typically 64bytes..."
  • "1、考察操作系统有两种观点:资源管理观点和扩展的机器观点。在资源管理的观点中,操作系统的任务是有效地管理系统的各个部分。在扩展的机器观点中,系统的任务是为用户提供比实际机器更便于运行的抽象。这些抽象包括进程、地址空间以及文件。 2、操作系统的历史很长,从操作系统开始替代操作人员的那天开始,到现代多道程序系统,主要包括早期批处理系统、多道程序系统以及个人计算机系统。 3、由于操作系统同硬件的交互密切,掌握一些硬件知识对它们是有益的。计算机由处理器、存储器以及I/O设备组成。这些设备通过总线连接。 4、所有操作系统构建所依赖的基本概念是进程、存储管理、I/O管理、文件管理和安全。 5、任何操作系统"
作者简介
Andrew S. Tanenbaum拥有麻省理工学院的理学学士学位和加州大学伯克利分校的博士学位,如今他是阿姆斯特丹自由大学计算机科学学院的教授。他曾经是计算与图像高级学院的院长,这是一个跨大学的研究生院,主要研究高级并行、分布式以及图像系统。他同时也是荷兰皇家艺术与科学院的教授,这使得他没有变成一个刻板的人。他还赢得过享有盛名的欧洲研究理事会卓越贡献奖。 过去一段时间,他的主要研究方向是编译器、操作系统、网络以及分布式系统。现在他的主要研究方向是安全可靠的操作系统。他在这个研究方向已经发表了超过175篇经常被引用的期刊和会议论文。Tanenbaum教授还撰写或参与撰写了5本教材,并被翻译成20种语言,其中包括巴斯克语和泰语。这些教材被全球的大学使用,总计有163个版本(语言和版本加起来)。 Tanenbaum教授还编写了大量的软件,特别是MINIX,这是一个小型的UNIX。其灵感直接源于Linux以及Linux最初开发的平台。如今的MINIX版本是MINIX 3,专注于成为一个非常可靠和安全的操作系统。只有当任何用户都不会遭遇操作系统崩溃的情况时,Tanenbaum教授才认为他完成了自己的工作。MINIX 3是一个欢迎所有人来完善的开放源代码项目,请访问www.minix3.org下载MINIX 3的免费版本,并试着运行它。x86和ARM版本都可用。 Tanenbaum教授的博士生在毕业后都有很好的前途,对于这一点教授本人非常自豪。在这方面,他如同一只爱孩子的母鸡。 Tanenbaum教授是ACM会士、IEEE会士,也是荷兰皇家艺术与科学院院士。他荣获了相当多的ACM、IEEE和USENIX奖项。如果你对此感到好奇,可以去他的Wikipedia主页查看。他还有两个荣誉博士学位。 Herbert Bos在特温特大学获得硕士学位,在剑桥大学计算机实验室获得博士学位。此后,他为Linux等操作系统的可信I/O架构做了大量工作,同时也基于MINIX 3研究系统。他现在是阿姆斯特丹自由大学计算机科学学院系统与网络安全系的教授,主要研究方向是系统安全。他与学生一起以新颖的方式检测并阻止攻击,分析并对恶意软件进行反向工程,还共同拆卸过僵尸网络(横跨几百万台计算机的恶意网络基础设施)。2011年,他因在反向工程领域的研究获得了ERC奖。他的三个学生因所写的与系统相关的论文被评为欧洲最佳博士论文而获得了Roger Needham奖。
目录
目录
出版者的话
译者序
前言
作者简介

显示全部
用户评论
写得多好啊,比什么公开视频都好。非常概括。
行文欠条理,翻译无水准。
◼︎◻︎◻︎◻︎◻︎◻︎ Tanenbaum 文风幽默,内容全面,力荐
很好的入门!
比较好的入门操作系统书籍
从头读到文件系统部分,并跳跃到后面看了Linux。从宏观角度来说,本书是对操作系统领域发展历程的全面总结,其介绍的内容范围极为广泛,几乎没有任何同类著作能够与之匹敌。从微观角度来说,本书对操作系统核心内容(进程/线程调度,虚拟内存管理,文件系统等)的介绍非常的清晰和深入,书的后半部分通过几个具体的操作系统实例让读者进一步深化对操作系统基本概念的理解。但我并不认为本书完美无缺,理由如下:首先,我认为本书不适合新手入门,因为其内容较为抽象,缺乏对操作系统的感性认知。第二,对于云计算,虚拟化,安全等领域的介绍不够平易近人,想读懂需要很多的知识和经验积累。(当然,作为一本操作系统书籍,能够介绍这些本就极为复杂的主题实属不易,即使略不平易近人,也无可厚非)第三,翻译是败笔,建议结合英文原版对比阅读
书是极好极全面的书 但是翻译太垃圾了
大哥你这书真的不太好看懂。。不知道是原作者的问题还是翻译的问题,被迫换了本书+看讲课视频才弄懂
挺好的,但不建议一口气读完
信息冗余低,本人太垃圾,一页十个坑,让人心头血直滴。 看了一天,发觉还是导论比较合适。 这一本,比较适合复习。
下载
收藏