没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Operating Systems: Design and
Implementation Second Edition
操作系统设计与实现 (第二版)
安德鲁.坦尼鲍姆(Andrew S. Tanenbaum)
阿尔伯特.伍德豪尔(Albert S. Woodhull)
作者简介
安德鲁.坦尼鲍姆分别在麻省理工学院和加州大学伯克利分校获得学士和博士学位。他
现任位于荷兰阿姆斯特丹市的Vrije大学计算机科学教授并领导着一个计算机系统研究小组。
同时他还任一个研究并行、分布及图像系统的校际研究生院 - 计算机与图像高级学院的院
长。
坦尼鲍姆先前的研究领域包括编译器、操作系统、网络和局域分布式系统,他现在的研
究主要集中在可扩展到数百万用户的广域分布式系统。对这些课题的研究使他在学报和会议
上发表了70余篇论文,并出版了五部专著。
坦尼鲍姆教授同时还主持开发了大量的软件。他是Amsterdam编译工具箱的总设计师,
该工具箱被广泛地用来开发可移植的编译器,同时还用于MINIX的开发。他和他的博士研究
生及程序员们一起设计了一个基于微内核的高性能分布式操作系统 - Amoeba。现在,以教
学和研究为目的的用户可以从Internet上免费获得MINIX 和Amoeba软件。
坦尼鲍姆的许多博士研究生在获得学位后都取得了非常丰硕的成果,这令坦尼鲍姆非
常自豪,因为这是他诲人不倦的结果。
坦尼鲍姆教授同时还是ACM的会士、IEEE高级会员、荷兰皇家艺术和科学院院士,他曾获
得1994年ACM Karl V. Karlstrom 杰出教育奖和1997年ACM/SIGCSE 计算机科学教育杰出贡
献奖。他被列入Internet上的 Who's Who in the World 名单,他在WWW上的主页地址为:
http://www.cs.vu.nl/~ast/。
阿尔伯特.伍德豪尔分别在麻省理工学院和华盛顿大学获得学士和博士学位。他进麻省
理工学院本来是想成为一名电气工程师,可是后来却成了生物学家。从1973年起他开始在位
于麻省Amherst的Hampshire自然科学学院工作。当微型计算机慢慢多起来的时候,作为使用
电子检测仪器的生物学家,他开始使用微型计算机。他给学生开设的检测仪器方面的课程逐
渐演变为计算机接口和实时程序设计。
伍德豪尔博士对教学和科学技术的发展有浓厚的兴趣,在进入研究生院之前他曾在尼
日利亚教过两年中学,近年来他曾几次利用自己的假期在尼加拉瓜教授计算机科学。
他对计算机作为电子系统,以及计算机与其他电子系统的相互配合很感兴趣。他最喜欢
讲授的课程有计算机体系结构、汇编语言程序设计、操作系统和计算机通信。他还为开发电子
器件及相关软件担当顾问。
在学术之外,伍德豪尔有不少兴趣,包括各种户外运动,业余无线电制作和读书。他还
喜欢旅游和学习别国语言。他的WWW主页就存在一台运行MINIX的机器上,地址是:http://m
inix1.hampshire.edu/asw/。
前 言
多数操作系统教材都重理论而轻实践,本书希望在这二者之间求取较好的平衡。本书详
细论述了操作系统的所有基本概念,包括进程、进程间通信、信号量、管程、消息传递、调度算
法、输入/输出、死锁、设备驱动程序、存储器管理、页面调度算法、文件系统设计、安全与保护
机制等。同时,本书也详细讨论了MINIX - 一个与UNIX兼容的操作系统,并提供了完整的
源代码供学习之用。这样的安排使读者不仅学习到理论,而且能够理解它们如何应用在一个
实际的操作系统之中。
本书第一版在1987年出版时,曾引发了操作系统课程教学的一场小小的变革。在此之前
多数课程都只讲理论。随着MINIX的出现,许多学校开始增加实验环节以使学生了解实际的
操作系统是如何运作的。我们认为这种趋势是可取的,并希望通过本书第二版能进一步加强
这种趋势。
MINIX在其出现以来的十年间发生了许多变化,最初的代码是为基于8088芯片、256K内
存和两个软驱的IBM PC机型编写的,它基于UNIX 版本7。随着时间的推移,MINIX在许多方
面有所发展,比如当前版本可运行在众多机型上,从16位实模式的PC机到配有大容量硬盘
的奔腾机(32位保护模式),而且它不再基于UNIX版本7,而是基于国际上的POSIX标准(P
OSIX 1003.1和ISO9945-1)。与此同时,有许多新特征被添加到MINIX中,在我们看来,所
增加的特征可能已经太多了,但有些人则认为还不够,这最终导致了LINUX的诞生。MINIX还
被移植到许多其他平台上,包括Macintosh、Amiga、Atari和SPARC。本书只涉及MINIX2.0,到
目前为止,该版本只能运行于基于80X86的机器,或者可模拟此类CPU的机器,以及SPARC机
器。
与第一版相比,第二版有许多变化,原理性部分基本都被修改过,同时增加了大量新
内容。最主要的变化是新的基于POSIX的MINIX,以及对其源代码的剖析。另外,每本书都附
带一张CD-ROM,它包含了全部MINIX源代码,以及在PC上安装MINIX的说明(见CD-ROM主目
录下的README.TXT文件)。
在一台80X86 的PC机上安装MINIX很方便。它需要一个至少30MB的硬盘分区,然后按照C
D-ROM上README.TXT文件中的步骤进行即可。在打印README.TXT文件之前,先启动MS-DOS
(若运行WINDOWS,则双击MS-DOS图标),然后键入
copy readme.txt prn
即可。该文件也可以用edit、wordpad、notepad等任何可以处理ASCII正文的编辑器进行浏览。
对于没有PC机的学校和个人,有两种解决办法,即CD-ROM上提供的两个模拟程序。一
个由Paul Ashton 为SPARC机器编写,它作为用户程序在Solaris上运行,此时MINIX被编译
成SPARC上的可执行文件。在这种模式下,MINIX不再是一个操作系统,而只是一个用户程序,
所以必须对其底层作一些修改。
另一个模拟程序由Bochs软件公司的Kevin.P.Lawton编写,它解释Intel 80386的指令
集以及足以使MINIX运行所需的I/O指令。显然在解释器层次上运行使性能有所下降,但这使
得学生更容易进行调试。该模拟程序运行在所有支持M.I.T的X-Window的系统上,更详细的
信息请参看CD-ROM上的有关文件。
MINIX仍在继续发展,本书和CD-ROM中的内容仅仅反映了本书出版时的情况,有关MIN
IX的最新动态请访问MINIX的主页:http://www.cs.vu.nl/~ast/minix.html。MINIX也有USE
NET中的新闻组:comp.os.minix,读者可以订阅该新闻组。对于仅有Email的读者可通过以
下步骤来加入MINIX的邮件用户通信组。给 listserv@listserv.nodak.edu 发一封信,其中
只需一行字:“subscribe minix-1 <您的完整用户名>”,此后你便会通过E-mail获得
很多的信息。
讲授本课程的教师可以从Prentice Hall公司获得一份习题解答手册。从WWW地址 http:
//www.cs.vu.nl/~ast/沿着“Software and supplementary material"链接可以获得一些
有用的PostScript文件,其中包含本书中所有的图表,可供需要时使用。
在MINIX的开发项目中我们有幸得到了许多人的帮助。首先要感谢Kees Bot在MINIX标准
化和软件发布中所作的大量工作,没有他的帮助,我们不可能完成这件工作。他自己编写了
大量的代码(如POSIX终端I/O)并修正了一些数年来一直存在的错误,他还整理了其他的
代码。
这些年来Bruce Evans、 Phlip Homburg、Will Rose和Michael Temari为MINIX的开发做
了大量的工作。 有几百人通过新闻组对MINIX作出了贡献,他们人数众多,所作出的贡献也
各不相同,在此谨向他们一并表示感谢。
John Casey、 Dale Grit、 Frans Kashoek等人阅读了本书的部分手稿并提出了宝贵建
议,在此向他们表示谢意。
Vrije大学的许多学生测试了CD-ROM中MINIX的 β版本,他们是:Ahmed Batou, Gora
n Dokic, Peter Gijzel, Thomer Gil, Dennis Grimbergen, Roderick Groesbeek, Woute
r haring, Guido Kollerie, Mark Lassche, Raymond Ris, Frans ter Borg, Alex van B
allegooy, Ries van der Velden, Alexander Wels以及Thomas Zeeman。我们对他们细致的
工作和详尽的报告致以衷心的感谢。
阿尔伯特·S·伍德豪尔向他从前的几位学生表示感谢,特别是Hampshire学院的Peter W.
Young ,Nacional Autonoma de Nicaragua大学的Maria Isabel Sanchez 和William Pud
dy Vargas。
最后要向我们的家庭成员表示感谢。Suzanne 已是第十次在我埋头写作时给我支持,对
Barbara是第九次,Marvin是第八次,甚至小Bram也是第四次了。他们的支持和爱心对我非
常重要。(坦尼鲍姆)
至于阿尔伯特的Barbara,这倒是第一次,假如没有她的支持,耐心和幽默,我们是不
可能完成这一工作的,对我的儿子Gordon而言,由于在编写本书时,他大部分时间都不在
家中,而是在大学学习,因此是非常幸运的。但是他的理解和关心深深吸引着我从事本书的
编写工作,有这样一个儿子是令人非常愉快的。(伍德豪尔)
安德鲁.S.坦尼鲍姆
阿尔伯特.S.伍德豪尔
译 序
坦尼鲍姆教授是国际知名的计算机科学家和教育家。他在操作系统、分布式系统以及计
算机网络领域都有很深的造诣。自八十年代以来,他已先后出版了一系列面向大学生和研究
生的教材性质的专著,并被世界各国的许多大学广泛采用。这本书就是他的最新专著之一。
操作系统是计算机系统中最核心和最底层的软件,对操作系统的深入学习关系到对整
个系统运作机制的全面理解,因此一本好教材也显得愈发重要。本书的英文版出版于1997年,
其中涵盖了操作系统课程的所有内容,即传统上的进程管理、存储器管理、文件管理和设备
管理。同时其中又包含了许多新内容,如线程、基于消息传递的系统构造模型、日志结构文件
系统、安全和保护机制、RAM盘及CD-ROM设备等,而用作例子的CPU则为Interl Pentium。这
使得读者一方面能够学习操作系统的经典内容,另一方面又能够了解和跟踪当前的最新技
术和研究成果。
本书的另一个特点是基本原理与具体实例,即MINIX紧密结合。第2到第5章的前半部分
讲述原理,后半部分则详细地解释这些原理在MINIX的设计和实现中的应用。通过阅读这些
部分能够把握MINIX源代码的组织方式,并理解那些很关键或者很难懂的代码。这部分内容
非常翔实,有时甚至逐行地解释附录中所列的源程序。对操作系统课程多年的授课经验以及
相关的科研工作使我们认识到:详细地剖析一个象MINIX这样的操作系统对于掌握操作系统
设计与实现的精髓是大有裨益的。
正因为上述原因,我们真切地感受到将这本书翻译、介绍给国内读者将是一件非常有意
义的事,衷心希望我们付出的劳动能对国内的操作系统教学和实践有所帮助和促进。
本书的第一章,第二章,第三章由王鹏翻译,刘福岩和陆宁也参加了部分工作;第四
章由朱鹏翻译;第五章由敖青云翻译。全书由尤晋元教授审校并统稿。
在整个翻译过程中,上海交通大学计算机系系统软件研究室的师生给予了许多帮助。并
且在计算机系95级本科生的操作系统课程中进行了试用,许多学生提出了很好的建议,在
此向他们表示衷心的感谢。
特别要感谢本书的责任编辑邓又强先生,本书的顺利出版与他的辛勤劳动和热情支持
是分不开的。
虽然在翻译过程中我们尽力恪守“信,达,雅”的准则,但不当和疏漏之处在所难免,
敬请读者提出宝贵建议。
译 者
1998年4月于上海交通大学
剩余389页未读,继续阅读
eaby888
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Vue+Echarts实现风力发电机中传感器的数据展示监控可视化系统+源代码+文档说明(高分课程设计)
- 基于单片机的风力发电机转速控制源码
- 基于C++实现的风力发电气动平衡监测系统+源代码+测量数据(高分课程设计)
- 毕业设计- 基于STM32F103C8T6 单片机,物联网技术的太阳能发电装置+源代码+文档说明+架构图+界面截图
- 基于 LSTM(长短期记忆)(即改进的循环神经网络)预测风力发电厂中风力涡轮机产生的功率+源代码+文档说明
- 基于stm32f103+空心杯电机+oled按键+运动算法
- 《CKA/CKAD应试指南/从docker到kubernetes 完全攻略》学习笔记 第1章docker基础(1.1-1.4)
- 基于python实现的水下压缩空气储能互补系统建模仿真与经济效益分析+源代码+论文
- 华中科技大学-自然语言处理实验,Bi-LSTM+CRF的中文分词框架,并且利用基于深度学习的方法进行中文命名实体识别++源码报告
- 基于动态罚函数的铁路车流分配与径路优化模型python源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页