说到操作系统,每个人都不会陌生,我们现在每天都在使用各种计算机,接触到各种各样的操作系统。比如手机操作系统有iOS和安卓,PC操作系统有Windows、Macintosh,服务器现在的主流操作系统是Linux,更高端的还有小型机操作系统AIX、Solaris。但是对于新兴崛起的分布式操作系统,大家普遍比较陌生,除了因为它只存在于计算机集群和网络的云端环境,还因为它和我们之间,隔着众多的传统操作系统。不过它的重要性,不亚于我们现在使用的任何一款其它操作系统。我们的各种日常生活生产,大到国防军工科研生产,小到家庭生活,都离不开它的支持。下面就以发展了10年的Laxcus分布式操作系统为例,分别从它的分布式内核、功能节点、图形用户界面、分布式应用软件、分布式编程接口,来说一说分布式操作系统应该具备的一些特征。本篇主要先说说分布式内核。

首先需要明确的是,所有的分布式操作系统,它一定也是多机操作系统,这是目前所有的传统操作系统,包括iOS、Windows、Linux根本不一样的地方。传统的操作系统,本质属于单机操作系统,一套系统管理一台计算机。而多机操作系统可以同时管理很多的计算机,让所有的计算机接受一套系统的管理运行。所以相比单机操作系统,分布式操作系统已经发生了本质的变化。作为操作系统家族的新生力量,分布式操作系统的主要工作是管理分散环境下的计算机硬件资源,控制分布式应用软件运行,从体系结构上为应用业务提供超大规模的算力支持。这种超大规模并行处理能力,是传统的单机操作系统无法具备的。以Laxcus分布式操作系统为例,从它的指标数据来看,它能够管理的计算机节点规模可以达到百万级别,应用软件并行运行规模做到千万级别,在线用户人数亿级,这是所有单机操作系统完全无法匹敌的能力。

分布式操作系统出现的原因,和其它操作系统一样,仍然是因应了社会的变化。比如在计算机的早期,社会整体的计算需求是有限的,典型的如编辑文字,制作电子表格,或者PPT等的一些工作,这些PC操作系统就足以胜任。后来手机出现,大家也只是需要一个提供交互能力的随身浏览器而已。在一些小众领域,比如国防工程、科学计算,因为超级计算机的存在,也足以支撑这些算力任务。但是进入到这10余年间,由于网络连接,大量智能业务的兴起,传统的计算模式已经无法满足巨大的存储和计算需求,分布式操作系统逐渐应运而生,为大家提供服务的同时,向着更强计算性能、更快计算效率、更少计算时间的方向前进。

说完背景,下面咱们正式说说操作系统内核。

如果说什么是操作系统最重要的部件,那么一定的操作系统的内核。一套内核的表现,基本决定了一套操作系统是否优异,分布式操作系统也不例外。分布式操作系统相比传统的单机操作系统,无论是质和量,虽然都已经发生的巨大的变化,但是它的技术体系,尤其是系统内核,仍然有传统单机操作系统影子,是在传统操作系统上进行的思想变革和技术延伸。以Laxcus分布式操作系统为例,它的分布式内核分为两块,一块是本地内核,只处理单台计算机上的本地工作,本地内核的形态与单机系统内核大体一致。但是在其上,增加了一套分布式管理模型。分布式管理模型使用网络通信把巨量的计算机连接起来,加上冗余容错和智能感知等能力,形成一个松耦合的动态稳定架构,处理整个计算机集群的工作。来自上层的各种分布式指令,经过分布式Shell的处理,在分布式内核里面逐一分解,通过网络一直传导到每台计算机的本地内核,转变成单机指令,执行本地作业。

分布式内核提供了分布式操作系统的基础功能,所有分布式业务都基于它来实现,如果宽维度解释,分布式内核就是一个基础版的分布式操作系统。

实际上,一套标准的分布式内核,应该具备以下一些要素:

1. 经济性:在资源共享情况下,让分布式计算效率拥较高的性价比。

2. 高速网络:网速越高,数据等待时间越短,计算效率越高。这一点在处理超大规模存储计算工作时尤其重要。

3. 系统动态适应性:即无论分布式环境发生何种故障,分布式系统总能够保持在相对稳定的运行状态。

4. 可扩展能力:即支持计算机节点的动态增加或者减少,任何单点的增加或者减少不影响系统的整体稳定。

5. 业务调度和负载平衡能力:即系统能够将计算业务动态分配到不同的节点处理计算工作,实现分布式环境的动态平衡。

6. 安全性:因为分布式操作系统支持多人共享,用户的数据和计算业务必须只对用户本人可见,同时还要保证存储计算工作在可控环境下运行,控制越权行为。

这些功能在Laxcus分布式操作系统上都有对应的实现。比如通过集群虚拟化和资源的动态分配释放,来保证计算业务的经性性。使用多模通信网络支持多种通信业务,包括TCP、UDP、KEEP UDP、RPC,其中最重要的是Massive MIMO。这是一种超大规模的数据传输,采用支持任意多点收发单元,能够最大限度利用网络带宽,在不改变网络基础设施情况下,将数据传输效率提升5-20倍;使用可调CAP策略,结合冗余容错和智能感应机制,保证系统的稳定和动态平衡。使用应用容器和全域安全,来保证用户业务的安全性;

如果上述功能措施都在分布式内核中提供,一套分布式操作系统的分布式内核技术体系也就建立起来了。