v

您的位置:VeryCD图书计算机与网络

图书资源事务区


《现代操作系统(原书第3版)》(Modern Operating Systems (3rd Edition) )扫描版[PDF]

  • 状态: 精华资源
  • 摘要:
    图书分类软件
    出版社机械工业出版社
    发行时间2009年7月
    语言简体中文
  • 时间: 2011/01/06 08:30:39 发布 | 2011/01/06 20:18:30 更新
  • 分类: 图书  计算机与网络 

swamk

精华资源: 13

全部资源: 13

相关: 分享到新浪微博   转播到腾讯微博   分享到开心网   分享到人人   分享到QQ空间   订阅本资源RSS更新   美味书签  subtitle
该内容尚未提供权利证明,无法提供下载。
中文名现代操作系统(原书第3版)
原名Modern Operating Systems (3rd Edition)
图书分类软件
资源格式PDF
版本扫描版
出版社机械工业出版社
书号9787111255444
发行时间2009年7月
地区大陆
语言简体中文
简介

IPB Image

内容介绍:

本书是操作系统领域的经典之作,与第2版相比,增加了关于Linux、Windows Vista和Symbian操作系统的详细介绍。书中集中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。此外,还在第2版的基础上对部分习题进行了增删,更有助于读者学习和对知识的理解及掌握。
tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。
在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、i/o、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了linux操作系统、windows vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。

作者介绍:

Andrew S.Tanenbaum获得过美国麻省理工学院的理学学士学位和加利福尼亚大学伯克利分校的哲学博士学位,目前是荷兰阿姆斯特丹Vrije大学的计算机科学系的教授,并领导着一个计算机系统的研究小组。同时,他还是一家计算与图象处理学院的院长,这是由几家大学合作成立的研究生院。尽管社会工作很多,但他并没有中断学术研究。多年来,他在编译技术、操作系统、网络及局域分布式系统方面进行了大量的研究工作。目前的主要研究方向是设计规模达数百万用户的广域分布式系统。在进行这些研究项目的基础上,他在各种学术杂志及会议上发表了70多篇论文。他同时还是5本计算机专著的作者。  
Tanenbaum教授还开发了大量的软件。他是Amsterdan编译器的原理设计师,这是一个被广泛使用的;用来编写可移植编译器的工具箱。他领导编写的MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。他和他的博士研究生及其他编程人员一道设计的Amoeba分布式操作系统,是一个高性能的微内核分布式操作系统。目前,可在因特网上免费得到MLNIX及Amoeba,用于教学和研究。  
他的一些博士研究生,在获得学位后继续进行研究,并取得了更大的成就,赢得了社会的赞誉,对此他深感自豪。人们称他为桃李满天下的教育家。  
Tanenbaum是ACM的会员,IEEE的资深会员,荷兰皇家艺术和科学学院院士,获得过1994年度ACM KarlV.Karlstrom杰出教育家奖。他还人选了《世界名人录》。

内容截图:

IPB Image



目录

出版者的话.
译者序
前言
第1章 引论1
1.1 什么是操作系统2
1.1.1 作为扩展机器的操作系统2
1.1.2 作为资源管理者的操作系统3
1.2 操作系统的历史4
1.2.1 第一代(1945~1955):真空管和穿孔卡片4
1.2.2 第二代(1955~1965):晶体管和批处理系统4
1.2.3 第三代(1965~1980):集成电路芯片和多道程序设计6
1.2.4 第四代(1980年至今):个人计算机8
1.3 计算机硬件介绍10
1.3.1 处理器11
1.3.2 存储器12
1.3.3 磁盘14
1.3.4 磁带15
1.3.5 i/o设备15
1.3.6 总线17
1.3.7 启动计算机18

.1.4 操作系统大观园19
1.4.1 大型机操作系统19
1.4.2 服务器操作系统19
1.4.3 多处理器操作系统19
1.4.4 个人计算机操作系统19
1.4.5 掌上计算机操作系统19
1.4.6 嵌入式操作系统20
1.4.7 传感器节点操作系统20
1.4.8 实时操作系统20
1.4.9 智能卡操作系统20
1.5 操作系统概念21
1.5.1 进程21
1.5.2 地址空间22
1.5.3 文件22
1.5.4 输入/输出24
1.5.5 保护24
1.5.6 shell 24
1.5.7 个体重复系统发育25
1.6 系统调用27
1.6.1 用于进程管理的系统调用30
1.6.2 用于文件管理的系统调用31
1.6.3 用于目录管理的系统调用31
1.6.4 各种系统调用33
1.6.5 windows win32 api 33
1.7 操作系统结构34
1.7.1 单体系统34
1.7.2 层次式系统35
1.7.3 微内核36
1.7.4 客户机-服务器模式37
1.7.5 虚拟机38
1.7.6 外核40
1.8 依靠c的世界40
1.8.1 c语言40
1.8.2 头文件41
1.8.3 大型编程项目41
1.8.4 运行模型42
1.9 有关操作系统的研究42
1.10 本书其他部分概要43
1.11 公制单位43
1.12 小结44
习题44
第2章 进程与线程47
2.1 进程47
2.1.1 进程模型47
2.1.2 创建进程48
2.1.3 进程的终止49
2.1.4 进程的层次结构50
2.1.5 进程的状态50
2.1.6 进程的实现51
2.1.7 多道程序设计模型52
2.2 线程53
2.2.1 线程的使用53
2.2.2 经典的线程模型56
2.2.3 posix线程59
2.2.4 在用户空间中实现线程59
2.2.5 在内核中实现线程62
2.2.6 混合实现62
2.2.7 调度程序激活机制63
2.2.8 弹出式线程63
2.2.9 使单线程代码多线程化64
2.3 进程间通信66
2.3.1 竞争条件66
2.3.2 临界区67
2.3.3 忙等待的互斥67
2.3.4 睡眠与唤醒70
2.3.5 信号量72
2.3.6 互斥量74
2.3.7 管程76
2.3.8 消息传递80
2.3.9 屏障81
2.4 调度82
2.4.1 调度介绍82
2.4.2 批处理系统中的调度85
2.4.3 交互式系统中的调度87
2.4.4 实时系统中的调度90
2.4.5 策略和机制90
2.4.6 线程调度91
2.5 经典的ipc问题92
2.5.1 哲学家就餐问题92
2.5.2 读者-写者问题94
2.6 有关进程和线程的研究95
2.7 小结95
习题95
第3章 存储管理99
3.1 无存储器抽象99
3.2 一种存储器抽象:地址空间101
3.2.1 地址空间的概念101
3.2.2 交换技术103
3.2.3 空闲内存管理104
3.3 虚拟内存106
3.3.1 分页107
3.3.2 页表108
3.3.3 加速分页过程109
3.3.4 针对大内存的页表111
3.4 页面置换算法113
3.4.1 最优页面置换算法114
3.4.2 最近未使用页面置换算法114
3.4.3 先进先出页面置换算法115
3.4.4 第二次机会页面置换算法115
3.4.5 时钟页面置换算法116
3.4.6 最近最少使用页面置换算法116
3.4.7 用软件模拟lru 117
3.4.8 工作集页面置换算法118
3.4.9 工作集时钟页面置换算法120
3.4.10 页面置换算法小结121
3.5 分页系统中的设计问题121
3.5.1 局部分配策略与全局分配策略121
3.5.2 负载控制123
3.5.3 页面大小123
3.5.4 分离的指令空间和数据空间124
3.5.5 共享页面124
3.5.6 共享库125
3.5.7 内存映射文件126
3.5.8 清除策略127
3.5.9 虚拟内存接口127
3.6 有关实现的问题128
3.6.1 与分页有关的工作128
3.6.2 缺页中断处理128
3.6.3 指令备份129
3.6.4 锁定内存中的页面129
3.6.5 后备存储129
3.6.6 策略和机制的分离130
3.7 分段131
3.7.1 纯分段的实现133
3.7.2 分段和分页结合:multics 134
3.7.3 分段和分页结合:intel pentium 135
3.8 有关存储管理的研究138
3.9 小结138
习题139
第4章 文件系统143
4.1 文件144
4.1.1 文件命名144
4.1.2 文件结构145
4.1.3 文件类型145
4.1.4 文件存取147
4.1.5 文件属性147
4.1.6 文件操作148
4.1.7 使用文件系统调用的一个示例程序148
4.2 目录150
4.2.1 一级目录系统150
4.2.2 层次目录系统150
4.2.3 路径名150
4.2.4 目录操作152
4.3 文件系统的实现153
4.3.1 文件系统布局153
4.3.2 文件的实现153
4.3.3 目录的实现156
4.3.4 共享文件158
4.3.5 日志结构文件系统159
4.3.6 日志文件系统160
4.3.7 虚拟文件系统161
4.4 文件系统管理和优化163
4.4.1 磁盘空间管理163
4.4.2 文件系统备份167
4.4.3 文件系统的一致性170
4.4.4 文件系统性能172
4.4.5 磁盘碎片整理174
4.5 文件系统实例175
4.5.1 cd-rom文件系统175
4.5.2 ms-dos文件系统178
4.5.3 unix v7文件系统179
4.6 有关文件系统的研究181
4.7 小结181
习题182
第5章 输入/输出184
5.1 i/o硬件原理184
5.1.1 i/o设备184
5.1.2 设备控制器185
5.1.3 内存映射i/o 185
5.1.4 直接存储器存取187
5.1.5 重温中断189
5.2 i/o软件原理191
5.2.1 i/o软件的目标191
5.2.2 程序控制i/o 192
5.2.3 中断驱动i/o 193
5.2.4 使用dma的i/o194
5.3 i/o软件层次194
5.3.1 中断处理程序194
5.3.2 设备驱动程序195
5.3.3 与设备无关的i/o软件197
5.3.4 用户空间的i/o软件200
5.4 盘201
5.4.1 盘的硬件201
5.4.2 磁盘格式化211
5.4.3 磁盘臂调度算法212
5.4.4 错误处理214
5.4.5 稳定存储器216
5.5 时钟218
5.5.1 时钟硬件218
5.5.2 时钟软件219
5.5.3 软定时器220
5.6 用户界面:键盘、鼠标和监视器221
5.6.1 输入软件221
5.6.2 输出软件224
5.7 瘦客户机233
5.8 电源管理235
5.8.1 硬件问题235
5.8.2 操作系统问题236
5.8.3 应用程序问题239
5.9 有关输入/输出的研究239
5.10 小结240
习题241
第6章 死锁244
6.1 资源244
6.1.1 可抢占资源和不可抢占资源244
6.1.2 资源获取245
6.2 死锁概述246
6.2.1 资源死锁的条件246
6.2.2 死锁建模246
6.3 鸵鸟算法248
6.4 死锁检测和死锁恢复248
6.4.1 每种类型一个资源的死锁检测249
6.4.2 每种类型多个资源的死锁检测250
6.4.3 从死锁中恢复251
6.5 死锁避免252
6.5.1 资源轨迹图252
6.5.2 安全状态和不安全状态253
6.5.3 单个资源的银行家算法254
6.5.4 多个资源的银行家算法254
6.6 死锁预防255
6.6.1 破坏互斥条件255
6.6.2 破坏占有和等待条件256
6.6.3 破坏不可抢占条件256
6.6.4 破坏环路等待条件256
6.7 其他问题257
6.7.1 两阶段加锁257
6.7.2 通信死锁257
6.7.3 活锁258
6.7.4 饥饿259
6.8 有关死锁的研究259
6.9 小结259
习题260
第7章 多媒体操作系统263
7.1 多媒体简介263
7.2 多媒体文件..266
7.2.1 视频编码266
7.2.2 音频编码268
7.3 视频压缩269
7.3.1 jpeg标准269
7.3.2 mpeg标准271
7.4 音频压缩272
7.5 多媒体进程调度274
7.5.1 调度同质进程275
7.5.2 一般实时调度275
7.5.3 速率单调调度276
7.5.4 最早最终时限优先调度277
7.6 多媒体文件系统范型278
7.6.1 vcr控制功能279
7.6.2 近似视频点播279
7.6.3 具有vcr功能的近似视频点播281
7.7 文件存放282
7.7.1 在单个磁盘上存放文件282
7.7.2 两个替代的文件组织策略282
7.7.3 近似视频点播的文件存放284
7.7.4 在单个磁盘上存放多个文件285
7.7.5 在多个磁盘上存放文件287
7.8 高速缓存288
7.8.1 块高速缓存288
7.8.2 文件高速缓存289
7.9 多媒体磁盘调度290
7.9.1 静态磁盘调度290
7.9.2 动态磁盘调度291
7.10 有关多媒体的研究292
7.11 小结292
习题293
第8章 多处理机系统295
8.1 多处理机296
8.1.1 多处理机硬件296
8.1.2 多处理机操作系统类型301
8.1.3 多处理机同步303
8.1.4 多处理机调度306
8.2 多计算机309
8.2.1 多计算机硬件309
8.2.2 低层通信软件312
8.2.3 用户层通信软件313
8.2.4 远程过程调用314
8.2.5 分布式共享存储器316
8.2.6 多计算机调度319
8.2.7 负载平衡319
8.3 虚拟化321
8.3.1 虚拟化的条件322
8.3.2 i型管理程序322
8.3.3 ii型管理程序323
8.3.4 准虚拟化324
8.3.5 内存的虚拟化325
8.3.6 i/o设备的虚拟化326
8.3.7 虚拟工具327
8.3.8 多核处理机上的虚拟机327
8.3.9 授权问题327
8.4 分布式系统327
8.4.1 网络硬件329
8.4.2 网络服务和协议331
8.4.3 基于文档的中间件333
8.4.4 基于文件系统的中间件334
8.4.5 基于对象的中间件337
8.4.6 基于协作的中间件338
8.4.7 网格341
8.5 有关多处理机系统的研究341
8.6 小结342
习题343
第9章 安全346
9.1 环境安全347
9.1.1 威胁347
9.1.2 入侵者347
9.1.3 数据意外遗失348
9.2 密码学原理348
9.2.1 私钥加密技术349
9.2.2 公钥加密技术349
9.2.3 单向函数350
9.2.4 数字签名350
9.2.5 可信平台模块351
9.3 保护机制352
9.3.1 保护域352
9.3.2 访问控制列表353
9.3.3 权能354
9.3.4 可信系统356
9.3.5 可信计算基357
9.3.6 安全系统的形式化模型358
9.3.7 多级安全358
9.3.8 隐蔽信道360
9.4 认证362
9.4.1 使用口令认证363
9.4.2 使用实际物体的认证方式367
9.4.3 使用生物识别的验证方式369
9.5 内部攻击370
9.5.1 逻辑炸弹370
9.5.2 后门陷阱370
9.5.3 登录欺骗371
9.6 利用代码漏洞371
9.6.1 缓冲区溢出攻击372
9.6.2 格式化字符串攻击373
9.6.3 返回libc攻击374
9.6.4 整数溢出攻击375
9.6.5 代码注入攻击376
9.6.6 权限提升攻击376
9.7 恶意软件377
9.7.1 特洛伊木马378
9.7.2 病毒379
9.7.3 蠕虫385
9.7.4 间谍软件386
9.7.5 rootkit 388
9.8 防御390
9.8.1 防火墙391
9.8.2 反病毒和抑制反病毒技术392
9.8.3 代码签名395
9.8.4 囚禁396
9.8.5 基于模型的入侵检测397
9.8.6 封装移动代码398
9.8.7 java安全性400
9.9 有关安全性研究401
9.10 小结401
习题402
第10章 实例研究1:linux 405
10.1 unix与linux的历史405
10.1.1 unics 405
10.1.2 pdp-11 unix 406
10.1.3 可移植的unix 406
10.1.4 berkeley unix 407
10.1.5 标准unix 407
10.1.6 minix 408
10.1.7 linux 409
10.2 linux概述410
10.2.1 linux的设计目标410
10.2.2 到linux的接口411
10.2.3 shell 412
10.2.4 linux应用程序413
10.2.5 内核结构414
10.3 linux中的进程416
10.3.1 基本概念416
10.3.2 linux中进程管理相关的系统调用418
10.3.3 linux中进程与线程的实现420
10.3.4 linux中的调度424
10.3.5 启动linux系统426
10.4 linux中的内存管理427
10.4.1 基本概念427
10.4.2 linux中的内存管理系统调用429
10.4.3 linux中内存管理的实现430
10.4.4 linux中的分页434
10.5 linux中的i/o系统435
10.5.1 基本概念435
10.5.2 网络436
10.5.3 linux的输入/输出系统调用437
10.5.4 输入/输出在linux中的实现437
10.5.5 linux中的模块439
10.6 linux文件系统440
10.6.1 基本概念440
10.6.2 linux的文件系统调用442
10.6.3 linux文件系统的实现444
10.6.4 nfs:网络文件系统449
10.7 linux的安全性453
10.7.1 基本概念453
10.7.2 linux中安全相关的系统调用454
10.7.3 linux中的安全实现455
10.8 小结455
习题456
第11章 实例研究2:windows vista 459
11.1 windows vista的历史459
11.1.1 20世纪80年代:ms-dos 459
11.1.2 20世纪90年代:基于ms-dos的windows 460
11.1.3 21世纪:基于nt的windows 460
11.1.4 windows vista 462
11.2 windows vista编程462
11.2.1 内部nt应用编程接口463
11.2.2 win32应用编程接口465
11.2.3 windows注册表467
11.3 系统结构468
11.3.1 操作系统结构469
11.3.2 启动windows vista 476
11.3.3 对象管理器的实现477
11.3.4 子系统、dll和用户态服务483
11.4 windows vista中的进程和线程484
11.4.1 基本概念484
11.4.2 作业、进程、线程和纤程管理api调用487
11.4.3 进程和线程的实现490
11.5 内存管理494
11.5.1 基本概念494
11.5.2 内存管理系统调用496
11.5.3 存储管理的实现497
11.6 windows vista的高速缓存502
11.7 windows vista的输入/输出504
11.7.1 基本概念504
11.7.2 输入/输出api调用504
11.7.3 i/o实现506
11.8 windows nt文件系统509
11.8.1 基本概念510
11.8.2 ntfs文件系统的实现510
11.9 windows vista中的安全516
11.9.1 基本概念516
11.9.2 安全相关的api调用518
11.9.3 安全性的实现518
11.10 小结519
习题520
第12章 实例研究3:symbian操作系统522
12.1 symbian操作系统的历史522
12.1.1 symbian操作系统的起源:psion和epoc 522
12.1.2 symbian操作系统版本6 523
12.1.3 symbian操作系统版本7 523
12.1.4 今天的symbian操作系统523
12.2 symbian操作系统概述523
12.2.1 面向对象524
12.2.2 微内核设计524
12.2.3 symbian操作系统纳核525
12.2.4 客户机/服务器资源访问525
12.2.5 较大型操作系统的特点525
12.2.6 通信与多媒体526
12.3 symbian操作系统中的进程和线程526
12.3.1 线程和纳线程526
12.3.2 进程527
12.3.3 活动对象527
12.3.4 进程间通信527
12.4 内存管理528
12.4.1 没有虚拟内存的系统528
12.4.2 symbian操作系统的寻址方式529
12.5 输入和输出530
12.5.1 设备驱动530
12.5.2 内核扩展530
12.5.3 直接存储器访问531
12.5.4 特殊情况:存储介质531
12.5.5 阻塞i/o 531
12.5.6 可移动存储器531
12.6 存储系统532
12.6.1 移动设备文件系统532
12.6.2 symbian操作系统文件系统532
12.6.3 文件系统安全和保护532
12.7 symbian操作系统的安全533
12.8 symbian操作系统中的通信534
12.8.1 基本基础结构534
12.8.2 更仔细地观察基础结构535
12.9 小结536
习题536
第13章 操作系统设计537
13.1 设计问题的本质537
13.1.1 目标537
13.1.2 设计操作系统为什么困难538
13.2 接口设计539
13.2.1 指导原则539
13.2.2 范型540
13.2.3 系统调用接口542
13.3 实现543
13.3.1 系统结构543
13.3.2 机制与策略545
13.3.3 正交性546
13.3.4 命名546
13.3.5 绑定的时机547
13.3.6 静态与动态结构547
13.3.7 自顶向下与自底向上的实现548
13.3.8 实用技术549
13.4 性能552
13.4.1 操作系统为什么运行缓慢552
13.4.2 什么应该优化552
13.4.3 空间-时间的权衡553
13.4.4 高速缓存554
13.4.5 线索555
13.4.6 利用局部性555
13.4.7 优化常见的情况555
13.5 项目管理556
13.5.1 人月神话556
13.5.2 团队结构556
13.5.3 经验的作用558
13.5.4 没有银弹558
13.6 操作系统设计的趋势558
13.6.1 虚拟化559
13.6.2 多核芯片559
13.6.3 大型地址空间操作系统559
13.6.4 联网559
13.6.5 并行系统与分布式系统560
13.6.6 多媒体560
13.6.7 电池供电的计算机560
13.6.8 嵌入式系统560
13.6.9 传感节点561
13.7 小结561
习题561
第14章 阅读材料及参考文献563
14.1 进行深入阅读的建议563
14.1.1 简介及概要563
14.1.2 进程和线程563
14.1.3 存储管理564
14.1.4 输入/输出564
14.1.5 文件系统564
14.1.6 死锁564
14.1.7 多媒体操作系统564
14.1.8 多处理机系统565
14.1.9 安全565
14.1.10 linux 566
14.1.11 windows vista 567
14.1.12 symbian操作系统567
14.1.13 设计原则567
14.2 按字母顺序排序的参考文献...568

正在读取……

这里是其它用户补充的资源(我也要补充):

暂无补充资源
正在加载,请稍等...

点击查看所有111网友评论

 

(?) [公告]留口水、评论相关规则 | [活动]每日签到 轻松领取电驴经验

    小贴士:
  1. 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  3. 勿催片。请相信驴友们对分享是富有激情的,如果确有更新版本,您一定能搜索到。
  4. 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
  5. 如果您发现自己的评论不见了,请参考以上4条。