云操作系统入门及设计与实现
初识云操作系统
什么是“云操作系统”?“云操作系统”即采用“云计算”、“云存储”方式的操作系统。那什么又是“云计算”呢?“云计算”是IT产业较为时髦的词语,一般是指分布式计算,途径在各数据处理中心设置计算机服务器群,将“云计算”作为一种服务,提供用户使用。“云存储”亦类然:把用户的数据存储在“云网络”中,从而避免使用本地资源进行存储,实现异地使用存储资源的目的。下面我将谈我所理解的“云操作系统”。
云操作系统的鲜明特点将是“网络化”。将“云计算”作为任务发送给各个处于不同地理位置的服务器处理,得到结果返回。这种网络是一种“云网络”,有内存的拓扑结构,以使得能最有效地利用服务器的计算性能,为用户提出的“云计算”任务提供高效的计算服务。“网络化”还将用户的存储的资源分布地存储在各大服务器上,一是保证了脱离本地机器时,仍能使用自己的存诸了的资源,二是可以方便地与它人共享---如与家人共享,与同事朋友共享,公司的硬件资源的异地共享(租用服务器的云计算服务)。
云操作系统的又一鲜明特点是安全。这安全是指“云计算”、“云存储”在逻辑上的安全性。也就是说,云计算通过云服务,可以通过多种多样的安全保障措施来保障您数据的安全。有可能的方式为:1,云网络操作系统内存的安全性,这种安全性于本地来说是“严格受限”的计算。任何服务都是相互隔离的,用户任务各个数据之间没有任何内在相关性,任何已知的病毒在这种环境下都将失效------数据、计算任务的隔离性。2,云网络的逻辑安全性。在云网络中传输的数据是严格保护的,包括使用各种各样的数据加密措施来保障云计算任务与数据的安全;不仅如此,云网络是冗余存放,多重备份的网络式存储,任何局部化的数据损害不会影响到用户数据的安全。
云操作系统还具有计算的可扩充性。本地硬件资源不足可以动态地申请网络硬件资源来为用户服务(当然这种网络服务视计算任务的时间空间复杂度收费),这对于用户来说是透明的不可见的,然而用户将切身地体验到这种模式的好处。比方说,你可以手机终端运行魔兽、CS、CF、时况足球得大型的3D游戏,你还可能用你的个人PC作为一个网络服务器,提供上百万人同时在线的网络服务。但这种服务在现在看来,以个人PC提供这种需要巨型机才能完成的服务是多么的难以置信。一言以蔽之,你可以用任何有限的本地硬件资源来实现近乎无限的大型计算量。这种虚拟存在的计算将深刻地影响到未来的计算机行业的发展。
云操作系统将使得软件计时服务成为主要的软件服务,从而从根本上杜绝了软件盗版问题。云操作系统内在的网络化以及安全性,保障了计算的分布式实现。从而可以有效地把软件视为一种计时服务而提供给用户。这种计时服务的好处将是:避免将任何完整的二进制形式的可执行文件(软件)发布到个人空间中(这为软件的破解与盗版提供了方便)。从而保障了软件资源的安全,保护了软件发明者的知识产权。当然,在这种情况下,软件资源也是可以设置为免费方式的-------这要看作者怎么看待他发明的软件了。
云操作系统将实现无病毒,数据安全,存储方便,共享方便,软件发布安全方便,计算资源可以动态扩充的多种优点的网络服务。未来的IT业,将是云计算的产业!
云操作系统的设计与实现
上面谈了一些云操作系统本身的概念及其特点,那么这种操作系统是如何设计实现的呢?这种操作系统在设计与实现与又有什么样的特点,未来的云计算下的软件又是怎么开发,对于云的各种内存的优点又将以何种方式实现?
这些问题至今没有公开的公认的答案,不过我是可以提供一些我思考得到的方法的。
云计算操作系统作为一种网络化的操作系统。本地硬件资源只是提供一种接入云网络的一些必要的计算及通信,基本的软件(操作软件等)资源。本质上它只是一种接入云网络的终端软件。因为其复杂性不宜过高。也就是说,这应该是一个轻量级的操作系统。这个系统将为接入云计算网络提供基本的通信及计算能力。
它在基本功能上应该具有:基本的网络通信能力,有限的存储资源(用以存储云系统软件,对通信服务的临时数据进行存储-------当然,你也可以存储你的本地资源---但为了安全,一般不建议这么做),有限的计算能力(可以执行云操作系统的命令)。
它的基本组件有:对硬件资源进行管理的设备管理器(本地资源也可以作为一种特殊的云计算资源为用户服务-----这种资源是免费的,而本地硬件资源不足时,可以动态申请网络硬件资源为共云计算提供服务),云存储管理器(包括对本地资源的管理与网络存储资源的管理)。对云任务通信的网络通信能力(也包括对本地进程间的通信)。对云计算任务提供多线程并行服务(包括本地线程与网络线程)。提供“云计算”功能的云计算组件(云计算高级语言API),提供云存储及共享的云存储组件(云存储高级语言API),当然还有云计算、存储共享的云界面。
它的设计:可以参考分布式操作系统与网络操作系统。所不同的是,这里的硬件资源有一定的区别的,一是云服务器、云存储器与本地CPU及存储器的付费方式是不一样的。而且它的管理方式也很大的不一样。云操作系统提供一种云端的共享服务。这种不仅是在计算上,也存在于存储层次。这种云操作系统十分依赖于云网络提供的服务。没有这些服务,对于云计算(包括本地的计算---因为软件很可能存储于网络上的任何一个地方,这个“地方”却往往不是本地终端)很可能寸步难行。因而拥有一个可靠的云平台(网络服务器平台)至关重要。因此设计完这样的一种云操作系统,必需也提供一种网络服务器及存储环境,否则开发这样的操作系统是毫无意义的。
它的推广:可以采用云操作系统免费发放的方式进行推广(对云计算、云存储收费)。在此操作系统的基础上,提供开发云软件的IDE。方便大家开发云计算软件。并且将云共享平台及云计算平台提供给开发者及普通用户,方便云应用软件的传播与发展。