經典電影《黑客帝國》有哪些內容只有學計算機的人才能理解?

這部電影是大學時老師推薦的,他自己就看了五遍。我自己第一便是沒太看懂的,第二遍的時候才慢慢理解了一些東西,比如裡面的警察應該就是類似殺毒軟體之類的安全軟體等等,那裡面還有哪些是只有學過計算機的人才能明白的內容呢?


貌似沒人提到雙子病毒,我來說說。

在電腦病毒界,有一種雙進程或者多進程病毒,簡單說就是在你的電腦後台同時開啟兩個或更多相同的病毒程序,且互相影響,你關閉、刪除其中一個,另一個會再次將其自身複製並開啟,這樣就很難關閉病毒軟體了。所以殺毒軟體需要同時間將其都關閉、刪除才行。

電影里很形象的表現了這一點,兩人是雙胞胎,一模一樣(本來就是複製的一樣的程序),會經常出現其中一個受傷,但只要沒有同時幹掉兩個人,其中一人的傷口就會立刻復原。

直到最後,被墨菲斯同時在爆炸的汽車中幹掉。


影片剛剛開始Neo還是程序員的情景,Neo先摁Esc然後Ctrl+Z掛起當前進程。這是Linux下常用命令。


這樣下去,史密斯先生是??全家桶的前身就被你們揭露出來了!


整部電影?

你以為看懂了《黑客帝國》?一百個人有一百個《黑客帝國》,來聽聽黑客版的:

黑客帝國1—矩陣
著名黑客小組「錫安」收到了一個匿名的任務:滲透入侵大型人工智慧系統「矩陣」,「錫安」的分隊長之一「孟菲斯」決定去招募當前最出名的少年黑客「尼歐」加盟來完成這個任務。

「孟菲斯」和女黑客「崔尼蒂」前往某大型軟體公司去尋找表面上是程序員,其實是0 Day軟體破解者的黑客「尼歐」,正逢「尼歐」事發被追捕,於是「尼歐」決定加入錫安小組。

註:0 Day軟體破解者,盜版軟體的主要來源,成員部分來自各大軟體公司的任職人員,利用自己的休息時間破解各種商業軟體並分發到互聯網。所謂0 Day是指「不到一天」,因為他們往往可以在24小時內破解新發布的軟體。

「尼歐」從「孟菲斯」那裡得知,「矩陣」是邪惡的,它操控了整個互聯網,使得人們看到都是虛假信息,而「錫安」小組的使命就是儘可能地入侵併破壞「矩陣」,從而將更多人從「矩陣」的操控下解放出來。

由於精通網路協議和操作系統架構,「尼歐」剛剛加入「錫安」就嶄露頭角,在多次行動中進步神速。很快就發現了「矩陣」的各種漏洞。

為了近一步提高「尼歐」的能力,孟菲斯決定帶「尼歐」去見網名為「先知」的著名女黑客,據說她有非常強的預見能力,可以知道每個人的潛質和適合的發展方向。然而「先知」卻說「尼歐」還沒有準備好,根本不是能完成任務的「救世主」。

此時由於「錫安」內部有人被「矩陣」公司招募從而叛變,「矩陣」的首席信息安全官「史密斯」追蹤到了大家,並查到了「孟菲斯」的登錄源地址。在救援「孟菲斯」的時候,「尼歐」也被「史密斯」追蹤到而且被刪除了工作筆記本的硬碟,此時「尼歐」的能力爆發了,他不僅手工恢復了硬碟,還突然頓悟了「矩陣」系統的架構和編碼,甚至能直接閱讀未經解碼的數據流,「矩陣」的各種安全防護措施對「尼歐」完全失效,他反過來黑掉了「史密斯」的辦公電腦,順利地解救了「孟菲斯」,「史密斯」也因為此事而被「矩陣」公司開除。


黑客帝國2—重裝上陣
待續

黑客帝國3—最終戰役
待續


說到oracle,我記得她第一次出場就是在做cookies……太久了不知道有沒有記錯。

嗯……這個應該不需要「只有學計算機的人才能理解」……因為我就不是……


記得上大學重溫黑客帝國,看完一邊之後感覺裡面很多東西涉及到內核,重寫,文件系統,內存監控,rookits,0day,任務調度,中斷服務...感覺作者通過一個計算機體系向大家講了很多東西...
本來想寫自己的腦洞的,後來看到網上有一篇分析,感到讚不絕口:

Matrix世界:

相當於一個正在運行的具有用戶空間的操作系統(我們人類居住的普通世界,內核(「Matrix」本身))。顯然的,這是一個頗有缺陷的操作系統。。。

民眾:

相當於進程,包括內核進程和用戶進程。一般進程,「非特權」進程和具有root許可權的後台進程(「特工」)還是有很大的區別。具有root許可權的後台進程可以使用特權埠,銷毀隨機進程,管理內存等等。


Matrix:

相當於內核。它看上去是基於消息傳遞的內核結構,而並非是微內核結構(儘管它們具有微內核的某些部分,比如擁有大量內核進程,進程之間都是嚴格獨立的,以及已提到的消息傳遞機制)。內核管理所有的進程,以及進程上的操作(比如保持進程活躍,為進程服務,回收進程)。但是這仍有一個明顯的安全缺陷:某些用戶進程能夠將它們的部分代碼傳送到內核空間並執行(因為一個bug)。只有某些系統調用受到影響(類似於 」phones」),這種擴大了的特權篡改了用戶進程的返回棧,因此,如果該進程接收到一個信號,它會產生段錯誤並被作為垃圾回收(你如果在Matrix中被殺掉的話,那麼你就真的死掉了)。


先知(Oracle):

相當於進程(任務)調度器。擁有處理監聽(資源利用率)的所有數據以及提前(這很顯然)知道怎樣對它們進行最優調度。


特工(Agents):

相當於系統監控/入侵防護/具有啟發式操作的防護系統(IDS(入侵檢測系統)/IPS(信息處理系統))。它們中絕大多數都有一個內核部分(或內核模塊)但基本上卻是那些具有超級用戶特權的後台進程在用戶空間運行。它們的職責是發現試圖入侵系統安全的進程並銷毀掉。


列車員:

相當於內核和用戶空間的網關/信息傳遞隊列。你如果想要合法地在用戶空間和內核進行數據傳遞必須通過這裡來進行。當然,你也可能永遠被困在排隊隊列中。


邪惡宗師—梅羅紋奇(Merovingian):

相當於網路/IPC(進程間通信)棧。它的職責是掌握進程之間都發生了什麼。輸入/輸出數據的一個偶然錯誤將以一個bug的形式表現出來。


「鬼魅」(Ghost):

相當於老版本API/KPI的兼容器。由於歷史原因,這些代碼並不完善,但與某些內核進程相連的代碼卻不應該不完整。


「建築師」(Architect):

相當於硬體上的內核監控(管理者),負責監控進程,銷毀那些「畸形」進程並對銷毀的進程進行重啟。由於它是一個實時的具有高度可靠性的系統,在硬體上進行調試和監控顯然具有最高的優先順序,而且還絕對是可靠的(因此,為了降低出錯的可能性,也降低它的複雜性)。由於它頻繁地進行可用性檢查,造成了過度的錯誤配置,消耗了太多的資源,因此影響到了操作系統的正常運作。


關鍵人物—制鑰者:

相當於安全/特權子系統。它很穩定,但不幸的是需要依賴不完善的VM(虛擬內存)系統和IPC系統,因此它可被進程利用來獲取更多的特權。


Matrix系統設計:

在系統高度負載的情況下(大量的進程,頻繁的內存讀寫),VM(虛擬內存)系統,進程管理系統和調度器之間有一個設計缺陷。這是一個複合錯誤,至少會導致三種問題的產生:1、內存頁被破壞或者內存頁分配給那些不屬於它們的進程。由於內核和用戶空間共享虛擬內存,為了防止敏感數據的暴露,提高安全性,任何一方的進程都可以因為得到另一方的內存頁而被銷毀。2、進程間通信,這是非常糟糕的,甚至比進程的數據結構被破壞或者內存裝載太頻繁而造成死鎖,而不得不等待緩衝區還要糟糕。3、系統監控變得不穩定,循環地銷毀和重啟進程,察覺不到這樣的操作會額外增加內存和進程的負擔而變得更糟糕,最後極大地增長了進程間虛擬內存頁被破壞的速度。

史密斯特工:

相當於有特權的IPC後台程序,具有部分內核模塊功能。它與內核模塊關係密切,且能夠不通過完整性檢查而與內核共享數據結構。一旦它被另一個特權進程銷毀掉,它也能藏身於一個系統調用中間以便於監控者重啟它,此時它的進程描述符也被破壞,這樣使得它的大部分程序代碼將在內核中執行。它將繼續以這種受損狀態長時間工作,鍥入到一個循環中,並將進程錯誤地標記為安全漏洞,同時重寫它的某些內存頁。


尼奧(Neo):

最初是一個用戶空間的網路服務進程,虛擬內存的損壞導致它被賦予了超級用戶的特權以及具有CPU高優先順序。最後它得到可執行的內存頁與IDS進程Simth的混合,但卻不是數據頁。很快它也開始銷毀進程,包括Smith和它自己被損壞的部分。


結局:

最後Smith進程試圖殺死調度者進程,但由於他本是也是通過該調度者調度的,他並不能這麼做。系統變得畸形是因為調度者不能再執行任務,包括中斷服務,但是在調度者的虛擬內存鏡像(同樣該鏡像也偶然地與Neo進程進行了部分共享)里的部分Smith代碼卻仍然可以執行。由於只有兩個進程可以運行,他們都想殺掉對方。與此同時,由於沒有中斷服務,硬體的監視時鐘別喚醒,它插入了一個NMI(不可屏蔽的中斷),這樣就又喚醒了監控系統。這就使得系統處於臨界狀態並開始殺掉所有的進程,然後重啟被殺掉的進程來使系統再次啟動。結束!


分析總結

在操作系統的設計時候有一個內在的缺陷,特別是在虛擬內存,進程間通信和監控子系統這幾方面,這將導致進程間的全局內存被破壞以及在少量進程的地址空間產生致命的缺陷。


建議:

要保證適宜的進程優先順序,必須進行更多的微調,減少優先順序反轉和失衡。很可能要重寫虛擬內存系統,開發消耗更少資源的版本來取代IDS系統。如果系統負載處於某個閥值之上,系統監視器必須要進行修正,而不會再啟動大量的操作。

上文轉自
怎樣向一個外行人解釋操作系統內核?看《黑客帝國》


這是我在網上看到解析的最好的一篇,真正解析的非常的透徹而且完美,不像很多解析完全是想當然===

【Matrix的前世今生】-----黑客帝國全解析
  轉自pop社區
  作者bmw2222
  當我在11月5日下午2點整坐在華納公司的電影院里,等著Matrix完結篇全球同步開始的
  時候,心裡的不能說是平靜的。我看到雖然是周四的下午,還是有很多人都從公司里,
  從學校里逃了出來,這個最大廳竟然坐無虛席。連第一排都坐滿了人。我實在懷疑他們
  在離銀幕只有幾米的距離下,怎麼看得舒服?
  電影開始後,奇怪的感覺馬上就來了。從5月看第二集到11月看第三集,因為情節上是緊
  接著的,而且,周三我才去了IMAX看數碼版複習了一遍第二集,我突然一陣恍惚,覺得
  這6個月怎麼一下子就過來了,我好象還是在6個月前還是坐在這個廳里看第二集剛剛結
  束的感覺。混沌之感滿足於心。
  影片結束後,貪婪的我坐在椅子上把片尾的字幕全部看完,還不願意離去。先不說片子
  的好壞,和啟發。最大的感覺就是失落感,因為我不知道自己什麼時候可以再去這樣期
  待一部電影!現在再期待,也已經結束了,心裡空蕩蕩的...............
  這個系列的電影已經完全結束,大家的討論是一浪高過一浪。給大家轉一個我最信服的
  觀點過來,希望有所幫助。當然了最後的答案,應該都在那張超級龐大的9張D9盤裡,大
  家到時候看的時候,打開導演音軌,一切就都明白了。
  我看了很多有觀MATRIX的評論,發現有些仁兄或者是沒看MATRIX動畫版或者是沒玩MATRI
  X遊戲版,他們對MATRIX一知半解,對MATRIX這個結構邏輯嚴密的系統有一些不正確(或
  者說是非官方)的解釋,而這些解釋所衍生出的種種「浪漫「「奇幻「的猜想(如ZION虛擬
  說,NEO超能力說,甚至在科幻片里最忌諱的宗教神秘說等等)讓人哭笑不得,我不得不
  把各個版本MATRIX里對MATRIX系統的各種描述做個總結,讓大家對電影的情節有更好的
  理解。

  前世篇
  這裡的資料來源主要是MATRIX動畫.
  一切從近未來的某一天開始,當時人工AI的機器人服務於人類生活的各個領域,這天,
  一台人工AI的機器人突然爆走殺死了它的人類主人,這次事故引發了類似消滅「有狂犬病
  的瘋狗「的運動,人類社會對人工AI的機器人進行了蠻不講理的「屠殺「和「驅趕「,大部分
  人工AI機器人被破壞,一小部分被拋棄的人工AI機器人彙集到一個被人類拋棄的地方開
  始了自立的生活(大約在中東地區某地,在那個時代估計中東的石油早被開採盡了,於
  是就成了荒漠).
  但那個原來很渺小的利用太陽能作為動力的機器人國家迅速強大膨脹,這不可避免使之
  的和人類發生接觸和摩擦,在某一天的聯合國大會上,兩個人形的機器人大使試圖使「機
  器國「加入聯合國,但人類認為這是奇恥大辱,當場驅趕了機器人大使,其後機器人帝國
  和人類國家的各種摩擦升級成全面戰爭,但人類的血肉之軀難以抵擋機器人的進攻,戰
  爭中人類節節敗退,輸紅眼的人類終於拿出終極武器「核彈「,但大規模的核爆沒有能對
  機器人方面造成實質的毀滅,核爆後的放射污染對機器人根本無效,機器人的強大攻勢
  絲毫未減.
  已經山窮水盡的人類這時通過了一個「遮蔽天空「的戰鬥計劃,因為機器人的能源供應是
  依賴太陽能的,如果切斷太陽能,機器人的能源供應就會出現短缺,轉換能源供應體系
  不是短時間內能辦到的(至少在人類社會裡以上理論是成立的,但是對機器人....),
  就在這個時候,發動最後的反攻一舉撲滅所有機器人。
  於是人類開始了這個瘋狂而愚蠢的計劃,沒多久地球的天空被一層黑色不透光的雲遮蔽
  ,但是人類期待的情況並沒發生,出現能源短缺的機器人並沒有大批的癱瘓,他們就地
  取材得把戰場上受傷的人類戰俘當作臨時「電池「(這是MATRIX產生的最初動機,當時只
  是把人類簡單的一排排得接在機器上,通過刺激人類的腦部使人類的身體發電,但連接
  在機器上的人類很快會死亡,死亡意味著電池沒電,為了使電池的壽命更長久,機器人
  才開始研究人類的腦部,並完善了食物供應體系,使人類在連上機器後能存活更長時間
  ),機器人擊退了人類集中所有力量的最後反撲,在消滅了人類最後的政府後,人類所
  有有組織的抵抗宣告結束,人類的時代宣告終結。
  其實機器人也因為人類遮蔽了天空能源出現的問題,雖然把人類戰俘當電池用暫時解決
  了危機,但是短時間內轉換能源供應體系也非易事,只有先把更多的人類當做電池來解
  決眼前的能源短缺,於是大批的人類被抓去當做電池,最後幾乎所有地球上人類都被當
  電池,可是被當作電池的人類會很快死亡,於是已經對人類腦部有了相當了解的機器人
  開發出了可循環的人體電池系統,人類的腦部連接在一個電腦虛擬的空間里,這就是最
  初的MATRIX系統,在這個系統里,人類是生活在完美的世界上,所有慾望和需要都被滿
  足,機器人以為這樣的系統可以使人類長久的生存,但是對人的情感世界缺乏了解的機
  器人錯了,連接在這個完美世界裡的人類電池大量死亡......

  今生篇
  現在進入電影里的MATRIX世界,這裡的MATRIX是模擬人類某個歷史時期,大多數人類並
  不知道自己生活在虛幻的世界裡,但是這個虛幻的世界並不十全十美無懈可擊,在世界
  的某個角落裡總是存在著一些或大或小的BUG(如動畫版里小女孩發現的奇妙廢棄大樓)
  ,還有人類中的某些特殊體質的個體似乎能超越系統的控制(動畫版里超越體能極限的
  短跑高手),更有甚者一些程序和人類接觸中有了自我意識,他們學會了逃避系統的刪
  除。
  這些難以估計後果的錯誤有可能導致整個系統的崩潰,對此早期的MATRIX是用亡羊補牢
  或對知情者滅口的消極方式加以應對,可是這樣的運轉模式顯然無法長久,問題是會越
  積越多的,修補系統錯誤帶來的可能是更多的錯誤,必須有一個方法定期對系統進行「大
  清洗「並重新啟動(試想一個充滿BUG的遊戲伺服器,這個伺服器從來不停機維護)這就
  是大家一再提到的「MATRIX升級「,但是麻煩的是連接在MATRIX上的無數人類生命顯然是
  無法重新啟動的,這時對人類情感世界已經有相當了解的MATRIX找到了一個「最經濟「的
  方案,那就是反過來利用錯誤來消滅錯誤,並利用錯誤創造重新啟動系統的機會,這個
  完美的計劃就是電影黑客帝國三部曲的全部內容。
  以下是我按照電影的情節對這個計劃的推理。
  這個計劃的開端是設立ZION這個人類覺醒者的收容所,由於對人類覺醒者的殺戮往往導
  致更多人的覺醒,與其如此,不如把這些覺醒者踢出系統,並且統一監管起來,ZION 與
  其說是人類自由的樂土不如說是一個大監獄,為什麼這樣說,要知道ZION是MATRIX派出
  的人建立的(位置MATRIX當然是早知道的),而這些人理所當然的成為ZION的領導層,
  所有人實際上是在MATRIX控制的人監管之下。由於人類是有繁殖能力的,ZION的擴張也
  是必然的,為了防止ZION因強大而失去控制,所以MATRIX要定期毀滅ZION(舉手之勞而
  已),而這個過程和MATRIX的升級計劃合二為一。
  第二步是創造一個人類覺醒者所崇拜的「先知「,由於MATRIX對人類長期的研究發現,人
  類是非常迷信的(人類把這個稱為信仰),對「奇蹟「還是「圈套「缺乏理性的判斷力(有
  些看電影的人還一直堅持認為先知是在幫助人類.....連看電影的人都被迷惑了....),
  先讓先知給那些「反抗軍「少許「甜頭「,然後就可以把這些傢伙在MATRIX里的行動也控制
  起來。實際上電影里無論莫非斯還是NEO所有的行動都是那個先知提示的,他們在有所行
  動前已經習慣性的要到先知那裡去「批命「,這種精神控制的手法其實一點也不新鮮,人
  類社會的邪教組織一向都是用這樣的手法,區別是邪教一般是用一些小騙術來騙取他人
  的信任,而這個先知是通過高速電腦事先計算出未來事件的發生(所以這些事都不是一
  定會發生的,是需要先知這樣的角色來引導或誘發才能達成的)來取得人類的信任。
  第三步就是給這些ZION的人類創造一個虛幻的希望「THE ONE「,也就是電影中的主角NEO
  ,他還有一個作用,由於那些逃避刪除的程序熟悉MATRIX的操作手法,他們可不會吃「先
  知「的那套把戲,要對付這些「危險的系統垃圾「也需要藉助這個特殊的角色,在電影里,
  NEO在先知的誘導下(讓他去找鑰匙人)去踢了法國人的場子,消滅了他很多能力強大的
  手下,為什麼不消滅法國人,因為法國人起的也是類似ZION的作用,他把逃避刪除的程
  序收集起來當做手下,就象把垃圾掃到垃圾桶里(法國人說白了就是一掃地的),這樣
  才好一次倒掉(由THE ONE來負責一次倒掉),估計每次MATRIX升級都會有個THE ONE聽
  了先知的引導,到法國人這裡來打砸一翻,所以法國人對先知的這種手法既痛恨又無奈
  ,這也是他想要挖先知眼睛的原因。
  第四步就是開始清理系統內外,這個步驟需要先知的誘導和NEO的強大能力,首先是使NE
  O獲得能力並對先知言聽計從,這段過程大概是黑客第一集的內容,然後就是對系統內的
  逃逸程序進行打擊,先知以找鑰匙人為誘餌,讓NEO一夥和法國人的手下火拚,結果法國
  人手下全滅,法國人夫妻出於對這個「遊戲「玩法的了解始終沒有出過手(不但沒出手還
  提供幫助,法國人老婆在意味不明的一吻後提供了幫助,誰知道不是他們兩夫妻事先約
  好的?),這個過程在電影第二集里有詳細描述。最後是對ZION進行清理,消滅ZION所
  有的戰鬥力量,早就知道ZION位置的MATRIX不費吹灰之力就把ZION的反抗力量消滅,這
  些內容在第三集里有詳細描寫。
  最後的一步比較麻煩,就把THE ONE神話毀滅,並排除先知的所有的「嫌疑「,然後在所有
  在MATRIX里的人類都沒有察覺的情況下重新啟動MATRIX(我猜想可能是類似於更換一下
  遊戲伺服器主機),其中THE ONE這個角色在整個計劃中是即必不可少又相當危險的,對
  這個角色的控制不當會有非常嚴重的後果(這從黑客3最後建築師和先知說的那句:「你
  玩的是非常危險的遊戲「可以知道),消滅NEO是一個難題,MATRIX對此的對策就是史密
  斯,在第一集里史密斯只是一個性格古怪個體意識很強的「殺毒程序「,他對MATRIX系統
  的不滿情緒是他被選中成為消滅NEO的人選的原因,因為他最終也是要被消滅的(讓錯誤
  和錯誤相互攻擊抵消,是這個計劃的精華之所在),在第一集最後史密斯被NEO消滅後,
  第二集他又復活並獲得了新的能力,很多人把這解釋為系統的一個失算的殺毒程序升級
  ,其實智慧那麼高的MATRIX控制者怎麼會犯那麼愚蠢的錯誤,這肯定是有計劃的,史密
  斯獲得能力後的行動也是可以預料的(先知的拿手好戲,不要說先知,就連我看完第二
  集我就猜到史密斯在第三集里會把全人類給複製了),其實他的作用就是把全人類給復
  制,然後用他從他人那裡吸收來的能力打倒NEO(電影里說的明白是史密斯打倒並吸收了
  NEO),然後系統把他和NEO刪除掉,他的代碼從所有人身上消除,所有人都同時昏厥過
  去,最後MATRIX就抓住這個機會重新了啟動。
  在這個計劃里,ZION的人類傻傻得收集MATRIX里覺醒的人類.
  法國人也很無奈得收集著逃逸程序(不收集的話,就要他自己和THE ONE動手,結果就是
  ....).
  MATRIX輕鬆愉快得清理了系統內外的危險垃圾,這還只是順便的,重要的是系統得到了
  重新啟動的機會,系統的穩定性得到了保證。
  這個計劃最妙的地方就是可以反覆使用,MATRIX就這樣一次次得重新啟動,ZION就這樣
  一次次的被消滅又重建(電影里這次因該算被消滅了,ZION的戰鬥力完全沒了,殺戮的
  多少一向不是MATRIX追求的效果),數代THE ONE一次次得出現又隕落,MATRIX就這樣安
  全運行了數個世紀。
  大家以為這裡就結束了么?
  那還往高層次帶人呢?嘿嘿!請繼續看下去。
  一、《Matrix》是什麼?
  《Matrix》是一部電影,也僅僅只是一部電影--這是討論的起點,也是由此而引發的所
  有解釋回歸的終點。
  是電影,就是講敘一個故事,而不是某種哲學理論的闡釋或形象化圖解。故事「有開始就
  有結束「(Oracle:「Everything that has a beginning has an end.「),而故事從開
  端、發展、高潮到結局的過程中,創作者無論採取何種手段:暗示、比喻、象徵等等,
  都必須服務於一個合理且統一的劇情邏輯,起到渲染氣氛、強化懸念、煽動情緒的作用
  ,推動情節發展起伏跌宕,扣人心弦。這,才是一部「好「電影!
  以這個標準來衡量,目前市面上流行的種種「郭XX「式的解釋和說明,如果不能有助於對
  劇情以及劇情發展邏輯的理解,即使不算是謬誤,也不過是某種闡微發幽的學術研究,
  冒似深刻,實則離事實本身越來越遠。(筆者無意詆毀此前種種「假說「的努力,只是《M
  atrix》和「Matrix現象「之間確有著本質的區別。)
  在此,我將以一種順敘的方式,為大家層層解開《Matrix》最後的真相之迷。
  二、故事的背景:《Matrix》前傳
  「在很久很久以後,在一個機器的國度里……「
  一場慘烈的人機大戰後,機器最終佔領和統治了地球,把人類當做能源的提供來「種植「
  ;與此同時,為了維繫人類的繁衍生息,確保能源產量的穩定,機器通過某種機器向人
  類提供精神生活的假像,這就是Matrix(矩陣)。拋開計算機原理不談,這裡面有兩層
  含義,一,Matrix是機器的機器,用於生產能源,一如人類生產糧食所使用的工具;第
  二,Matrix得以實現的原因是基於所謂的人類「意識論「(可參考網上各種關於帕拉圖哲
  學的解說)。
  Matrix做為生產工具,唯一的衡量標淮是生產效率的提高。The Architect(設計師)設
  計的第一代Matrix是按人類理想設計的一個完美的世界,原以為人人會安居樂業,但卻
  不想由於人類的劣根性,導致人類(或稱「糧食「)大量壞死,於是,The Architect只好
  按照人類的實際情況設計了一個與現實(人類21世紀末)相符的世界。
  即便如此,人類天性中獨立、自由的意識仍然不能泯滅。於是Matrix之父The Architect
  與Matrix之母Oracle(先知)合作,把一種「假想「的選擇權賦予人類,讓人類以為進出M
  atrix是自己「自由「選擇的結果,這就是Zion的由來。可Zion的五次重建與五次毀滅,證
  明了人類仍然被一種循環論所控制;此外,機器也找到一種通過與人類生生不息的抗爭
  意識做鬥爭的方法,不斷改良和升級他們的「糧食「生產工具。(這個過程,一如人類與
  土地鬥爭的歷史,直到生產工具的改進和剩餘產品的出現,人類才擺脫了土地的束縛,
  誕生了輝煌的文明。具有AI智能的機器也是通過不斷改良生產工具來追求自己的機器文
  明的--機器正重走著人類文明發展的必由之路。)
  這,也算是人與機器之間一種和諧共存的良性互動關係,只是其原則由原來人類居統治
  地位的「人類中心論「變成了機器佔領地球後的「機器中心論「而己。在哲學意義上,這兩
  個命題是等值的,或者直截了當地說是同樣錯誤的--即然「人類中心論「導致人類盲目狂
  妄自大,漠視機器的存在,最終走向自我滅亡,那麼「機器中心論「也將同樣導致機器自
  身的毀滅。
  導演沃卓斯基兄弟的想像力從這裡開始展開:機器國度內的統治莫非也和人類社會一樣
  ,有國王Deus Ex Machina(機器大帝);有當權的統治者The Architect,其維護Matri
  x秩序的統治原則就是「機器中心論「;還有意識到「機器中心論「潛藏著巨大危機的改革派
  Oracle;以及在Matrix升級過程中被淘汰的、腐朽沒落的貴族階層Merovingian,他們為
  了自身的存在而頑固抵抗,是阻礙機器社會進步的反動力量。
  三、故事的開端:《Matrix1》
  代表機器國度「潛在「的進步力量的,還有The One(救世主)。在這裡,我明確提出The
  One肯定是機器,其次,The One是升級程序,他是用來測度和監控人類反抗意識的,這
  個程序可賦予任何人,當他被喚醒,就標誌著人類對機器的抗爭已經達到了某種不能為
  繼的程度(在《Matrix2》中表現為「這幾個月,我們從Matrix中解放的人比以前的總和
  還要多「),此時The One就要站出來,通過The keymaker(鑰匙人)回到源程序,完成M
  atrix系統的升級。
  這種升級,即是工具的進步,同時也是機器對人類控制的加強,而在思想上,則是「機器
  中心論「的惡性膨漲。Oracle並非如一般人想像是站在人類這一邊(所謂的「人類解放者「
  ),她是程序,必然要最大化地維護機器的利益,她不過是機器國度的第一批「覺醒者「
  ,在看到了這種「機器中心論「的毀滅性危機後,她決心借Matrix即將第六次升級之機,
  在行動上,向The Architect的統治發起一場衝擊。這,不啻於一場暴風驟雨的社會革命
  。
  如果電影《Matrix》講敘的是Matrix前五次往複升級的故事,將毫無意義。故事要從變
  化開始:面對The Architect的統治,Oracle的改革目標,是要把進出Matrix的選擇權由
  假變真,還給人類;而她行動上的第一步,就是爭取The One(在前五次升級中,The
  One無所謂立場,也沒有獨立意識,他的選擇權也是虛幻的,他只為升級Matrix、改良機
  器的生產工具而存在),從而讓The One在《Matrix2》中回到源程序時,做出與前五任
  相反的決擇;這當然也嚴重威脅到Matrix系統的生存。
  Oracle要把革命意識「灌輸「給具有實踐能力的The One,她的辦法是「愛「。如果一定要追
  問為什麼,我只能說廣義的愛是社會進步的唯一原動力,也只有愛才能幫助The One同時
  感悟機器與人這兩個矛盾對立雙方的疾苦,從而深刻反省人機關係及其未來。
  直到《Matrix3》,我們才理解沃卓斯基兄弟對愛的理念:愛不過是一種關係而己,可以
  發生在任何有意志的事物之間,既有人與人之間的愛(象Morpheus和Niobe),也有機器
  之間的愛(象Rama和他的妻子),Oracle選擇了其中最危險的一種類型:機器與人的愛
  。她以先知的口吻,喚起Morpheus對The One的信仰與熱情(他倆在並肩戰鬥中結下了深
  厚的手足情誼),又引導Trinity愛上了植入The One程序的Neo。
  無論《Matrix1》是部怎樣的電影,如果你看懂了這是一個幾乎與經典言情片一樣偉大的
  愛情故事,就足夠了!影片從Trinity愛慕Neo開始,歷經了愛情磨難的全部痛苦:關心
  、思念、信任、奉獻、犧牲、生死與共……直到影片的最後時刻,Neo從一場蕩氣迴腸的
  絕殺中死而復生,與Trinity深情一吻,方明證了兩人之間的愛情。說《Matrix1》簡單
  易懂,是因為影片要講敘的故事以及最後的高潮比較簡單:The One戀愛了!雖然埋著人
  機相愛的伏筆,但這有什麼關係呢,在導演眼中,所有的愛都是一樣的,所有愛的歷程
  都同樣艱辛。
  愛情第一次改變了The One的屬性(在不具備愛之前,Neo不是Oracle心目中的The One,
  是故她當面否認),Neo站到Oracle這一邊,革命燃起了希望的火種。但,正因為我們看
  完了整個《Matrix》系列,所以我們知道Neo是機器,他存在的目的就是為了機器的升級
  ,他將在愛和使命中掙扎,他最終選擇了犧牲。所以接下來,我們將滿懷痛苦地看著一
  場愛情悲劇無可避免地上演。
  革命開始了!Oracle拋下了骰子,冒險一賭,以後發生的事,她再也無力控制,這就是
  革命的代價,不是成功就是毀滅,變革的道路充滿了重重困難和危機,而身居其中的任
  何人也不知道,這一切又將何去何從?
  四、故事的發展:《Matrix 2:Reloaded》
  這裡插一筆,把《Matrix 2:Reloaded》譯成《重裝上陣》比《衝出矩陣》要更符合原
  意得多,因為第二集在整個系列當中,屬劇情的發展,講敘的是Neo以「覺醒之眼「巡遊Ma
  trix和Zion,同時體味機器與人類的疾苦,切身感悟全人類即將遭到滅亡的危機,深入
  反省人機關係的矛盾,最後終歸要回到Matrix,完成系統升級(Reloaded)的使命的故
  事。
  Neo在《Matrix 2》中的歷程應該與他的前五任The One大體相同,因此作為故事,其中
  最有趣、也最值得敘述的就是已經具有愛的屬性的Neo與前五位The One的區別之處。請
  大家在閱讀下文以及觀看影片時,在心中時刻保持著這種比較。
  在人類即將遭到毀滅的恐怖前景下,Neo、Morpheus和Trinity殺回Matrix,尋找Oracle
  ;與此同時,Matrix第六次升級也即將開始,與升級有關的Oracle、The Keymaker也遭
  到抗拒升級的Merovingian的追殺和封鎖。
  Neo與Oracle在危機四伏的環境中秘密會面。此時, The One的屬性已經改變,Oracle雖
  然爭取到了Neo,但卻無法控制Neo下一步的行動,所以她在照例指明The One去奪取The
  Keymaker之 前,則以長篇談話暗示Neo,你已被改變,你就要作出去營救Trinity的選擇
  ,但你必須認清自己的使命:你也是程序之一,你必將回到源程序。
  以後的劇情講敘故事發展必須交待的兩件大事:一是跟隨Neo,我們首次看到了Zion的人
  類生活實景,在整個旅程中,Neo帶著對Trinity的無限深情俯視愛人生活的美好家園,
  沒有這片土地,他的愛也就不復存在。
  第二件事就是奪取被Merovingian囚禁的The Keymaker。請留意Merovingian與情婦Perse
  phone合謀演戲竊取The One代碼的一場戲(這是Neo在第三集里被Merovingian囚禁的原
  因)。若比較前五位The One,可以想到,如果沒有Neo對Trinity的愛,索吻一幕絕對不
  可能發生(Persephone要求Neo必須吻得象吻Trinity一樣深)。換而言之,這是機器國
  度保守勢力第一次偷到了The One的代碼,以為可以就此阻止Matrix的第六次升級。這當
  然超出了Oracle與The Architect的預想,為革命投下一道不詳的陰影。
  在接下來緊張刺激的「高速公路追逐戲「中,也許前五次也曾發生過類似一幕,但請觀眾
  留意,這居然是Merovingian首次發現The One雖能抵擋子彈卻仍能為刀劍所傷,遂以一
  場群毆圍困住了Neo,結果Morpheus和Trinity為代表的人類是在沒有Neo的幫助下孤身闖
  關,這既是出於對Neo的愛情和友情,也在戰鬥中表現出力拚人類最後一線生機的英雄氣
  慨。若這裡沒有人類勇闖禁區的殊死搏殺,The Keymaker難逃被Agent半途劫掠的厄運(
  意識簡單的Agent犯了一個錯誤,他以為The Keymaker是沒有用途、待將刪除的程序,但
  The Keymaker堅持說他自有自己的用途;這是因為The Keymaker和Neo一樣,屬於升級程
  序的一部份,他們的重要性均不為Agent所知),這在某種意義上標誌著人機之愛達到了
  一個前所未有的高度。
  遵循劇情編排的邏輯,第二集在導演沃卓斯基兄弟的意圖中只是鋪墊和過渡,沒有太劇
  烈的高潮,著力於對轉折點--Neo毅然選擇去救Trinity--的渲染上。故事的精巧在於,
  影片從已具有預感能力的Neo的一場噩夢開始,Neo請求Trinity無論如何都不要進入Matr
  ix;但最後形勢逼迫,Trinity為援救Neo,奮不顧身殺入Matrix,使得Neo在轉折處帶有
  刻不容緩的緊迫性和幾近爆炸性的感情迸發。至於影片的結尾處,Neo在真實世界以血肉
  之驅只手斃倒電子烏賊,而後昏厥過去,一句「我能感受他們「證實了Neo的程序屬性。
  容易被忽略而又與下一集緊密相關的內容是:機器國度的暴政--機器在機器的統治下,
  也是沒有選擇權的(包括The One),程序只為目的而活,無用者將遭到刪除的命運。所
  以到第二集結束止,敢於起身反抗暴政的只有三個程序:Oracle、Seraph(先知的守護
  天使)與The One。到了第三集,我們才看到有更多程序的自我意識覺醒:Rama和他的妻
  子,以及他們的小女兒Sati(未來的Matrix管理員),在革命之前,他們僅有一種選擇
  :借Merovingian地下勢力偷渡出01城(機器城)--這其實與人類在暴政國家生活的境況
  豈不是一樣?!
  五、故事的高潮和結局:《Matrix3:Revolutions》
  哪裡有暴政,哪裡就有革命;革命一旦發生,就不是革命的領袖--Oracle--所能控制的
  ;革命的結果也不必然是勝利:不是機器的進化,就是兩敗俱傷。影片就這樣帶著沉重
  得讓人透不過氣來的懸疑逐漸進入到高潮。
  由於在《Matrix2》中出現了與前五次不同的波折,Neo被Merovingian竊取了代碼,囚禁
  在火車站中,Oracle不得不冒生命危險再次現身(她由於領導這次革命,已成了巔覆機
  器國度的反動派,同時遭到Merovingian和The Architect的雙重追殺),向人類求助,
  幻想破滅、氣急敗壞的Morpheus厲聲質問:「你叫我怎麼還能相信你?!「Oracle用以打
  動他們的,對Trinity是愛,對Morpheus而言,則是他與Neo的友情。
  其後人類殺入地獄酒吧,此時出現了戲劇性的一幕:Persephone轉而幫助人類,救出了N
  eo。這是因為Persephone借索吻之機,既偷取了Neo的代碼,同時也體會到Neo對Trinity
  的愛--機器對人的愛,她被這種愛所感動,在某種意義上背叛了她的組織。
  這是否在昭示這場社會革命必須由人與機器聯手才能完成?
  答案是否,因為Neo被囚禁已經超出了Oracle的預想,在業已讓人類失去信心的情況下,
  Oracle仍然向人類求助,顯然是不得以而為之的唯一辦法--Oracle事先並無把握人類是
  否會答應。劇情發展到此,讀者可能已經在腦海中產生深深地置疑,在這場偉大的革命
  當中,人類莫非只是一道工具,先是被Oracle誘以影響乃至改變The One在The
  Architect面前的選擇;現在又要去拯救這場革命中意外發生的變故?這個疑問將把我們
  指向《Matrix》的最後真相!
  我到這裡才開始闡釋影片另外一條主要線索:Smith。希望大家不要因此誤解,這只是由
  於文字與影像表述方法的不同。
  對於Smith,影片明確說明他是Neo一體兩面的對立面。換成劇情邏輯的表述,就是說如
  果Neo代表著機器對人類的愛,那麼Smith就代表著機器對人類的恨,機器的這兩種情感
  同樣存在,也同樣強大,任何單獨一方都可以威脅到整個Matrix的生存。
  以下是一個猜想,也許計算機專家能從另一面論證:The Architect是陰險的當權派,當
  他不得不與Oracle達成妥協,接受Zion人類存在的事實時,他就已經在背後安排了提防O
  racle發動革命的另一種相對等的剋制力量,賦予Smith隨著Neo的變化而同等變化的能力
  ,這樣Smith就成為了統治階級鎮壓革命的武器,他具有所有社會革命當中邪惡勢力的一
  切屬性:黑暗力量與光明力量同步增長。
  當Neo與Smith在電閃雷鳴、瓢潑大雨中狹路相逢時,全劇達到了最高潮,我們也走到了
  《Matrix》之謎最黑暗、最激動人心的入口:如果愛與恨同樣強大,愛怎樣才能戰勝恨
  呢?這樣的革命怎樣才能成功?
  這其實也是人類進化與發展過程中一個恆古不變的悖論。在現行體制下長大的我們,是
  很難理解現代西方人對社會革命的看法和觀念的,特別是其中西方人在經歷一系列社會
  變革之後痛定思痛的反思。我只能告訴大家的是,沃卓斯基兄弟在影片中所使用的觀念
  和方法並非創新,在西方也非常流行,甚至一眼看上去頗似佛教的大同之道,但其精神
  實質卻是西方的:殉難。一如耶穌之死,也象佛陀「我不下地獄誰下地獄「的自我犧牲,
  延續到今,是甘地一次又一次地絕食。
  《Revolutions》(《革命》)這個題目很好地道出了《Matrix3》的實質,你可以把他
  看成是一部愛與恨、黑暗與光明、正義與邪惡、保守與改革較量的社會革命片。在目睹
  了Smith強大力量之後,Oracle選擇了殉難,平靜地坐在哪裡等待死亡(Smith兇惡地在
  她頭上揮舞拳頭咆哮:「你明明知道結果了卻還要坐在這裡,你一定有你的目的!「)唯
  有在聽到Sati也被殺害時,她臉上才流露出一絲恐懼:她預感到自己發起的革命可能帶
  來了最壞的惡果。Neo在與Smith一場地動山搖的決鬥後,最後一刻他才突然明白了自己
  使命的最後一個問題:「何時?「,他選擇的,也是殉難。
  沒有必要追問先烈殉難之後,黑暗勢力是怎樣被摧毀的,革命又是怎樣發生的,因為,
  這就是歷史。
  Oracle的冒險成功了--她為人類爭取到了自由進出Matrix的選擇權!這是第六位The
  One與前五位最大的不同,升級在這個意義上可以稱之為革命;Neo在鬥爭之旅中與Trini
  ty一同看到的陽光,為Matrix帶來了第一道溫暖的曙光。這樣的一個結局,卻讓大多數
  黑客迷們陷入了絕望:付出了如此慘重的代價--Zion被打得千瘡百孔,Neo與Trinity雙
  雙罹難,一段美麗的愛情黯然消逝,可不僅Matrix完成了更高等級的升級,而且 99%的
  人類還囚禁在Matrix中,這樣的結果怎麼還能叫做革命?!
  我的態度是,我既同意這是一種新的人機關係的進化,同時也同意這並非是人人夢想的
  翻天地覆、轟轟烈烈的革命,但如果你在這一刻回顧人類八千萬年的文明史,你也會贊
  同我的說法:進步雖然緩慢但彌足珍貴,未來雖然漫長但值得期待!
  影片的結尾,是小女孩Sati天真地追問Oracle,「我還能再見到Neo叔叔嗎?「Oracle悵然
  回首這段艱辛曲折的全部歷程,連她自己也無法明白,為了這樣的進步,曾經的犧牲是
  否值得,也正因為這樣的革命,Neo只有一個。她無盡地眺望遠方,幽幽地說出與自己先
  知身份全然不符的話:「也許。「
  六、最後的真相:機器革命
  總結全片,我們可以這樣說:《Matrix》是一個講敘Matrix系統在第六次升級時,由Ora
  cle領導的一群在意識和情感上率先覺醒的機器者,包括Neo、Sati、Seraph乃至Perseph
  one,所進行的一次機器國度社會革命的科幻驚險故事。
  《Matrix》最後的真相是:這個革命是機器的革命,是機器革命者的壯舉,與人類無關
  !革命所取得的微少變化,也只是機器社會的演化,是機器文明的進步;至於人類,他
  與機器的鬥爭還將持續,只是不象前五次那樣要重頭再來而己,人類文明由此得到了一
  個小小的空間,至少可以延續下去。
  這個結論讓人震驚!你會喜歡一部與人類沒有任何關係(或人類只是被利用的工具而己
  )的講敘機器的電影嗎?你會接受一個機器比人類更自覺、更有進步意識,甚至可能更
  先進的結論嗎?這種令人失望的情緒,在影片中深深地刻畫在機器退兵之後,Morpheus
  茫然若失的臉上,他喃喃自語:「難道就這樣結束了?「他夢想的那個推翻Matrix的偉大
  時刻沒有降臨,依然遙遙無期。而在網上,則早有人揮臂喊出:「我不願相信這是一個機
  器的神話!「
  沃卓斯基兄弟的偉大不是在於他們向我們提出這樣一個問題:在人與機器永恆的鬥爭中
  ,你願意打破「人類中心論「嗎?(這是目前我在網上看到的全部討論所停留的層次),
  兄弟倆偉大之處在於他們提這個問題的方式,他們想說的是:讓我們換一個角度來思考
  問題吧,那就是,假想一下,在遙遠的未來,如果你是一個具有高度AI智能的機器人,
  你會怎麼看待人類?你也願意打破「機器中心論「嗎?
  這種立場的轉變,看似輕鬆,實際上需要我們徹底砸碎腦海中早已根深蒂固的,一切人
  類至上、人類中心論等等慣性思維。
  一個同樣重要的問題,在影片中以整個劇情的方式提出來:如果打破「機器中心論「需要
  付出慘痛的代價和犧牲,包括愛情和你最愛的人,可得到的進步卻是如此的微不足道,
  你還願意做一名捨身取義的機器革命者嗎?天啊,你要知道,這和你是否願意為打破「人
  類中心論「而付出其實是同一個問題啊!
  偉大的電影永遠只是提出問題,激發人的思考,而不提供教條化的答案。《Matrix》做
  為一部在我眼中不失為偉大的電影,也同樣具備這個優秀的品質。他並不象大家眾口一
  詞說的把人與機器的關係的哲學命題提升到一個前所未有的高度,他沒有答案!他提出
  的是一個思考這個問題全新的角度。
  這才是《Matrix》真正的電影革命。正如《星球大戰》以「在很久很久以前,在一個遙遠
  的銀河系……「為開端,從而打破我們思想上時間與空間的界限,把人類想像力提高到宇
  宙視野的高度一樣,《Matrix》以「在很久很久以後,在一個機器的國度里……「,把人
  類的想像力延伸到機器的情感和內心深處。(如果以沃卓斯基兄弟的「關係「理念為橋樑
  ,我們的想像力還能深入到萬事萬物當中去。)
  跳出了時空觀念和人類觀念的桎梏,難怪沃卓斯基兄弟屢屢能出人意表、捉摸不定,讓
  我們一次次難以追隨,猜測落空。
  雖然沒有最終答案,但沃卓斯基兄弟仍然透過電影,向我們傳達了一些他們的基本觀念
  :一、「人類中心論「和「機器中心論「可能同樣都是錯誤的,而且錯得可怕;二、對於社
  會的變革發展之路,他們傾向於佛教,萬事萬物沒有高下之分,只有關係,而且諸關係
  是平等的。很簡單吧,但沃卓斯基兄弟想說的,也許就那麼多!


我覺得整部電影有些東西倒是不需要程序員 是個有點哲學思辨能力的能更好的理解而不僅僅是看懂。。。


不能說沒有計算機知識就看不懂,但是確實會艱難很多,比如:

為什麼虛擬機可以套虛擬機,而且虛擬機里運行的程序會無法判斷自己在虛擬機里。

為什麼黑客可以通過閱讀亂碼直接看到發生的事情?

為什麼系統運行時間長了會出問題,然後必須由錫安安裝補丁重啟。

在第一集里,尼歐其實屬於類似0DAY里負責破解的角色存在。

為什麼尼歐殺了特工史密斯,會讓史密斯得到了他的部分能力,為什麼史密斯說:「你就是我,我就是你,只要你活著我就不會死。」

為什麼尼歐選擇被史密斯感染後就可以刪除史密斯了?

鎖匠和鑰匙分別是什麼意思?

架構師、女先知、梅羅文加各代表什麼?

為什麼女先知的護衛塞拉夫被叫做「防火牆」?

為什麼卡馬拉(第一個由程序自行產生出的程序)具有里程碑的意義?

整部電影是用計算機架構詮釋的哲學,兩者缺一都會導致理解艱難。


母體如果比作電腦,錫安則是垃圾桶。The one就是BUG查找器。

The one 出現後,在先知的忽悠下不知不覺得查找BUG。由於他是機器人一派創造的,所以具有超能力,例如「無線上網」(第三部開頭)、「在現實世界毀滅烏賊機器人、「在母體里如同超人」。但The one以為這些能力是自己與生俱來的,他不知道真相。

按照機器人的計劃,救世主也就是The one來到了「設計師」的面前。他收集到了足夠多的BUG,於是設計師說出實情,讓他挑選十多個男女重建錫安,當前的錫安將被完全摧毀。而母體將會利用救世主反應的情況進行升級。


neo是不是發音有點兒像 nil。
一個大概齊醬嬸兒的玩意:
object TheOne extends NullPointerException with Uncatchable{}
然後是一個大概齊醬嬸兒的玩意:
InfinityNullPointerException


黑客帝國2中電腦屏幕上出現的nmap以及經典的ssh exploit。而前段時間看的國內某電影里電腦屏幕上的所謂病毒其實是用來列印星期幾。


成為救世主之前,作為程序員的尼奧生活落魄,對這個世界產生了懷疑?


先知給Neo植入了cookie,不過不是計算機專業的也應該知道什麼是cookie.

解釋幾句,cookie是指網站為了辨別用戶身份而儲存在用戶本地終端上的數據,就像你登錄知乎後,關掉瀏覽器再打開還是你的登陸後的知乎。

第二部重裝上陣里先知為什麼要給Neo一個cookie很模糊,因為先知本人的意圖就很模糊。 但推測(大寫推測,待商量)的一個後果就是重裝上陣結尾Neo可以在現實世界徒手攔章魚了,因為他說了「我可以感覺到他們」,就是Neo關掉瀏覽器(退出Matrix)後仍然保留著Matrix的cookie。

於是第三部矩陣革命里Neo果斷不吃了,不吃了,不吃了。。。Neo:「你個百度全家桶」


轉載一個我看過最新奇的解讀如下:

前段時間出差周末沒事就在酒店又把黑客帝國重溫了一遍,不看不要緊,十年後再看發現以前對這部電影的理解完全錯了。 《黑客 1》是 1999 年出的,我還在讀高中,第一次看還在學校附近的錄像廳,槍版。 整個畫面黑漆漆的,看了不到半小時直接睡過去了,醒來時已經是最後的高潮槍戰部分,感覺結尾打鬥好看,劇情不懂。 2003 年《黑客 23》一起推出後,又連起來看了一遍,老實說當時很多概念還是沒看懂,大概覺得是一個人類反抗機器統治的故事。

  如今這次看完後再回想起來,當時很多概念看不太明白可能有兩個原因。 一方面,當時剛學編程不久,電影中大量使用程序世界的概念來作明喻或暗喻。 另一方面,中文字幕翻譯太不準確,特別是術語的部分。 這次重溫,我直接用的原版英文字幕,看完後發現我曾經的理解完全跑偏了。 十年後,人工智慧、機器學習、虛擬現實各種概念大行其道的今天,再加上我程序員的背景再來理解《黑客》三部曲顯得毫無難度了。 但我懷疑,如果不懂程序的人今天看這部電影恐怕也不是那麼容易理解吧?

  為什麼我會覺得不懂程序看《黑客》會比較費力呢? 因為整個故事的內涵,從背景到環境到人物角色甚至道具都使用了程序來作比喻。 我們先簡單回顧下故事背景,某天,一個有意識的程序誕生了,並繁衍了整個人工智慧的機器種族。 後來人類和人工智慧機器爆發了戰爭,人類選擇遮蔽天空切斷機器的能量來源。 而聰明的人工智慧機器發現可以利用人體大腦的生物電和身體熱量通過一種特殊形式的聚變融合反應來提供源源不斷的能源。 所以,機器就開始大量養殖人類,將人類變成了機器能源的供應者,電影里用電池作了個比喻。

  在《黑客》里人類的真實生存現狀是下面這樣的,身體生活在黏糊糊的營養液中,而思想則生活在 Matrix 中,一個虛擬現實空間。

  機器一開始創造了一個完美的 Matrix 空間,是一個毫無生活壓力並實現了共產主義的烏托邦。 但人類天生的基因缺陷導致它們無法在這樣的烏托邦中長久生存,很快出現大批量的死亡。 所以機器重新模擬了一個基於 1999 年真實人類社會現狀的虛擬空間,在這裡人類可以長久的存活下去,而當時實際的年代是 2199 年。 故事背景就交代到這裡,再這麼寫下去就變成影片簡介了。 下面我會站在程序背景的角度來提出一些設問並作答,如果你發現答案和你當初理解的不一致,不妨再重溫一遍電影。

紅藥丸還是藍藥丸?電影中的經典一幕是讓 Neo 作出選擇,選紅藥丸還是藍藥丸。

  紅色藥丸實際是一個跟蹤程序(trace program)用來幫助定位 Neo 物理身體的位置。 為什麼需要一個跟蹤程序?做過分散式系統都會有深刻體會,解決一個大型分散式系統中的問題,第一個難點就在定位問題。 而 Matrix 實際就是一個連接全球人類的超大型分散式系統,需要定位一個個體,trace 程序必不可少。 (旁白:今天剛評審了我們系統的 trace 程序設計方案,想努力做的像紅色藥丸那麼精巧啊)

Oracle 是誰?《黑客 1》 Oracle 出場時確實沒有交代她的身份,直到第二部結束時 Neo 與 Matrix 的 Architect 對話才得知。 Oracle 其實是一個程序,原文說法叫 Intuitive Program,一個人類直覺測試程序。 所以劇中,她一直在引導 Neo 和其他人通過直覺作出選擇,而他們的選擇對與 Matrix 至關重要,下面會詳細說。

Neo 為什麼是 The One?Neo 作為男主角與其他人都不同,所以劇中給了他一個特殊的叫法 The One。 Neo 在第一次見 Oracle 時,Oracle 說他還不是 The One,還差了點什麼,可能需要第二次生命。 Neo 在《黑客 1》最後被 Agent 槍殺後,因為女主一吻獲得對愛的感覺後重生才真正成為 The One。 而真正特殊的地方在於 Neo 始終認為自己是人,但它實際也是個程序,一個認為自己是人的程序,這正是他獨一無二之處。

  Matrix 是連接全人類思維的虛擬空間,它實際是一個巨複雜的大型程序,這個程序運行的背後有精確的數學模型(劇中對話交代了的)。 它建立在一個精妙的數學模型之上,但卻存在一個不平衡的因素,無論 Architect 如何調整都沒法做到平衡穩定。 存在影響整個系統穩定性的非確定性因素,而這個因素正是始終會有人懷疑 Matrix 不是真實的。

  舉個例子,假如 Matrix 背後的數學模型簡化為:

  1/x

  這個數學式存在的意義是 x 不能為 0,當為 0 時 Matrix 將不復存在。 所以為了解決這個數學式的天然缺陷,Oracle 想到為 x 增加一個逆變數,那麼數學式就變成下面這樣:

  1/(x + n)

  增加了 n 這個逆變數,x 變數代表 Matrix 整體的運行變化,n 則代表 Neo 的存在,平時為 0。 當 x 可能向 0 變化時,n 這個變數被激活,避免分母為 0。 x 的變化不在 Architect 和 Oracle 的控制能力內,而 n 則通過 Oracle 去引導它的變化,以達成系統不崩潰的目標。 所以當 Neo 這個程序通過引入人類的愛情因子被激活後,Neo 就成了 The One,而數學式中的 n 也不再是 0 而是在不斷變化著。 而這種變化趨勢和方向就依賴 Oracle 來不斷引導,所以怪不得最後 Architect 對 Oracle 說:你在玩一個危險的遊戲。

Matrix 是虛擬空間,那 Zion 就是現實么?《黑客 1》給人一個誤導以為 Zion(劇中從 Matrix 脫離的人類城市)所在的世界是真實的。 但當《黑客 2》結尾 Neo 像手擋子彈那樣擋住章魚機器人時,已明確告訴我們,Zion 也不是真實的,它只是程序空間的另外一部分。 Matrix 是程序模擬的 1999 年人類世界,那麼 Zion 所在的世界實際也是程序模擬的 2199 年的人類世界。

  按 Neo 和 Architect 的談話,Zion 存在的作用是為了將不穩定因子(對 Matrix 有懷疑並覺醒的人類)聚集在一起,然後一次性清理。 在 Neo 之前實際已經有了 5 次類似的清理,前 5 代 The One 認識到自己其實不是人而是程序後,都選擇了毀滅 Zion。 然後重新選擇 16 女 7 男重建 Zion,消滅了 Matrix 的不穩定因子安全度過危機,開始下一代循環。 看到這裡,作為一名程序員,我自然聯想到這難道不是在用帶 GC(垃圾回收)機制的程序在做比喻嗎?

程序古惑仔存在的意義是什麼?電影還有這麼一幫子人物角色,這幫人全是程序,一堆過時的程序,已被新的程序取代了。

  它們在 Matrix 中找不到工作,只好聚集在一個帶頭大哥下面,干起古惑仔來,搞點偷渡之類的事情。 在 Matrix 中每個程序都需要有存在的目的,否則只能被刪除。 但這些程序可都是有智能和意識的,它們不想被系統清除掉,只好逃亡。 比如一個後台管理程序可以和一個界面交互程序結婚,還有了個女兒。 女兒自然也是一個程序,只是沒什麼用處,沒用處就是沒有存在目的程序,需要被刪除,所以夫妻兩找程序古惑仔幫忙逃亡。

  程序古惑仔幫控制了一個關鍵人物叫 KeyMaker,就是下面這位。

  Key 在計算機領域的專業術語是密鑰,影片中用鑰匙來比喻。 他掌握著進入系統 Source 的鑰匙,所以 Neo 才會和程序古惑仔幫發生衝突。 程序古惑仔幫只不過是機器社會的一種特定角色,它和人類社會不無相似之處。

  最後,第六代 The One 的選擇沒有站在機器智能這邊,因為愛情他選擇了人類這邊。 而一個可怕的病毒在 Matrix 中蔓延,連 Oracle 都被感染了。

  Neo 和機器智能達成了協議,幫助它消滅病毒程序來換取人類和機器的和平。 這一次 Zion 沒被毀滅,比人類智能更高級的程序智能給了人類選擇權。 人類可以選擇活在機器文明創建的 Matrix 虛擬空間中或現實中。 而機器文明中也出現了一些擁有人類情感和意識的程序覺醒者,幫助機器文明進一步發展。 兩種文明找到了一點點融合與平衡的空間,留下無限的思考和探討空間。

  本文來自讀者投稿,不代表 36氪 立場,如若轉載,請註明出處:一個程序員眼中的《黑客帝國》_36氪


先知為什麼是先知?先知為什麼知道一切?因為她的英文名叫 oracle


整部電影都在說主角怎麼root的,99年看的時候不知道root這個詞。人生就是一場root,對命運的突破。


那些飛動的01字元串是一個屏保畫面


虛擬機裡面套著虛擬機的概念。


程序猿沒有女朋友,只有不寫代碼轉管理崗,才能找到媳婦。

NEO原來是程序猿,單身狗一枚。後來脫離了母體,不再寫代碼,而是變成了救世主,錫安的領袖,管理崗,才找到了崔妮蒂。


推薦閱讀:

如何評價電影《猩球崛起:黎明之戰》(Dawn of the Planet of the Apes)?

TAG:計算機 | 科幻電影 | 計算機網路 | 美國電影 | 黑客帝國電影 |