第一图书网

现代操作系统

Andrew S.Tanenbaum 机械工业出版社
出版时间:

2009-3  

出版社:

机械工业出版社  

作者:

Andrew S.Tanenbaum  

页数:

1076  

Tag标签:

无  

前言

文艺复兴以降,源远流长的科学精神和逐步形成的学术规范,使西方国家在自然科学的各个领域取得了垄断性的优势-也正是这样的传统,使美国在信息技术发展的六十多年间名家辈出、独领风骚。在商业化的进程中,美国的产业界与教育界越来越紧密地结合,计算机学科中的许多泰山北斗同时身处科研和教学的最前线,由此而产生的经典科学著作,不仅擘划了研究的范畴,还揭示了学术的源变,既遵循学术规范,又自有学者个性,其价值并不会因年月的流逝而减退。近年,在全球信息化大潮的推动下,我国的计算机产业发展迅猛,对专业人才的需求日益迫切。这对计算机教育界和出版界都既是机遇,也是挑战;而专业教材的建设在教育战略上显得举足轻重。在我国信息技术发展时间较短的现状下,美国等发达国家在其计算机科学发展的几十年间积淀和发展的经典教材仍有许多值得借鉴之处。因此,引进一批国外优秀计算机教材将对我国计算机教育事业的发展起到积极的推动作用,也是与世界接轨、建设真正的世界一流大学的必由之路。

内容概要

Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。 在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。

作者简介

Andrew S.Tanenbaum 拥有美国麻省理工学院的理学学士学位和加州大学伯克利分校的哲学博士学位,目前是荷兰阿姆斯特丹Vrije大学的计算机科学系教授,并领导着一个计算机系统的研究小组。多年来,他在操作系统、编译技术、网络及局域分布式系统方面进行了大量的研究工作,

书籍目录

PREFACE1 INTRODUCTION 2 PROCESSES AND THREADS 3 MEMORY MANAGEMENT 4 FILE SYSTEMS 5 INPUT/OUTPUT 6 DEADLOCKS 7 MULTIMEDIA OPERATING SYSTEMS8 MULTIPLE PROCESSOR SYSTEMS 9 SECURITY 10 CASE STUDY 1: LINUX 11 CASE STUDY 2: WINDOWS VISTA 12 CASE STUDY 3: SYMBIAN OS13 OPERATING SYSTEM DESIGN 14 READING LIST AND BIBLIOGRAPHYINDEX

章节摘录

插图:The library procedure, possibly written in assembly language, typically putsthe system call number in a place where the operating system expects it, such as aregister (step 5). Then it executes a TRAP instruction to switch from user mode tokemel mode and start execution at a fixed address within the kernel (step 6). TheTRAP instruction is actually fairly similar to the procedure call instruction in thesense that the instruction following it is taken from a distant location and the return address is saved on the stack for use later.Nevertheless, the TRAP instruction also differs from the procedure call instruction in two fundamental ways. First, as a side effect, it switches into kernelmode. The procedure call instruction does not change the mode. Second, ratherthan giving a relative or absolute address where the procedure is located, the TRAPinstmction cannot jump to an arbitrary address. Depending on the architecture, iteither jumps to a single fixed location or there is an 8 bit field in the instruction giving the index into a table in memory containing jump addresses, or equivalent.


编辑推荐

《现代操作系统(英文版第3版)》介绍:在商业化的进程中,美国的产业界与教育界越来越紧密地结合,计算机学科中的许多泰山北斗同时身处科研和教学的最前线,由此而产生的经典科学著作,不仅擘划了研究的范畴,还揭示了学术的源变,既遵循学术规范,又自有学者个性,其价值并不会因年月的流逝而减退。

图书封面

图书标签Tags

广告

下载页面


现代操作系统 PDF格式下载



其实别看它是英文的,其实英文教材比中文教材还好读。因为,他们写得特别细,就是只要你有疑惑的地方,立即进行解释或者举例。英文读物大多都是这样直观。而且,要求的单词量不大,只要高中的水平就应该没大碍,除了里面涉及的计算机术语。而且可以培养英语的语感。


A5的开本,150mm*214mm,跟个字典似的。。。


Amazon的高效一直是我比较看中的亮点~整体还好,只是印刷字体有点小,比起原版来说,很杯具。但是谁有买得起原版呢?


书的内容不错,英语水平好的推荐看英文原版,我看了中文译本,里面有不少排版的错误。书的开本太小了,印了厚厚一本一千多页,携带一点都不方便


在学习知识的同时,还可以顺便把英文给学习了。整整一千页啊。需要很大的耐心和时间去拜读。等到读完那一天,肯定会提升一个等级的。


正在阅读,内容肯定是没问题啦。送货快,可惜有折损


很好,内容丰富,使用。谢谢~


英文版的很不错呀,可以避免翻译后部分看不懂的问题。


英文版的貌似更加通俗易懂,呵呵


linux是个好东西,但作者力荐的微核也不错。


还行吧,正常用用,也就这样了。


是教科书来的,上课配这PPT看效果更佳~~


计算机方面非常重要的基础书籍。 作为计算机高手的你,值得学习。


很好,是正品,不错不错


操作系统方面最好的了。书正面尺寸不大但很厚,像辞典一样。内容讲的很详细,理论性较强,前大半主要讨论了操作系统的基本概念原理;后面有三章是对Linux,Windows Vista和Symbian的案例研究,Linux、Windows两章都各自有100余页,重点关注系统核心部件及其原理本身。全书以文字+图示的形式为主,偶尔穿插了少量代码示例。


必看中文的容易理解。。


清华大学讲操作系统培训的老师,讲义ppt中引用的部分插图是出自本书的。说明本书足够经典权威。


还没看就是书小了


不错很经典


书的尺寸比一般的书小


纸张质量不大好


不得不买 准备QE要用到


  想当年我读这本书之前,在计算机和操作系统方面还是一个小白,甚至连一个操作系统包含哪些部分都搞不太清楚,于是就想找一本操作系统方面的书来学习一下。
  
  因为当时已经读过本书作者Andrew S. Tanenbaum的另外一本经典书籍《计算机网络》,而且觉得那本书的难度我还可以接受,于是就选择了这本书。
  
  读了之后,发现果然是一本很平易近人的书。作者娓娓道来,很形象的讲解了操作系统的方方面面,真正的把一个初学者领进门。
  
  所以,对操作系统感兴趣,但是又没有什么基础的同学,来读这本书吧!


  主要讲操作系统的各个方面,
  第一章引论,比较杂.
  第二章进程与线程.讲的很详细,不过我有一部分还是没有看懂.
  第三章的存储管理我感觉实际就是内存管理.
  第四章的文件系统就比较简单了,没有很多的原理性的介绍,都很好理解.
  第五章输入输出就更杂了.
  第六章 死锁 没几页
  第七章和第八章和第九章感觉不是很好,中间的虚级化安全中的保护域以及访问控制列表还看了看.
  最后第10/11/12章分别举了linux和vista和symbian的例子.
  
  总体来说仍需要更多具体的书来配合学习.
  


  本书比较全面而详细的介绍了操作系统的概念与算法,但与《操作系统概念》一书比起来,就略显简略了,也更偏于实际,虽然有理论上的论证,但看来其并不是重点;相对于后者对与算法的全面罗列,《现代操作系统》对于重要算法的介绍更为突出。虽然本书对于概念的介绍略显简略,但是本书却比较通俗,涉及的面与实际结合的情况下显得更为广阔。书中配有许多插图,对读者的理解很有帮助,有一些地方的插图非常精髓(比如将RAID阵列那块,《操作系统概念》中相比就略显逊色了,虽然后者的插图也非常丰富,至少在RAID这已经败下阵来)。本书作者是非常出色的写手,在操作系统与网络方面均有大作,而且语言不乏幽默,让人看起来总会深入其中。书的后面有实际案例的介绍,可以帮助读者建立对实际操作系统的框架性理解,但对于那些系统的感性与具体的认识还必须来自于相关的具体书籍;而那些具体的认识能够使得许多基本概念被一眼看穿,所以我非常建议读这类书(偏于理论的操作系统书)的读者(无论当做教材还是参考书),都要结合具体的系统的书籍来看(比如我选的就是unix/linux,因为它应该算是最具有开放性的系统了,我的参考书从系统编程《Unix环境高级编程》到内核架构与编程都有),最好还可以结合微机原理与接口一起学习(我们课程是这么安排的,在我看来非常好);并且在可能情况下多参考同类书籍中的不同表述,这对问题的了解很有帮助。


  我们是用来做教材的,因此读得非常细。这本书是非常学术性的。一个人读下来没有老师讲解是有点吃力的。  感觉写得也不算好,很多概念有点莫名其妙的,例如线程那里用户级和内核级的就混在一起了,做习题时就会发现。  另外居然还有塞班系统。


  本人非计算机科班毕业,但对操作系统比较感兴趣,一直在看robert love的linux kernel development,但是一直感觉效果不好,估计是因为对操作系统的概念没有系统的认识的缘故。今天买了这本,是看着Andrew的大名买的。原来也看过第一章,但是当时对计算机进程什么的就根本没有具体的概念,因此没有什么印象。但是这一次,刚翻开绪论,就感觉这本书正是我需要的。绪论讲解文件系统,这样说:进程和文件层次都可以组织成树状结构,但这两种树状结构有不少不同之处...我感觉眼睛一亮,我在想,如果仅仅看linux内核方面的书,怎么能够想到这一层去?


  第2章 进程与线程
  2.1 进程
  2.2 线程
  2.3 进程间通信
  2.4 经典的IPC问题
  2.5 调度
  2.6 有关进程和线程的研究
  2.7 小结
  习题
  第3章 死锁
  3.1 资源
  3.2 死锁概述
  3.3 驼鸟算法
  3.4 死锁检测和死锁恢复
  3.5 死锁避免
  3.6 死锁预防
  3.7 其他问题
  3.8 有关死锁的研究
  3.9 小结
  
  目前看完了这3些内容,对于我这个半路出家的(曾经专业是 财务),对于计算机的系统,重新认识了一下!!! 有趣的哲学家吃面条,很多有趣的讨论,可以看出作者的诙谐,幽默!
  
  个人对此书的感觉, 有些地方翻译的,确实看不懂,可能是非科班出身, 还是看了英文版的,更能透彻的理解作者的意图,不过中文的,大部分,都可以领悟到作者的意思!


  LRU被翻译成"最近最少使用".
  
  Least Recent Used应该翻译成"最久未使用",而"最近最少使用"对应的则是Least Frequently Used.
  
  
  这个错误让我在讲述替换算法的那一节徘徊了很久,后来是对照着 操作系统概念影印版才弄明白这些算法的不同
  


  坚持了机工的一贯风格:薄得透亮的纸张;砖头大小的开本;米粒大小的文字。别的就算了,你用点好纸行不行?!MD我从正面都能看到背面的字!!!你既然花力气引进了,你就不能再花点心思好好印刷一下?!要不你给我出个精装版,不超过¥120我就买,看这种印刷版真让我....


  我念的是原版的英文,这本书不光介绍概念十分清晰和富有条理,而且作者用词引人入胜,用了许多口语化的单词,不会让人觉得枯燥和乏味,封面的设计也是非常有意思,没事看看封面想想这些概念,也挺有启发性。许多地方作者都用了生动形象和贴切的比喻,让人感觉思路十分明朗,不会被复杂的概念搞得一头雾水。状态好的时候,能够令人读的津津有味手不释卷。而且繁简适当,不会显得语句罗嗦,更不会觉得作者解释的不够和不清楚,因为他讲述一个步骤和算法的时候,必定会采用一个比较典型实际的例子加以重述,不会让人有“这边看不懂,下面就没有重复了怎么办?”的困扰和担忧。
  而且本书最富有魅力最值得赞赏的地方在于——作者引入一个概念必定是由一个问题和困境带出的,也就是说,作者不会无缘无故的列提纲似的推出一个全新概念让人摸不着头脑思索为什么,而是由“既然有这样的情况,那我们迫切需要达到的效果是什么,由此我们自然而然地想出了那样的实现和解决方式”这样的思维模式来引导读者,循序渐进的方法令读者不会一下子脱离进度。这能够让人很连贯的一气呵成的读下去,学会科学的思考方式。这一点与同类型的《Operating Systems Concepts》相比就好得多了,而且从图片上来看,这本书的图片也非常好懂,脱离了抽象的硬件形象,而采用几乎是脑海中的想象模式来演绎步骤。令人印象深刻也不显得乏味。
  
  这么好的书作者当然是很强大的,他出品了包括《Computer Networks》在内的许多书籍,在亚马逊的评价也是颇高,2008年2月更是紧跟时代的步伐推出了第三版3e,其中特地包含了对当时较新的Vista系统的解释。价格也是同类书籍中最高的。所以我购买了International Edition,就是所谓的山寨版,价格也要20镑左右。
  
  PS:那天作者Tanenbaum来我们学校做演讲,他瘦瘦的,有些秃顶,本人也是非常有趣的,介绍的话题是MINIX 3,其中提到MINIX 3的logo是一只浣熊,“为什么是浣熊呢?”——“因为他eat bugs""more likely to visit your house than a penguin" 下面大家都笑了……连我们的操作系统老师也要特意向他提问呢!


  看书的时候大家都说要读英文原版,一来提高英语能力,二来能够体味原版的精髓。读过这本书后,感觉译本还算很不错。不禁产生疑问:原版究竟有着什么样的精髓呢?


  ast原书很好,老头语言很幽默,讲的很清楚.
  理论部分讲的很详细
  讲安全的时候顺便把加密解密的基础概念讲了一下,以前不了解这些知识的人也能弄懂。
  后面还讲了关于设计方面的东西,作者设计过minix、amoeba、globe还有等系统
  翻译版也很好,发现陈向群翻译的书都不错的


楼上,你写的很好,要是能分个段就更好了,看着累...


本书作者另外还写了一本《操作系统设计与实现》


LZ是那个学校的,可否放个课程表


lz应该没有数据结构基础吧,建议看看数据结构的书,你就懂了


当时大学学过数据结构,但是我不是CS的,是学电子的,因此没有学过操作系统。我的意思是:仅仅看数据结构估计还不行吧,就大学学的那点东西,没有跟实际结合起来,就算知道什么是树,什么是图,又能够怎样呢?


做个小汇报,计算机的工作,就是 痛--枯燥,快乐--当自己实现一个功能,很有成就感!
一句话, 痛并快乐着!


找第三版吧,作者对thread部分做了增加


....呃,如果是"未使用"那么应该是unused了吧?我觉得这个翻译没有问题.


没有unued这种说法, 有Not Recently Used算法


翻译成"最近最少使用",很有误导性,一般的读者都会理解成"最近使用频率最少",而不是"最久未使用".
btw 各人有各人的读书习惯,不要指导别人怎么看书.


我谈谈我的看法。
如果认为是“最近未使用”,那么就是强调的这个cache节点是“未使用”的,我看根据LRU算法的内容,指的应该不是这个意思。
而“最近最少使用”并未强调“未使用”,根据LRU算法,如果访问了一个节点,就把该节点放在这个链表的最后,而每次要淘汰的都是链表头的节点,所以“最近最少使用”的节点总是靠近链表头部被优先淘汰的。
以上,我想“最近最少使用”这个翻译没有问题。


而理解成“最近使用频率最少”,至少从LRU算法的意思来看,应该也是可以的。


而LRU算法是应用于cache管理上的算法,凡是cache中的数据,最近一定被访问过,否则也就没有放在cache中缓存下来的必要了,所以,如果用“未使用”一词,不合适。而说“最少使用”,就体现了访问次数少的说法。


  而理解成“最近使用频率最少”,至少从LRU算法的意思来看,应该也是可以的。
===============这句话不对.
使用频率最少的,那是Least Frequently Used.
假设有A,B两页面,A页面在过去的10 9 8 7 6 5 4 3 2秒钟都有被访问过,而B页面只在过去的1秒有访问过.
显然A的访问频率高于B, B则是least frequently used. (严格的)LFU会淘汰B.
但是A最后一次访问是过去的2秒,而B的最后一次访问是过去的1秒.A是least recently used. LRU会淘汰A.


没看过那个“Least Frequently Used”的术语,我只是说那么理解从LRU算法的意义上来说也可以。


同意楼之的观点
这两个算法可以使用同一套硬件设备来实现也就是说用一组寄存器
LRU的这一组寄存器中的0,1组成的是一个二进制数,右移之后找出最小的数,的确是“未使用”。
而在LFU中,这组寄存器中的0和1代表的是单个的数,也就是说要淘汰的是它们之中1的和,最小的。而被淘汰的可以是刚才被访问过的,LFU强调的是频率。LRU强调的是“未使用”。


回字有几个写法?


翻译是没有问题的,LRU是Least Recently Used,Least应该是用来修饰Used。你看看原书讲LRU的有一句话,就知道翻译正不正确了:
When a page fault occurs, the operating system examines all the counters in the page table to find the ***lowest one***. That page is the ***least recently used***.
那个lowest one就是引用最少的,自然也就是“最少使用”。


LRU貌似可以这样翻译吧。。。


LRU还有这么多歧义?很基础的问题啊。


我觉得LRU体现的是最近有没有访问过,而LFU最近访问过多少次,还包含了访问频率的计算.


如果说翻译成"最近最少使用"那就包含了使用次数问题了


幸亏偶还没买。。。


你要是必须看这本书的话,还不得不买,除非你买原版。网上倒是有电子版,不过是用数码相机对着原版书拍照,然后制作成的,100多MB,不过倒是也能看。


真希望东南能出其他出版社的影印版。。


确实太小了。。。。


确实糟蹋了。。像快板砖。。


刚从china-pub上买了,确实太小,不过没办法,如此经典的书看电子版和翻译过的“二手”太糟蹋了


我感觉影印版的纸和字大小还可以接受,嘿嘿~~虽然不能称得上好纸好字~~


看看今年出的编译原理才知道啥子是烂纸。编译原理和这本页数差不多,厚度差的倒很多。编译原理感觉真的还没有盗版书籍的纸张和印刷好。字都是灰的,感觉墨水不够了一样。这本书的印刷倒还好,不过就是开本太小了,看着很累


  本来想买一本的,卓越下单之前去了下书店,看到那蛋疼的大小和字体密度,直接打消了买的念头.....这种质量,价格还不低....
  就不能用人民邮电那样的纸张吗....


确如楼主所说,纸薄,可是有什么办法呢1就这一版


机械工业出版社的书离好远就能一眼看出来。。。。


哈哈哈 楼上的都好好笑


同感同感. 封面也真是难看, 一点创意没有.


字太小了,眼睛压力大。


我用实际行动确认了兄弟你的话,真TM对啊!!书的纸张确实比较差


字太小了,看起来太累。


不是the design of the unix operating system么?
另,个人觉得Communix最高.../esc


International Edition
能解释一下什么意思吗?


国际版 出版商为迎合国际市场而出的国际版 内容全部一样 印刷材质烂一点 价格便宜点


哦,那国际版不错的嘛.以后出国读书就买国际版.


在北美國際版是不能銷售的……


可惜在国内也买不到International Edition,能买到的只是山寨影印版


想入手


我在ebay买到的国际版30刀


真是愛死Tanenbaum大師了!他寫的《Computer Network》好通俗易懂,一定要把他寫過的所有著作全拜讀了。


呵呵,大家都会说要读原版


原版看的累而已
英文基础好的老炫耀说原版好,原版怎么怎么样


看到这个封面你就该知道这是机械工业出版社引进翻译的,一套有几百本呢


说原版好不是炫耀,而是因为原版的的确好,你可以找两本来对比一下。
P.S 机械工业出版社这一系列的书加起来顶多也就是一百本左右,哪来的几百本。


其实不必太过苛求,科技类的书翻译起来本来就难,一来译者英文要好,二来对翻译内容要了然于胸,最后在修辞方面还要符合中文阅读习惯。本来做到三点中任何一点都不容易,何况三者兼备?
这本总的来说翻得算得上是达意了,只生硬了一些,还有一些地方按直译过来,不符合阅读习惯,比如第一章讲到系统调用fork时,英文版是“The fork call returns a value, which is zero in the child and equal to the child's process identifier or PID in the parent。”这句就翻得让人看得云里雾里。
建议看得通顺的地方就中文,看不通顺下个电子英文版对照。


同意楼上 如果英文不大好的话就看中文 不通的地方对照英文 有的地方确实翻译的有问题 不过应该体谅一下 比如blocking system call 书中有的地方翻译成阻塞系统进程作为一个名词 有的地方翻译成动宾结构 看的我有点晕 也可能是我理解能力有问题 有的地方对照英文都看了很多遍 以后我有看不懂的地方再过来问问大家


尝试着读英文原版 :)


原版后来始终没买,借了学校的原版影印版来看。
我实力实在不行,看得云里雾里的……一页有十多个单词不会,读得很辛苦……


LS,坚持就是胜利。看原版很溜的人都是这么过来的。


我也偏爱翻译的, 英语水平不高,看中文的效率高一些.
我读过的翻译的书,除了机工那本<实分析和概率论>,极端糟糕外,剩下的都还过得去啦,至少省一些时间.
不过这本书的译者有点...
http://school.icxo.com/htmlnews/2008/10/06/1307720_0.htm
http://www.blogms.com/StBlogPageMain/Efp_BlogLogSee.aspx?cBlogLog=1002062973
不明真相,也不好评论啥
还是只管看书好了


恩 E文好的还是看原文吧 译文怎么看都有出入


关于临界区那几节错误还是蛮多的,刚开始看


看得通顺的地方就中文,看不通顺下个电子英文版对照。


所谓形神兼备而已~
就是师傅和徒弟的关系,徒弟领会师傅的教学要领和思想精髓,全盘吸收消化自然不易,但在原油基础上开拓创新也并非不能~
从语言学角度,英语里带着从句逻辑清晰的结构特别适合表达概念,就像你能很清晰地分辨出文字是中译本的特点一样。
读得多了,慢慢就变成个人阅读习惯的问题了~


还是看 E文吧


想看原版,找不到资源啊


有时间读E文吧,最起码顺便学习了英语。我觉得实际上中英文差别不大,会减少一些翻译上不当引起的误解,但不会太多。


我也感觉,在我的水平,看英文相对于中文,理解的不那么明白,导致看书效率不高,毕竟理解是第一位的(在中文完美翻译的基础下)。
当然,我也觉得看英文是非常有好处的,你真正了解了发明他们的人是怎么描述他们的,这种前沿技术毕竟英文资源丰富,知道了英语里他的术语是怎么说的,搜索起来结果更多更好。
去外企面试也是非常有益的!


相关图书