第1章 计算机系统结构基础知识 1
1.1 计算机系统结构概述 1
1.1.1 计算机系统结构、组成和实现 1
1.1.2 计算机系统分类 2
1.2 存储器系统 4
1.2.1 存储器体系 4
1.2.2 主存储器 7
1.2.3 辅助存储器 9
1.2.4 cache存储器 16
1.2.5 虚拟存储器 21
1.3 流水线技术 24
1.3.1 流水线技术的基本原理 24
1.3.2 计算机流水线技术概述 25
1.3.3 影响流水线性能的主要因素 27
1.3.4 流水线计算机的存储器结构 28
1.3.5 流水线控制 29
1.3.6 流水线的中断处理 30
1.4 输入输出系统 30
1.4.1 输入输出控制器 30
1.4.2 输入输出的工作方式 32
1.4.3 设备接口 36
1.4.4 输入输出系统的发展 40
1.5 RISC计算机 41
1.5.1 RISC计算机的基本原理 41
1.5.2 CISC计算机与RISC计算机的主要特点 42
1.5.3 RISC处理器结构概述 43
1.5.4 RISC的编译优化 46
1.5.5 典型的RISC处理器 46
1.6 并行处理技术 48
1.6.1 并行处理技术概述 48
1.6.2 并行处理机 51
1.6.3 多处理机 54
1.7 计算机安全性、可靠性及性能评价初步 59
1.7.1 数据的安全与保密 59
1.7.2 计算机系统的可靠性 63
1.7.3 计算机系统的性能评价 65
1.7.4 计算机故障诊断与容错 69
第2章 语言处理程序基础知识 72
2.1 程序语言基础知识 72
2.1.1 概述 72
2.1.2 语言所提供的数据类型 75
2.1.3 语言所提供的控制结构 84
2.2 汇编程序基本原理 89
2.2.1 汇编语言 89
2.2.2 汇编程序 90
2.3 解释程序基本原理 92
2.4.1 编译过程概述 94
2.4 编译程序基本原理 94
2.4.2 文法和语言的形式描述 97
2.4.3 词法分析 101
2.4.4 语法分析 106
2.4.5 语法制导翻译和中间代码生成 115
2.4.6 代码优化 122
2.4.7 代码生成 126
第3章 操作系统基础知识 130
3.1 操作系统概述 130
3.1.1 什么是操作系统 131
3.1.2 操作系统的功能 132
3.1.3 操作系统的工作原理 134
3.1.4 操作系统的硬件基础 135
3.2 并发进程 137
3.2.1 程序、进程和处理器 137
3.2.3 信号量与P,V操作 138
3.2.2 进程间的通信 138
3.2.4 高级通信原语 141
3.2.5 管程 142
3.3 系统核心 146
3.3.1 基本硬件机构 146
3.3.2 进程 146
3.3.3 进程管理 147
3.4 存储管理 149
3.4.1 实存管理 151
3.4.2 虚存组织 154
3.4.3 虚存管理 156
3.5 设备管理 159
3.5.1 设备的分配 161
3.5.2 磁盘调度算法 161
3.6 文件管理 162
3.5.3 RAID 162
3.6.1 文件的结构和组织 163
3.6.2 文件访问方法 166
3.6.3 文件存储设备管理 167
3.6.4 文件控制块和文件目录 167
3.6.5 文件的使用 169
3.7 作业管理和用户界面 170
3.7.1 用户作业管理 171
3.7.2 作业调度 172
3.7.3 用户界面 173
3.8 其他管理 173
3.8.1 死锁问题 173
3.8.2 多处理器系统与线程 174
3.8.3 操作系统的结构 175
3.9 实例 177
3.9.1 UNIX系统 177
3.9.2 Windows NT系统 180
第4章 软件工程 184
4.1 软件工程概述 184
4.1.1 软件生存周期 184
4.1.2 软件开发模型 186
4.2 系统分析和软件项目计划 188
4.2.1 系统分析 188
4.2.2 可行性分析 188
4.2.3 编制项目开发计划 189
4.3 需求分析 189
4.3.1 需求分析的任务 189
4.3.2 结构化分析方法 190
4.4 软件设计 198
4.4.1 软件设计的概念和原则 198
4.4.2 结构化设计方法 201
4.4.3 详细设计 206
4.4.4 面向数据结构的设计方法 209
4.5 编码 211
4.5.1 程序设计语言 211
4.5.2 对源程序的质量要求 213
4.5.3 编码风格 214
4.6 软件测试 216
4.6.1 测试的基本概念 216
4.6.2 测试步骤 218
4.6.3 白盒测试的测试用例设计 219
4.6.4 黑盒测试的测试用例设计 222
4.7 面向对象方法 227
4.7.1 面向对象的基本概念 227
4.7.2 面向对象的分析与设计 229
4.8 软件维护 234
4.8.1 软件维护的分类 234
4.8.3 可维护性 235
4.8.2 与软件维护有关的问题 235
4.8.4 软件维护活动流程 236
4.9 软件管理 236
4.10 软件质量保证 240
4.10.1 软件质量特性 240
4.10.2 软件质量保证概述 242
4.11 软件开发工具与环境 244
4.11.1 软件开发工具 245
4.11.2 软件开发环境 246
第5章 数据库基础知识 249
5.1 关系模型 249
5.1.1 关系模型的基本概念 249
5.1.2 关系模型的三类完整性规则 252
5.1.3 关系模型的形式定义 252
5.1.4 ER模型向关系模型的转换 253
5.2.1 关系代数的五种基本操作 254
5.2 关系代数 254
5.2.2 关系代数的四种组合操作 256
5.2.3 关系代数运算的应用实例 258
5.2.4 扩充的关系代数操作 259
5.3 关系数据库SQL语言 261
5.3.1 SQL数据库的数据体系结构 261
5.3.2 SQL语言的组成 262
5.3.3 SQL DDL 263
5.3.4 SQL DML的数据查询语句 266
5.3.5 SQL DML的数据更新语句 274
5.3.6 视图的定义和对视图的操作 276
5.3.7 SQL的访问控制 277
5.3.8 嵌入式SQL 277
5.4 关系数据库规范化理论 282
5.4.1 关系模式的存储异常问题 282
5.4.2 函数依赖 283
5.4.3 关系模式的分解特性 284
5.4.4 关系模式的范式 286
5.5 数据库的保护 288
5.5.1 数据库的恢复 288
5.5.2 数据库的完整性 290
5.5.3 数据库的并发操作 293
5.5.4 数据库的安全性 295
第6章 多媒体基础知识 298
6.1 多媒体的概念和特征 298
6.1.1 什么是多媒体 298
6.1.2 多媒体的关键技术 298
6.1.3 多媒体系统的构成 300
6.1.4 声卡和显卡 302
6.2 图像和图形 305
6.2.1 基本概念 305
6.2.2 图形、图像格式 307
6.3 声音(音频) 309
6.3.1 基本概念 310
6.3.2 语音合成与语言合成 311
6.3.3 音乐合成和MIDI 312
6.3.4 音频文件格式的比较 315
6.4 视频(动画) 318
6.4.1 基本概念 318
6.4.2 视频格式 319
6.5 多媒体数据压缩和编码技术标准 319
6.5.1 H.261 320
6.5.2 JPEG 320
6.5.3 MPEG 321
6.5.4 DVI 322
6.6 多媒体创作工具及其发展方向 323
6.6.1 多媒体创作工具概述 323
6.6.2 多媒体创作工具的发展方向 324
第7章 网络基础知识 327
7.1 网络的功能、分类与组成 327
7.1.1 计算机网络的功能 327
7.1.2 网络的分类 328
7.1.3 网络的基本组成 331
7.2 网络协议和网络软件 332
7.2.1 网络协议模型和ISO/OSI标准 332
7.2.2 TCP/IP协议组 336
7.2.3 常用的网络操作系统 338
7.3 构建网络与申请通信服务 342
7.3.1 构建LAN 342
7.3.2 申请通信服务 348
7.3.3 网络接入技术 351
7.3.4 规划与构建WAN 352
7.4.1 Internet的功能与服务 357
7.4 Internet和Intranet初步 357
7.4.2 Internet的协议和IP地址 358
7.4.3 Intranet初步 359
7.4.4 Extranet概念 360
7.5 客户机/服务器模式与网络计算 362
7.5.1 文件服务器模型与域模型 362
7.5.2 客户机/服务器模式 363
7.5.3 网络计算初步 364
7.5.4 电子商务介绍 365
7.6 网络的安全性 366
7.6.1 网络安全性的基本概念 366
7.6.2 网络的信息安全技术 367
7.6.3 防火墙技术 369
7.7 网络管理初步 371
7.7.1 网络管理的基本功能 371
7.7.2 网络管理协议 371
7.7.3 网络管理平台和网络管理软件 373
第8章 数据结构基础 375
8.1 线性表 375
8.2 栈 385
8.3 队列 396
8.4 数组 402
8.4.1 数组的基本概念 402
8.4.2 稀疏矩阵 410
8.5 字符串 415
8.6 树和二叉树 423
8.6.1 树 424
8.6.2 二叉树 428
8.6.3 二叉查找树 430
8.6.4 穿线树 435
8.6.5 树形数据结构程序设计实例 438
8.7.1 图的基础知识 443
8.7 图 443
8.7.2 最小代价生成树 449
8.7.3 最短路径 450
8.7.4 拓扑排序 453
8.7.5 关链路径 456
8.8 排序 459
8.9 查找 474
第9章 常用算法设计方法 485
9.1 迭代法 485
9.2 穷举搜索法 486
9.3 递推法 491
9.4 递归 492
9.5 回溯法 500
9.6 贪婪法 510
9.7 分治法 516
9.8 动态规划法 518