程序是否可以保存在数据中在网络上四处流动无处不在?

2012-05-11 09:48:38 +08:00
 glume
我觉得这有点像病毒,又不是病毒。
网络是四通八达的,上面总有各种数据在传递,而网络协议比操作系统来说统一多了,这样是否就提供了一个物理条件让某个程序运行和保存在这些数据中,而不是内存或硬盘上。
那是否可能有这么一种程序,一旦程序员编好运行后,她就在网上游荡,除非整个网络断电,否则她不可消灭,听起来有点像“天网”,感觉很酷。
4950 次点击
所在节点    奇思妙想
30 条回复
ipoh
2012-05-11 09:55:39 +08:00
楼主肯定不是学计算机的
传递数据前这些数据肯定要在内存里面。
binux
2012-05-11 10:03:29 +08:00
程序本来就是数据,只是需要“谁”来执行罢了。
eerie
2012-05-11 10:04:25 +08:00
听说过不在硬盘上存储的worm
不过就算不存在PC内存上,在网卡或者路由器之间传输也需要存在自己的缓冲“内存”上
walkingway
2012-05-11 10:16:31 +08:00
在网络上传输的那是高低电平的电信号,无意义的。
aligo
2012-05-11 10:18:46 +08:00
程序是等离子态的!
hu437
2012-05-11 17:42:04 +08:00
楼主的想法很好,估计是科幻电影看多了

但就像前面的同学说的一样,网络只是一个传输通道,程序的运行需要依赖两个东西,一个是存储一个是运行计算

存储很简单就是硬盘或者内存

运行计算就是CPU

在网络上传输的只是信息,这些信息不经常CPU的运行计算,没有存储完全就是没有意义的电信号
glume
2012-05-11 23:59:29 +08:00
@ipoh
@binux
@eerie
@walkingway
@aligo
@hu437

我没表述清楚,既然是网络那么不可能没有计算机只是网线,所以我说像病毒,或者叫“云”。
shiny
2012-05-12 00:13:15 +08:00
云的概念被炒作过度了,凡是虚得自己也不知道是什么东西就扯上云的这张皮。

就像自来水管,只有有输送方和请求方才能实现流动,否则那就是漏水,就需要补上漏洞。

除非这个数据是大家需要的,P2P勉强算一种吧。
Semidio
2012-05-12 00:27:03 +08:00
当然不可能,网线和光缆又没有数据存储能力,就像电线一样,无论是存储还是使用都得依靠终端设备。
数据又不是物质,没有载体怎么可能单独存在?
kojp
2012-05-12 00:40:51 +08:00
想法不错! 目前来说不太可能,可谁也不敢说若干年一定不能实现 !
jiyinyiyong
2012-05-12 00:54:52 +08:00
同 6 楼. 运行程序到底还是要到 CPU 指令, 网络没说能直接计算的.
再说现在有网上一段没有来头的代码就能请求到具体设备和资源进行计算和增殖吗?
quake0day
2012-05-12 01:23:56 +08:00
写一个能够不断自我进化找到新漏洞的蠕虫病毒
glume
2012-05-12 01:45:35 +08:00
@shiny 我只是觉得更像云一些,如果程序有自我复制的条件,那就不算漏水了吧。
@Semidio 网络当然不可能没有计算机,我理解为这种存在是动态的,而非静态的留在某个物理载体内。传输介质中只要有东西在传输那可以看作是一种“留存”。
@kojp 是啊,不知道需要什么样的条件。
@jiyinyiyong 如何请求硬件就是具体的实现方法问题了,如果可能的话。
@quake0day 恩,我当时想到的就是蠕虫,有条件的分裂以及组合,无数分身,散播着各个媒介中……
Semidio
2012-05-12 01:53:17 +08:00
你是指分布式计算?
Hyperion
2012-05-12 02:09:11 +08:00
大概理解了... 就像柯南剧场版里的诺亚方舟?

其实也不是不可能, 只需要一个能被利用的, 一个能够永远不会被发现的, 永远会被继承下去的软件或协议漏洞就可以做到...

其实autorun病毒在某种意义上做到了, 利用了人的漏洞... 比如我学校的所有机房的计算机, 基本都带毒. u盘一抽插, 一不注意就传到各家了. 自我复制, 传播...
vanemu
2012-05-12 02:25:40 +08:00
宿主的存在是必不可少的吧。
eric_q
2012-05-12 02:35:45 +08:00
可以参考 马伯庸《她死在QQ上》,和楼主的猜想有所重叠。
willwen
2012-05-12 06:43:16 +08:00
数据不可能存在流动状态,不过分布式计算倒是有可能,不过需要一个Master Server来管理数据碎片的集合和拆散。
Hyperion
2012-05-12 10:18:18 +08:00
@willwen 从一点到另一点的迁移为什么不可以被视为流动呢? =3=
willwen
2012-05-12 12:45:54 +08:00
@Hyperion 如果用TCP传输数据,除非用非正常手段截取数据,不然就只能是等数据到达接收端的时候才会恢复对数据的“操作权”,还有一种“流动”方式就是到达接收端以后就又发给其他接收端,这样保持数据的“操作权”,让数据处在一直被传递的状态中,不然数据就只能逗留在内存和物理存储容器中,个人认为没有分布式计算靠谱。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/35448

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX