未来的操作系统是怎样的?听elastos创始人陈榕公开课有感

上个星期直播听了陈榕老师在清华大学的公开课:互联网+区块链的六个维度(回播链接:http://v.youku.com/v_show/id_XMzUzNDQxMjgwOA==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2)

陈榕老师的操作系统、互联网、区块链的理解很深,也解惑了之前一种在思考的区块链操作系统的问题。

未来操作系统应该是怎样的?

回答这个问题很难。我们了解下单机操作系统和互联网

单机操作系统

我们知道的操作系统有DOS、window、macOS/iOS、unix/linux/android,这些操作系统具体哪些最基本的部分呢?学过操作系统原理的同学可能会说,操作系统包括5大功能,分别是:
(1)进程管理
(2)内存管理
(3)设备管理
(4)文件管理
(5)用户接口
但是这个是单机的操作系统功能,单机操作系统其实是非常成熟的。unix是1970年开发,linux是1991年模仿unix开发的,dos是1981开发的,我们常用的window是1995年左右开发,也就是说今天我们使用的操作系统架构都是40年前的,虽然操作系统在不断升级更新,但是功能和架构变化不大,其实是非常古老的技术了

互联网Internet

互联网大家都非常熟悉,它是一个比特世界。技术上,Internet使用一种专门的计算机协议,以保证数据安全、可靠地到达指定的目的地,这个协议就是TCP/IP。TCP/IP协议由很多协议组成,不同类型的协议又被放在不同的层,其中,位于应用层的协议就有很多,比如FTP(文件传输协议)、SMTP(邮件传输协议)、HTTP(超文本传输协议)。只要应用层使用的是HTTP协议,就称为万维网(World Wide Web)。之所以在浏览器里输入百度网址时,能看见百度网提供的网页,就是因为您的个人浏览器和百度网的服务器之间使用的是HTTP协议在交流。

现在的单机操作系统和互联网问题在哪里?

1、外设驱动是导致操作系统蓝屏死机最大源头。首先这里说的外设指的是计算机之外的设备,不包含显卡、声卡、网卡等已经固化在计算机内的设备。比如摄像头、打印机、投影仪、智能音箱等就属于外设。以前由于cpu比较贵,这些外设是没有cpu的,连接到计算机中需要通过串口、并口进行连接。驱动就把第三方的代码安装到操作系统里,第三方代码一崩,整个系统都崩了。

2、deamon(守护进程)是窃听隐私的源头。守护进程(daemon)是一类在后台运行的特殊进程,用于执行特定的系统任务。比如网络守护进程、android系统里面的服务进程,一直常驻在后台。以前deamon的设计之处是数据从磁盘读取太慢,需要进行数据进行缓存,以加快响应速度。但是现在deamon主要用来监测数据,把数据通过socket端口进行收集到中央服务器,导致隐私数据外泄。

3、任何app可以访问socket网络端口是DDos攻击源头。操作系统允许任何程序打开socket端口进行网络访问,包括病毒程序。根据tcp/ip协议,端口由两字节组成,最多只能编码 0 ~ 65535个端口,也就是说理论上一台计算机可以同时访问6万多个服务器,也就是说只有黑客控制了一部分计算机,就很容易进行DDos攻击,导致某个网站或服务瘫痪。

4、脆弱的中心化DNS服务。互联网发明的时候,要实现计算机之间进行连接通信,必须要解决第一个问题是:对每个要进行通信的计算机进行发ID,这个ID就是IP地址,ip v4最多是43亿多个。当初发明互联网的时候由于只有软盘还没有硬盘,IP还没有地方来放,同时由于ip可读性很差,所以成立DNS域名管理中心(这是一个中心化的机构),用域名对IP进行映射,域名方便人类进行访问到某个计算机节点。大家都知道中心化的节点,很容易成为单点,成为攻击的目标,采用简单的DDos攻击就很容易让DNS域名服务器瘫痪,甚至在双11大流量都很容易让dns瘫痪,所以DNS是非常脆弱。

问题怎么解决?

1、 驱动 这个问题其实已经在慢慢被解决了。以前我们连接打印机,需要把用串口,现在基本上网络连接即可。如果把手机、pad、网络摄像头都当做外设,现在的外设都是一台”小计算机”,通过标准的连接协议即可,外设的范围扩大了,比如网络摄像头可以是很远的地方;我们从局部来看,计算机和这些外设组成一个网络。如果我们提高下我们的视野,这个网络就是一台计算机;整个互联网也是一台计算机。

2、 deamon(守护进程) 。这个问题其实是单机操作系统给app大多的自由。好比iOS对app的上架非常严格,给出很多限制的条件,相对来iOS上面的app泄露隐私的几率就大大减少了,但是Android则自由很多,导致android的运行不稳定,泄露隐私等。google开发过一个操作系统chromeOS,主要思想是所有的app只有一个运行环境就是chrome浏览器,其实就是限制app的自由,去掉deamon,保证了操作系统的稳定性和安全性。亦来云的ela.runtime其实就个这个概念,但是ela.runtime认识到网络攻击的问题,去掉了网络访问部分,这是一个非常非常大革命。

3、 socket网络端口
socket端口对app开放有两点:1、单机操作系统给app大多的自由 2、没有统一ID
陈榕老师有一个名言是“上网不计算,计算不上网”。计算不上网,上网不计算这句话不是说真的没有网络。只是说把计算和网络连接进行分离。怎么理解呢?比如我们写数据到硬盘,操作系统会把数据从内存通过总线传到cpu,cpu指令会通过总线写到硬盘,我们不需要告诉cpu通过哪个总线去读写硬盘的哪个扇区、哪个柱面。我只需要知道写到哪个文件目录、什么文件名即可。
同理,我们把整个互联网看成是一个计算机,用计算机做比拟的话,网络就是总线。就好比让app去打开某个socket端口去访问某个ip,这里带来了不安全的源头。
怎么解决呢?

亦来云利用区块链建立统一访问资源ID,而不是app某个IP地址访问计算机。亦来云架构包括P2P网络,P2P是实体到实体之间的关系,而不是物理计算机到计算机的关系。这个ID就好比硬盘中的文件路径。

4、 DNS
有了统一访问资源ID,DNS问题已经解决了,因为app不需要知道ip,只需要知道id。就好比IPFS的网络文件名一样。

回到最初的问题:未来操作系统应该是怎样的?

说了这么多,会到问题本身,未来操作系统应该是怎样的?相信大家有了一个大概的概念了。我做一个大胆的预测:

未来的单机操作系统应该是一个网络操作系统,无数台个人计算机组成的互联网。站在上帝的视野互联网是一台计算机,这台计算机的CPU是由运行pow的矿工计算机组成的,硬盘是IPFS,操作系统是亦来云。个人计算机只是互联网这台计算机的一个外设。

我们知道比特币是区块链1.0,以太坊是区块链2.0。那么他们分别提供什么功能,为什么说他们不是操作系统呢?比特币提供可信记账,利用pow共识提供了互联网的可信账本;以太坊是可信记账+可信计算,智能合约提供了基于链上的可信计算功能。比特币只是一个账本,一个特殊的存储,硬盘都算不上。以太坊在比特币基础上增加EVM虚拟机提供了app开发能力,但是是单进程,只提供很基础的链服务设施,计算能力太差了。比较热的EOS也是一样,只是简单修改共识算法提高TPS而已,TPS不是操作系统的指标。
亦来云作为区块链操作系统,定位是在智能万维网,一是在链层面的基础设施必须有很强的计算能力;二是有很好的可扩展性;三是有很强的dapp开发能力;四是由对现有的app有很强的移植能力支持;五是解决现在单机操作系统或互联网的安全问题。

亦来云操作系统是怎么做?

亦来云操作系统结构如下:

从图中可以看出几点:

可信数据保存在区块链
提供sdk方便app开发
所有的程序跑在elastos VM中
需要移植app运行在elastos runtime上面
app不能直接访问socket端口,资源ID通过carrier访问
总结

本人觉得亦来云和google开发的chromeOS的很多思想是一样的,之前一直对chromeOS理解不够,chromeOS本身争议也很大,chromeOS所有app都运行在chrome浏览器上要怎么使用,未来的操作系统应该是什么样的,为什么是网络操作系统?这些chromeOS没有给出答案,可能是google自己也没有明确答案!

显然亦来云给出了完美的答案!未来操作系统必须是网络操作系统;未来操作系统必须限制app开发的自由;未来操作系统要计算和上网隔离;未来操作系统要有ID;未来的操作系统要未来操作系统必须结合上区块链这个伟大的技术。

亦来云操作系统结合区块链让chromeOS没有完成的未来操作系统使命有了落地的可能

作者:jerry_one
链接:https://www.jianshu.com/p/6297a361485b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。