大春哥带飞▲言简意赅了解“云操作系统”与“普通操作系统”
从时间上来说 , 云计算发展发展已久 , 已经算不上新鲜玩意儿 。 但是不少新接触云计算的人 , 对云计算相关概念容易一头雾水 , 比如云操作系统 。 华为全球培训中心云计算高级讲师蒋老师在从事软件开发工作初期时 , 也遇到了同样的问题 。 他在看到「云操作系统」时总以为是一种跟Linux或Windows一类的东西 , 当时上网查了资料也没有找到论述云操作系统与普通操作系统区别的文章 。
因此 , 蒋老师希望通过这篇文章从对比这两种操作系统的角度切入来学习云计算 , 对于没有接触过云计算的小伙伴可以快速知道云计算到底是什么 , 对于有一定云计算基础的朋友也可以通过对比来加深对云计算的理解 。
一、运行平台对比
文章图片
【大春哥带飞▲言简意赅了解“云操作系统”与“普通操作系统”】普通的操作系统一般运行在一台主机里面 , 而云操作系统一般运行在多台主机甚至一个数据中心里面 。 如果仅仅这么说 , 肯定还是丈二和尚摸不着头脑 。 操作系统运行在主机里面大家都能理解 , 云操作系统如何运行在整个数据中心所有主机里面就难以理解了 。
这里要提一个词 , 也是我们云计算最重要的一个技术:「分布式」 。 简单地说 , 如果一个软件整体运行在一台主机里面 , 那么这种软件就是单体式软件 。 而如果一个软件的模块分别运行在不同的主机中 , 这些模块之间又可以通过网络互相通信一起协调共同完成任务 , 那么这种软件就称为分布式软件 , 而我们的云操作系统首先就是这样的分布式软件 。
二、相互关系对比
普通操作系统和云操作系统是否互斥不相容呢?其实并不是 。 当然从技术上说只要开发人员愿意 , 云操作系统当然也可以实现为完全跑在裸机上的软件 , 这样就不需要普通操作系统了 。
不过实际情况是普通操作系统和云操作系统是分工协作的关系 , 云操作系统专注于云平台管理的业务 , 普通操作系统专注于传统的进程调度、内存管理、硬件控制等功能 。 从形态来说 , 云操作系统的模块作为普通操作系统之上的进程来运行 。
三、管理对象对比
普通操作系统运行在一台主机里面 , 它管理的就是本机的资源 , 将CPU、内存、外设等资源抽象成「进程」对象来进行管理 。 进程有新建、运行、终止、就绪等状态 , 操作系统管理进程的状态切换 , 学术一点说就是进程的生命周期管理 。
而云操作系统是将所管理的主机资源抽象成计算资源池、存储资源池、网络资源池等 , 然后进一步通过虚拟化工具组合出虚拟机这个对象 , 虚拟机有新建、运行、休眠、停止、迁移等状态 , 云操作系统可以管理虚拟机的这些状态 , 同样学术一点说就是虚拟机的生命周期管理 。 所以从管理对象的生命周期来说 , 两类操作系统之间有一定的共性 。 也许正因如此 , 云操作系统才叫操作系统 。