本书是操作系统领域的经典教材,主要内容包括进程与线程、内存管理、文件系统、输入/输出、死锁、虚拟化和云、多处理机系统、安全,以及关于UNIX、Linux、Android和Windows的实例研究等。第4版对知识点进行了全面更新,反映了当代操作系统的发展与动向。本书适合作为高等院校计算机专业的操作系统课程教材,也适合相关技术人员参考。
作 者 简 介Andrew S. Tanenbaum拥有麻省理工学院的理学学士学位和加州大学伯克利分校的博士学位,如今他是阿姆斯特丹自由大学计算机科学学院的教授。他曾经是计算与图像高级学院的院长,这是一个跨大学的研究生院,主要研究高级并行、分布式以及图像系统。他同时也是荷兰皇家艺术与科学院的教授,这使得他没有变成一个刻板的人。他还赢得过享有盛名的欧洲研究理事会卓越贡献奖。
过去一段时间,他的主要研究方向是编译器、操作系统、网络以及分布式系统。现在他的主要研究方向是安全可靠的操作系统。他在这个研究方向已经发表了超过175篇经常被引用的期刊和会议论文。Tanenbaum教授还撰写或参与撰写了5本教材,并被翻译成20种语言,其中包括巴斯克语和泰语。这些教材被全球的大学使用,总计有163个版本(语言和版本加起来)。
Tanenbaum教授还编写了大量的软件,特别是MINIX,这是一个小型的UNIX。其灵感直接源于Linux以及Linux初开发的平台。如今的MINIX版本是MINIX 3,专注于成为一个非常可靠和安全的操作系统。只有当任何用户都不会遭遇操作系统崩溃的情况时,Tanenbaum教授才认为他完成了自己的工作。MINIX 3是一个欢迎所有人来完善的开放源代码项目,请访问下载MINIX 3的免费版本,并试着运行它。x86和ARM版本都可用。
Tanenbaum教授的博士生在毕业后都有很好的前途,对于这一点教授本人非常自豪。在这方面,他如同一只爱孩子的母鸡。
Tanenbaum教授是ACM会士、IEEE会士,也是荷兰皇家艺术与科学院院士。他荣获了相当多的ACM、IEEE和USENIX奖项。如果你对此感到好奇,可以去他的Wikipedia主页查看。他还有两个荣誉博士学位。
Herbert Bos在特温特大学获得硕士学位,在剑桥大学计算机实验室获得博士学位。此后,他为Linux等操作系统的可信I/O架构做了大量工作,同时也基于MINIX 3研究系统。他现在是阿姆斯特丹自由大学计算机科学学院系统与网络安全系的教授,主要研究方向是系统安全。他与学生一起以新颖的方式检测并阻止攻击,分析并对恶意软件进行反向工程,还共同拆卸过僵尸网络(横跨几百万台计算机的恶意网络基础设施)。2011年,他因在反向工程领域的研究获得了ERC奖。他的三个学生因所写的与系统相关的论文被评为欧洲佳博士论文而获得了Roger Needham奖。
前 言
本书的第4版与第3版有很大的不同。因为操作系统并非一成不变,所以书中随处可见许多为介绍新内容而做的细小改动。我们删除了有关多媒体操作系统的章节,主要是为了给新内容腾出空间,同时也避免此书的篇幅变得不可控。还删除了有关Windows Vista的章节,这是因为Vista的表现并没有达到微软公司的预期。同样被删除的还有Symbian章节,因为Symbian已不再被广泛使用。我们用Windows 8替换了Vista的内容,用Android替换了Symbian的内容。此外,我们还增加了关于虚拟化和云的章节。以下是有关各章节更改的概要。
第1章的很多地方都进行了大量的修改和更新,除增加了移动计算外,没有增加或删减主要章节。
第2章在删除一些过时内容的同时也增加了一些新内容。例如,增加了futex同步原语,还增加了一节介绍怎样通过读–复制–更新(Read-Copy-Update)的方式来避免锁定。
第3章更关注现代的硬件部件,而减少了对段和MULTICS的介绍。
第4章删除了有关CD-ROM的内容,因为它们已不常见。替代它们的是更加现代的解决方案(比如闪存盘)。不仅如此,我们还在讨论RAID时添加了6级RAID的内容。
第5章的内容做了很多改动,CRT和CD-ROM等过时设备的介绍被删掉了,同时加入了触摸屏等新技术。
第6章的内容基本没有改变,有关死锁的主题基本上是稳定的,并没有新的成果。
第7章是全新的,涵盖虚拟化和云等重要内容,并加入了一节有关VMware的内容作为案例。
第8章是对之前讨论的多处理机系统的更新。如今我们更加强调多核与众核系统,因为它们在过去的几年中变得愈发重要。高速缓存一致性近年来也已经成为一个重要问题,这里将会有所涉及。
第9章进行了大量修改和重新组织,增加了对缺陷代码、恶意软件进行探查和防御的新内容。对于空指针引用和缓冲区溢出等攻击行为提出了更详细的应对方法,并从攻击路径入手,详细论述了包含金丝雀(canary)保护、不执行(NX)位以及地址空间随机化在内的防御机制。
第10章有很大改变,除了对UNIX和Linux的内容进行更新外,还新增了有关Android操作系统的详细章节,该系统如今已广泛用于智能手机与平板电脑。
第11章在本书第3版中主要针对Windows Vista,然而这些内容已经被Windows 8尤其是Windows 8.1取代,本章介绍了有关Windows的最新内容。
第12章是对本书前一版本的第13章的修订。
第13章是一份全新的推荐阅读目录。此外,我们也对参考文献进行了更新,收录了本书第3版推出后发表的233篇新论文。
此外,每章末的相关研究部分完全重写了,以反映最新的操作系统研究成果。并且,所有章节都增加了新的习题。
网站中包含幻灯片、学习操作系统的软件工具、学生实验、模拟程序以及许多有关操作系统课程的材料。
有很多人参与了本书第4版的编写工作。我要介绍的第一位同时也是最重要的一位,是来自阿姆斯特丹自由大学的Herbert Bos教授,他是本书的合著者。他是一名全方位的系统专家,尤其是在安全和UNIX方面,有他的帮助真是太好了。他编写了除以下所述内容之外的绝大部分新内容。
我们的编辑Tracy Johnson出色地完成了她的工作,像以往一样,她将所有零碎的东西整理在一起,解决了所有的麻烦,使得这项工作能够按时完成。我们同样为拥有一位长期合作的制作编辑而感到幸运,那就是Camille Trentacoste。多亏她在诸多方面的技巧,为我们节省了很多时间。我们很高兴在许多年之后又能有她的加入。Carole Snyder在本书编写过程中出色地完成了协调工作。
第7章中有关VMware的内容(7.12节)是由Edouard Bugnion完成的,他来自洛桑联邦理工学院(EPFL)。Edouard是VMware公司的创始人之一,他比其他人更了解VMware,我们感谢他所提供的巨大支持。
佐治亚理工学院的Ada Gavrilovska 是Linux内核专家,她帮忙更新了第10章的内容。第10章中有关Android的内容是由来自Google的Android系统核心工程师Dianne Hackborn编写的。Android现在是智能手机的主要操作系统,所以我们非常感谢Dianne所提供的帮助。如今第10章篇幅较长并且十分详细,UNIX、Linux和Android的粉丝们都能从中学到很多。值得一提的是,本书中最长并且最有技术含量的章节是由两位女士所写的,而我们只是完成了其余容易的工作。
然而,我们并没有忽略Windows。Microsoft的Dave Probert更新了上版中第11章的内容,这一版将详细讲解Windows 8.1。Dave拥有完备的Windows知识及足够的远见,可以辨别出微软正确的地方和错误的地方。Windows的粉丝们肯定会喜欢这一章。
这本书由于所有这些专家所做出的贡献而变得更好,所以再一次感谢他们的宝贵帮助。
同样令我们感到幸运的是,我们拥有那么多阅读过原稿并提出建议的评论者,他们是Trudy Levine、Shivakant Mishra、Krishna Sivalingam以及Ken Wong。Steve Armstrong为将本书作为教材的教师制作了PPT。
这本书的封面设计就透着一股老派学究的气息,厚重的纸张和经典的排版,瞬间把我带回到那个信息尚未爆炸的年代。我拿到的是英文原版,这一点对我来说非常重要,很多时候中文翻译会丢失原文中一些微妙的技术 nuance,或者由于翻译者的个人理解而产生偏差。拿到手后,迫不及待地翻阅了一下,虽然是第四版,但内容依旧扎实。 它不像是那种追求新潮、时刻更新的教材,更像是一位沉淀了数十年的老教授,娓娓道来操作系统最核心、最本质的原理。那种严谨的逻辑、层层递进的讲解方式,让我能清晰地看到一个操作系统的诞生和运行的脉络。虽然很多概念在我的日常开发中已经习以为常,但通过这本书,我能更深入地理解它们背后的设计哲学和权衡。比如,关于进程调度算法的部分,它不仅仅罗列了各种算法,更重要的是分析了每种算法的优缺点,以及在不同场景下的适用性,这比单纯的代码实现要来得更有价值。
评分这本书的阅读体验,说实话,是一次充满挑战但也收获颇丰的旅程。它不像网络上那些碎片化的教程,能够让你快速“学会”某个技术点,而是需要你静下心来,一点一点地去消化和理解。里面的公式和理论推导,确实需要花费不少时间和精力去琢磨。 但是,当你真正理解了某个复杂的算法,或者弄懂了某个抽象的概念时,那种成就感是无与伦比的。我印象最深的是关于虚拟内存的部分,书中的讲解非常深入,从页表结构到缺页中断的处理,每一个环节都梳理得井井有条。这本书的价值在于它能够让你真正“理解”操作系统,而不是仅仅停留在“使用”层面。
评分我是一位有着几年开发经验的工程师,一直以来对操作系统的工作原理都抱着一种“知其然,不知其所以然”的态度。平时的开发中,我们更多的是调用API,使用现成的库,很少有机会深入到底层去理解。这本书的出现,就像是给我打开了一扇通往操作系统“心脏”的窗户。它没有回避那些复杂的概念,比如内存管理、I/O系统、文件系统等,而是用一种非常系统和深入的方式进行剖析。 我特别喜欢它在讲解过程中穿插的那些历史背景和设计思路。很多时候,我们看到的功能,背后都有一段曲折的故事,或者是一群聪明人在不断尝试和改进的结果。理解了这些,不仅能加深对技术的理解,还能培养一种对计算机科学的敬畏之心。这本书的深度足以让有经验的开发者重新审视自己对操作系统的认知,甚至启发新的思考方向。
评分作为一名计算机专业的学生,我一直在寻找一本能够系统性地梳理操作系统知识体系的教材。市面上很多书要么过于浅显,要么过于晦涩,难以找到一个恰到好处的平衡点。这本书在这方面做得相当出色。它从最基础的概念讲起,逐步深入到复杂的内核机制,逻辑清晰,条理分明。 我尤其欣赏的是它在讲解同步与互斥、死锁等并发问题时的严谨性。这些是操作系统中至关重要的部分,也是很多开发者容易混淆的地方。书中对这些概念的阐述非常到位,配以清晰的图示和例子,让我能够非常直观地理解其中的原理和解决方案。虽然它是一本英文原版,但读起来并不会感到特别吃力,语言风格比较朴实,专注于技术本身。
评分我最近刚刚开始接触嵌入式开发,对ARM架构下的操作系统内核有了初步的了解。在这之前,我一直觉得操作系统离我的日常工作很遥远,直到我深入到一些底层的移植和调试工作,才意识到我对这个领域的理解有多么匮乏。这本书正好填补了我在这方面的知识空白。 它所讲解的许多概念,比如中断处理、设备驱动模型、内存映射等,都与我的嵌入式开发实践息息相关。虽然这本书是以通用操作系统为蓝本,但它所阐述的底层原理是通用的,无论是在x86架构还是ARM架构下,这些基础知识都至关重要。这本书提供的系统性框架,帮助我把零散的知识点串联起来,形成了一个完整的知识体系。
评分书不错,希望能好好看,努力学习
评分很好的书籍,希望能认真看完
评分书本身不错,但是运输过程中有点损伤
评分不错不错不错不错不错不错不错
评分本书是操作系统领域的经典教材,主要内容包括进程与线程、内存管理、文件系统、输入/输出、死锁、虚拟化和云、多处理机系统、安全,以及关于UNIX、Linux、Android和Windows的实例研究等
评分书不错,希望能好好看,努力学习
评分书不错,希望能好好看,努力学习
评分很好的书。经典。
评分书不错,希望能好好看,努力学习
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有