世界操作系统发展简史:华为鸿蒙能成功么?

系统
近期,华为鸿蒙操作系统成为业内关注的焦点。什么是操作系统?直接给出定义过于枯燥,在此以事例来说明。

 近期,华为鸿蒙操作系统成为业内关注的焦点。什么是操作系统?直接给出定义过于枯燥,在此以事例来说明。

 

在移动互联网时代,应用最广泛的两大操作系统为:安卓操作系统和苹果操作系统。

如果做一个较为直白的比喻的话,操作系统好比人所具有的基本功能,比如吃喝拉撒睡,应用软件好比是人所具备的各种高级能力,如唱歌、跳舞、弹钢琴等,而硬件设备则可以直接看作人的身体部件。

我们回顾操作系统的发展历史发现,操作系统已经发展了近半个世纪,其覆盖的范围包括:个人电脑端操作系统、工业应用操作系统以及移动端操作系统。

其中,个人电脑端操作系统包括我们熟知和常用的微软 Windows 操作系统、苹果 Mac 操作系统以及门槛较高的 Linux 开源操作系统。

移动操作系统目前是安卓和苹果操作系统的二分天下。至于工业操作系统,由于距离普通大众甚远,在此不做分析。本篇文章重点回顾一下个人电脑端操作系统的发展历程。

现代所有操作系统的鼻祖可追溯到美国 AT&T 公司和贝尔实验室等共同开发的 MULTICS(多路信息计算系统)。

自那开始,整个操作系统的演化可分成以下三个阶段:

  • Unix 初始系统诞生。此时的操作系统主要面向专业人士,无可视化界面,非专业人士不可用。
  • 可视化操作系统演进。以苹果 Mac、微软 Windows 为代表的可视化操作系统诞生,降低了使用者门槛。
  • 开源 Linux 诞生与演进。全世界软件人员合力开发的免费开源操作系统的诞生和长足发展。

下面,我们以操作系统在这三个阶段的发展做为主线,来大致回顾一下电脑端操作系统的发展历程。

[[268291]] 

01.Unix 初始系统诞生

计算机操作系统的鼻祖来自 MULTICS(多路信息计算系统),我们在这里简称为 M 系统。

M 系统是 1964 年由贝尔实验室、麻省理工学院及美国通用电气公司共同参与研发的,其目的是开发出一套安装在大型主机上多人多工的操作系统。因为在当时,计算机一次只能接受一个任务,多人的任务需要排队执行。

后来,原 M 系统设计成员 Ken Thompson(肯·汤普森)因为无聊,想把一套名为“太空旅游”的游戏移植到他们实验室的一台机器上而开发了一套软件。

该套软件参考 M 系统的思路设计,但是功能目的单一,实验室的人戏称此软件为 Unics(单路信息计算系统)。

由于当时的 Unics,每次移植到一个新的机器上,都需要重复在机器上处理,且对不同的机器设备,需要额外的编程处理。对于了解计算机的人来讲,就是驱动都要自己写,自己配。

那个时候,系统的传播,受限于硬件和使用者的能力,只能做到极少部分人来使用。

1971 年,肯·汤普森和 Dennis Ritchie(丹尼斯·里奇)为了使当时的 Unics 具有更好的移植性、适用于不同的硬件设施,创造了 C 语言。

他们于 1973 年,以 C 语言重新改写与编译 Unics 的核心, 并正式命名为 Unix,形成 Unix 的初代版本。

该版本由于使用在当时看来是高级语言的 C 来改写,减轻了对底层硬件依赖的问题,从而可以广泛地在各种机器上使用。

初代的 Unix 采用了 200 多条程序命令,虽然内核很小,但是功能极为精简强悍。

当时传统需要用 100 行到 1000 行代码的程序,用 Unix 不超过 10 条命令就可解决。

因为它的极高效率,使得它在 AT&T 公司内得以疯狂快速地传播。对软件编程不了解的人可以设想一下,本来要一天才能做完的工作,用当时的 Unix 几分钟就搞定了全天的工作,这种神器能不快速传播吗?

计算机软件的发展历程就是一个持续优化,提升效率的过程。Unics 的发明是为了将复杂的任务简单化处理。

同时,为了将软件和硬件的关联处理实现简化而重新创建了一个新的语言(C 语言),从而实现软件和硬件的分离,为现代操作系统(Unix)的发展打下了坚实的基础。

需要指出的是,当时的 Unix 属于美国 AT&T 公司下的贝尔实验室,但该公司和学术界合作开发(加州伯克利大学),从而快速将其在各大高校传开。

随后在 1977 年,伯克利大学的 Bill Joy 在取得了 Unix 的核心原始码后,着手修改成适合自己机器的版本,同时增加了很多功能软件与编译工具,最终将它命名为 Berkeley Software Distribution (简称 BSD)。

这个 BSD 是 Unix 很重要的一个分支,苹果的操作系统实际源自此分支。

1979 年,AT&T 公司出于商业的考量,将 Unix 的版权收了回去。因此,AT&T 在 1979 年发行的第七版 Unix 中,特别提到了 “不可对学生提供原始码”的严格限制。

这导致后来学术界自力更生,Andrew Tanenbaum(安德鲁·塔能鲍姆)教授参照 Unix 的功能,写了一个 Minix 系统,用于教授学生操作系统。该系统在 1986 年完成并发布,并于次年发布了相关书籍。

这是后来大名鼎鼎的 Linus Torvalds(林纳斯·托瓦兹) 能够得以构建 Linux 初代系统的基础。

[[268292]] 

02.可视化操作系统演进

在 1984 年以前,所有的操作系统都是基于企业的大型机或高校科研机构来设计和使用的,还没有普及到普通人能用的地步。

当时,大部分的计算机系统都是基于命令行终端,没有图形化的操作界面。这样的操作系统只被极少部分的高级专业人员和学术界的老师、学生使用。等到了 1984 年,一切都发生了变化。

1984 年前后,操作系统的发展,发生了哪些变化呢?

  • VisiCorp 的第一款可视化操作系统 Visi On 发布。
  • 苹果的第一款可视化操作系统 Mac OS System 1.0 发布。
  • 微软推出 Windows 1.0 (1985 年)。
  • 日本 NEC 公司宣布基于 ITRON/86 规范,第一个实现了 ITRON 操作系统。

几乎不约而同的,世界上几个重要的操作系统都在这个时间段内发布了基于操作系统的商用版本,且都是图形化界面。而这四个操作系统近 40 年的演进,几乎影响了我们现代生活的方方面面。

VisiCorp 公司的操作系统专为大型企业设计和使用,普通人无从得知其演进历程。我们这里也不赘述。

苹果的 Mac OS 实际来源于 Unix(free BSD 版本),是 Unix 阵营向普通消费者进军的主力,图形化的界面和应用程序,降低了系统和机器的使用门槛。

微软之前一直使用 MS-Dos 命令行的系统,在看到苹果的可视化界面后,马上开发出 Windows 系统,共同抢占普通消费者市场,由此也导致了苹果和微软两大公司长达 30 多年相恨相杀的争斗。

ITRON 和日本的精密机械工业相结合,使日本在数据系统、工业机器人、办公机器方面处于世界领先地位。例如日本的本田汽车中的引擎控制系统就是基于 ITron 的。

 

03.开源 Linux 诞生与演进

从上世纪 80 年代中后期开始,大量的基于可视化操作界面的系统问世后,操作系统真正普及开来。

不过,可视化的操作系统是直接装在机器上的,它在降低了用户使用门槛的同时,也封闭了内在复杂的软件设计。

这对于具有骇客精神的学院派老师、学生来讲,难以看到其被隐藏的具体设计。由此,基于开源的操作系统 Linux 出现了。

1991 年,在赫尔辛基上大学的林纳斯·托瓦兹,参照 Unix 和 Minix,重写了一个初始的 Linux 系统,并于 10 月 5 日发布了第一版 0.01 版。

1993 年,大约有 100 余名程序员参与了 Linux 内核代码编写/修改工作,其中核心组由 5 人组成,此时 Linux 0.99 的代码大约有十万行,用户大约有 10 万左右。

到 2019 年,Linux 最新内核发布,此内核有大约 2500 万行代码。

 

有别于 Unix 的闭源(代码不可获得),Linux 系统遵循开源协议,意味着任何人都可以获取和编辑代码,进行修改,也因此,Linux 获得了极大的关注和应用推广。

由于全世界系统爱好者、使用者的参与,到 Linux 内核 4.9.2 版本时,Linux 内核源代码量超过 1800 万行(目前最新版本超过 2500 万行)。

我们通过微软的 Windows 系统研发对比,来评估这些代码的研发投入。微软的 Windows Vista 大约 5000 万行代码, 其研发投入超过 65 亿美元。几千万行代码的时间投入是个什么概念呢?

以国产的金山办公软件 WPS 为例, WPS 的代码量约 150 万行,开发耗时 3 年。

从这个研发成本角度看, 我们的系统采取完全自研的方式,不如直接拥抱 Linux 开源社区,毕竟,站在巨人的肩膀上更有效。

这时候,读者朋友们可能会好奇地问一下,当前市场上主流的系统占比分布是怎样的?下图给出了答案:

 

Windows 系统仍然是市场的主流。虽然 Linux 的发展历程很振奋人心,但是市场上的占有率实际上只有 1.61%(如果将谷歌的 Chrome OS 也看作 Linux 的一部分,则合起来是 2.78%)。

那微软构建这个占据市场主流的操作系统付出了多大代价呢?下图展示了微软公司从 2002 年到 2018 年的研发费用。

 

需要说明的是,微软的研发包括三部分:操作系统的开发、配套该操作系统的各种应用、驱动等围绕系统的生态圈建设费用。其中,2018 年的花费超过 147 亿美元,折合人民币约 1020 亿。

另外,需要指出的是,微软的 Windows 系统在占据主要市场份额的情况下,每年仍然投入超过千亿人民币的研发费用,这也为市面上的系统竞争设置了超高门槛。

[[268294]] 

04.中国力量的崛起

当前开源社区,中国力量又是怎样一个现状呢?

首先,早在 1999 年 7 月,几个年轻的创业者做出第一个在 framebuffer(Linux 为显示设备提供的一个接口)上进行汉化的中文版本蓝点 Linux(Bluepoint Linux)。

不过,因为没有坚持在操作系统方向进行持续深耕,蓝点公司的 Linux 系统最终消亡。

除此之外还有如红旗 Linux(诞生于 1999 年 8 月),中软 Linux 版本(发布于 1999 年 9 月)。

但是因为在使用体验上不如 Windows,没有市场的支持,最终没有成熟强大起来。不过,随着我国庞大 IT 从业者的崛起,情况有了根本性变化。

在此以 Linux5.1 内核贡献为例:

 

我们拉取了 Linux 内核贡献度超过 1% 的国家统计数据,发现:美国第一,中国第二(注:第一名未知范畴,不作为真实有效国家)。

以公司为维度来看,中国的华为公司对 Linux 的贡献度排在第三位(注: 第一名属于未知范畴,不算有效公司名,其排序参见下图)。

 

据财报显示,华为在 2018 年的研发投入也超过了千亿人民币(1015 亿)。由此可见,华为面对谷歌的系统封杀,是有底气的。

从另外一个角度看, 我们的企业也有很长的路要走,希望能有更多的企业榜上有名,只有那样,我们的自主操作系统才算是稳了。

[[268295]] 

05.华为鸿蒙系统的诞生

前面我们提到日本在 1984 年提出了 Tron 系统规范,目的是创作出一个开源的、可用的操作系统,从而减少对美国 Windows 系统的依赖。

Tron 系统原型机于 1987 年完成,但是该系统没有像预想的那样成为像 Windows 一样的替代品。

日本 Tron 操作系统的发展受到美国政府的打压,导致其没有在人机交互的场景上继续发展。

也许你会问:日本的 Tron 操作系统为什么被打压呢?要了解这个根源,首先我们要了解另外一个基础:芯片。

我们知道,操作系统好比是人的灵魂,芯片好比大脑。软件和硬件结合才能产生真正的生产力。

而日本在 80 年代的时候,“芯片产业正处于高峰时期,占据全球近 80% 的 DRAM(俗称电脑内存)份额,硅谷的英特尔、AMD 等科技创业公司在半导体存储领域,被日本人追着打,然后被反超,被驱离王座,半导体芯片领域(当时主要是半导体存储占据主流)成为日本企业后花园。”(摘自“魔铁的世界”的《30 多年前,日本是如何输掉芯片战争》)

日本的芯片实力已经开始碾压以美国为首的西方世界了,这个时候如果软件也取得突破性进展,那西方世界的科技市场将面临全面碾压。

日本彼时提出的 Tron 系统,对美国来讲是完全不可接受的,也因此在美国对日本实施的超级 301 法案中明确要求,不允许 Tron 系统安装在学校中。因为,它很有可能带来另外一个版本的 Unix 发展史。

现在来看,美国对日本芯片和软件两方面的打压,是不是和当前华为被禁止使用美国芯片、软件是一样的套路呢?

我想,这也是华为公司未雨绸缪地布局鸿蒙系统开发的主因。单纯的操作系统技术,相信国内是有能力了解并吃透的。

但是如何在开辟新系统的同时,又能持续保住曾经的消费市场,才是考验公司能力的地方。这一点,华为的策略相当让人惊艳。

华为是怎么应对的呢?华为的系统变革让普通用户无感知,因此不会影响到用户对系统的使用体验。

华为的 EMUI 系统的开发和迭代都是经过多年的深耕,将安卓系统进行深度的解耦合,碎片化替换,完成系统的优化和逐步升级。

例如,华为贡献给安卓开源社区的 EROFS 文件系统,就是其中的一部分。

华为的系统类似采取了飞行过程中换零件的策略,让用户在无感知的情况下,在每一次的升级过程中替换一个优化模块,而这些模块都是鸿蒙系统的一部分经验总结。

在这里,也不得不提一下华为的方舟编译器,方舟编译器对于普通人来说也就是个编译工具,但实际上它对一个新系统是至关重要的。一个操作系统是否健壮,要看其对底层硬件的利用程度。

拿汽车来比喻,系统构建好比是汽车引擎的构建,编译器好比是制作汽油的设备。好的编译器好比能直接生产出 98 号汽油,从而让你的机器快到飞起来。

编译器能否设计好,首先就要考量你对手机硬件的理解程度。从这个角度看,华为在系统构建层面是有信心的。

然而,仅有这些还是不够的。华为的鸿蒙系统如何能流畅的兼容安卓生态圈,才是需要深思的地方。

和 30 多年前相比,中国和日本的境遇虽然相似,但是市场、外部环境却大不相同,让我们对后面鸿蒙系统的发展拭目以待。

作者:郑清正 

简介:苏宁金融研究院数据风控实验室首席研究员

 

 

责任编辑:武晓燕 来源: 苏宁财富资讯
相关推荐

2019-06-03 15:30:27

操作系统Android 华为

2016-08-10 20:35:47

操作系统Linux操作系统

2010-03-04 10:34:04

Android操作系统

2010-04-07 13:17:47

Unix操作系统

2014-06-05 09:49:33

2019-05-20 09:28:09

物联网操作系统IOT

2019-07-09 14:30:31

华为鸿蒙操作系统操作系统

2021-11-09 14:02:46

操作系统欧拉系统

2010-01-06 15:36:30

Linux操作系统

2009-08-28 10:43:38

2010-04-15 16:08:41

Unix操作系统

2010-03-03 17:42:43

Linux开源

2020-12-17 18:30:44

华为鸿蒙智能手机操作系统

2012-09-05 09:46:54

云计算华为操作系统GalaX

2019-05-27 09:10:16

华为开发者开源

2023-05-26 15:36:56

2019-03-18 10:01:49

操作系统Android 华为

2009-01-11 10:11:22

Linux操作系统测试

2011-10-19 09:20:17

AndroidAndroid4.0

2019-05-23 09:40:58

华为操作系统手机
点赞
收藏

51CTO技术栈公众号