绪论 1
0.1计算机的产生 1
0.1.1算法(Alogrithm) 2
0.1.2计算机的产生 2
0.2计算机的发展 6
0.3计算机科学与技术学科的构成 10
0.3.1应用层 10
0.3.2专业基础层 10
0.3.3专业基础的理论基础层 11
第1篇计算机系统结构 15
第1章图灵机模型及数据编码 15
1.1图灵机 16
1.1.1图灵机的直观描述 16
1.1.2图灵机的形式化描述 16
1.1.3计算“x+1”的图灵机 17
1.1.4通用图灵机 20
1.2位的存储 22
1.2.1逻辑运算和门 22
1.2.2触发器 23
1.2.3其他存储技术 23
1.3存储器 24
1.3.1主存储器 24
1.3.2辅助存储器 25
1.4数据在计算机中的表示 25
1.4.1二进制 25
1.4.2数值的表示 27
1.4.3字符的表示 31
1.4.4图形和图像的表示 34
1.4.5音频数据的表示 35
1.5数据压缩 36
1.5.1无损压缩 36
1.5.2有损压缩 39
1.6数据传输误码及对策 40
1.6.1奇偶校验 40
1.6.2纠错码 41
第2章计算机结构 45
2.1中央处理器 47
2.1.1运算器 48
2.1.2控制器 48
2.1.3寄存器 49
2.2指令系统 50
2.2.1指令系统的概念 50
2.2.2 CISC和RISC 51
2.2.3指令系统的设计要求 52
2.2.4指令格式 52
2.2.5指令字长度 54
2.2.6寻址方式 54
2.3指令执行 57
2.3.1非访存指令的指令周期 57
2.3.2直接访存指令的指令周期 60
2.3.3间接访存指令的指令周期 61
2.3.4程序控制指令的指令周期 63
2.4流水线技术 65
2.4.1什么是流水线 65
2.4.2理想流水线性能分析 65
2.4.3流水操作中的主要障碍 66
2.5存储系统 67
2.5.1存储器的层次结构 67
2.5.2存储体系涉及的问题 68
2.5.3高速缓冲存储器(Cache) 69
2.5.4主存储器的设计 73
2.5.5虚拟存储器 74
2.6外围设备 76
2.6.1交互设备 76
2.6.2存储设备 81
2.6.3数据通信设备 84
2.7输入输出方式 85
2.7.1程序查询方式 86
2.7.2中断方式 86
2.7.3直接内存访问方式 88
2.8多处理器 89
2.8.1并行系统结构的分类 89
2.8.2并行处理的困难 91
第2篇计算机软件 97
第3章操作系统 97
3.1操作系统的发展 98
3.1.1串行处理 98
3.1.2简单批处理 98
3.1.3多道批处理 99
3.1.4分时系统 101
3.1.5实时系统 102
3.2操作系统的结构 102
3.2.1操作系统的功能 102
3.2.2操作系统的组成 103
3.2.3系统的引导 105
3.3现代操作系统处理的难题 106
3.3.1进程 106
3.3.2有效的分配处理器 108
3.4提供充足和高效的存储器 109
3.4.1存储器的有效利用 109
3.4.2存储器的拓展:虚拟存储器 112
3.4.3 I/O设备:高效并通用 114
3.4.4并发控制的难题 114
3.5网络操作系统和分布式操作系统 116
3.5.1网络操作系统 116
3.5.2分布式操作系统 120
第4章算法 123
4.1算法的概念 125
4.1.1定义 125
4.1.2性质 126
4.2算法的表示 126
4.3常用算法介绍 129
4.3.1递归 129
4.3.2迭代 131
4.3.3分治法 132
4.4并行算法 133
4.5算法的评价 135
4.5.1算法的时间复杂度 135
4.5.2算法的空间复杂度 136
4.5.3算法的易理解性 137
4.6算法设计的要求 137
第5章程序设计语言 139
5.1程序设计概念 140
5.2程序设计语言的发展 141
5.2.1计算机语言的发展历程 141
5.2.2组件技术 143
5.3程序设计语言中的一些术语 144
5.3.1汇编语言 144
5.3.2过程性语言 145
5.3.3说明性语言 145
5.3.4脚本语言 145
5.3.5高级语言 147
5.3.6编译性语言 147
5.3.7解释性语言 147
5.3.8面向对象的程序设计语言(OOPL) 147
5.4结构化程序设计方法 147
5.5面向对象的程序设计方法 150
5.5.1对象 150
5.5.2类 150
5.5.3封装性 151
5.5.4继承性 151
5.5.5多态性 151
5.6当前流行语言介绍 152
5.6.1 BASIC 152
5.6.2 C 152
5.6.3 Delphi 152
5.6.4 Java 152
5.6.5 PowerBuilder 152
5.6.6 ASP.NET 153
5.7程序设计语言的发展趋势 153
第6章软件工程 155
6.1软件工程与软件过程 156
6.1.1软件危机 156
6.1.2软件工程 157
6.1.3软件过程 157
6.2传统方法学 158
6.2.1结构化分析 158
6.2.2结构化设计 158
6.2.3结构化实现 159
6.3面向对象方法学 159
6.3.1面向对象分析 160
6.3.2面向对象设计 160
6.3.3面向对象实现 160
6.3.4标准建模语言UML 161
6.4软件项目管理 165
6.4.1计划 165
6.4.2组织 166
6.4.3控制 166
6.4.4国际标准 167
第3篇数据组织 171
第7章数据结构 171
7.1数据结构的概念 172
7.2几种典型的数据结构 174
7.2.1线性表 174
7.2.2堆栈 175
7.2.3队列 175
7.2.4树 176
7.2.5图 178
7.3查找 180
7.3.1基本概念与术语 180
7.3.2查找的方法 181
7.4排序 182
7.4.1排序分类 182
第8章文件 185
8.1文件简介 186
8.1.1文件的含义 186
8.1.2文件及其组成 186
8.1.3文件目录结构与文件夹 188
8.2文件系统分类 188
8.2.1 FAT16文件系统 189
8.2.2 FAT32文件系统 190
8.2.3 NTFS文件系统 190
8.2.4 HPFS文件系统 191
8.2.5 EXT2文件系统 191
8.3文件组织和访问 192
8.3.1堆文件 192
8.3.2顺序文件 194
8.3.3索引顺序文件 194
8.3.4索引文件 195
8.3.5直接文件 195
第9章数据库 197
9.1数据库概述 198
9.1.1数据库发展史 198
9.1.2数据库系统的概念 198
9.1.3数据库的研究内容 202
9.1.4数据库研究的难点与展望 204
9.2关系型数据库 205
9.2.1关系模型的基本概念 205
9.2.2关系模型的三类完整性规则 207
9.2.3关系模型的形式定义 208
9.2.4关系代数 208
9.2.5关系数据库语言和数据库的建立 210
9.3面向对象的数据库 214
9.3.1面向对象的基本概念 214
9.3.2面向对象的数据库系统 214
第4篇计算机安全 219
第10章计算机安全 219
10.1计算机安全的研究内容和发展过程 220
10.1.1研究内容 220
10.1.2发展过程 220
10.2计算机密码学 221
10.2.1基本概念 221
10.2.2密码编码学 223
10.2.3密码分析学 226
10.3计算机病毒 226
10.3.1计算机病毒概述 226
10.3.2病毒分类 227
10.3.3病毒的检测 228
10.3.4病毒的防护 229
10.4计算机网络安全 230
10.4.1网络的特点及安全问题 230
10.4.2网络的数据加密 231
10.4.3防火墙技术 232
10.4.4虚拟专网技术 232
10.4.5入侵检测 232
10.4.6了解黑客 233
10.5通信安全 233
10.5.1通信基本概念 234
10.5.2搭线窃听 234
10.5.3通信安全技术 234
附录A参考实验目录 236
附录B计算机发展大事记 238
参考文献 245