-
现代操作系统(第3版)
本书是操作系统领域的经典之作,与第2版相比,增加了关于Linux、Windows Vista和Symbian操作系统的详细介绍。书中集中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。此外,还在第2版的基础上对部分习题进行了增删,更有助于读者学习和对知识的理解及掌握。 本书适合作为高等院校计算机专业操作系统课程教材,也是设计、开发操作系统的重要参考书。 Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。 在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。 本书特色: ● 涉及Windows Vista以及最新的Linux/UNIX操作系统。 ● 用一整章(第12章)的篇幅对用于移动设备的Symbian操作系统进行分析。 ● 涵盖更多、更新的安全方面的内容。 ● 重新组织内容,尽早论述关键抽象概念。 ● 给出与未来操作系统发展有关的新研究成果。 ● 更新和增加了编程练习。 ● 在线操作系统练习(http://www.prenhall.com/tanenbaum/details.html)采用主流Windows操作系统以及开源工具。 ● 包括操作系统模拟练习。 -
计算机体系结构
《计算机体系结构量化研究方法》(英文版·第4版)系统地介绍了计算机系统的设计基础、指令集系统结构、流水线和指令集并行技术、层次化存储系统与存储设备、互连网络以及多处理器系统等重要内容。在这个最新版中,作者更新了单核处理器到多核处理器的历史发展过程的相关内容,同时依然使用他们广受好评的“量化研究方法”进行计算设计,并展示了多种可以实现并行性的技术,而这些技术可以看成是展现多处理器体系结构威力的关键!在介绍多处理器时,作者不但讲解了处理器的性能,还介绍了有关的设计要素,包括能力、可靠性、可用性和可信性。 -
计算机组成与设计硬件/软件接口
《计算机组成与设计硬件:软件接口》(原书第3版)是计算机组成的经典教材。全书着眼于当前计算机设计中最基本的概念,展示了软硬件间的关系,并全面介绍当代计算机系统发展的主流技术和最新成就。同以往版本一样,《计算机组成与设计硬件:软件接口》(原书第3版)采用MIPS处理器作为展示计算机硬件技术基本功能的核心。书中逐条指令地列举了完整的MIPS指令集,并介绍了网络和多处理器结构的基本内容。将CPU性能和程序性能紧密地联系起来是本版的一个新增内容。另外,本版对软硬件的讨论更加深入,作者展示了软硬件部件如何影响程序的性能,并在光盘中为侧重硬件和侧重软件的读者分别提供了相关资料。随书光盘内容非常丰富,不仅包括各种配套教学资源,还提供了HDL模拟器、MIPS模拟器以及FPGA设计工具等软件。 -
深入理解计算机系统(英文版·第2版)
本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的最大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。 相对于第1版,本版主要是反映了过去十年间硬件技术和编译器的变化,具体更新如下: 1. 对系统的介绍(特别是实际使用部分)做了增加和修改。例如,既保持了原有的针对32位系统的说明,又增加了对64位系统的描述。 2. 增加了很多关于由算术运算溢出以及缓冲区溢出造成安全漏洞的内容。 3. 更详细讲述了处理器对异常的发现和处理。 4. 描述了基于Intel Core i7处理器的存储器层次结构,还增加了固态硬盘的内容。 5. 强调并发性,增加了关于并发性一般原则的内容。 【编辑推荐】 “2005年,我开始采用Bryant和O’Hallaron的这本书作为本科生计算机系统课程的教材。三年后,这本书仍然是我的计算机系统课程教科书的首选。” —— Mirela Damian,维拉诺瓦大学 “本书表述清晰、恰到好处——举重若轻地呈现了那些非常复杂的内容。” —— Ibrahim Matta, 波士顿大学 “这是一本学习计算机硬件和软件如何‘真正’协同工作的好书,还教会你为什么了解这些知识会使你成为一个更有价值的程序员。本书还帮你为学习像操作系统和编译器这样的高级课程做好准备。在本书中,我最喜欢的章节是关于缓存的,当我第一次发现缓存有多重要时,真是难以置信!” —— Vishal Shah,Ask.com总架构师 -
深入理解计算机系统
从程序员的视角,看计算机系统! 本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有进一步的帮助。它还有助于为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。 本书的主要论题包括:数据表示、C程序的机器级表示、处理器结构,程序优化、存储器层次结构、链接、异常控制流、虚拟存储器和存储器管理、系统级I/O、网络编程和并发编程。书中所覆盖的内容主要是这些方面是如何影响应用和系统程序员的。例如,在讲述数据表示时,本书说明了用来表示数字的表示方法是有限的,它能够近似地表示整数和实数,但是这种表示方法是有限制的,程序员必须了解。在讲述高速缓存时,本书讨论了矩阵代码中的循环变量的顺序是如何影响程序的性能的。在讨论网络互连时,本书描述了并发服务器如何能有效地处理来自多个客户端的请求。 本书基于Intel兼容(IA32)机器,在Unix或者相关的操作系统(例如,Linux)上执行C程序。虽然书中包括了一些帮助读者将Java转化成C的提示,但是还是要求读者对C或者C++有一定的了解。 您可以通过本书的Web网站www.csapp.cs.cmu.edu获得完整的资料,包括实验和作业,授课笔记和代码示例。 本书英文版久负盛名,被众多专业人士称为“最伟大的计算机教材”之一,著名的美国卡内基梅隆大学计算机科学系一直将本书作为教材使用,程序员眼中的透彻讲述计算机系统的扛鼎之作。作者Randal E. Bryant是卡耐基梅隆大学的计算机科学系主任,ACM和IEEE双院士(Fellow),其研究成果多次获得ACM和IEEE颁发的大奖。 本书共分十三章,分别介绍了信息的表示和处理、程序的机器级表示、处理器体系结构、存储器层次结构、静态和动态链接、虚拟存储器、系统级I/O、网络编程和并发编程等精彩内容。其目的是解释计算机系统的所有本质概念,并向读者展示这些概念是如何实际地影响应用程序的正确性、性能和实用性。与其他主要针对系统构造人员的系统类书籍不同,这本书是写给程序员的,是从程序员的角度来描述的。本书为软件和硬件之间搭起了一个桥梁,它给出了一种帮助读者分别从硬件和软件的角度去理解一个程序及其行为的途径,这也填补了国内计算机系统教学中的一个空白。本书的最大优点是帮助读者理解概念,让读者很清楚地在脑海中构造一个层次型的计算机系统,从最低层数据在内存中的表示(如我们一直陌生的浮点数表示),到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户应用。 本书提供了大量的例子和练习及部分答案。尤其值得一提的是,对于每一个基本概念都有相应的笔头或程序试验,加深读者的理解。 -
深入理解计算机系统(原书第2版)
本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。 本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。 本书适合那些想要写出更快、更可靠程序的程序员阅读,也适合作为高等院校计算机及相关专业本科生、研究生的教材。