计算机病毒是一种 计算机病毒有哪三种
墨菲定律:如果一件事存在可能,那么它就一定会发生。
早在20年前的生物课本上就说:21世纪是生物学的世纪。
然后在21世纪的第一个20年,有无数的高中生因为这一句话,而选了生物学:即传说中的“四大天坑”之一[捂脸]
早在20年前,人们就知道21世纪是生物学的世纪,但人们不确定(生物学的世纪)什么时候到来。
阿克蒙德
现在已经可以确定,生物学的世纪在21世纪的第2个20年来到了,
并且来到的方式是一场席卷全球的疫情!
Tremble, mortals and scared. The demon has come to the world.
上面这句英文,是15年前最流行的游戏“魔兽争霸”(war3)中的一句台词,意思是:
“颤抖吧,凡人,恐惧吧,恶魔已经来到了这个世界。”
游戏中,阿克蒙德来到艾泽拉斯时,说的就是这句话。
达拉然的毁灭
游戏中,紧接着就是人类城市“达拉然的毁灭”。
新冠病毒是地球上诞生的,并不来自外星文明,但它造成的伤害也不亚于游戏里“达拉然的毁灭”。
现在,人们走出疫情应该是可以预见的了,但居安思危也是必须的。
(何况现在远没到安全的时候)
1,病毒与计算机,
从信息学上来说,病毒是针对系统BUG的一段特别代码。
这段代码可以利用系统资源自我复制,并且也可以造成危害。
任何复杂而精密的系统,都可能存在被病毒攻击的可能。
人体和计算机就是其中之二。
有能感染人的病毒,也有能感染计算机的病毒。
memcpy(dst, src, len);
这行代码,就是C语言里内存复制的代码。
把一串信息从一个位置复制到另一个位置,只需要知道3个信息:目的位置、起始位置、信息长度。
复制时不需要关注这串信息的内容是什么,所以这个功能看上去很复杂,实现起来很简单。
计算机病毒是知道自己的代码长度的,所以复制方式是memcpy(),写成汇编是这样:
mov edi, dst
mov esi, src
mov ecx, len
rep movsb
x86的字符串传递指令,就可以完成一串代码的复制。
不过人类病毒应该不知道自己的RNA有多长,复制方式更类似电脑的字符串复制:
strcpy(dst, src);
C语言的字符串复制,是以结尾的&39;\0&39;作为终止子,所以只需要2个信息(起始位置)就可以复制了。
DNA / RNA 是以3个碱基编码一个氨基酸,并且也有起始子和终止子,与电脑在算法上没有区别。
(电脑是以8个二进制位表示一个ascii字符,即1个字节)
在编码上,碱基和电脑的区别只是:碱基使用4进制,电脑使用2进制。
因为生物常用的氨基酸只有20多个,所以3个碱基就绰绰有余:4^3 = 64。
但各种人类语言的常用字符有几万(例如汉字),所以字符编码使用16位:2^16 = 65536.
(16位的字符编码叫unicode,它还有各种衍生编码)
除了底层机制不一样,人体和电脑还是很相似的。
因为编码的长度有限,不可能检测到所有的异常情况,所以人体和电脑都存在被病毒攻击的风险。
编码的长度不可能是无限的,否则光一个strcpy()函数就执行不完了:
一旦手被划破了,人还怎么复制新的细胞来修复皮肤呢?
所以,不管是计算机还是生物,都只能使用有限的编码,也就只能对付有限的病毒。
不过计算机(比生物)的优点在于,CPU和操作系统可以把运行权限分级。
不给用户进程太高的权限,就可以避免很多计算机病毒的攻击。
但生物没法给RNA划分权限:病毒的RNA和人的RNA都可能被核糖体拿去合成蛋白质。
人体远比计算机更灵活,但人体也更容易被病毒攻击。
2,生物化学软件,
病毒的碱基字符串比人类的短得多,所以它的复制和变异很快,给人类的疫苗研发造成了巨大的挑战。
我在前几天的古典哲学的文章里说过,要想研究一个周期比较短的现象,就只能找一个周期比它更短的现象作为参照物。
病毒的迭代速度比其他生物快得多,因为它的核心只是一段碱基代码,甚至(在体外时)都不能看做是生物。
人类要想搞定病毒,只能找一种比病毒的迭代周期更快的东西。
电脑的主频肯定比病毒的迭代快得多[呲牙]
电脑1秒钟的计算量高达多少亿次,就算病毒只跑复制算法,电脑跑更复杂的算法,电脑的速度还是比病毒快得多!
所以说,电脑才是对付病毒的利器。
现在人们虽然在生物化学领域已经有了一些软件,但显然还需要继续升级。
当软件可以预测出人体的蛋白质结构时,研发就会变得容易一些。
一个用来抑制病毒的小分子化合物,最怕什么?
最怕也把人体的某个蛋白给同时抑制了。
如果提前知道人体所有蛋白质的结构,就可以快速地避免这种情况。
病毒为什么难对付?
因为病毒和人体的不同点非常难找,很多时候只能依赖人体自带的免疫系统。
借助于生物化学软件,可以更快速地找到病毒和人体的不同点。
人类要想以后更有效率地应对病毒的挑战,不得不借助于计算机技术!
因为计算机的运算速度,远高于病毒的变异速度。
3,科技从来都是一把双刃剑,
1945年的核物理,影响了之后的人类文明。
21世纪的生物学,又何尝不是呢。
毕竟,铀也不是只能用来发电的。
当然,理科生只管把科技做出来,至于用到哪里是文科生的事[捂脸]