目 录
译者序
前言
引言
第一部分 硬件
第1章 计算机里有什么 6
1.1 逻辑结构 9
1.1.1 CPU 10
1.1.2 RAM 12
1.1.3 硬盘和其他二级存储器 13
1.1.4 其他 16
1.2 物理结构 17
1.3 摩尔定律 22
1.4 小结 24
第2章 位、字节和信息的表示 25
2.1 模拟和数字 26
2.2 模数转换 28
2.3 位、字节和二进制 36
2.3.1 位 36
2.3.2 2的幂和10的幂 38
2.3.3 二进制数 39
2.3.4 字节 42
2.4 小结 45
第3章 深入CPU 47
3.1 玩具计算机 48
3.1.1 第一个玩具程序 49
3.1.2 第二个玩具程序 51
3.1.3 跳转指令 53
3.1.4 RAM中的表示 56
3.2 真实的CPU 58
3.3 缓存 61
3.4 其他种类的计算机 63
3.5 小结 66
硬件总结 68
第二部分 软件
第4章 算法 74
4.1 线性算法 76
4.2 二分查找 78
4.3 排序 81
4.4 难题与复杂性 87
4.5 小结 90
第5章 编程与编程语言 93
5.1 汇编语言 94
5.2 高级语言 96
5.3 软件开发 105
5.3.1 库、接口和开发包 107
5.3.2 缺陷 109
5.4 知识产权 112
5.4.1 商业秘密 113
5.4.2 版权 113
5.4.3 专利 115
5.4.4 许可 117
5.5 标准 120
5.6 开源 121
5.7 小结 124
第6章 软件系统 126
6.1 操作系统 127
6.2 操作系统的工作原理 134
6.2.1 系统调用 136
6.2.2 设备驱动程序 136
6.3 其他操作系统 138
6.4 文件系统 139
6.4.1 磁盘文件系统 141
6.4.2 清除文件 144
6.4.3 其他文件系统 147
6.5 应用程序 148
6.6 软件的层次 152
6.7 小结 155
第7章 学习编程 157
7.1 编程语言的概念 159
7.2 第1个JavaScript范例 160
7.3 第2个JavaScript范例 162
7.4 循环语句 164
7.5 条件语句 166
7.6 库和接口 168
7.7 JavaScript的工作原理 170
7.8 小结 171
软件总结 173
第三部分 通信
第8章 网络 184
8.1 电话与调制解调器 185
8.2 电缆与DSL 186
8.3 局域网与以太网 189
8.4 无线 192
8.5 手机 195
8.6 带宽 200
8.7 压缩 202
8.8 错误检测与纠错 205
8.9 小结 207
第9章 因特网 209
9.1 因特网概述 211
9.2 域名与地址 215
9.2.1 域名系统 216
9.2.2 IP地址 218
9.2.3 根服务器 219
9.2.4 注册自己的域名 221
9.3 路由 222
9.4 TCP/IP 224
9.4.1 IP——因特网协议 226
9.4.2 TCP——传输控制协议 227
9.5 高层协议 229
9.5.1 Tel与SSH——远程登录 231
9.5.2 SMTP——简单邮件传输协议 232
9.5.3 文件共享与点对点协议 234
9.6 因特网上的版权 236
9.7 物联网 239
9.8 小结 240
第10章 万维网 244
10.1 万维网的工作原理 246
10.2 HTML 248
10.3 cookie 251
10.4 网页上的动态内容 254
10.5 其他地方的动态内容 256
10.6 病毒、蠕虫和特洛伊木马 258
10.7 网络安全 261
10.7.1 攻击客户机 262
10.7.2 攻击服务器 268
10.7.3 攻击传输中的信息 270
10.8 自我防御 271
10.9 小结 275
第11章 数据与信息 277
11.1 搜索 278
11.2 跟踪 285
11.3 社交网络 294
11.4 数据挖掘与聚合 298
11.5 云计算 302
11.6 小结 309
第12章 隐私与安全 311
12.1 加密 312
12.1.1 密钥加密 315
12.1.2 公钥加密 317
12.2 匿名 323
12.2.1 Tor与Tor浏览器 324
12.2.2 比特币 329
12.3 小结 331
第13章 结束语 335
注释 341
术语表 357