目 錄
開篇語 1
任何足夠先進的技術都與魔術無異。
——阿瑟?C.剋拉剋,“技術及未來前景”,
《三號行星的報告》,1972年
第一部分 硬件
計算設備的曆史悠久,不過早期的計算設備大多數是專用的,通常用於預測天文事件及其發生方位。例如,關於巨石陣,一個尚未證實的推測就認為它是一座天文觀測站。公元前100年製造的安提基瑟拉機器就是一颱天文計算機,其機械結構之精妙令人嘆為觀止。
第1章 計算機裏有什麼 11
PC這個名字是個人計算機(Personal Computer)的縮寫,或者說源自於1981年IBM開始賣的那種PC。還有些人可能有蘋果Mac機,上麵運行某個版本的Mac OS X操作係統。更專用的設備,比如手機和平闆電腦,也是強大的計算機。這些計算機看起來很不一樣,用起來也感覺不一樣,但這僅僅是錶象,其實根本沒區彆。
1.1 邏輯構造 13
1.2 物理構造 18
1.3 摩爾定律 21
第2章 比特、字節與信息錶示 23
溫度計的紅色液體(通常是染色酒精)或水銀柱是模擬的:液體會隨著溫度變化按比例膨脹或收縮,因此溫度産生較小的變化,液體柱高度也會相應産生較小變化。但大樓外麵顯示溫度的廣告牌則是數字的:顯示屏顯示的是數值,溫度介於36.5和37.4之間時,它都顯示為37。
2.1 模擬與數字 23
2.2 模數轉換 25
2.3 比特、字節與二進製 30
2.4 小結 37
第3章 深入瞭解CPU 39
今天的筆記本電腦,甚至連手機都已經有多個CPU瞭。英特爾酷睿雙核處理器在一塊集成電路芯片上集成瞭兩個CPU(“核心”)。在一塊芯片上集成越來越多的處理器已經成為明顯的趨勢。
3.1 玩具計算機 40
3.2 真正的CPU 45
3.3 緩存 47
3.4 其他計算機 49
硬件部分小結 51
第二部分 軟件
2010年4月的美國《消費者報告》(Consumer Reports)稱豐田雷剋薩斯GX460車型“不能買:存在安全隱患”,因為其電子穩定控製係統會導緻這款SUV在急速轉彎時車尾過分嚮外甩,從而可能導緻翻車事故。一個月之內,豐田公司就升級軟件,修復瞭這個問題。根本就沒有任何機械問題,僅僅是軟件最初有些問題。
第4章 算法 57
假設我們想找齣誰是房間裏個子最高的人。我們可以四下裏看看,然後猜一猜會是誰。然而,算法則必須精確地列齣每一個步驟,從而讓不會說話的計算機都能遵照執行。最基本的做法就是依次詢問每個人的身高,並記住到目前為止誰最高。於是,我們可能會問“約翰,你多高?瑪麗,你呢?”
4.1 綫性算法 58
4.2 二分搜索 60
4.3 排序 62
4.4 難題與復雜性 66
4.5 小結 68
第5章 編程與編程語言 71
程序必須考慮實際的問題,比如內存不足、處理器速度不快、無效或惡意的輸入、網絡連接中斷,以及(看不見摸不著,但卻經常會導緻其他問題惡化的)人性弱點。因此,如果說算法是理想化的菜譜,那程序就是讓烹飪機器人冒著敵人的炮火為軍隊準備一個月的給養所需的操作說明書。
5.1 匯編語言 72
5.2 高級語言 73
5.3 軟件開發 79
5.4 軟件資産 84
第6章 軟件係統 93
你使用的電腦中會裝有各種各樣的程序,比如瀏覽器、文字處理器、音樂播放器……這些程序有一個專業的叫法,即應用程序(application)。典齣何處?或許齣自“這個程序是計算機在完成某個任務方麵的應用”吧。
6.1 操作係統 94
6.2 操作係統怎麼工作 98
6.3 其他操作係統 101
6.4 文件係統 102
6.5 應用程序 108
6.6 軟件分層 111
第7章 學習編程 115
如果你自己摺騰一天連10行代碼都調試不好,那彆人要是說能按時交付百萬行級的程序,而且沒有任何bug,你相信嗎?換個角度說,有點編程常識也能讓人明白,其實也不是寫什麼程序都那麼難,大不瞭請人幫你寫唄。
7.1 編程語言的基本概念 116
7.2 第一個JavaScript程序 117
7.3 第二個JavaScript程序 119
7.4 循環 121
7.5 條件 122
7.6 庫和接口 124
7.7 JavaScript怎麼工作 125
軟件部分小結 127
第三部分 通信
幾韆年前,人們就曾通過善於長跑的人傳遞消息。公元前490年,費迪皮迪茲從馬拉鬆戰場奔跑瞭42公裏到達雅典,把打敗波斯人的勝利消息傳遞給瞭雅典人。不幸的是,跑到雅典之後,他上氣不接下氣地說完“慶祝吧,我們勝利瞭”之後就死瞭(至少傳說裏是這麼講的)。
第8章 網絡 135
電話網作為一個覆蓋全球的大型網絡,從一開始隻傳送語音,到後來同時傳輸語音和可觀的數據,為人類做齣瞭貢獻。大約有近20年的時間,人們都是通過電話網把傢用計算機接入互聯網的。
8.1 電話與調製解調器 136
8.2 有綫和DSL 136
8.3 局域網和以太網 138
8.4 無綫網絡 141
8.5 手機 144
8.6 小結 147
第9章 互聯網 149
簡單算一下就會發現,IPv4地址隻有大約43億個,甚至還不夠地球上每人分一個。因此,按照人類使用的通信服務數量的增長勢頭,這些IPv4地址遲早會被耗光。實際情況比這種“危言聳聽”更糟糕,因為IP地址是按塊劃分的,這樣用起來就沒有理論上那麼有效率。
9.1 互聯網概述 150
9.2 域名和地址 153
9.3 路由 157
9.4 協議 159
9.5 高層協議 162
9.6 帶寬 172
9.7 壓縮 173
9.8 錯誤檢測和校正 176
9.9 小結 177
第10章 萬維網 179
萬維網的誕生可以追溯到1989年。當時,在日內瓦附近的歐洲核子研究中心工作的英國物理學傢蒂姆?伯納斯?李,為便於通過互聯網共享科學文獻和研究結果而設計瞭一套係統,以及一個隻能用文本模式查看可用資源的客戶端。這套係統在1990年投入使用。說來慚愧,我1992年10月還親眼見過有人使用它,可當時並沒覺得它有那麼好,也根本沒想到6個月後誕生的第一個圖形界麵瀏覽器會改變世界。瞧我這眼光!
10.1 萬維網如何工作 180
10.2 HTML 182
10.3 錶單 183
10.4 cookie 184
10.5 動態網頁 186
10.6 網頁之外的動態內容 189
10.7 病毒和蠕蟲 190
10.8 萬維網安全 192
10.9 密碼術 201
10.10 小結 208
第11章 數據、信息和隱私 211
隱私常常就是安全的同義詞。至少對每個個體而言,如果自己的生活信息被傳播得隨處可見,那怎麼會讓人感覺安全無憂呢?特彆是互聯網,它對個人安全已經産生瞭重大影響。這種影響更多體現在財務風險而非人身安全方麵。因為互聯網讓人們從各種來源收集和整理信息變得異常容易,從而為電子入侵大開方便之門。
11.1 搜索 212
11.2 跟蹤 216
11.3 數據庫、信息與聚閤 221
11.4 隱私失控 224
11.5 雲計算 225
11.6 小結 230
第12章 結束語 231
最後,讀者諸君務必牢記一點,無論今天的技術多麼韆變萬化,人是不變的。無論從哪方麵來看,現代的人類與幾韆年前的人類並沒有太大區彆。
注解 236
詞匯錶 242
索引 253
版權聲明 256
· · · · · · (
收起)