本書由當(dāng)今該領(lǐng)域備受贊譽(yù)且經(jīng)驗豐富的教育家Nell Dale和John Lewis共同編寫,全面介紹計算機(jī)科學(xué)領(lǐng)域的基礎(chǔ)知識,為廣大學(xué)生勾勒了一幅生動的畫卷。就整體而言,全書內(nèi)容翔實(shí)、覆蓋面廣,旨在向讀者展示計算機(jī)科學(xué)的全貌;從細(xì)節(jié)上看,本書層次清晰、描述生動,基于計算機(jī)系統(tǒng)的洋蔥式結(jié)構(gòu),分別介紹信息層、硬件層、程序設(shè)計層、操作系統(tǒng)層、應(yīng)用程序?qū)雍屯ㄐ艑樱婕坝嬎銠C(jī)科學(xué)的各個層面。
本書貫穿了計算機(jī)系統(tǒng)的各個方面,非常適合作為計算機(jī)專業(yè)的計算機(jī)導(dǎo)論課程教材,為后續(xù)專業(yè)課程打下堅實(shí)的基礎(chǔ);同時還適合作為非計算機(jī)專業(yè)的計算機(jī)總論課程教材,提供計算機(jī)系統(tǒng)全面完整的介紹。
出版者的話
譯者序
前言
第一部分 基礎(chǔ)篇
第1章 全景圖 2
1.1 計算系統(tǒng) 2
1.1.1 計算系統(tǒng)的分層 3
1.1.2 抽象 4
1.2 計算的歷史 6
1.2.1 計算硬件簡史 6
1.2.2 計算軟件簡史 13
1.2.3 預(yù)言 17
1.3 計算工具與計算學(xué)科 17
小結(jié) 19
道德問題:數(shù)字鴻溝 19
關(guān)鍵術(shù)語 20
練習(xí) 20
思考題 21
第二部分 信息層
第2章 二進(jìn)制數(shù)值與記數(shù)系統(tǒng) 24
2.1 數(shù)字與計算 24
2.2 位置記數(shù)法 25
2.2.1 二進(jìn)制、八進(jìn)制和十六進(jìn)制 26
2.2.2 其他記數(shù)系統(tǒng)中的運(yùn)算 29
2.2.3 以2的冪為基數(shù)的記數(shù)系統(tǒng) 30
2.2.4 將十進(jìn)制數(shù)轉(zhuǎn)換成其他數(shù)制的數(shù) 31
2.2.5 二進(jìn)制數(shù)值與計算機(jī) 32
小結(jié) 33
道德問題:FISA法庭 34
關(guān)鍵術(shù)語 34
練習(xí) 34
思考題 36
第3章 數(shù)據(jù)表示法 37
3.1 數(shù)據(jù)與計算機(jī) 37
3.1.1 模擬數(shù)據(jù)與數(shù)字?jǐn)?shù)據(jù) 38
3.1.2 二進(jìn)制表示法 40
3.2 數(shù)字?jǐn)?shù)據(jù)表示法 41
3.2.1 負(fù)數(shù)表示法 41
3.2.2 實(shí)數(shù)表示法 44
3.3 文本表示法 46
3.3.1 ASCII字符集 47
3.3.2 Unicode字符集 48
3.3.3 文本壓縮 48
3.4 音頻數(shù)據(jù)表示法 52
3.4.1 音頻格式 53
3.4.2 MP3音頻格式 54
3.5 圖像與圖形表示法 54
3.5.1 顏色表示法 54
3.5.2 數(shù)字化圖像與圖形 55
3.5.3 圖形的矢量表示法 57
3.6 視頻表示法 57
小結(jié) 58
道德問題:Snowden事件的影響 58
關(guān)鍵術(shù)語 59
練習(xí) 59
思考題 61
第三部分 硬件層
第4章 門和電路 64
4.1 計算機(jī)和電學(xué) 64
4.2 門 66
4.2.1 非門 66
4.2.2 與門 67
4.2.3 或門 68
4.2.4 異或門 68
4.2.5 與非門和或非門 68
4.2.6 門處理回顧 69
4.2.7 具有更多輸入的門 70
4.3 門的構(gòu)造 70
4.4 電路 72
4.4.1 組合電路 72
4.4.2 加法器 75
4.4.3 多路復(fù)用器 76
4.5 存儲器電路 77
4.6 集成電路 78
4.7 CPU芯片 78
小結(jié) 79
道德問題:道德規(guī)范 79
關(guān)鍵術(shù)語 80
練習(xí) 80
思考題 82
第5章 計算部件 83
5.1 獨(dú)立的計算機(jī)部件 83
5.2 存儲程序的概念 86
5.2.1 馮·諾伊曼體系結(jié)構(gòu) 88
5.2.2 讀取–執(zhí)行周期 91
5.2.3 RAM和ROM 93
5.2.4 二級存儲設(shè)備 93
5.2.5 觸摸屏 97
5.3 嵌入式系統(tǒng) 98
5.4 并行體系結(jié)構(gòu) 99
5.4.1 并行計算 99
5.4.2 并行硬件分類 100
小結(jié) 101
道德問題:隱私是否已經(jīng)是過去時? 101
關(guān)鍵術(shù)語 102
練習(xí) 102
思考題 103
第四部分 程序設(shè)計層
第6章 低級程序設(shè)計語言與偽代碼 106
6.1 計算機(jī)操作 106
6.2 機(jī)器語言 107
6.2.1 Pep/9:一臺虛擬機(jī) 107
6.2.2 Pep/9的輸入/輸出 112
6.3 一個程序?qū)嵗? 112
6.3.1 Pep/9模擬器 113
6.3.2 另一個機(jī)器語言實(shí)例 114
6.4 匯編語言 115
6.4.1 Pep/9匯編語言 115
6.4.2 數(shù)字?jǐn)?shù)據(jù)、分支、標(biāo)簽 117
6.4.3 匯編語言中的循環(huán) 120
6.5 表達(dá)算法 121
6.5.1 偽代碼的功能 121
6.5.2 執(zhí)行偽代碼算法 124
6.5.3 寫偽代碼算法 126
6.5.4 翻譯偽代碼算法 127
6.6 測試 129
小結(jié) 130
道德問題:軟件盜版 131
關(guān)鍵術(shù)語 131
練習(xí) 131
思考題 133
第7章 問題求解與算法設(shè)計 134
7.1 如何解決問題 134
7.1.1 提出問題 135
7.1.2 尋找熟悉的情況 136
7.1.3 分治法 137
7.1.4 算法 137
7.1.5 計算機(jī)問題求解過程 137
7.1.6 方法總結(jié) 139
7.1.7 測試算法 139
7.2 有簡單變量的算法 140
7.2.1 帶有選擇的算法 140
7.2.2 帶有循環(huán)的算法 140
7.3 復(fù)雜變量 143
7.3.1 數(shù)組 144
7.3.2 記錄 144
7.4 搜索算法 145
7.4.1 順序搜索 145
7.4.2 有序數(shù)組中的順序搜索 146
7.4.3 二分檢索 147
7.5 排序 148
7.5.1 選擇排序 148
7.5.2 冒泡排序 150
7.5.3 插入排序 151
7.6 遞歸算法 152
7.6.1 子程序語句 153
7.6.2 遞歸階乘 153
7.6.3 遞歸二分檢索 154
7.6.4 快速排序 154
7.7 幾個重要思想 157
7.7.1 信息隱蔽 157
7.7.2 抽象 157
7.7.3 事物命名 158
7.7.4 測試 158
小結(jié) 158
道德問題:開源軟件 159
關(guān)鍵術(shù)語 160
練習(xí) 160
思考題 162
第8章 抽象數(shù)據(jù)類型與子程序 163
8.1 抽象數(shù)據(jù)類型 163
8.2 棧 164
8.3 隊列 164
8.4 列表 165
8.5 樹 167
8.5.1 二叉樹 167
8.5.2 二叉檢索樹 169
8.5.3 其他操作 173
8.6 圖 173
8.6.1 創(chuàng)建圖 174
8.6.2 圖算法 175
8.7 子程序 179
8.7.1 參數(shù)傳遞 180
8.7.2 值參與引用參數(shù) 181
小結(jié) 183
道德問題:工作場所監(jiān)視 183
關(guān)鍵術(shù)語 184
練習(xí) 184
思考題 187
第9章 面向?qū)ο笤O(shè)計與高級程序設(shè)計語言 188
9.1 面向?qū)ο蠓椒? 188
9.1.1 面向?qū)ο? 189
9.1.2 設(shè)計方法 189
9.1.3 示例 191
9.2 翻譯過程 194
9.2.1 編譯器 194
9.2.2 解釋器 195
9.3 程序設(shè)計語言范型 196
9.3.1 命令式范型 197
9.3.2 聲明式范型 197
9.4 高級程序設(shè)計語言的功能性 199
9.4.1 布爾表達(dá)式 199
9.4.2 數(shù)據(jù)歸類 200
9.4.3 輸入/輸出結(jié)構(gòu) 203
9.4.4 控制結(jié)構(gòu) 204
9.5 面向?qū)ο笳Z言的功能性 208
9.5.1 封裝 209
9.5.2 類 209
9.5.3 繼承 210
9.5.4 多態(tài) 211
9.6 過程設(shè)計與面向?qū)ο笤O(shè)計的區(qū)別 211
小結(jié) 212
道德問題:惡作劇與詐騙 213
關(guān)鍵術(shù)語 214
練習(xí) 214
思考題 216
第五部分 操作系統(tǒng)層
第10章 操作系統(tǒng) 218
10.1 操作系統(tǒng)的角色 218
10.1.1 內(nèi)存、進(jìn)程與CPU管理 220
10.1.2 批處理 220
10.1.3 分時 221
10.1.4 其他OS要素 222
10.2 內(nèi)存管理 223
10.2.1 單塊內(nèi)存管理 224
10.2.2 分區(qū)內(nèi)存管理 225
10.2.3 頁式內(nèi)存管理 227
10.3 進(jìn)程管理 228
10.3.1 進(jìn)程狀態(tài) 229
10.3.2 進(jìn)程控制塊 229
10.4 CPU調(diào)度 230
10.4.1 先到先服務(wù) 231
10.4.2 最短作業(yè)優(yōu)先 231
10.4.3 輪詢法 232
小結(jié) 233
道德問題:醫(yī)療隱私——健康保險攜帶與責(zé)任法案(HIPAA) 234
關(guān)鍵術(shù)語 234
練習(xí) 235
思考題 237
第11章 文件系統(tǒng)和目錄 238
11.1 文件系統(tǒng) 238
11.1.1 文本文件和二進(jìn)制文件 239
11.1.2 文件類型 239
11.1.3 文件操作 240
11.1.4 文件訪問 241
11.1.5 文件保護(hù) 242
11.2 目錄 243
11.2.1 目錄樹 244
11.2.2 路徑名 246
11.3 磁盤調(diào)度 247
11.3.1 先到先服務(wù)磁盤調(diào)度法 248
11.3.2 最短尋道時間優(yōu)先磁盤調(diào)度法 249
11.3.3 SCAN磁盤調(diào)度法 249
小結(jié) 251
道德問題:選擇加入和選擇退出 251
關(guān)鍵術(shù)語 252
練習(xí) 252
思考題 254
第六部分 應(yīng)用層
第12章 信息系統(tǒng) 256
12.1 信息管理 256
12.2 電子制表軟件 257
12.2.1 電子數(shù)據(jù)表公式 259
12.2.2 循環(huán)引用 262
12.2.3 電子數(shù)據(jù)表分析 263
12.3 數(shù)據(jù)庫管理系統(tǒng) 264
12.3.1 關(guān)系模型 265
12.3.2 關(guān)系 267
12.3.3 結(jié)構(gòu)化查詢語言 268
12.3.4 數(shù)據(jù)庫設(shè)計 270
12.4 電子商務(wù) 270
12.5 大數(shù)據(jù) 271
小結(jié) 272
道德問題:政治與網(wǎng)絡(luò) 273
關(guān)鍵術(shù)語 274
練習(xí) 274
思考題 276
第13章 人工智能 277
13.1 思維機(jī) 277
13.1.1 圖靈測試 278
13.1.2 AI問題的各個方面 279
13.2 知識表示 279
13.2.1 語義網(wǎng) 280
13.2.2 檢索樹 282
13.3 專家系統(tǒng) 284
13.4 神經(jīng)網(wǎng)絡(luò) 286
13.4.1 生物神經(jīng)網(wǎng)絡(luò) 286
13.4.2 人工神經(jīng)網(wǎng)絡(luò) 287
13.5 自然語言處理 288
13.5.1 語音合成 289
13.5.2 語音識別 290
13.5.3 自然語言理解 291
13.6 機(jī)器人學(xué) 292
13.6.1 感知–規(guī)劃–執(zhí)行范型 292
13.6.2 包孕體系結(jié)構(gòu) 293
13.6.3 物理部件 294
小結(jié) 295
道德問題:首次公開發(fā)行 296
關(guān)鍵術(shù)語 297
練習(xí) 297
思考題 298
第14章 模擬、圖形學(xué)、游戲和其他應(yīng)用 299
14.1 什么是模擬 299
14.1.1 復(fù)雜系統(tǒng) 299
14.1.2 模型 300
14.1.3 構(gòu)造模型 300
14.2 特殊模型 301
14.2.1 排隊系統(tǒng) 301
14.2.2 氣象模型 303
14.2.3 計算生物學(xué) 307
14.2.4 其他模型 307
14.2.5 必要的計算能力 307
14.3 計算機(jī)圖形學(xué) 308
14.3.1 光的工作原理 309
14.3.2 物體形狀 310
14.3.3 光模擬 310
14.3.4 復(fù)雜對象的建模 311
14.3.5 讓物體動起來 314
14.4 游戲 315
14.4.1 游戲的歷史 316
14.4.2 創(chuàng)建虛擬世界 316
14.4.3 游戲設(shè)計與開發(fā) 317
14.4.4 游戲編程 318
小結(jié) 319
道德問題:游戲成癮 319
關(guān)鍵術(shù)語 320
練習(xí) 320
思考題 321
第七部分 通信層
第15章 網(wǎng)絡(luò) 324
15.1 連網(wǎng) 324
15.1.1 網(wǎng)絡(luò)的類型 325
15.1.2 Internet連接 327
15.1.3 包交換 330
15.2 開放式系統(tǒng)與協(xié)議 331
15.2.1 開放式系統(tǒng) 331
15.2.2 網(wǎng)絡(luò)協(xié)議 331
15.2.3 TCP/IP 332
15.2.4 高層協(xié)議 333
15.2.5 MIME類型 334
15.2.6 防火墻 334
15.3 網(wǎng)絡(luò)地址 335
15.3.1 域名系統(tǒng) 336
15.3.2 誰控制因特網(wǎng) 338
15.4 云計算 339
15.5 區(qū)塊鏈 340
小結(jié) 341
道德問題:社交網(wǎng)絡(luò)的影響 341
關(guān)鍵術(shù)語 342
練習(xí) 343
思考題 344
第16章 萬維網(wǎng) 345
16.1 Web簡介 345
16.1.1 搜索引擎 346
16.1.2 即時消息 347
16.1.3 博客 348
16.1.4 cookie 348
16.1.5 Web分析 349
16.2 HTML和CSS 350
16.2.1 基本的HTML元素 352
16.2.2 標(biāo)記的屬性 353
16.2.3 關(guān)于CSS的更多內(nèi)容 353
16.2.4 更多HTML5的元素 355
16.3 交互式網(wǎng)頁 356
16.3.1 Java小程序 356
16.3.2 Java服務(wù)器頁 357
16.4 XML 358
16.5 社交網(wǎng)絡(luò)演化 360
小結(jié) 361
道德問題:賭博與互聯(lián)網(wǎng) 363
關(guān)鍵術(shù)語 363
練習(xí) 364
思考題 365
第17章 計算機(jī)安全 366
17.1 各級安全 366
17.2 阻止未授權(quán)訪問 368
17.2.1 密碼 369
17.2.2 驗證碼 370
17.2.3 指紋分析 371
17.3 惡意代碼 372
17.3.1 殺毒軟件 373
17.3.2 安全攻擊 373
17.4 密碼學(xué) 375
17.5 保護(hù)你的在線信息 377
17.5.1 共同的責(zé)任 379
17.5.2 安全與可移動設(shè)備 379
17.5.3 維基解密 379
小結(jié) 381
道德問題:博客和新聞 382
關(guān)鍵術(shù)語 383
練習(xí) 384
思考題 385
第八部分 總結(jié)
第18章 計算的限制 388
18.1 硬件 388
18.1.1 算術(shù)運(yùn)算的限制 388
18.1.2 部件的限制 393
18.1.3 通信的限制 394
18.2 軟件 394
18.2.1 軟件的復(fù)雜度 395
18.2.2 當(dāng)前提高軟件質(zhì)量的方法 395
18.2.3 臭名昭著的軟件錯誤 399
18.3 問題 400
18.3.1 算法比較 400
18.3.2 圖靈機(jī) 405
18.3.3 停機(jī)問題 408
18.3.4 算法分類 409
小結(jié) 410
道德問題:Therac-25災(zāi)難剖析 410
關(guān)鍵術(shù)語 411
練習(xí) 411
思考題 413
參考文獻(xiàn) 414
索引 421