注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统操作系统理论现代操作系统

现代操作系统

现代操作系统

定 价:¥40.00

作 者: Andrew S.Tanenbaum著;陈向群等译
出版社: 机械工业出版社
丛编项: 计算机科学丛书
标 签: 暂缺

ISBN: 9787111071174 出版时间: 1999-01-01 包装: 胶版纸
开本: 26cm 页数: 502 字数:  

内容简介

  本书共分两部分,第一部分详尽讲述了传统操作系统知识,包括进程、存储器管理、文件系统、I/O设备管理、死锁等内容;第二部分主要介绍了分布式操作系统,包括层次协议、远程过程调用、互斥操作、分布式文件系统等专题。为加深概念的理解,本书还详细介绍了四个操作系统,包括两个传统的系统UNIX和MS-DOS ;两个分布式系统Amoeba和Mach。此外还简要介绍了NFS、AFS、ISIS等其他几个系统。本书体系完整、内容丰富、叙述清晰,是大学计算机及相关专业学生不可多得的教科书,对于从事计算机管理、开发、系统分析等职业的专业人员也是优秀的参考书。

作者简介

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

图书目录

目      录
译者序
前言
第一部分   传统操作系统
第1章   引言 1
1.1   什么是操作系统 2
1.1.1   作为扩展机器的操作系统 2
1.1.2   作为资源管理器的操作系统 3
1.2   操作系统历史 3
1.2.1   第一代计算机(1945~1955):
           真空管和插件板 3
1.2.2   第二代计算机(1955~1965):
           晶体管和批处理系统 4
1.2.3   第三代计算机(1965~1980):
           集成电路芯片和多道程序 5
1.2.4   第四代计算机(1980~1990):
           个人计算机 7
1.3   操作系统基本概念 8
1.3.1   进程 8
1.3.2   文件 9
1.3.3   系统调用 11
1.3.4   外壳 12
1.4   操作系统结构 12
1.4.1   整体式系统 12
1.4.2   层次式系统 14
1.4.3   虚拟机 14
1.4.4   客户机/服务器系统 15
1.5   本书其他部分的概要 16
1.6   小结 17
习题 18
第2章   进程 19
2.1   进程介绍 19
2.1.1   进程模型 19
2.1.2   进程的实现 22
2.2   进程间通信 23
2.2.1   竞争条件 23
2.2.2   临界区 24
2.2.3   忙等待的互斥 24
2.2.4   睡眠与唤醒 27
2.2.5   信号量 29
2.2.6   事件计数器 31
2.2.7   管程 32
2.2.8   消息传递 34
2.2.9   原语等价 36
2.3   经典的IPC问题 39
2.3.1   哲学家进餐问题 39
2.3.2   读者-写者问题 41
2.3.3   睡眠的理发师问题 42
2.4   进程调度 44
2.4.1   时间片轮转调度 45
2.4.2   优先级调度 45
2.4.3   多级队列 46
2.4.4   最短作业优先 47
2.4.5   保证调度算法 48
2.4.6   策略与机制 48
2.4.7   两级调度法 48
2.5   小结 49
习题 49
第3章   存储管理 52
3.1   无交换或分页的存储管理 52
3.1.1   无交换或分页的单道程序 52
3.1.2   多道程序设计和内存利用率 53
3.1.3   固定分区的多道程序 55
3.2   交换 56
3.2.1   可变分区的多道程序设计 57
3.2.2   使用位图的内存管理 58
3.2.3   使用链表的内存管理 59
3.2.4   伙伴式的内存管理 60
3.2.5   交换空间的分配 61
3.2.6   交换系统分析 62
3.3   虚拟存储器 62
3.3.1   分页 63
3.3.2   页表 65
3.3.3   分页硬件示例 67
3.3.4   相联存储器 72
3.4   页面置换算法 75
3.4.1   最优页面置换算法 75
3.4.2   最近未使用页面置换算法 76
3.4.3   先进先出页面置换算法 76
3.4.4   第二次机会页面置换算法 77
3.4.5   时钟页面置换算法 77
3.4.6   最久未使用页面置换算法 78
3.4.7   用软件模拟LRU 79
3.5   分页算法模型 80
3.5.1   Belady异常现象 80
3.5.2   栈式算法 81
3.5.3   距离字符串 82
3.5.4   缺页率预测 83
3.6   分页系统中的设计问题 83
3.6.1   工作集模型 83
3.6.2   局部与全局分配策略 84
3.6.3   页面尺寸 86
3.6.4   实现时涉及的问题 86
3.7   分段 89
3.7.1   纯分段系统的实现 91
3.7.2   分段和分页结合:MULTICS 92
3.7.3   分段和分页结合:Intel的386 95
3.8   小结 98
习题 98
第4章   文件系统 101
4.1   文件 101
4.1.1   文件命名 101
4.1.2   文件结构 102
4.1.3   文件类型 103
4.1.4   文件存取 105
4.1.5   文件属性 105
4.1.6   文件操作 106
4.1.7   存储映像文件 109
4.2   目录 110
4.2.1   层次目录系统 110
4.2.2   路径名 111
4.2.3   目录操作 113
4.3   文件系统的实现 113
4.3.1   实现文件 113
4.3.2   实现目录 115
4.3.3   共享目录 117
4.3.4   磁盘空间管理 118
4.3.5   文件系统的可靠性 121
4.3.6   文件系统性能 124
4.4   安全性 126
4.4.1   安全环境 126
4.4.2   著名的安全缺陷 127
4.4.3   Internet蠕虫 129
4.4.4   一般的安全性攻击 130
4.4.5   安全性的设计原则 131
4.4.6   用户验证 132
4.5   保护机制 134
4.5.1   保护域 134
4.5.2   存取控制表 136
4.5.3   权限 137
4.5.4   保护模型 138
4.5.5   隐藏通道 139
4.6   小结 140
习题 140
第5章   I/O设备管理 143
5.1   I/O硬件组成原理 143
5.1.1   I/O设备 143
5.1.2   设备控制器 144
5.1.3   直接存储器存取 145
5.2   I/O软件原理 146
5.2.1   I/O软件的目标 146
5.2.2   中断处理程序 147
5.2.3   设备驱动程序 148
5.2.4   与设备无关的I/O软件 148
5.2.5   用户空间的I/O软件 149
5.3   磁盘 151
5.3.1   磁盘硬件 151
5.3.2   磁盘调度算法 151
5.3.3   磁盘出错处理 153
5.3.4   “每次一道”高速缓冲 154
5.3.5   RAM 盘 154
5.4   时钟 155
5.4.1   时钟硬件 155
5.4.2   时钟软件 156
5.5   终端 158
5.5.1   终端硬件 158
5.5.2   存储映像终端 159
5.5.3   输入软件 160
5.5.4   输出软件 163
5.6   小结 164
习题 165
第6章   死锁 167
6.1   资源 167
6.2   死锁定义 168
6.2.1   死锁的条件 168
6.2.2   死锁模型 169
6.3   鸵鸟算法 170
6.4   死锁检测和恢复 171
6.4.1   单种资源类型下的死锁检测 171
6.4.2   多种资源类型下的死锁检测 173
6.4.3   从死锁恢复 174
6.5   死锁避免 175
6.5.1   资源轨迹图 176
6.5.2   安全和不安全状态 177
6.5.3   单种资源的银行家算法 178
6.5.4   多种资源的银行家算法 178
6.6   死锁预防 179
6.6.1   破坏互斥条件 180
6.6.2   破坏占有和等待条件 180
6.6.3   破坏不可剥夺条件 180
6.6.4   破坏循环等待条件 180
6.7   其他问题 181
6.7.1   两阶段加锁 181
6.7.2   非资源死锁 182
6.7.3   饥饿 182
6.8   小结 182
习题 183
第7章   实例研究1:UNIX 185
7.1   UNIX的历史 185
7.1.1   UNICS 185
7.1.2   PDP-11 UNIX 186
7.1.3   可移植的UNIX 186
7.1.4   伯克利UNIX 187
7.1.5   UNIX的标准化 187
7.2   UNIX概述 189
7.2.1   设计目标 189
7.2.2   接口 190
7.2.3   登录 190
7.2.4   shell 191
7.2.5   文件和目录 193
7.2.6   应用程序 194
7.3   UNIX的一些基础概念 195
7.3.1   进程 196
7.3.2   内存管理模式 199
7.3.3   文件系统 200
7.3.4   I/O设备 203
7.4   UNIX 的系统调用 205
7.4.1   进程管理系统调用 205
7.4.2   内存管理系统调用 208
7.4.3   有关文件和目录的系统调用 208
7.4.4   I/O系统调用 209
7.5   UNIX的实现 209
7.5.1   进程的实现 210
7.5.2   内存管理的实现 212
7.5.3   文件系统的实现 215
7.5.4   I/O实现 217
7.6   小结 218
习题 219
第8章   实例研究2:MS-DOS 221
8.1   MS-DOS的历史 221
8.1.1   IBM PC 221
8.1.2   MS-DOS 1.0 222
8.1.3   MS-DOS 2.0 223
8.1.4   MS-DOS 3.0 223
8.1.5   MS-DOS 4.0 224
8.1.6   MS-DOS 5.0 224
8.2   MS-DOS 概述 225
8.2.1   使用 226
8.2.2   shell 228
8.2.3   配置 229
8.3   MS-DOS 的基本概念 230
8.3.1   进程 230
8.3.2   内存模式 233
8.3.3   文件系统 240
8.3.4   I/O设备 241
8.4   MS-DOS的系统调用 242
8.4.1   进程管理系统调用 243
8.4.2   内存管理系统调用 243
8.4.3   文件与目录系统调用 244
8.4.4   I/O系统调用 244
8.5   MS-DOS的实现 244
8.5.1   进程的实现 245
8.5.2   内存管理的实现 246
8.5.3   文件系统的实现 247
8.5.4   I/O的实现 250
8.6   小结 252
习题 253
第二部分   分布式操作系统
第9章      分布式操作系统概述 255
9.1   目标 255
9.1.1   分布式系统相对于集中式系统
           的优点 255
9.1.2   分布式系统相对于独立PC机
           的优点 256
9.1.3   分布式系统的缺点 257
9.2   硬件上的概念 258
9.2.1   总线型多处理机 259
9.2.2   交换型多处理机 260
9.2.3   总线型多计算机 261
9.2.4   交换型多计算机 262
9.3   软件上的概念 262
9.3.1   网络操作系统和网络文件系统 263
9.3.2   真正的分布式系统 269
9.3.3   多处理机分时系统 269
9.4   设计上的考虑 271
9.4.1   透明性 271
9.4.2   灵活性 273
9.4.3   可靠性 274
9.4.4   性能 275
9.4.5   可扩展性 276
9.5   小结 277
习题 277
第10章   分布式系统中的通信问题 279
10.1   分层协议 279
10.1.1   物理层 281
10.1.2   数据链路层 282
10.1.3   网络层 282
10.1.4   传输层 283
10.1.5   会话层 283
10.1.6   表示层 283
10.1.7   应用层 284
10.2   客户-服务器模型 284
10.2.1   客户和服务器 284
10.2.2   一个客户和服务器的实例 285
10.2.3   寻址 288
10.2.4   阻塞与非阻塞原语 289
10.2.5   缓冲和非缓冲原语 291
10.2.6   可靠和不可靠原语 293
10.2.7   实现客户-服务器模型 294
10.3   远程过程调用 295
10.3.1   基本的RPC操作 296
10.3.2   参数传递 298
10.3.3   动态联编 301
10.3.4   出现差错时的RPC语义 303
10.3.5   与实现相关的论题 306
10.3.6   问题域 313
10.4   组通信 315
10.4.1   组通信入门 315
10.4.2   与设计有关的问题 316
10.4.3   ISIS中的组通信 322
10.5   小结 324
习题 325
第11章   分布式系统中的同步 327
11.1   时钟同步 327
11.1.1   逻辑时钟 328
11.1.2   物理时钟 331
11.1.3   时钟同步算法 333
11.2   互斥 336
11.2.1   集中式算法 336
11.2.2   分布式算法 337
11.2.3   令牌环算法 339
11.2.4   三种算法的比较 340
11.3   选举算法 341
11.3.1   Bully算法 341
11.3.2   环算法 342
11.4   原子事务 343
11.4.1   原子事务简介 343
11.4.2   事务模型 344
11.4.3   实现 347
11.4.4   并发控制 350
11.5   分布式系统中的死锁 352
11.5.1   分布式死锁的检测 353
11.5.2   分布式死锁的预防 356
11.6   小结 357
习题 357
第12章   分布式系统中的进程及
         处理器 359
12.1   线程 359
12.1.1   线程的引入 359
12.1.2   线程使用 360
12.1.3   线程包的设计问题 362
12.1.4   线程包的实现 365
12.1.5   线程和RPC 367
12.1.6   一个线程包的例子 368
12.2   系统模型 371
12.2.1   工作站模型 371
12.2.2   使用空闲工作站 373
12.2.3   处理器池模型 376
12.2.4   混合模型 378
12.3   处理器分配 378
12.3.1   分配模型 378
12.3.2   处理器分配算法的设计原则 380
12.3.3   处理器分配算法的实现问题 381
12.3.4   处理器分配算法实例 382
12.4   分布式系统中的调度 386
12.5   小结 387
习题 387
第13章   分布式文件系统 389
13.1   分布式文件系统设计 389
13.1.1   文件服务的接口 389
13.1.2   目录服务器接口 391
13.1.3   文件共享的语义 394
13.2   分布式文件系统的实现 396
13.2.1   文件的使用 396
13.2.2   系统结构 397
13.2.3   缓存区处理 400
13.2.4   复制性 40396
133.2.4菩?403 38979
拍?2?.2技⒍979

本目录推荐