从操作系统的角度 驳斥 杜车别的黑客帝国影评

时间:2022-09-14 11:26:36

土人比较落后,直到前几天才看了黑客帝国 = =。

真是很经典的片子,囊括了哲学和计算机科学。特别适合咱们程序员~其中许多思想都能真正跟AI对接吧~~

或许以前看不会感触那么深,包括the Matrix系统中“杀毒软件”Smith的自我复制衍生为病毒,包括那个进程间通信的管道--火车站,这些专业知识,我想只有在学了操作系统以后才会深刻的激起共鸣~于是,如果各位是多年前还没接触编程的时候看的,也推荐各位小时候看过黑客帝国的重温一下剧情。

看完之后,陆续看了很多豆瓣上的影评。其中有一篇 【转经典评论】杜车别 评 黑客帝国很是经典,非常详尽,也给了我很多启发,比如系统的自我升级等等。

但出于求是的精神,不得不说那个评论中,将人类的避难所ZION 视为虚拟世界的论据有些牵强。

特别是当我们用操作系统设计模式的思想来理解这些问题的时候。。。在此,列出观点驳斥。


---------------------------------------------------------------------下面列举他的观点,配上我的观点对比------------------------------------------------------------

【我前面说过了zion也是虚拟的世界,也就是不是真实的物理世界。但从另一个角度上说它又是真实的。实际上机器文明中所有的智能生物,它们的思维都运行在一台台超级电脑中,而且所有机器智能都互相联系贯通,构成一个巨大的网络,比如它们管理能源的智能程序,管理防卫的智能程序,管理自我生产繁殖的智能程序,管理资源采集的智能程序,包括那个管理矩阵的智能程序实际都生活在这个网络,如果破坏了这个网络中生活的机器生命,就等于破坏了真实的机器世界,矩阵只是这个网络中一个相对封闭的一个子系统。它的所有源代码和管理程序设计程序实际也都生活在zion所处的这个世界中,所以Oracle把zion所处的这个世界称之为thesource。所以从本质上讲这个世界对机器智能生命来说是真实的,这个世界中的一切数据都是真实世界的反映。而zion呢不过是在这个世界里划了一部分电脑资源,让那些原来接在矩阵里人脑,直接接到这里面来而已。】

按照他的理解,当时的整个世界其实都被映射到一个分布式的系统内部,我们暂且命名它为host系统。而matrix世界不过是在host中的一个虚拟世界,一个guest虚拟机。

人类都被集中培养,并通过接口接入host系统。到这里为止,这个假设都能够理解。但是他说“本质上讲这个世界对机器智能生命来说是真实的,这个世界中的一切数据都是真实世界的反映”。这里就有些奇怪了。这个映射是如何做到的?不用严谨的证明,且说如何将host内部的变化同步的反映到真是的物理世界中?“计算机中的任何问题都可以用分层来解决。”但这个分层略显多余啊。既然“这个世界中的一切数据都是真实世界的反映”,为什么不直接抛开这个抽象层,直接解释为真实世界?

the Matrix是一个大系统,但它并没达到操作系统的级别。

如果说有操作系统,那么就是控制整个高性能计算机集群的那个,我们暂且称它为OS。而matrix仅仅是那个OS上的一个应用。而不是host中的虚拟机。这个应用,能够接入人类资源,并于操作系统传导数据。


为了方便起见,我们把这个世界叫作source世界,它是所有真实世界中机器智能程序生活的世界,也是zion所处的世界 

我认为,剧中的架构师(architecture)和先知 所说的source,就是机器世界的计算机集群中的源代码。


矩阵革命一开头的那个火车站是虚拟的,这点应该没有人怀疑,但它又不属于矩阵,是独立于矩阵之外的一个虚拟世界,这点是影片中明确交代的。影片之中之所以设立这样一个火车站,其中一个用意就是暗示source世界的性质,在ZION中的人有两种方式,一种是用通过脑后的接口,完成这样一个规定的程序后,就将其信息连接到矩阵中,就如游戏中的人物完成某个规定的动作,就让他进入另一个场景中一样,这种进入矩阵的方式受到整个系统的监控,而另一种方式是走后门,通过火车站,或火车人接运,然后进入矩阵,这就如同尼奥所做的那样,这种方式可避开系统监控。 

火车站更像是OS中的一个掌控进程间通信的系统库。OS上的各个应用之间通过这个库能交换数据。另外,ZION中的人有两种方式进入matrix的说法里,那种走后门的方法似乎有点不靠普。全剧根本没有人这么走过。Leo从Zion进入火车站,是因为它“死”过一次了,那一次还是因为他没能控制好源代码而出了错乱,之后被火车载到了matrix。根本没有出现有人直接通过火车从ZION 进入matrix。


【显然火车站是连接矩阵和source世界的一个秘密通道,有些程序可以通过这个方式逃过系统监控在矩阵和zion世界中来往,那对自称是电厂工程师的印度夫妇多半是source世界中管理能源的的智能程序,他们在Oracl的帮助下,产生了一段有很大发展潜力,但并无明确用途的智能程序(就是那个小女孩),为了免于被系统删除,就通过火车站这个通道,将其送进管理较为松懈的矩阵世界中(zion世界规则的运行要比矩阵严格的多) 】

这个倒是没什么问题。但以我对source的理解,source就是matrix的代码。电厂工程师印度夫妇是真实世界中的管理能源的智能系统,也就是一个OS中的应用。他们确实在Oracle的帮助下,创造了一段很有潜力的程序 (真牛逼的程序。。。自己产生代码),但是OS对程序的控制是很严格的,对于无目的的程序会进行删除。于是他们要将她从车站偷渡到管理松懈的matrix中(matrix并不是一个真正严禁的程序,为了适应人类的劣根性,架构师做了很多改变,这在第二部leo和matrix的对话中有说的)


尼奥在ZION中能徒手对付机器章鱼,这是很明显提示source世界的性质,大家注意在矩阵重载的最后,机器章鱼被尼奥挡住的方式完全和尼奥在矩阵中挡子弹的方式一模一样,机器章鱼是怎么完蛋的,它们就象撞到一面墙壁一样,然后爆炸。 
有些坚持认为ZION是真实世界的人说,这是尼奥通过无线上网进入矩阵,然后控制章鱼的结果。这种说法极其可笑,而且漏洞百出 
他们事实上必须解释这么几点,才能自圆其说,这个说法假定了矩阵中的权力可以控制现实的机器城中的机器生物,但是他们有什么理由来支持这个假定?事实正和这种假定相反,矩阵系统不过是现实机器世界的一个附属物,只有现实的机器世界控制矩阵,不可能反过来,这种假定就如同说一个网络游戏中的人的权力可以带到现实中来一样可笑。 】

那我就依依来解释那几点,自圆其说:

他说“矩阵系统不过是现实机器世界的一个附属物,只有现实的机器世界控制矩阵,不可能反过来,这种假定就如同说一个网络游戏中的人的权力可以带到现实中来一样可笑。

没知识真可怕。他用网络游戏中的人和现实中的人的对比首先就有问题。在这个例子中人和游戏是物理隔离的。人离开了电脑,那就跟游戏完全无关联。但在黑客帝国中,OS整个就是程序,而Leo被植入了相应的理念和代码功能,理论上,他跟OS也是一直相连的,只要相连,就有可能。退一步,用博文中楼主的观点,更好达到这一步了。整个世界都是程序,那万事万物都是在代码中,更是让这个起码的相连的条件成立了。具体如何在这个条件下实现击退真是世界的机器章鱼,之后会详细说明。


【如果控制了矩阵,就能控制机器章鱼,那么请问smith为什么不控制机器章鱼来为他所用呢?就算他只是引发组成机器大帝的那些机器生物自杀性爆炸,那也就足够了 
现实中机器章鱼能够违背惯性定律,象撞在墙壁上一样突然停顿爆炸吗?】

这条挺逗的。我只想说,为什么要这样呢?为什么leo能控制,smith就一定能控制呢?说道惯性定律,那就更严谨一点的来了。。。冲量这东西大家高中都有学吧。能解释突然停下的问题吧。就不能理解成leo在OS的控制代码中产生了一种真是世界无法看到的冲击波?


【如果无线上网,然后发出指令让机器章鱼爆炸自杀,那么为什么要伸出双手,为什么不下子消灭所有的机器章鱼,为什么总是排在最前面的章鱼先爆炸。这些只有当zion世界同样是虚拟的才能被解释 

同上,为什么要设计出不同的操纵效果呢? 代码中就那么实现的,让leo拥有匹配物理定律的攻击效果,难道就不可以么。。。


【还有尼奥在对机器大帝(那有无数机器生物群体组合构成的智能生命个体)说话的时候讲到,如果不答应他的提议,过不了多久,在机器城中也将布满smith的复制品,很显然如果机器城是真实的物理世界,就根本不存在这种可能性。 】

这个问题倒是让我犹豫了一下,不过,既然OS能够控制整个机器界,也就不难理解了。可以这么说,机器世界是OS的反映,既然smith这个代码能够病毒式的繁殖,那么为什么不可以说他将充斥整个世界?


再来看一下尼奥和先知的对话(转自杰森的帖子《Neo跟Oracle最后一次对话》) 
  Neo: 告诉我在没有接入的情况下我怎么分离了我的灵魂和肉体。告诉我我怎么只靠思考就把章鱼机器人拦截下来。告诉我我发生了什么事情。 
  Oracle: The One的能力远不只限于这个世界(The power of the One extends beyond this world)。从这可延伸到它的来源之处。 
  Neo: 哪里? 
  Oracle: ( The Source)源头代码,当你接触那些章鱼机器人的时候你就能感觉到。但你当时还没有准备好。你当时就应该死掉了,但很明显你对这个也没有准备好。 
  从这段话中,可以得到什么信息,The One并非单是矩阵的the one ,它的权力可以在存放和管理矩阵原代码的世界发挥作用,而矩阵不过是这个世界的一个子系统。尼奥在接触机器章鱼的时候感觉到什么,正是感觉到这个世界同样是虚拟的。在矩阵革命中尼奥在眼睛瞎了之后依然能看到被smith附身的人,能看到机器章鱼,看到机器城,这些都证明了这个世界是虚拟的。 

the one确实不仅仅是matrix的 the one . 作为一个从matrix应用的源代码中产生的bug代码,它蔓延到了OS中的其他应用里。matrix也确实是世界的一个子系统,不过这个关系更像是 app 和 OS 的关系,而不是虚拟机套虚拟机。而leo的大脑中被植入了遥感控制代码的能力也让他能在真是世界中瞎眼的情况下,感受到章鱼。因为章鱼都是经过OS控制,而数据都在OS里,leo得到了这些数据。在瞎眼的过程中,我们甚至发现,他能看见smith入侵的那个人,而看不见trinity,因为trinity是脱离了系统的真实人,而smith入侵的那哥们儿已经具有了机器属性。

有些人的解释是凡是跟矩阵联系的事物,都能被尼奥无线上网的方式感觉到,根本解释不通

       这句话什么也没说明。。就当它不存在吧。

那些坚持说zion和机器城是真实的人,还提出了一些问题,比如他们说如果是虚拟的,为什么在zion中,尼奥的超能力只能针对机器章鱼,不能针对被smith附体的人呢?其实道理很简单,那就是权限,尼奥在source世界中的权限要比他在矩阵中的权限中低得多,所以他的能力只能针对机器章鱼(而且数量有限),其实在火车站一场戏,已经做了提示,那里的尼奥,干脆就是一个普通人,被火车人一拳就打的趴到墙壁上,但这并不能证明火车站不是一个虚拟的世界,即便在矩阵里,尼奥也并非随心所欲。无所不能,大家还记得在矩阵重载里,他被刀砍了会流血,也不是想干掉谁就能干掉谁的。 

这里他说到了权限问题。不错。不过这个能解释任何观点。为啥他在之前提到smith不能炸章鱼的时候就没想到权限问题呢?。。。


------------------------------------------------------------------总结-------------------------------------------------------

总的来说, 我不赞同杜老师对机器世界架构方面的认识。

他将ZION 和 电影中出现的机器世界划为了一个层次的虚拟世界,并认为这与真实世界对应,matrix是嵌套在这个虚拟世界中的又一个虚拟世界。

而我认为ZION就是处在真是世界。matrix仅仅是整个世界的OS里的一个用来处理人类资源的应用。而整个电影,就围绕着这个应用的自我升级展开。

除了这个层面的理解不同,对于杜老师的其他理解我大都是很赞同的。


大家如果有想法欢迎讨论~