展望第三代操作系统

举报
樊心昊 发表于 2020/07/23 11:53:17 2020/07/23
【摘要】 随着科技的发展,工程师们对技术的创新,不知不觉中我们快要迎来第三代操作系统了,第三代操作系统是真正能体现万物互联的操作系统。一、常见的智能设备与架构① 计算机② 智能手机③ 智能手表④ 智能电视机⑤ 智能汽车⑥ 智能物联网节点(温湿度传感器、空调、冰箱、电饭煲等等)常见的架构主要有Intel为代表的x86结构和ARM公司的ARM架构,这两种架构的指令集有着...

随着科技的发展,工程师们对技术的创新,不知不觉中我们快要迎来第三代操作系统了,第三代操作系统是真正能体现万物互联的操作系统。

一、常见的智能设备与架构

    计算机

    智能手机

    智能手表

    智能电视机

    智能汽车

    智能物联网节点(温湿度传感器、空调、冰箱、电饭煲等等)

常见的架构主要有Intel为代表的x86结构和ARM公司的ARM架构,这两种架构的指令集有着很大的差异,以x86为代表的CISC(Complex Instruction Set Computing)复杂指令集运算,以ARM为代表的RISC(Reduced Instruction Set Computing)精简指令集运算。

复杂和精简体现在CPU的物理结构上、体积大小上以及完成同一个操作需要的指令个数上,例如完成一个只需要一条复杂指令集中的指令即可完成的操作,却需要多条精简指令集中的指令才能完成,假设两种指令集的单条指令执行时间都为t,那是不是支持复杂指令集的CPU速度就更快了?

非也,随着时间的推移,人们渐渐发现复杂指令集出现了2、8分化,意思是约20%的计算机指令完成大约80%的工作,这样一来RISC架构就比CISC架构快了。由于CISC架构的物理特性,为了让一条指令能完成复杂操作,所以核中的门电路等结构特别复杂,由于散热等多种问题,导致摩尔定律(戈登·摩尔(Gordon Moore)提出:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上)在其架构上渐渐失效。

虽然工艺的发展马上就要进入瓶颈期了,一个核内能放下的电路数量不能有太大的提升了,但是还想让其性能得到提升,之前有工程师提出“多核技术”,在一个CPU中放置多个核心,让一个操作分为多个操作并行进行以提升速率(不是所有的操作都可以并行)。可惜CISC架构由于其复杂的物理特性,无法做到“众核”,只能“多核”,华为鲲鹏920处理器属于ARM架构,有64核,这就是x86架构无法做到的众核。

image.png

上面所说的智能设备中,除了大多数的计算机是采用x86架构的CPU,其他智能设备的控制核心大多数都是采用ARM结构的,比如智能手机,RISC指令集完全能满足手机的需求。

       以上和大家说的这些属于预备知识,只要大家能理解不同架构的CPU所使用的指令集不同,汇编代码和机器码也不同就可以了,能明白为什么ARM架构下的汇编程序不能直接拿到x86架构下使用即可。

二、为何未来的CPU架构以ARM为主导

       如何能做到将一个相同的程序不重新编译就能同时在ARM架构与x86架构下运行?

需要一个“虚拟机”,例如JAVA虚拟机,可以将底层的差异完全屏蔽,让程序达到跨平台的效果,但是这样做的话程序的运行效率很低,浪费了一些资源在虚拟机的开销上,并且对于内存控制等等贴近底层的操作非常不灵活。根据前面所说的2、8定律等,将计算机的CPU架构替换为ARM架构是非常合适的,这样一套程序就可以不依赖“虚拟机”而直接在多个平台上运行。

二、猜想第三代操作系统

第三代操作系统应该是以物联网为主导,真正让一切设备可以联系在一起。例如你在卧室用手机玩着游戏,走到客厅,游戏画面直接在智能电视上显示,用手机/手柄就可以操作;你正在电脑上办公,无论是office全家桶还是pr/ps全家桶,这时你需要外出,只需点击一个按钮,办公的软件和当前文件的进度,就能无缝切换到你的手机/平板上。这是不是很美好?

要做到这一切的前提是同一款游戏/软件能同时在不同平台上运行,经常玩游戏的朋友应该知道,同一款游戏有电脑端、手机端不同的客户端,并且账号数据不互通,而且手机端的游戏被阉割过,因为电脑和手机属于两个不同的平台,程序员们需要为两个不同的平台分别开发客户端,这样的研发周期很漫长,如果还想要让这款游戏能在智能电视上玩,那还要根据电视机运行的操作系统再开发一次,效率极低。还好第三代操作系统要来了。

第一代操作系统:以linux和window为代表

第二代操作系统:以安卓为代表

这些操作系统只适合运行于特定的硬件/平台上,上面所搭载的软件完全不互通,即使能互通,也依赖于“虚拟机”大大降低了运行效率。

第三代操作系统应该可以在任何设备上运行,无论是电脑、手表还是电视,切换运行平台只需要替换一部分内核的接口即可,如下图:

image.png

对于开发应用的程序员来说,只需要开发一套程序即可无缝在使用了第三代操作系统的任何设备上运行,无需重新开发,大大的提高了软件研发效率和用户体验。

中间无需虚拟机以及一些冗余的组件,极大的提升程序的运行效率,甚至还能将家中所有设备的计算资源池化,如果要在电视上玩一款大型游戏,电视的本身的硬件资源无法支持该游戏,可以借助“家庭网关”、“手机”、“电脑”等设备的资源来驱动这个游戏,得以能在电视上畅玩。

这就是真正的物联网操作系统,万物互联,让我们一起拭目以待吧!


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200