在手机操作系统领域,android基于Linux开发,苹果IOS基于UNIX开发,那么华为的“鸿蒙”操作系统为什么不能基于UNIX开发呢?下文具体分析一下。

华为“鸿蒙”系统为什么不基于Unix开发?-编程之家

    Unix内核

    Unix是一个闭源的操作系统,Unix的源代码需要通过与它的所有者AT&T达成协议才能获得许可。UNIX系统在学术界发展迅速,产生了很多分支,其中最著名的就是BSD(伯克利软件发行版),而苹果的Mac OS和IOS均是BSD衍生产品,采用了BSD的内核。

华为“鸿蒙”系统为什么不基于Unix开发?-编程之家

    Linux内核

    Linux从诞生开始就是开源的自由软件,任何人都可以免费的使用。集成了Unix的核心设计思想,但是并没有采用Unix的源码。所有的Linux组建都是自由和开放的源代码,任何人都可以创建一个Linux的发行版,比如ubuntu、debian、centos等等。

    Unix和Linux的区别

    Unix系统是闭源的,属于商业软件;Linux是开源的,属于自由软件。

    Unix系统大多数与硬件配套;Linux可以运行在多种硬件平台上。

    操作系统内核

    IOS和Mac OS是苹果的系统,以流畅性著称,IOS和Mac OS均采用了UNIX内核。IOS和Mac OS的内核均是UNIX的一个分支(Darwin),基于乔布斯以前创立的NEXT公司开发的操作系统OpenStep(1993年),而OpenStep在衍生于加州大学伯克利分校发布的BSD版本,是UNIX的一种分支。

华为“鸿蒙”系统为什么不基于Unix开发?-编程之家

    Android的核心是Linux内核,诞生于2003年,后来在2005年由google收购,主要用以移动设备的操作系统。google收购了android之后,组建了开放手机联盟,成员来自硬件厂商、电信运营商、互联网厂商等85家大型企业组成,并且实现了android系统的开源。

    华为“鸿蒙”操作系统

    根据网上的消息,华为早在2012年就开始布局自研手机操作系统,基于Linux系统,对Linux进行了优化,其部分成果已经应用于华为手机,如下图所示。

华为“鸿蒙”系统为什么不基于Unix开发?-编程之家

    “鸿蒙”为什么不采用UNIX?

    从上文可以看出,UNIX系统属于商业软件,不开放源代码,如果使用需要得到相关授权,并且UNIX系统的核心几乎有美国垄断。苹果IOS系统之所以能够基于UNIX,并且实现了商业的成功,与乔布斯是分不开的,IOS和Mac OS均是基于乔布斯在1993年发布的OpenStep系统(BSD衍生)。

    华为如果基于UNIX系统开发操作系统,第一:需要授权,授权被美国牢牢限制,而linux系统没有这个问题;第二:门槛很高,苹果IOS已经近30年的发展和改进,而华为2012年才开始搞自己的操作系统,短时间内很难打造一个“生态链”。

    总之,华为的“鸿蒙”操作系统是无法使用UNXI内核的,只能基于Linux内核进行研发,毕竟华为也是Linux联盟的重要成员。

小伊评科技,希望帮到你

华为得新系统为什么不基于Unix开发,有如下几个原因

1.项目经验问题

2.基于LinuX可以更好地兼容目前的安卓系统应用

笔者就简单来讲一讲华为为什么依然还是会基于Linux开发系统

先来简单讲一下Linux和Unix得区别

华为“鸿蒙”系统为什么不基于Unix开发?-编程之家

Linux作者——李纳斯•托瓦兹

总的来说,Linux可以理解为是一种基于Unix的变种,是一种类Unix系统。或者可以形象的比喻为LinuX就是UNIX的儿子。Linux就是其作者李纳斯•托瓦兹在unix的基础上开发而来。不同的是,Unix由于其不开源的属性,而且发布还比较早,其大部分成熟的系统都被大公司所掌控,比如常见的用于服务器端的AIX、HP-UX 系统他们都是要和硬件紧密的配合起来工作才行,不能用在其他硬件上

而Linux由于刚开始就是一种学术性质的开源软件(最早发布的Linux只有10000多行代码),任何人都可以对其源码进行定制和修改,其可以运行在各种硬件设备上,所以这些年Linux的应用生态以及代码库不断完善,目前相比于“老子”Unix可谓是青出于蓝而胜于蓝。而且根据开源协议,大部分基于Linux开发的系统都必须是开源的,比如安卓。所以目前基于Linux的系统是越发的丰富起来,相对的UNix就显得人丁稀少了。

简单来说就是由于Unix刚开始是付费的,所以发展远没有Linux快,目前成熟的基于Unix集成的系统都是封闭的,其从业者也是凤毛麟角,不及Linux从业者丰富。而从本质上来说,两者基本上差不多。

其实苹果的IOS系统也是类Unix系统而已,其本质和Linux差不多那么华为为什么不采用Unix呢?

1.项目经验问题

华为“鸿蒙”系统为什么不基于Unix开发?-编程之家对于Linux和Unix有了初步了解之后,大家应该就知道华为为什么不采用Unix的原因了,别的不说,去哪找精通Unix的人才就是一个非常大的问题,而且Unix目前的生态也远不如Linux那么的丰富,而且采用Unix还可能会被一些大公司卡脖子,明显使用Unix不符合华为的战略。而华为在Linux系统方面也相当有经验了,为什么要贸然去采用一款没有经验的语言呢?此外只有Linux系统是基本完全开源的,而且还是得到国际开源组织的认可和保护,比如这次美国贸易战种谷歌的一些做法就受到了开源组织的抨击和质疑,所以采用Linux是目前最好的选择。(本次谷歌禁用的并不是安卓系统,而是基于安卓系统上一些谷歌自己的服务,比如Google Play等,安卓系统他本身是没有权利禁止使用的)

2.基于LinuX可以更好地兼容目前的安卓系统应用

众所周知,安卓系统就是一种基于Linux系统开发的开源项目,华为如果想要自创一套系统,在初期为了营造出比较好的应用生态那就必须能兼容大部分安卓APP,否则贸然的发布一款全新的操作系统是有些不现实的,那么既然要兼容安卓,那就只能用Linux了。(当年WindowSphone轰然倒塌就是一个很好的反面教材)

总结:

所以无论是基于自身实力还是目前大环境考虑,华为采用Linux研发新系统都是最为明智的一种选择,除非真的撕破脸,华为采用Linux研发的系统不会受到任何影响的平缓的过度。而反过来说,如果真的都撕破脸谷歌也不管什么开源协议了,直接对华为封禁安卓系统,那世界上也就没有专利保护一说了,谁还会管你让不让用了,大家直接就厮杀在一起了,连专利费都不用出了。那基本上就不是科技战了,马上就该演变成热核战了。

end 希望可以帮到你

感谢您的阅读!

我们了解下,什么是Unix?它是一种强大的多用户,多任务操作系统,它属于分时操作系统,类似于Dos界面,它的应用最广。

虽说Linux的外观和性能与UNIX相同,但是Linux是开发源代码的自由软件,UNIX是对源代码实行知识产权保护的传统商业软件。而且,Linux是免费的公开源代码,而商业的Unix是收费的!
华为“鸿蒙”系统为什么不基于Unix开发?-编程之家

我们了解了这些,就知道为什么鸿蒙系统不使用Unix了。那么,真的使用了linux吗?实际上,linux是标准的类Unix操作系统。

我们说说为什么是采用Linux为内核呢?我觉得有几种原因:

  • 为了兼容安卓系统,采用Linux内核可以更好的兼容安卓系统。
  • 从预算角度。使用unix需要花费,而Linux确实免费的。从预算角度,华为使用Linux情有可原。
    华为“鸿蒙”系统为什么不基于Unix开发?-编程之家
  • 从常年的研究角度,因为华为已经从2009年开始研究方舟编译器,并且已经立项,而华为系统据说从2012年开始研究,所以华为很可能会从方舟编译器考虑。毕竟方舟编译器是针对安卓应用进行的编译,为了完美契合,所以可能使用linux。
  • 而且,目前的EMUI使用了全新的erofs超级文件系统,所以可以被列为linux内核分枝,所以华为使用Linux是早有定居,之前布局。

基于unix,还是linux,甚至自研,是需要综合考量的。考量的标准一般是看工期,协议(使用linux,unix都需要遵守他们的协议),系统对开发人员厂商友好度等很多因素。

自研没必要,也不符合需求。自研成本也高,周期也长,还需要硬件厂商重新写驱动,没必要。

linux是最有可能的,首先linux开源每个系统开发人员几乎都了解linux内核。其次android也是采用linux内核,采用linux内核可以使用android的硬件驱动(至少驱动代码可以很大程度的复用),这样上层兼容android APP也会容易些。

unix嘛,几乎就是上面说linux的反面。

华为“鸿蒙”系统为什么不基于Unix开发?-编程之家