图书介绍
操作系统概念 Java实现【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)Abraham Silberschatz,(美)Peter Baer Galvin,(美)Greg Gagne著 著
- 出版社: 北京:高等教育出版社
- ISBN:9787040283402
- 出版时间:2010
- 标注页数:853页
- 文件大小:99MB
- 文件页数:878页
- 主题词:操作系统-高等学校-教材;Java语言-程序设计-高等学校-教材
PDF下载
下载说明
操作系统概念 Java实现PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 概述3
第1章 导论3
1.1 操作系统做什么3
1.1.1 用户视角4
1.1.2 系统视角5
1.1.3 定义操作系统5
1.2 计算机系统组织6
1.2.1 计算机系统操作6
1.2.2 存储结构7
1.2.3 I/O结构9
1.3 计算机系统体系结构11
1.3.1 单处理器系统11
1.3.2 多处理器系统11
1.3.3 集群系统13
1.4 操作系统结构14
1.5 操作系统操作16
1.5.1 双重模式操作16
1.5.2 定时器18
1.6 进程管理18
1.7 内存管理19
1.8 存储管理20
1.8.1 文件系统管理20
1.8.2 大容量存储器管理21
1.8.3 高速缓存21
1.8.4 I/O系统23
1.9 保护和安全24
1.10 分布式系统25
1.11 专用系统26
1.11.1 实时嵌入式系统26
1.11.2 多媒体系统27
1.11.3 手持系统27
1.12 计算环境28
1.12.1 传统计算28
1.12.2 客户机-服务器计算29
1.12.3 对等计算29
1.12.4 基于Web的计算30
1.13 小结30
习题32
文献注记33
第2章 操作系统结构35
2.1 操作系统服务35
2.2 操作系统的用户界面37
2.2.1 命令解释程序37
2.2.2 图形用户界面37
2.2.3 界面选择38
2.3 系统调用38
2.4 系统调用类型42
2.4.1 进程控制42
2.4.2 文件管理46
2.4.3 设备管理47
2.4.4 信息维护47
2.4.5 通信48
2.5 系统程序48
2.6 操作系统设计和实现49
2.6.1 设计目标49
2.6.2 机制与策略50
2.6.3 实现50
2.7 操作系统结构51
2.7.1 简单结构51
2.7.2 分层法52
2.7.3 微内核54
2.7.4 模块55
2.8 虚拟机56
2.8.1 实现58
2.8.2 优点58
2.8.3 实例:VMware59
2.9 Java60
2.9.1 Java编程语言60
2.9.2 Java API60
2.9.3 Java虚拟机60
2.9.4 Java开发环境61
2.9.5 Java操作系统62
2.10 操作系统生成64
2.11 系统启动65
2.12 小结66
习题67
项目:向Linux内核增加一个系统调用68
文献注记71
第二部分 进程管理75
第3章 进程75
3.1 进程概念75
3.1.1 进程75
3.1.2 进程状态76
3.1.3 进程控制块77
3.1.4 线程77
3.2 进程调度78
3.2.1 调度队列78
3.2.2 调度程序81
3.2.3 上下文切换82
3.3 进程操作83
3.3.1 进程创建83
3.3.2 进程终止87
3.4 进程间通信89
3.4.1 共享内存系统90
3.4.2 消息传递系统93
3.5 IPC系统的实例97
3.5.1 Mach97
3.5.2 Windows XP99
3.6 客户机-服务器通信100
3.6.1 套接字100
3.6.2 远程过程调用103
3.6.3 远程方法调用106
3.7 小结110
习题111
项目:创建一个shell接口113
文献注记115
第4章 线程117
4.1 概述117
4.1.1 动机117
4.1.2 优点118
4.2 多线程模型119
4.2.1 多对一模型119
4.2.2 一对一模型120
4.2.3 多对多模型120
4.3 线程库121
4.3.1 Pthread122
4.3.2 Win32线程123
4.4 Java线程125
4.4.1 Java线程状态127
4.4.2 JVM和宿主操作系统128
4.4.3 生产者-消费者问题的多线程解决方案128
4.5 多线程问题130
4.5.1 系统调用fork()和exec()130
4.5.2 取消131
4.5.3 信号处理132
4.5.4 线程池134
4.5.5 线程特定数据136
4.5.6 调度程序激活137
4.6 操作系统实例138
4.6.1 Windows XP线程138
4.6.2 Linux线程140
4.7 小结140
习题141
项目:矩阵乘法143
文献注记146
第5章 CPU调度147
5.1 基本概念147
5.1.1 CPU-I/O区间周期147
5.1.2 CPU调度程序148
5.1.3 抢占调度148
5.1.4 分派程序149
5.2 调度准则150
5.3 调度算法151
5.3.1 先到先服务调度151
5.3.2 最短作业优先调度152
5.3.3 优先级调度154
5.3.4 轮转调度155
5.3.5 多级队列调度158
5.3.6 多级反馈队列调度159
5.4 多处理器调度161
5.4.1 多处理器调度的方法161
5.4.2 处理器亲和性161
5.4.3 负载平衡162
5.4.4 对称多线程162
5.5 线程调度163
5.5.1 竞争范围163
5.5.2 Pthread调度164
5.6 操作系统实例166
5.6.1 Solaris调度166
5.6.2 Windows XP调度168
5.6.3 Linux调度170
5.7 Java调度171
5.7.1 线程优先级172
5.7.2 Solaris上的Java线程调度174
5.8 算法评估175
5.8.1 确定性建模175
5.8.2 排队模型177
5.8.3 模拟177
5.8.4 实现178
5.9 小结179
习题180
文献注记182
第6章 进程同步183
6.1 背景183
6.2 临界区问题185
6.3 Peterson算法186
6.4 硬件同步187
6.5 信号量190
6.5.1 用法190
6.5.2 实现192
6.5.3 死锁与饥饿194
6.6 经典同步问题194
6.6.1 有限缓冲问题194
6.6.2 读者-写者问题197
6.6.3 哲学家进餐问题202
6.7 管程203
6.7.1 使用204
6.7.2 哲学家就餐问题的管程解决方案206
6.8 Java同步208
6.8.1 有限缓冲区208
6.8.2 多重通知213
6.8.3 读者-写者问题214
6.8.4 块同步216
6.8.5 同步规则217
6.8.6 处理InterruptedException218
6.8.7 Java并发特性218
6.9 同步实例221
6.9.1 Solaris同步222
6.9.2 Windows XP同步223
6.9.3 Linux同步224
6.9.4 Pthread同步224
6.10 原子事务225
6.10.1 系统模型225
6.10.2 基于日志的恢复226
6.10.3 检查点227
6.10.4 并发原子操作227
6.11 小结231
习题232
文献注记238
第7章 死锁240
7.1 系统模型240
7.2 死锁特征242
7.2.1 必要条件242
7.2.2 资源分配图242
7.3 死锁处理方法246
7.3.1 三种主要方法246
7.3.2 Java中的死锁处理247
7.4 死锁预防250
7.4.1 互斥250
7.4.2 占有并等待250
7.4.3 非抢占251
7.4.4 循环等待251
7.5 死锁避免252
7.5.1 安全状态253
7.5.2 资源分配图算法254
7.5.3 银行家算法255
7.6 死锁检测258
7.6.1 每种资源类型只有单个实例258
7.6.2 每种资源类型可有多个实例259
7.6.3 应用检测算法260
7.7 死锁恢复261
7.7.1 进程终止261
7.7.2 资源抢占262
7.8 小结262
习题263
项目:银行家算法265
文献注记267
第三部分 内存管理271
第8章 内存管理271
8.1 背景271
8.1.1 基本硬件271
8.1.2 地址绑定273
8.1.3 逻辑地址空间与物理地址空间275
8.1.4 动态加载276
8.1.5 动态链接与共享库276
8.2 交换277
8.3 连续内存分配279
8.3.1 内存映射与保护279
8.3.2 内存分配280
8.3.3 碎片281
8.4 分页282
8.4.1 基本方法283
8.4.2 硬件支持287
8.4.3 保护289
8.4.4 共享页290
8.5 页表结构291
8.5.1 层次页表292
8.5.2 哈希页表294
8.5.3 反向页表295
8.6 分段296
8.6.1 基本方法296
8.6.2 硬件298
8.7 实例:Intel Pentium299
8.7.1 Pentium分段300
8.7.2 Pentium分页300
8.7.3 Pentium系统上的Linux302
8.8 小结303
习题304
文献注记305
第9章 虚拟内存307
9.1 背景307
9.2 按需调页310
9.2.1 基本概念310
9.2.2 按需调页的性能314
9.3 写时复制316
9.4 页面置换317
9.4.1 基本页置换318
9.4.2 FIFO页置换321
9.4.3 最优置换322
9.4.4 LRU页置换323
9.4.5 近似LRU页置换325
9.4.6 基于计数的页置换327
9.4.7 页缓冲算法327
9.4.8 应用程序与页置换328
9.5 帧分配328
9.5.1 帧的最少数量328
9.5.2 分配算法329
9.5.3 全局分配与局部分配330
9.6 系统颠簸331
9.6.1 系统颠簸的原因331
9.6.2 工作集合模型334
9.6.3 页错误频率335
9.7 内存映射文件336
9.7.1 基本机制336
9.7.2 Java中的内存映射文件338
9.7.3 内存映射I/O339
9.8 内核内存的分配340
9.8.1 Buddy系统340
9.8.2 slab分配341
9.9 其他考虑343
9.9.1 预调页343
9.9.2 页大小343
9.9.3 TLB范围344
9.9.4 反向页表345
9.9.5 程序结构345
9.9.6 I/O互锁346
9.10 操作系统实例348
9.10.1 Windows XP348
9.10.2 Solaris349
9.11 小结350
习题351
文献注记354
第四部分 存储管理357
第10章 文件系统接口357
10.1 文件概念357
10.1.1 文件属性358
10.1.2 文件操作358
10.1.3 打开与关闭文件359
10.1.4 文件类型360
10.1.5 文件结构362
10.1.6 内部文件结构363
10.1.7 文件加锁363
10.2 访问方法365
10.2.1 顺序访问365
10.2.2 直接访问365
10.2.3 其他访问方式366
10.3 目录结构367
10.3.1 存储结构368
10.3.2 目录概述368
10.3.3 单层结构目录369
10.3.4 双层结构目录369
10.3.5 树状结构目录371
10.3.6 无环图目录373
10.3.7 通用图目录375
10.4 文件系统安装376
10.5 文件共享378
10.5.1 多用户378
10.5.2 远程文件系统379
10.5.3 一致性语义382
10.6 保护383
10.6.1 访问类型383
10.6.2 访问控制384
10.6.3 其他保护方式386
10.7 小结387
习题388
文献注记388
第11章 文件系统实现390
11.1 文件系统结构390
11.2 文件系统实现392
11.2.1 概述392
11.2.2 分区与安装394
11.2.3 虚拟文件系统395
11.3 目录实现397
11.3.1 线性列表397
11.3.2 哈希表397
11.4 分配方法398
11.4.1 连续分配398
11.4.2 链接分配400
11.4.3 索引分配402
11.4.4 性能405
11.5 空闲空间管理406
11.5.1 位向量406
11.5.2 链表407
11.5.3 组407
11.5.4 计数408
11.6 效率与性能408
11.6.1 效率408
11.6.2 性能409
11.7 恢复411
11.7.1 一致性检查411
11.7.2 备份和恢复412
11.8 基于日志结构的文件系统412
11.9 NFS414
11.9.1 概述414
11.9.2 安装协议416
11.9.3 NFS协议416
11.9.4 路径名转换417
11.9.5 远程操作418
11.10 实例:WAFL文件系统419
11.11 小结421
习题421
项目:设计一个文件系统422
文献注记428
第12章 大容量存储器的结构429
12.1 大容量存储器结构简介429
12.1.1 磁盘429
12.1.2 磁带431
12.2 磁盘结构431
12.3 磁盘附属432
12.3.1 主机附属存储432
12.3.2 网络附属存储433
12.3.3 存储区域网络433
12.4 磁盘调度434
12.4.1 FCFS调度435
12.4.2 SSTF调度435
12.4.3 SCAN调度436
12.4.4 C-SCAN调度437
12.4.5 LOOK调度437
12.4.6 磁盘调度算法的选择438
12.5 磁盘管理439
12.5.1 磁盘格式化440
12.5.2 引导块441
12.5.3 坏块442
12.6 交换空间管理443
12.6.1 交换空间的使用443
12.6.2 交换空间位置443
12.6.3 实例:交换空间管理444
12.7 RAID结构445
12.7.1 通过冗余改善可靠性445
12.7.2 通过并行处理改善性能446
12.7.3 RAID级别447
12.7.4 RAID级别的选择451
12.7.5 扩展451
12.7.6 RAID的问题452
12.8 稳定存储实现452
12.9 第三级存储结构453
12.9.1 第三级存储设备454
12.9.2 操作系统支持456
12.9.3 性能458
12.10 小结462
习题463
文献注记466
第13章 I/O输入系统468
13.1 概述468
13.2 I/O硬件469
13.2.1 轮询471
13.2.2 中断472
13.2.3 直接内存访问475
13.2.4 I/O硬件小结476
13.3 I/O应用接口477
13.3.1 块与字符设备479
13.3.2 网络设备480
13.3.3 时钟与定时器480
13.3.4 阻塞与非阻塞I/O481
13.4 I/O内核子系统482
13.4.1 I/O调度482
13.4.2 缓冲483
13.4.3 高速缓存484
13.4.4 假脱机与设备预留485
13.4.5 错误处理485
13.4.6 I/O保护486
13.4.7 内核数据结构487
13.4.8 内核I/O子系统小结488
13.5 把I/O操作转换成硬件操作488
13.6 流490
13.7 性能492
13.8 小结494
习题495
文献注记496
第五部分 保护与安全499
第14章 保护499
14.1 保护目标499
14.2 保护原则500
14.3 保护域501
14.3.1 域结构501
14.3.2 实例:UNIX503
14.3.3 实例:MULTICS504
14.4 访问矩阵505
14.5 访问矩阵的实现509
14.5.1 全局表509
14.5.2 对象的访问列表509
14.5.3 域的权限列表509
14.5.4 锁-钥匙机制510
14.5.5 比较510
14.6 访问控制511
14.7 访问权限的撤回512
14.8 面向权限的系统514
14.8.1 实例:Hydra514
14.8.2 实例:剑桥CAP系统515
14.9 基于语言的保护516
14.9.1 基于编译程序的强制516
14.9.2 Java的保护518
14.10 小结521
习题521
文献注记522
第15章 安全523
15.1 安全问题523
15.2 程序威胁526
15.2.1 特洛伊木马526
15.2.2 后门527
15.2.3 逻辑炸弹528
15.2.4 栈和缓冲区溢出528
15.2.5 病毒531
15.3 系统和网络威胁534
15.3.1 蠕虫534
15.3.2 端口扫描537
15.3.3 拒绝服务538
15.4 作为安全工具的密码术539
15.4.1 加密540
15.4.2 密码术的实现545
15.4.3 实例:SSL547
15.5 用户验证549
15.5.1 密码549
15.5.2 密码脆弱的一面549
15.5.3 密码加密551
15.5.4 一次性密码551
15.5.5 生物测定学552
15.6 实现安全防御553
15.6.1 安全策略553
15.6.2 脆弱性评估553
15.6.3 入侵检测555
15.6.4 病毒防护557
15.6.5 审计、会计和日志559
15.7 保护系统和网络的防火墙559
15.8 计算机安全分类561
15.9 实例:Windows XP562
15.10 小结564
习题565
文献注记565
第六部分 分布式系统571
第16章 分布式系统结构571
16.1 动机571
16.1.1 资源共享571
16.1.2 加快计算速度572
16.1.3 可靠性572
16.1.4 通信573
16.2 分布式操作系统的类型573
16.2.1 网络操作系统573
16.2.2 分布式操作系统575
16.3 网络结构577
16.3.1 局域网577
16.3.2 广域网578
16.4 网络拓扑结构579
16.5 通信结构581
16.5.1 命名和名字解析581
16.5.2 路由策略583
16.5.3 包策略584
16.5.4 连接策略585
16.5.5 竞争585
16.6 通信协议586
16.7 稳健性589
16.7.1 故障检测589
16.7.2 重构590
16.7.3 故障恢复590
16.8 设计事项590
16.9 实例:连网592
16.10 小结594
习题594
项目:设计一个Web服务器595
文献注记599
第17章 分布式文件系统601
17.1 背景601
17.2 命名和透明性602
17.2.1 命名结构603
17.2.2 命名方案604
17.2.3 实现技术605
17.3 远程文件访问605
17.3.1 基本的缓存设计606
17.3.2 缓存位置606
17.3.3 缓存更新策略607
17.3.4 一致性608
17.3.5 高速缓存和远程服务的比较609
17.4 有状态服务和无状态服务610
17.5 文件复制612
17.6 实例:AFS612
17.6.1 概述613
17.6.2 共享名称空间614
17.6.3 文件操作和一致性语义615
17.6.4 实现616
17.7 小结617
习题618
文献注记618
第18章 分布式协调619
18.1 事件排序619
18.1.1 事前关系619
18.1.2 实现620
18.2 互斥621
18.2.1 集中式算法621
18.2.2 完全分布式的算法622
18.2.3 令牌传递算法623
18.3 原子性624
18.3.1 两阶段提交协议624
18.3.2 2PC中的错误处理625
18.4 并发控制626
18.4.1 加锁协议627
18.4.2 时间戳629
18.5 死锁处理630
18.5.1 死锁预防和避免630
18.5.2 死锁检测631
18.6 选举算法636
18.6.1 Bully算法636
18.6.2 环算法637
18.7 达成一致638
18.7.1 不可靠通信638
18.7.2 出错进程639
18.8 小结640
习题640
文献注记641
第七部分 特殊用途系统645
第19章 实时系统645
19.1 概述645
19.2 系统特性646
19.3 实时内核特性647
19.4 实现实时操作系统649
19.4.1 基于优先级的调度649
19.4.2 抢占式内核650
19.4.3 最小化延迟650
19.5 实时CPU调度652
19.5.1 单调速率调度653
19.5.2 最早截止期限优先调度算法655
19.5.3 按比例分享调度656
19.5.4 Pthread调度656
19.6 VxWorks 5.x657
19.7 小结659
习题660
文献注记660
第20章 多媒体系统661
20.1 什么是多媒体661
20.1.1 媒体传送661
20.1.2 多媒体系统的特点663
20.1.3 操作系统问题663
20.2 压缩664
20.3 多媒体内核的要求665
20.4 CPU调度667
20.5 磁盘调度668
20.5.1 最早期限优先调度668
20.5.2 SCAN-EDF调度668
20.6 网络管理669
20.6.1 单播和多播670
20.6.2 实时流协议671
20.7 实例:CineBlitz673
20.7.1 磁盘调度673
20.7.2 接纳控制673
20.8 小结675
习题675
文献注记676
第八部分 案例研究679
第21章 Linux系统679
21.1 Linux发展历程679
21.1.1 Linux内核680
21.1.2 Linux系统682
21.1.3 Linux发行版682
21.1.4 Linux许可683
21.2 设计原则683
21.2.1 Linux系统的组件684
21.3 内核模块686
21.3.1 模块管理686
21.3.2 驱动程序注册687
21.3.3 冲突解决688
21.4 进程管理688
21.4.1 fork()和exec()进程模式689
21.4.2 进程与线程691
21.5 调度691
21.5.1 进程调度691
21.5.2 内核同步693
21.5.3 对称多处理技术695
21.6 内存管理696
21.6.1 物理内存管理696
21.6.2 虚拟内存699
21.6.3 执行与装入用户程序701
21.7 文件系统703
21.7.1 虚拟文件系统704
21.7.2 Linux ext2fs文件系统705
21.7.3 日志707
21.7.4 Linux进程文件系统708
21.8 输入与输出709
21.8.1 块设备710
21.8.2 字符设备711
21.9 进程间通信711
21.9.1 同步与信号711
21.9.2 进程间数据传输712
21.10 网络结构712
21.11 安全714
21.11.1 认证715
21.11.2 访问控制715
21.12 小结716
习题717
文献注记718
第22章 Windows XP719
22.1 历史719
22.2 设计原则720
22.2.1 安全性721
22.2.2 可靠性721
22.2.3 Windows和POSIX应用程序的兼容性721
22.2.4 高性能721
22.2.5 可扩展性722
22.2.6 可移植性722
22.2.7 国际支持723
22.3 系统组件723
22.3.1 硬件抽象层723
22.3.2 内核724
22.3.3 执行体728
22.4 环境子系统744
22.4.1 MS-DOS环境744
22.4.2 16位Windows环境745
22.4.3 IA64上的32位Windows环境745
22.4.4 Win32环境746
22.4.5 POSIX子系统746
22.4.6 登录与安全子系统747
22.5 文件系统747
22.5.1 NTFS内部布局747
22.5.2 恢复749
22.5.3 安全750
22.5.4 卷管理和容错750
22.5.5 压缩与加密753
22.5.6 安装点754
22.5.7 变更日志754
22.5.8 卷影子副本754
22.6 网络755
22.6.1 网络接口755
22.6.2 协议755
22.6.3 分布式处理机制757
22.6.4 重定向器与服务器758
22.6.5 域759
22.6.6 活动目录760
22.6.7 TCP/IP网络的名称解析760
22.7 程序接口761
22.7.1 访问内核对象761
22.7.2 进程间共享对象761
22.7.3 进程管理763
22.7.4 进程间通信765
22.7.5 内存管理766
22.8 小结768
习题768
文献注记768
第23章 有影响的操作系统770
23.1 早期系统770
23.1.1 专用计算机系统770
23.1.2 共享计算机系统771
23.1.3 I/O叠加774
23.2 Atlas776
23.3 XDS-940776
23.4 THE777
23.5 RC4000778
23.6 CTSS779
23.7 MULTICS779
23.8 IBM OS/360780
23.9 Mach781
23.10 其他系统782
习题783
参考文献784
原版相关内容引用表809
英汉名词对照表810
热门推荐
- 3306263.html
- 2963409.html
- 60967.html
- 778743.html
- 232860.html
- 3761795.html
- 1187777.html
- 3389239.html
- 994727.html
- 835829.html
- http://www.ickdjs.cc/book_2584650.html
- http://www.ickdjs.cc/book_2250389.html
- http://www.ickdjs.cc/book_3262572.html
- http://www.ickdjs.cc/book_1306306.html
- http://www.ickdjs.cc/book_3153653.html
- http://www.ickdjs.cc/book_445295.html
- http://www.ickdjs.cc/book_2486141.html
- http://www.ickdjs.cc/book_2044010.html
- http://www.ickdjs.cc/book_1318275.html
- http://www.ickdjs.cc/book_1638689.html