世界是數字的


《世界是數字的》是世界頂尖計算機科學家Brian W.Kernighan寫的一本計算機科普類讀物,簡明扼要但又深入全面地解釋了計算機和通信系統背后的秘密,適合計算機初學者和非計算機專業的人讀。這真的是一本好書,借Google常務董事長的話:

對計算機、互聯網及其背后的奧秘充滿好奇的人們,這絕對是一本不容錯過的好書。

對於一個計算機已經學了N年的專業人士來說,這本書也許簡單了點,不過我還是認真過了一遍,發現也有一定的收貨,因為一個人很難掌握本領域里的所有知識,或多或少會有一些欠缺,總會有一些你以前不知道的,或一直沒理解清楚的但又很有必要知曉的知識,我在閱讀此書過程中就有這種感覺,經常會有一種恍然大悟的感覺,比如理解了互聯網上一些不為人知的跟蹤原理(具體可以看我下面總結的第12點“Cookie如何暴露你在互聯網上的行蹤”)。我是個喜歡記筆記和做總結的人,閱讀完一本書,我經常會找個閑暇的時間總結下,主要是根據自己已有的知識儲備體系總結一些對我有幫助的或有必要知道的知識點。

下面就簡單總結下自己的所獲和所感。
注意:下面的知識都是科普知識,適合非計算機專業、計算機初學者及和像我一樣計算機一開始就沒學好的人看,那些牛B的大牛就不用來浪費時間來讀你們已稱之為“常識”的知識啦。

1. P和NP問題

現在的程序員都很怕遇到NP問題,不僅算法復雜而且還保證不了每次都能找到解。那到底什么是P問題和NP問題呢?作為一個程序員,你如果回答說“P問題就是容易的問題,NP問題就是復雜的難以解決的問題”那就太失敗了。P即“Polynomial”(多項式),P問題是指具有“多項式”級復雜性的問題。換句話說,解決這些問題的時間可以用N^2這樣的多項式來表示,其中指數可以大於2,但都是可能在多項式時間內被解決的,這些問題相對比較簡單。
但是,現實中大量的問題或者說很多實際的問題似乎都需要指數級算法來解決,即我們還不知道對這類問題有沒有多項式算法。這類問題被稱為“NP(nondeterministic polynomial,非確定性多項式)”問題。NP 問題的特點是,它可以快速驗證某個解決方案是否正確,但要想迅速找到一個解方案卻很難。可以這么認為,這些問題可以用一個算法在多項式時間內靠猜測來解決,而且該算法必須每次都能猜中。在現實生活中,沒有什么能幸運到始終都做出正確的選擇,所以這只是理論上的一種設想而已。

可以舉個簡單的例子來說明NP問題,那就是著名的“旅行推銷員問題”(Traveling Salesman Problem)。一個推銷員必須從他居住的城市出發,到其他幾個城市去推銷,然后再回家。目標是每個城市只到一次(不能重復),而且走過的總距離最短。這個問題實際應用價值很大,其原理經常被應用於設計電路板上孔洞的位置,或者部署船只到墨西哥灣的特定地點采集水樣。旅行推銷員問題已經被仔細推敲了50 多年,但還是解決不了NP難問題。

現在業界內也經常討論一個問題:P 是否等於NP?即這些難題到底跟那些簡單的問題是不是一類?
盡管很多人都相信未來的某一天可以達到P=NP,但我還是希望這一天不要太早到來,因為現在一些重要的應用,如加密軟件,都是完全建立在某個特定的問題確實極難解決的基礎之上的。設想一下,如果某天這些難問題都被攻破了,那我們的各個賬號密碼、網銀豈不是要……當然,如果真有那么一天,也表明計算機領域又有了一個重大的突破,這是值得可賀的。

2. 沒有刪除只有覆蓋

我們知道,磁盤沒有真正的刪除,我們所謂的“delete”操作只是把文件占用的塊回寫到空閑塊列表。但是,這些文件的內容並沒有被刪除。換句話說,原始文件占用的每個塊中的所有字節都會原封不動地呆在原地。除非相應的塊從空閑塊列表中被“除名”並奉送給某個應用程序,否則這些字節不會被新內容覆蓋。這意味着什么呢?意味着你認為已經刪除的信息實際上還保存在硬盤上。如果有人知道怎么讀取它們,仍然可以把它們讀出來。任何可以不通過文件系統而能夠逐塊讀取硬盤的程序,都可以看到那些被“刪除”的內容。

那么如何真正的徹底刪除呢?Mac中的“安全擦除”選項在釋放磁盤塊之前,會先用隨機生成的比特重寫其中的內容。但是即使用新信息重寫了原有內容,一名訓練有素的敵人仍舊可以憑借他掌握的大量資源發現蛛絲馬跡。軍事級的文件擦除會用隨機的1 和0 對要釋放的塊進行多遍重寫。更為保險的做法是把整塊硬盤放到強磁場里進行消磁。而最保險的做法則是物理上銷毀硬盤,這也是保證其中內容徹底銷聲 匿跡的唯一可靠方法。

也有一些徹底刪除文件的軟件,比如我用過的BCWipe(是看韓國黑客犯罪片“幽靈”時知道的,劇里經常用這個軟件刪除機密文件),它提供 Delete with wiping、Wipe free disk space 兩種方式來清除你的磁盤文件,還有其它選項,不過這款軟件是收費軟件,我只試用過一段時間,我本人沒啥見不得人的文件,也不需要此類軟件,只是當時看完電視好奇試玩了一把。

3. 無線網絡上網原理

從技術角度講,無線網絡利用電磁波傳送信號。電磁波是特定頻率的電波,其振動頻率以Hz 來衡量(讀者可能更熟悉廣播電台常用的MHz 或GHz,比如北京交通廣播電台的頻率是103.9 MHz)。在發送信號之前,首先要通過調制把數據信號附加到載波上。比如,調幅(AM)就是通過改變載波的振幅或強度來傳達信息,而調頻(FM)的原理則是圍繞一個中心值來改變載波的頻率。接收器接收到信號的強度與發射器的功率成正比,與到發射器距離的平方成反比。由於存在這種二次方遞減的關系,距離發射器的距離增加一倍,接收器接收到的信號強度就只有原來的四分之一。無線電波穿越各種物質時強度都會衰減,物質不同衰減程度也不同,比如說金屬就會屏蔽任何電波(突然想起《超驗駭客》電影里卡斯特家花園里建的用來屏蔽信號的金屬網)。高頻比低頻更容易被吸收,二者在其他方面都一樣。

無線聯網對可以使用的頻率范圍—頻段,以及使用多大的功率發送電波都有嚴格規定。頻段分配始終都是一個有爭議的話題,因為各種需求總會發生沖突。

無線以太網設備發射的電波頻率為2.4~2.5 GHz,某些802.11 設備的頻率會達到5 GHz。所有無線設備的頻率都局限於這一較窄的范圍內,沖突的可能性大大增加。更糟的是,有些無線電話、醫療設備,甚至微波爐也跟着湊熱鬧,同樣使用這一頻段。有一次作者在使用廚房里那台舊筆記本時無線連接突然斷了,后來才發現是用微波爐加熱咖啡的緣故。30 秒鍾的加熱就足以讓筆記本斷開無線連接。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



《世界是數字的》 世界是數字的(其一) 世界是數字的(二) 世界是數字的 《世界是數字的》 世界是數字的 《世界是數字的》(1/4) 世界是數字的(其二) 世界是數字的(三) 世界是數字的
 
粤ICP备14056181号  © 2014-2021 ITdaan.com