-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

普林斯頓計算機公開課

( 簡體 字)
作者:作者:〔美〕布萊恩 W. 柯尼漢(Brian W. Kernighan)著類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社普林斯頓計算機公開課 3dWoo書號: 48807
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:4/1/2018
頁數:356
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111593102
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

從1999年秋季起,我就在普林斯頓大學教授一門名為“我們世界中的計算機”的課程。這門課程的名稱實在模糊得過分,令人尷尬。這是某天我在不到5分鐘的時間內想出的,結果“一失足成千古恨”,想要改名就難了。然而,在講授這門課程這個本身就令人享受的工作中,教學是我所做過的最充滿樂趣的事。

這門課是基于這樣一種觀察,即計算機和計算無處不在。每個學生都擁有計算機,這些計算機的功能都遠比一臺IBM 7094計算機強大得多。1964年,當我還是普林斯頓大學的一名研究生時,IBM 7094這臺耗資上萬美元搭建、占據了一個很大的空調房間的計算機,為整個校園提供著服務。現在每個學生都擁有計算能力遠超過1964年的計算機的手機。與這世界上很大一部分人一樣,大家還享受著高速的因特網連接。每個人都在線搜索、購物,并通過電子郵件、短信和社交網絡與親友保持聯系。

然而這些只是計算機時代的冰山一角,更多的運用則藏在生活的表面之下。我們既看不見,通常也很少會考慮生活中接觸的計算機,它們潛藏在家電、汽車、飛機,以及無所不在、司空見慣的數碼產品中,諸如照相機、DVD播放器、平板電腦、GPS導航儀和電子游戲等。我們更不會想到像電話網絡、有線電視、空中管制、電網、銀行和金融服務這些基礎設施有多么依賴于計算機運算。

大多數人不會直接參與這些系統的創建,然而它們對我們每一個人都有著重要影響,有些人還會做出與這些系統相關的重要決定。如此看來,如果人們能更好地了解計算機豈不會更好?一個受過教育的人至少應該了解最基礎的計算機知識:計算機能做什么以及如何做到,計算機技術的局限性以及目前來說幾乎難以達到的極限,計算機之間如何溝通,溝通時會發生什么,以及計算機和通信如何影響著我們身邊的世界。

計算機技術的普遍性通過意想不到的方法影響著我們。監控系統的增長時不時提醒著我們隱私入侵和身份盜竊的危險,我們需要認識一下這些危險通過計算和通信技術所能達到的程度。

2013年6月,愛德華·斯諾登,美國國家安全局(NSA)的一位承包商,在向記者提供的文件中揭露了美國國家安全局對于幾乎世界上所有人,尤其是居住于美國本土公民的電子通信的常規監控和信息收集。值得注意的是,這些本土公民對于他們的國家無法造成任何威脅,而情報機構對于電子通信的監控和信息采集覆蓋了監控對象的電話、電子郵件以及網絡使用。斯諾登的文件顯示,其他國家也在對他們的公民進行暗中監視,例如英國的政府通信總部(GCHQ),其對于英國而言正相當于美國國家安全局之于美國的地位。情報機構之間會進行常規的情報共享,然而它們共享的并不是所有情報。也正因如此,美國國家安全局在竊聽德國總理安格拉·默克爾的手機這件事對于德國情報界而言可能是有些震驚的。

這些集團對我們的跟蹤和監控同時在線上及線下進行,所以對于任何人來說,保持匿名都是很困難的。海量數據的可獲得性促成了在語音識別、圖像識別和語言翻譯方面的巨大進步,而這一切均以我們的隱私為代價。

罪犯在對數據存放處的攻擊方面越來越有經驗。政府和商業機構的電子非法闖入變得越來越頻繁,有關顧客和職員的信息大量失竊,而這些信息常被用來進行詐騙和身份盜竊。不僅如此,針對個人的攻擊也很常見。在過去,任何人只要單純地忽略來自所謂的尼日利亞王子及其親戚的郵件就可以安全地避開網絡詐騙。然而當今有針對性的攻擊如此普遍,已經成為導致公司計算機泄密的最常見手段之一了。

管轄權的問題也很難處理。歐盟已經要求主要搜索引擎提供“可遺忘權”這個機制,這樣普通人可以將他們的在線歷史排除在搜索引擎結果之外。對于那些利用位于歐盟(而非美國)境內的服務器存儲歐盟公民數據的公司,歐盟也制定了相關的條款以要求它們實行相同的機制。當然,這些條款僅在歐盟境內生效,在世界上其他地區則因地而異。

云計算的快速采用使情況更加復雜。通過云計算,個人和公司在亞馬遜、谷歌和微軟以及其他一些服務商提供的服務器中存儲數據并進行計算。數據不再由它們的所有者直接擁有,而是為第三方直接掌握,這些第三方有著不同的規程、責任和弱點,而且可能面臨著不同的管轄權規定。

“物聯網”也在飛速增長。在物聯網中,各種設備都與因特網相連。一個最明顯的例子當然是手機,但汽車、監視攝像頭、家用電器及其控制器、醫藥設備,還有很多的基礎設施如空中交通管制和電網之類都屬于此。將能看見的所有設備都與因特網進行連接的這個趨勢將會持續,因為相互連接的好處令人無可抗拒。然而不幸的是,物聯網的嘗試存在很多風險,例如與更加成熟的系統相比,設備的安全性更加脆弱。

密碼學是應對這些隱患的有效抵抗策略之一,因為密報可以提供手段以保證通信和數據存儲的私密。然而強大的密報也經受著持續攻擊。個人、公司或恐怖分子可以擁有真正的私有通信,這個主意并不為政府所歡迎。因此,時常會有議案要求在密報機制中提供后門,這樣就可以允許政府機構在有著“適當安全保障”、僅僅“為了國家安全”的前提下解除加密。然而,值得高度關注的一點是,這是個壞主意,因為虛弱的密報不分敵友都可能被利用。

無論背景如何,或者接受過何種訓練,普通人都必須關心這些問題——無論他們是我課上的學生還是街上的百姓。

聽我講課的學生大多沒有技術背景——他們學的專業不是工程、物理或數學。相反,他們可能主修英文、政治、歷史、古典文學、經濟、音樂和藝術,很大一部分都和人文與社會科學相關。在這門課程結束之后,這些聰慧的人將能夠讀懂有關計算機技術的新聞報道,從中學會些什么,或許還能指出幾處相對不那么精確的地方。更廣泛地說,我希望我的學生和讀者可以對技術持有一種理智的懷疑態度,要知道技術雖然通常是個好東西,但絕非萬金油,反過來,雖然科技有時候會有不好的效果,但也全非十惡不赦。

理查德·穆勒(Richard Muller)寫過一本很好的書——《未來總統的物理課》(Physics for Future Presidents)。在那本書中,他解釋了作為領導者所需處理主要議題背后的科技背景,這些議題涵蓋核威脅、恐怖分子、 能源、全球變暖,等等。即使不想當總統,見多識廣的公民也應該對這些話題有所了解。穆勒的寫作手法為我這本書的意圖做了一個很好的隱喻——“未來總統的計算機課”。

一個未來的總統關于計算機應該了解些什么?一個見多識廣的人關于計算機應該了解些什么?每個人都有自己的想法,而這里是我的見解。

以下是三個核心的技術領域——硬件、軟件和通信——本書的內容圍繞它們展開。

硬件是計算機中可觸摸的部分,它們放置在家中和辦公室里,或者在隨身攜帶的手機中,是我們可看見、觸摸并使用的那些計算機。計算機里有什么?它如何運作?計算機如何架構?它如何存儲和處理信息?什么是位或字節?我們如何通過它們來展示音樂、電影以及其他內容?

軟件是告訴計算機做什么的指令,與硬件相比幾乎無法觸及。我們可以計算什么,可以計算多快?我們如何告訴計算機該做些什么?為什么讓計算機正確工作很難?為什么它們如此難以使用?

通信意味著計算機、手機以及其他設備根據我們的需求互相對話,這樣我們可以利用這些設備進行通話,例如通過因特網、萬維網、電子郵件以及社交網絡。這些通信技術是如何運作的?通信技術的回報顯而易見,那么這些技術有何風險?通信技術造成的隱患,尤其是在我們的隱私和安全方面,該如何減輕?

在這三個主題以外還應該加上數據。數據是硬件與軟件所采集、存儲以及處理的所有信息的統稱,也是通信系統在全球傳輸的對象。這些數據有些是我們自愿提供的:審慎地或是隨意地,我們通過上傳文字、圖片和視頻自愿發布了這些信息。而另一些則是我們的個人信息,通常在不知情且未經允許的情況下被收集和共享。

無論是否身為總統,你都應該了解計算機世界,因為它會對你個人產生影響。無論你的生活和工作與技術相隔有多遠,你總會與技術或搞技術的人產生交集。對于硬件與系統如何運作稍有了解會對你有很大幫助,這些幫助至少可以讓你發覺推銷員或服務熱線什么時候對你隱藏了部分事實。沒錯,無知有害。如果不了解病毒、網絡釣魚和其他類似的危險,你就很容易受到它們的傷害。如果不知道社交網絡如何泄露甚至傳播你認為是隱私的信息,那么你被揭露的隱私可能會超乎想象得多。如果沒有意識到那些令人眼花的推送其實是商業集團在不擇手段地從你的個人信息中挖掘出線索,你就可能會為了蠅頭小利而放棄隱私。如果不了解在咖啡店或機場進行個人理財的風險,你便會面臨著錢財和身份被盜竊的隱患。不僅如此,即使身處危險,我們還忽略了國家安全部門對個人隱私的監控和調用。

本書按照從前往后的閱讀順序寫作,不過你也可以先跳至感興趣的章節,之后再閱讀其他內容。例如,你可以先從第8章開始討論的網絡、手機、因特網、萬維網和隱私問題的內容讀起,除了某些部分你也許得回顧之前的章節之外,大部分內容都是易于理解的。你可以跳過任何量化的內容,比如第2章中的二進制數如何工作,或是忽略一些章節中的編程語言詳述。本書結尾處的注釋中列出了一些我尤其喜歡的書目,也包括相關資源和輔助閱讀材料的鏈接。術語表給出了關鍵技術術語和縮略詞的簡單定義與說明。

有關計算機的書更新換代都很快,這本也不例外。本書第1版在我們知曉美國國家安全局對個人的暗中監視擴大化之前出版。在新版中我更新了這樣一些重要的新故事,這些故事很多都與個人隱私和安全相關。這是因為,個人隱私和安全問題在過去幾年之內經歷了天翻地覆的改變。我也嘗試著去澄清一些模棱兩可的說明,并刪減和替換過時的內容。即使這樣,當你讀到本書時,有些細節可能已經被證明是錯誤或過時的。就像在本書第1版中那樣,我盡力將那些長期都有價值的內容盡可能清晰地傳達給讀者。至于其他內容,比如更新、勘誤或補充資料之類的,請讀者抽空訪問本書(英文版)網站 kernighan.com。

假若你能對這種令人驚嘆的技術產生些許欣賞,并且真正理解它的運行方式、起源以及未來發展趨勢,我寫作本書的目的就達到了。在這個過程中,若你能找到一個有益的視角來了解這個世界,則吾愿已成。

致謝

再一次對朋友和同事提供的無私幫助深表感謝。正如對于第1版那樣,Jon Bentley非常仔細地閱讀了每份書稿,并在每頁上進行了細致的批注,他的付出讓本書變得更好。同時感謝Swati Bhatt、Giovanni De Ferrari、Peter Grabowski、Gerard Holzmann、Vickie Kearn、Paul Kernighan、Eren Kursun、David Malan、David Mauskop、Deepa Muralidhar、Madeleine Planeix-Crocker、Arnold Robbins、Howard Trickey、Janet Vertesi和John Wait等人,他們為書稿提供了寶貴的建議、批評和勘誤。David Dobkin、Alan Donovan、Andrew Judkis、Mark Kernighan、Elizabeth Linder、Jacqueline Mislow、Arvind Narayanan、Jonah Sinowitz、Peter Weinberger 和 Tony Wirth等人也為我提供了寶貴的建議。與普林斯頓大學出版社的制作團隊——Mark Bellis、Lorraine Doneker、 Dimitri Karetnikov 和 Vickie Kearn的合作也十分愜意,在此感謝他們所有人。

我也很感激普林斯頓大學信息技術政策中心的友好合作、對話和每周的免費午餐。同時,感謝選修COS 109課程的那些聰穎的學生,他們的天才和熱情持續使我驚嘆并為我提供靈感。

第1版致謝

我對朋友和同事提供的無私幫助深表感謝。尤其要感謝Jon Bentley,他在每頁書稿上都進行了細致的批注。感謝Clay Bavor、Dan Bentley、Hildo Biersma、Stu Feldman、Gerard Holzmann、Joshua Katz、Mark Kernighan、Meg Kernighan、Paul Kernighan、David Malan、Tali Moreshet、Jon Riecke、Mike Shih、Bjarne Stroustrup、Howard Trickey和John Wait極其認真地審讀完成書稿,他們提出的很多好建議,使我避免了一些重大失誤。還要感謝Jennifer Chen、Doug Clark、Steve Elgersma、Avi Flamholz、Henry Leitner、Michael Li、Hugh Lynch、Patrick McCormick、Jacqueline Mislow、Jonathan Rochelle、Corey Thompson和Chris Van Wyk的寶貴批注。但愿他們一眼就能看出我在哪里采納了他們的建議,而不是注意那幾處我沒聽勸的地方。

David Brailsford 根據自己來之不易的經驗給了我很多有用的建議。這些建議有個人出版方面的,也有文字排版方面的。在出版方面,Greg Doench 和 Greg Wilson 也毫無保留地給了我一些建議。由衷地感謝 Gerard Holzmann 和 John Wait 提供了照片。

Harry Lewis 是在 2010∼2011 學年期間,我在哈佛大學時負責接待我的人,在那里我完成了本書的前幾稿。Harry 的建議,還有他對于類似課程的教學經驗都對我幫助很大。他給我的幾份書稿寫的批注也一樣可貴。哈佛大學的工程和應用科學學院、伯克曼因特網與社會研究中心為我提供了辦公環境、設施,還有友好而催人奮進的氛圍,以及每日定點的免費午餐(世上真有免費午餐)。

最后,特別感謝選修“COS 109:Computers in our World”這門課的幾百位學生。他們的關注、熱情和友誼一直都是我不竭的靈感之源。希望他們在走上社會幾年后,對這門課的學習還能使他們受益匪淺。
內容簡介:

世界頂尖的作者,簡潔明了的內容,邀你共同探索數字世界的奧妙,值得人手一本!

——Eric Schmidt,谷歌董事長、前CEO



在作者筆下,計算機和因特網變得不再神秘,機器里的復雜芯片、新聞中的熱點事件、全球化的技術創新,這些統統融為一體,每個讀者都將受益匪淺。

——Harry Lewis,《Blown to Bits》的作者



每天都在和電腦打交道的我們,到底需要懂多少電腦知識?讀這本書就夠了!它不僅能幫我們輕松了解硬件、編程、算法和網絡知識,還討論了與每個人切身相關的隱私、監管和安全問題,有趣又有用。

——John MacCormick,狄金森學院



這是所有人都能看懂的計算機和電子通信常識,涵蓋的主題非常豐富,但讀起來卻自然流暢,毫無障礙。不論你是外行還是專家,都強烈推薦!

——Bryan Respass,博根郡高中
目錄:

譯者序
前言
引言
第一部分 硬件
第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
序: