如果你生活在一个虚拟的世界中,你可以发现自己处在这个虚拟世界中么?这个问题。。我曾经想过。也许就是有一道门,通往世界以外的世界,当你穿过这道门你就能站在一个更高的高度来看待整个世界。
这个问题实际上可以归结为coding下的这个问题:
一个程序可以发现自己是在虚拟机中执行的么?
网上给的结论可以说众说纷纭,但是可以确定的是,没有方法可以让一个程序来识别其是否在虚拟机中运行。(即使可以识别,也只是针对某一种或者几种固定的提供某种可被程序读到的“标识”的虚拟机。)
所以这就跟现实世界中一样,至少暂时看来,人是不能发现宇宙以外的世界的。
研究这个问题有什么意义呢?——举一个简单的例子。
我们可以看到很多单机游戏或者软件,有各种防盗版的功能,最后都被一一破解,怎么破解? —— 虚拟光驱。将镜像文件直接作为虚拟光盘读出来,程序无法判断自己到底是在光盘中被读出来的还是虚拟光驱中读出来的。。。于是软件厂商想出了如下办法:判断是不是有两个光驱,如果有,就认为是虚拟光驱。
这一点也难不倒我们:我们用虚拟光驱,然后把电脑的真实光驱屏蔽掉,这样软件就只能检测到一个光驱了。。于是我们就可以用它了。。(具体例子:游戏,大富翁7)
这个问题相当哲学,也相当有意思。。不知道当人类解开自己身处的世界之外的世界的谜的时候,世界又会变成一个什么样子。