《系统架构设计师教程》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:张友生,王胜祥,殷建民主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121019140
  • 页数:879 页
图书介绍:本书由中国系统分析员顾问团组织编写,作为计算机技术与软件专业技术资格(水平)考试中的系统架构设计师级别的考试指定教材。全书分为上、下两篇,上篇为信息系统综合知识,对系统架构设计师所必须掌握的理论基础知识作了详细的介绍。下篇为系统架构设计,重在培养系统架构设计师所必须具备的专业技能和方法。全书内容既是对系统架构设计师考试的总体纲领性的要求,也是系统架构设计师职业生涯的知识与技能体系。本书可作为系统架构设计师和系统分析师的工作手册,可作为软件设计师、数据库系统工程师和网络工程师进一步发展的学习用书,还可作为计算机专业教师的教学参考书。

上篇 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