上篇 1
第1章 计算机硬件基础知识 1
1.1 中央处理器 1
1.1.1 中央处理器的组成 1
1.1.2 时序产生器和控制方式 3
1.1.3 计算机的分类 4
1.1.4 指令系统 5
1.1.5 处理器性能 7
1.2 存储系统 8
1.2.1 内存 8
1.2.2 外存 9
1.2.3 硬盘技术 10
1.2.4 高速缓存 11
1.2.5 虚拟存储器 12
1.3 输入/输出设备和接口 12
1.3.1 输入/输出设备 12
1.3.2 输入/输出控制器 13
1.3.3 外设的识别 14
1.3.4 外设的访问 14
1.3.5 常见输入/输出接口 19
1.3.6 通信设备的类型和特性 21
1.3.7 传输介质 23
1.4 总线 24
1.4.1 总线的分类 24
1.4.2 PC机总线 25
1.4.3 总线仲裁 26
1.5 流水线技术 27
1.6 精简指令计算机 30
1.7 并行处理技术和并行处理机 32
1.7.1 并行性的等级 33
1.7.2 提高计算机并行性的措施 33
1.7.3 并行处理机 34
1.8 多处理机系统 35
1.8.1 访问存储器方式 36
1.8.2 互联方式 38
1.8.3 多处理机的特点 39
1.9 典型超级计算机的体系结构 40
第2章 操作系统 42
2.1 操作系统的原理、类型和结构 42
2.1.1 操作系统定义 42
2.1.2 操作系统分类 43
2.1.3 操作系统的特征 44
2.1.4 操作系统的功能 45
2.1.5 操作系统内核与中断 47
2.1.6 操作系统的结构设计模式 48
2.2 处理机与进程管理 49
2.2.1 进程的概念 49
2.2.2 进程的定义及其分类 50
2.2.3 进程的状态转换与控制 52
2.2.4 进程互斥与同步以及P,V操作 56
2.2.5 进程通信与管程 58
2.2.6 进程调度与死锁 59
2.2.7 线程 60
2.3 存储管理 60
2.3.1 存储管理的概念 60
2.3.2 单一连续区管理 61
2.3.3 分区存储管理 61
2.3.4 页式存储管理 63
2.3.5 段式存储管理 64
2.3.6 段页式存储管理 65
2.3.7 存储保护 66
2.3.8 存储管理方式比较 66
2.4 设备管理 67
2.4.1 设备管理的概念 67
2.4.2 数据传输控制方式 69
2.4.3 设备的分配 70
2.4.4 磁盘调度算法 70
2.4.5 虚设备与SPOOLING技术 71
2.5 文件管理 71
2.5.1 文件管理的概念 71
2.5.2 文件的逻辑结构和组织 73
2.5.3 文件的物理结构及组织 73
2.5.4 文件访问方法 74
2.5.5 文件存储设备管理 74
2.5.6 文件控制块和文件目录 75
2.5.7 文件的使用 76
2.6 作业管理 77
2.6.1 作业控制与作业管理 77
2.6.2 作业调度及其常用调度算法 78
2.6.3 用户接口 79
2.7 网络操作系统 79
2.7.1 网络操作系统类型及功能 79
2.7.2 NOS的组成及网络管理控制 80
2.8 常见操作系统简介 82
2.8.1 UNIX系统 82
2.8.2 Windows NT系统 85
2.8.3 Linux系统 88
第3章 嵌入式系统 91
3.1 嵌入式系统概论 91
3.1.1 嵌入式系统的基本概念 91
3.1.2 嵌入式系统的实时概念 92
3.1.3 嵌入式系统的分类 93
3.1.4 嵌入式系统的应用领域 94
3.2 嵌入式系统的基本架构 95
3.2.1 嵌入式系统的硬件架构 95
3.2.2 嵌入式系统的软件架构 97
3.3 嵌入式操作系统 98
3.3.1 嵌入式操作系统的概念与特点 98
3.3.2 嵌入式操作系统的分类 99
3.3.3 嵌入式操作系统的一般结构 99
3.3.4 嵌入式操作系统的多任务调度 100
3.3.5 嵌入式操作系统的内核对象 103
3.3.6 实时嵌入式操作系统的内核服务 111
3.3.7 内存管理 115
3.3.8 几种主要的嵌入式操作系统介绍 117
3.3.9 嵌入式系统实例解析 118
3.4 嵌入式数据库管理系统 122
3.4.1 嵌入式数据库管理系统概述 122
3.4.2 嵌入式数据库管理系统使用环境的特点 122
3.4.3 嵌入式数据库管理系统组成与关键技术 123
3.4.4 嵌入式移动数据库管理系统的应用 125
3.4.5 嵌入式数据库管理系统实例解析 125
3.5 嵌入式网络系统 127
3.5.1 现场总线网 127
3.5.2 家庭信息网 130
3.5.3 无线数据通信网 134
3.5.4 嵌入式因特网 141
3.6 嵌入式系统的其他支撑软件 142
3.6.1 嵌入式窗口系统 142
3.6.2 嵌入式窗口系统实例分析 145
3.6.3 嵌入式系统的Java虚拟机 148
3.7 嵌入式系统软件开发环境 152
3.7.1 嵌入式系统开发概述 153
3.7.2 调试方法 154
3.7.3 一般开发流程 157
3.7.4 开发环境分类 158
3.7.5 开发环境举例 158
第4章 系统性能 164
4.1 性能指标 164
4.1.1 计算机 164
4.1.2 路由器 166
4.1.3 交换机 170
4.1.4 网络 176
4.1.5 操作系统 176
4.1.6 数据库管理系统 176
4.1.7 Web服务器 177
4.2 性能计算 177
4.3 性能设计 179
4.3.1 系统调整 179
4.3.2 阿姆达尔(Amdahl)解决方案 181
4.3.3 负载均衡 181
4.3.4 服务器负载均衡 183
4.4 性能评估 184
4.4.1 基准、系统监视 184
4.4.2 Web服务器的性能评估 185
4.4.3 系统监视 186
第5章 网络应用 187
5.1 Web和Internet 187
5.1.1 Internet基础协议 188
5.1.2 Web应用 191
5.2 移动通信、卫星通信和有线电视 194
5.2.1 移动通信 194
5.2.2 卫星通信 197
5.2.3 有线电视网 198
5.3 通信服务 200
5.3.1 交换技术 200
5.3.2 ISDN技术 200
5.3.3 帧中继技术 202
5.3.4 ATM技术 205
5.3.5 租用线路 209
5.4 Web的各种负载均衡技术 210
5.5 网络存储系统 212
第6章 数据库应用 214
6.1 数据库模式与范式 214
6.1.1 数据库的结构与模式 214
6.1.2 数据模型 216
6.1.3 数据的规范化 217
6.2 SQL的数据操纵和使用 220
6.2.1 数据定义 221
6.2.2 数据查询 222
6.2.3 数据更新 225
6.2.4 视图 226
6.2.5 数据控制 227
6.3 数据库设计 228
6.3.1 数据库设计的特点 228
6.3.2 数据库设计的方法 229
6.3.3 数据库设计的基本步骤 232
6.3.4 需求分析 233
6.3.5 概念结构设计 238
6.3.6 逻辑结构设计 252
6.3.7 物理结构设计 259
6.3.8 数据库应用程序设计 262
6.4 事务管理 263
6.4.1 并发控制 263
6.4.2 故障与恢复 264
6.5 备份与恢复 266
6.6 分布式数据库系统 267
6.6.1 分布式数据库的概念 267
6.6.2 分布式数据库的体系结构 269
6.6.3 分布式数据库系统的应用 273
6.7 并行数据库系统 273
6.7.1 并行数据库系统的功能和结构 274
6.7.2 并行数据库的并行处理技术 275
6.8 数据仓库 277
6.8.1 数据仓库的概念与特性 277
6.8.2 数据仓库的结构 279
6.8.3 数据仓库的实现方法 280
6.9 数据挖掘 282
6.9.1 数据挖掘的概念 282
6.9.2 数据挖掘的功能 283
6.9.3 数据挖掘常用技术 284
6.9.4 数据挖掘的流程 285
6.10 常见的数据库管理系统 287
6.10.1 Oracle 287
6.10.2 Sybase 293
6.10.3 Informix 301
6.10.4 Microsoft SQL Server 304
第7章 多媒体技术及其应用 308
7.1 多媒体技术基本概念 308
7.2 数据编码技术 309
7.2.1 数据编码方法 309
7.2.2 数据编码标准 312
7.3 图形图像 315
7.4 音频 316
7.5 视频 318
第8章 程序语言基础知识 321
8.1 汇编系统基本原理 322
8.1.1 机器语言与汇编语言 322
8.1.2 汇编程序 322
8.1.3 装配程序 324
8.1.4 宏指令 325
8.2 编译系统基本原理 325
8.3 解释系统基本原理 326
8.4 程序语言的种类、特点及适用范围 328
第9章 开发工具 331
9.1 建模工具 331
9.2 设计工具 338
9.3 编程工具 341
9.4 测试工具 342
9.5 项目管理工具 346
第10章 开发方法 351
10.1 软件开发模型 351
10.1.1 瀑布模型 351
10.1.2 演化模型 353
10.1.3 螺旋模型 353
10.1.4 增量模型 354
10.1.5 构件组装模型 355
10.2 RUP 355
10.2.1 RUP的二维模型 355
10.2.2 RUP的生命周期 357
10.2.3 RUP的特点 357
10.2.4 架构师在RUP中的活动 357
10.3 敏捷方法 357
10.3.1 特征驱动开发FDD 358
10.3.2 精益软件开发 360
10.3.3 其他敏捷方法 362
10.4 过程成熟度级别 362
10.4.1 结构 362
10.4.2 成熟度级别 364
10.5 软件重用 365
10.5.1 软件重用 365
10.5.2 构件技术 366
10.6 SOA 368
第11章 需求分析和设计方法 370
11.1 需求分析与设计的任务 370
11.1.1 需求分析的任务与过程 370
11.1.2 软件设计的任务与活动 372
11.2 结构化分析与设计 373
11.2.1 结构化分析 373
11.2.2 结构化设计 378
11.3 面向对象的分析设计和UML 380
11.3.1 面向对象的基本概念 381
11.3.2 面向对象分析 382
11.3.3 统一建模语言UML 384
11.4 模块设计 395
11.4.1 信息隐蔽原则 395
11.4.2 模块独立性原则 395
11.5 接口设计 396
11.5.1 用户界面设计的原则 396
11.5.2 用户界面设计过程 397
第12章 测试评审方法 398
12.1 测试方法 398
12.1.1 单元测试、集成测试和系统测试 398
12.1.2 白箱测试和黑箱测试 400
12.1.3 面向对象的测试 401
12.1.4 缺陷的分类和级别 403
12.1.5 缺陷的评估和分析 404
12.1.6 排错 405
12.2 评审方法 405
12.3 测试自动化 407
12.4 测试设计和管理方法 407
12.4.1 测试设计 407
12.4.2 测试管理 409
第13章 开发管理 410
13.1 项目的范围、时间、成本 411
13.1.1 项目范围管理 411
13.1.2 项目成本管理 411
13.1.3 项目时间管理 412
13.2 配置管理、文档管理 412
13.2.1 软件配置管理的概念 413
13.2.2 软件配置管理的解决方案 414
13.2.3 软件文档管理 416
13.3 软件开发的质量与风险 419
13.3.1 软件质量管理 420
13.3.2 项目风险管理 422
13.4 人力资源管理 426
第14章 系统审计 431
14.1 系统审计的意义 431
14.2 审计方法 432
14.2.1 计划审计 432
14.2.2 开发审计 433
14.2.3 运行维护审计 434
14.2.4 管理审计 435
14.2.5 审计报告 436
14.3 审计跟踪 438
第15章 基于中间件的开发 442
15.1 中间件技术 442
15.1.1 中间件的概念 443
15.1.2 中间件的分类 444
15.1.3 中间件产品介绍 445
15.2 应用服务器技术 446
15.2.1 应用服务器的概念 446
15.2.2 主要的应用服务器 448
15.3 J2EE 449
15.3.1 表示层 450
15.3.2 应用服务层 451
15.4 .NET 453
15.4.1 .NET平台 453
15.4.2 .NET框架 455
15.5 企业应用集成 458
第16章 数据安全与保密 462
16.1 加密和解密 462
16.1.1 对称密钥密码体制及典型算法 462
16.1.2 不对称密钥加密算法 472
16.2 散列函数与数字签名 474
16.2.1 MD5散列算法 474
16.2.2 数字签名 477
16.2.3 数字水印 479
16.3 密钥分配中心与公钥基础设施 481
16.3.1 密钥分配中心 481
16.3.2 数字证书和公开密钥基础设施 483
16.4 访问控制 485
16.4.1 身份认证技术 486
16.4.2 访问控制技术 491
16.5 安全协议 493
16.5.1 IPSec协议简述 494
16.5.2 SSL协议 497
16.5.3 PGP协议 499
16.6 数据备份 502
16.6.1 备份的类型 503
16.6.2 异地备份 504
16.6.3 自动备份软件 504
16.6.4 几种新型的备份解决方案 505
16.7 安全管理技术 507
第17章 防闯入与防病毒 509
17.1 物理安全 509
17.1.1 环境安全 509
17.1.2 设备安全 509
17.1.3 媒体安全 509
17.1.4 常用措施 510
17.1.5 物理隔离 510
17.2 防火墙 511
17.2.1 防火墙的基本概念 511
17.2.2 防火墙的类型与体系结构 512
17.2.3 防火墙的基本技术与新方向 513
17.3 入侵检测 515
17.3.1 入侵检测系统 515
17.3.2 入侵检测产品分析 515
17.3.3 入侵检测技术分析 518
17.3.4 入侵检测产品选择要点 519
17.3.5 入侵检测技术发展方向 519
17.4 计算机病毒与免疫 520
17.4.1 计算机病毒 520
17.4.2 反病毒与病毒免疫 524
17.5 安全性规章 526
17.5.1 信息系统安全制度 526
17.5.2 计算机防病毒制度 527
第18章 标准化知识 528
18.1 标准化基本概论 528
18.2 标准化组织机构 530
18.2.1 国际标准化组织 530
18.2.2 国际电工委员会 531
18.2.3 国际电信联盟简介 531
18.2.4 电气电子工程师学会 531
18.2.5 国家标准化管理委员会 532
18.3 标准分级与标准类型 532
18.3.1 标准分级 532
18.3.2 强制性标准与推荐性标准 534
18.4 文字编码标准 535
18.4.1 汉字编码标准 535
18.4.2 少数民族文字编码 536
18.5 数据交换标准 537
18.6 软件工程与文档标准 538
18.6.1 软件工程标准 538
18.6.2 软件文档标准 539
18.7 信息安全标准 540
18.8 基于构件的软件标准 541
第19章 信息化基础知识 543
19.1 信息 543
19.1.1 信息的定义 543
19.1.2 信息的特征 543
19.2 信息化 544
19.2.1 信息化的定义 544
19.2.2 信息化的内容 544
19.2.3 信息化的经济社会意义 545
19.2.4 信息化对组织的意义 545
19.2.5 组织对信息化的需求 546
19.3 政府信息化与电子政务 548
19.3.1 电子政务的概念 548
19.3.2 电子政务的内容 548
19.3.3 电子政务的技术形式 549
19.3.4 电子政务的应用领域 550
19.4 新形势对政府信息化思路的影响 551
19.4.1 政府信息化的含义、作用和意义 551
19.4.2 政府信息化面对的新形势 552
19.4.3 政府信息化认识上的误区和偏差 553
19.4.4 政府信息化的基本思路 554
19.5 企业信息化与电子商务 555
19.5.1 企业信息化的概念 555
19.5.2 企业信息化的目的 555
19.5.3 企业信息化的规划 556
19.5.4 企业信息化方法 557
19.6 企业资源规划的结构和功能 558
19.6.1 ERP的概念 558
19.6.2 ERP的结构 559
19.6.3 ERP的功能 560
19.7 客户关系管理在企业的应用 561
19.7.1 CRM的概念 561
19.7.2 CRM的背景 562
19.7.3 CRM的内容 562
19.7.4 CRM的解决方案和实施过程 563
19.7.5 CRM的价值 564
19.8 企业门户 564
19.8.1 企业门户的功能 565
19.8.2 企业门户的分类 565
19.8.3 企业门户的要素 566
19.9 企业应用集成 566
19.9.1 EAI的简要历史 567
19.9.2 EAI的内容 567
19.9.3 集成技术的发展展望 568
19.10 供应链管理的思想 569
19.10.1 供应链管理的定义 569
19.10.2 供应链与物流 569
19.10.3 供应链管理是一种管理思想 570
19.10.4 供应链管理的运作模式 570
19.10.5 供应链管理的技术支持体系 570
19.11 商业智能 571
19.11.1 数据仓库:商业智能的基础 571
19.11.2 OLAP:海量数据分析器 572
19.11.3 数据挖掘:洞察力之源 572
19.12 电子商务的类型、标准 574
19.12.1 什么是电子商务 574
19.12.2 电子商务的类型 574
19.12.3 电子商务的标准 575
19.13 有关信息化的法律和规定 576
19.13.1 有关信息产业发展的法律和规定 576
19.13.2 有关知识产权保护的法律和规定 577
19.13.3 计算机信息网络管理的法律和规定 577
下篇 580
第20章 系统计划 580
20.1 项目的提出与选择 580
20.1.1 项目的立项目标和动机 580
20.1.2 项目提出的角色和工作范围 582
20.1.3 项目的选择和确定 583
20.1.4 项目提出和选择的结果 586
20.2 可行性研究与效益分析 586
20.2.1 可行性研究的内容 587
20.2.2 成本/效益分析 588
20.2.3 可行性分析报告 589
20.3 问题定义与归结模型 590
20.3.1 模型 590
20.3.2 具体内容 591
20.3.3 典型方法 592
20.3.4 分析建模方法 593
20.4 方案的制订、评价和改进 596
20.4.1 方案内容 596
20.4.2 方案评价和改进 598
20.5 新旧系统的分析和比较 598
20.5.1 遗留系统的评价方法 599
20.5.2 遗留系统的演化策略 602
20.6 资源估计 603
第21章 软件系统建模 605
21.1 建模的作用和意义 605
21.1.1 什么是模型 605
21.1.2 为什么要建模 605
21.1.3 建模原理 605
21.1.4 模型的类型 606
21.1.5 在系统分析和设计时使用的模型 607
21.2 定义问题与归结模型 607
21.2.1 问题分析 608
21.2.2 问题定义 610
21.3 结构化系统建模与数据流图 612
21.3.1 数据流图基础 612
21.3.2 数据流图应用 614
21.3.3 细化数据流图 618
21.4 数据库建模和E-R图 619
21.4.1 数据库设计与建模 619
21.4.2 概念结构设计 621
21.4.3 逻辑结构设计 627
21.5 面向对象系统建模 629
21.5.1 面向对象的本质 629
21.5.2 系统的体系结构视图 630
21.5.3 概念建模 631
21.5.4 用例建模 635
21.5.5 交互建模 640
21.5.6 细节行为建模 645
21.5.7 部署与实施建模 647
第22章 软件架构设计 651
22.1 软件架构概念 651
22.1.1 软件抽象层次的发展 651
22.1.2 软件架构的定义 651
22.1.3 软件架构的商业周期 652
22.1.4 软件架构的重要性 652
22.2 基于架构的软件开发过程 653
22.3 软件质量属性及架构设计 653
22.3.1 软件架构的关注点 653
22.3.2 六个质量属性及实现 653
22.4 基于架构的软件开发方法 660
22.4.1 战术与架构模式 660
22.4.2 演变交付生命期 660
22.4.3 属性驱动设计法 661
22.4.4 按架构组织开发团队 661
22.4.5 开发骨架系统 662
22.4.6 利用商用构件进行开发 662
22.5 软件架构模型 662
22.5.1 软件结构分类 662
22.5.2 架构的建模 663
22.5.3 架构风格 663
22.6 软件架构的文档化 666
22.6.1 架构文档的使用者 666
22.6.2 视图编档 666
22.6.3 跨视图文档 667
22.6.4 使用的语言 667
22.6.5 “4+1”方法 668
22.6.6 软件架构重构 668
22.7 产品线及系统演化 669
22.7.1 重用与产品线 669
22.7.2 基于产品线的架构 670
22.7.3 产品线的开发模型 670
22.7.4 特定领域软件架构 671
22.7.5 架构及系统演化 671
22.8 软件架构评估 671
22.8.1 软件架构评估的方法 672
22.8.2 架构的权衡分析法 672
22.8.3 成本效益分析法 674
第23章 设计模式 675
23.1 设计模式概述 675
23.1.1 设计模式的概念 675
23.1.2 设计模式的组成 676
23.1.3 GoF设计模式 676
23.1.4 其他设计模式 678
23.1.5 设计模式分类 679
23.2 设计模式及实现 680
23.2.1 Abstract Factory模式 680
23.2.2 Singleton模式 683
23.2.3 Decorator模式 684
23.2.4 Facade/Session Facade模式 687
23.2.5 Mediator模式 689
23.2.6 Observer模式 691
23.2.7 Intercepting Filter模式 695
23.3 设计模式总结 696
第24章 系统设计 698
24.1 系统设计概论 698
24.2 工作流设计 699
24.2.1 流程设计面临的困难 699
24.2.2 一些基本概念 699
24.2.3 形式化语言 700
24.2.4 流程的图形表示 701
24.2.5 工作流管理系统 701
24.2.6 工作流管理系统参考模型 701
24.3 系统人机界面设计 702
24.3.1 回顾和展望 702
24.3.2 困难和原则 702
24.3.3 实例 703
24.4 系统的文件设计 703
24.4.1 文件分类和比较 704
24.4.2 在数据交换中使用文件 705
24.4.3 嵌入式文件系统 707
24.5 数据库管理系统的选择和数据库设计 707
24.5.1 数据库的分类 707
24.5.2 数据库选择实例 709
24.6 网络环境下的计算机应用系统的设计 711
24.6.1 TCP/IP网络协议 711
24.6.2 实例 713
24.7 简单分布式计算机应用系统的设计 714
24.7.1 基于实例的协作和基于服务的协作 714
24.7.2 实例 715
24.8 系统运行环境的集成与设计 715
24.8.1 集中式系统 715
24.8.2 分布式系统 716
24.8.3 Client/Server结构 716
24.8.4 多层结构 716
24.8.5 Internet、Intranet和Extranet 716
24.9 系统过渡计划 717
第25章 系统的可靠性分析与设计 719
25.1 可靠性概述 719
25.2 系统故障模型 720
25.2.1 故障的来源以及表现 720
25.2.2 几种常用的故障模型 720
25.3 系统可靠性模型 721
25.3.1 时间模型 721
25.3.2 故障植入模型 722
25.3.3 数据模型 722
25.4 系统的可靠性分析和可靠度计算 723
25.4.1 组合模型 723
25.4.2 马尔柯夫模型 725
25.5 提高系统可靠性的措施 727
25.5.1 硬件冗余 727
25.5.2 信息冗余 729
25.6 系统的故障对策和系统的备份与恢复 730
第26章 安全性和保密性设计 731
26.1 加密技术在系统设计中的应用 731
26.1.1 算法选择 731
26.1.2 加密算法模块的工作模式 735
26.1.3 加密模块的安全 735
26.1.4 文件加密与介质加密 736
26.1.5 密钥管理 737
26.2 访问控制的实现方法 739
26.2.1 常见的访问控制实现方法 739
26.2.2 分级安全设计 741
26.3 数据库系统的安全与设计 742
26.3.1 数据库的安全设计原则 742
26.3.2 数据库的安全性要求与设计 743
26.3.3 数据库访问控制设计 744
26.3.4 数据库加密 745
26.3.5 数据库的完整性设计 747
26.3.6 数据库备份策略 748
26.4 网络安全体系与设计 750
26.4.1 OSI安全体系结构 750
26.4.2 防火墙在网络安全中的应用 752
26.4.3 VPN在网络安全中的应用 754
26.5 应用系统的安全性设计 757
26.5.1 信息安全的目标与实现 757
26.5.2 安全策略 757
26.5.3 安全模型 759
26.5.4 不安全因素与预防措施 759
26.5.5 远程访问系统的安全性设计 761
26.6 典型系统的安全设计 761
26.6.1 Web的安全设计 761
26.6.2 电子商务的安全 764
第27章 嵌入式系统设计 768
27.1 嵌入式系统分析与设计 768
27.1.1 概述 768
27.1.2 嵌入式系统设计的核心技术 770
27.1.3 系统的设计流程 771
27.1.4 需求分析阶段 773
27.1.5 规格说明 773
27.1.6 设计阶段 774
27.1.7 系统集成与测试阶段 779
27.2 嵌入式软件设计模型 779
27.2.1 状态机模型 780
27.2.2 数据流模型 780
27.2.3 并发进程模型 781
27.2.4 面向对象模型 781
27.3 多任务设计的相关问题 783
27.3.1 标识设备的依赖性 783
27.3.2 实时多任务的可调度性分析 785
27.3.3 同步与通信 786
27.3.4 资源分类与资源请求模型 787
27.3.5 死锁 787
27.3.6 死锁检测与恢复 788
27.3.7 死锁避免与预防 789
27.3.8 优先级反转问题 789
27.4 中断与异常处理 791
27.4.1 中断与异常一般处理步骤 791
27.4.2 设计问题 793
27.5 嵌入式软件移植 793
27.5.1 嵌入式系统的软件移植概述 793
27.5.2 裸机系统的软件移植 794
27.5.3 基于嵌入式操作系统的软件移植 794
27.5.4 移植性软件的设计原则 795
27.5.5 硬件抽象层 796
27.5.6 操作系统抽象层 797
27.5.7 应用软件的移植 798
第28章 操作系统的架构设计 799
28.1 操作系统的整体架构设计 799
28.1.1 操作系统架构概述 799
28.1.2 操作系统整体架构 800
28.1.3 层次式系统、C/S系统、虚拟机系统 803
28.1.4 一些常见的操作系统的整体架构 807
28.2 进程和线程 811
28.2.1 进程的实现模型 812
28.2.2 进程间关系的结构模型 814
28.2.3 进程的状态转换模型 815
28.2.4 进程调度 816
28.2.5 线程的实现模型 819
28.3 进程间通信设计 821
28.3.1 进程间的互斥与同步 821
28.3.2 进程的死锁 822
28.4 存储器的分配、管理和布局设计 826
28.4.1 虚拟地址、线性地址和物理地址 826
28.4.2 页式存储管理下的地址空间的分配和布局设计 829
28.4.3 段式存储管理下的地址空间的分配和布局设计 831
28.4.4 段页式存储管理下的地址空间的分配和布局设计 832
28.5 I/O设备管理 834
28.5.1 I/O设备概述 834
28.5.2 I/O系统的结构模型 835
28.6 文件系统设计 836
28.6.1 文件系统的实现模型 836
28.6.2 日志文件系统 838
28.6.3 虚拟文件系统 839
28.7 操作系统的接口设计 839
28.7.1 操作系统的接口设计概述 839
28.7.2 系统服务调用接口设计 840
28.7.3 图形界面窗口子系统接口设计 841
28.8 操作系统构件化设计 841
28.8.1 构件化设计概述 841
28.8.2 构件化设计方法 842
28.9 操作系统安全性设计 843
第29章 基础库的架构设计 845
29.1 基础库概述 845
29.1.1 基础库与架构 845
29.1.2 基础库之间的组织结构关系 846
29.2 对程序框架的支持 847
29.2.1 C库中的控制台程序框架 847
29.2.2 MVC框架 847
29.2.3 MFC程序框架 850
29.3 数据结构平台 854
29.3.1 数据结构 855
29.3.2 算法 856
29.3.3 数据结构平台 856
29.4 I/O数据流系统 859
29.4.1 C++标准库提供的I/O数据流模型 859
29.4.2 JDK1.2平台中的I/O数据流模型 862
29.5 接口设计 867
29.6 实现、部署与发布 868
29.7 多线程支持和线程安全 869
29.7.1 线程库 869
29.7.2 线程安全性设计 871
29.8 国际化 872
29.9 跨平台 872
29.10 安全性和可靠性 873
29.11 网络编程接口设计 874
29.12 数据库编程接口设计 874
参考文献 876