设为首页收藏本站

爱吱声

 找回密码
 注册
搜索
楼主: 沉宝
打印 上一主题 下一主题

[信息技术] 简评爱坛的鸿蒙之争

[复制链接]

该用户从未签到

跳转到指定楼层
楼主
 楼主| 发表于 2019-6-19 17:55:08 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
最近几天在爱坛上鸿蒙是一个热议的话题。套用外交行话,大家就此进行了坦率交谈。领衔双方的都是大牛,所持观点都有一定的道理。但是好之中总会有更好,笔者不才,瞎说两句吧。& r* N' ~, s" e: s- f

. `, S& [7 N: L! M0 ^关于鸿蒙的一个热点是其微内核( microkernel architecture )的架构。微内核的优缺点是一个老生常谈的话题,到现在晨大跟老兵还对此有不同的看法。虽然晨大知识广泛,在很多工程领域都有很高的水平。可是计算机毕竟是老兵谋生几十年的本业,对该问题的认识要强于晨大。简单地说,微内核安全、容易剪裁,但性能(performance)做好不容易。道理其实很好理解:在微内核构架下,想要完成一件事往往需要频繁出入内核与用户空间,跨越不同安全等级区必然导致一定的系统开销。就像下图,你觉得哪一个办事效率更高呢?( ~; p7 s; F4 r& P

/ |/ y7 c. U+ \% [# S* S微内核6 c" w8 S- M. Y" X
0 p: U: U/ C# B1 p$ B  q
monolithic kernel模式
. a/ I% }/ o( ^/ z' t) Y+ K2 L, ~6 z# Q, K9 |& D& K* h
因此,微内核性能下降是必然。但是能否让这种下降止于某个可以令人接受的程度,从而生产出一个依然可用的系统呢? 这其实需要有天赋有理想的创作者, 裱糊匠肯定不行。老兵为了论证自己的观点,拉来Windows NT做例子。然而,微软是一家把实用主义融入基因里的公司,只要能用,任何时候都不介意做成一锅乱炖。当初微软为Windows开发搞了一个MFC框架,里面大量使用了宏定义(Macro),直到delphi横空出世人们才意识到原来Windows的封装可以那么清新,那么有条理。
+ t* c7 q  q+ K4 e( s/ q5 m
- i/ J& f% O4 k- z$ \. O- U$ {2 X有意思的是, 双方不知有意,还是无心, 这次微内核的讨论基本上都是在PC层面展开的,这对手机来说多少有点隔靴止痒的意味。其实到目前为止,在移动设备上做得最好的微内核的系统(鸿蒙依然在开发之中)就出自他们大湖北的一家公司(难道这就是传说中的灯下黑?)该公司在意气风发的时候它的名字叫Research in Motion,不熟悉的小伙伴们一提 BlackBerry也就全明白了。 BlackBerry手机用QNX(现在已经改用安卓, 时不利兮骓不逝),QNX是微内核的实时操作系统。曾经有一段时间,美国总统的智能手机只能用BlackBerry,因为那时候只有BlackBerry通过了特勤局的安全检测(iPhone和安卓都不行)。
  l1 X6 Y* L4 C) v0 L/ T$ Q! E
' M/ B" @1 O: H. x0 ?  L另一方面,在对鸿蒙的前途和未来的展望上,老兵的观点未必能够胜过晨大。大概老兵长期处于IT高端,周围被专有(Proprietary)软件环绕,惯性使然。一开始,老兵没有注意区别安卓和GSF(Google Services Framework)以及谷歌全家桶(Chrome、YouTube等应用程序)。前者是开源软件(更精确地讲应该是 free software,从习惯) ,后者是专有软件。只有专有软件才限制别人分发、修改、以及二进制兼容。国内的软件都是在没有GSF的环境下长大的,所以除非将来谷歌修改安卓的许可证(那也只能适用于新版,现有安卓依然free),否则鸿蒙要保证国产软件的运行一点问题都没有。
4 U! u7 i" S7 V. e- I5 N9 V) W! N) U7 h. R
有一点老兵看到了,那就是鸿蒙的作用可以作为兑子,即用停止开发鸿蒙换取谷歌解除封锁。但有一点老兵忽略了,交换需要双方愿意,用来交换的东西必须自身拥有足够的价值才行。马换炮,想一想也就换了。但想要卒换车,高手肯定笑一笑走开了。如果鸿蒙像老兵说的那样不堪,那么兑子也基本上做不到。( i8 a4 N7 {# Y0 T9 W3 i
7 @+ u3 X" J2 r
比之其他IT领域,移动设备更下里巴人,更接地气一些。以国内市场为例,国产手机中步步高系的市场占有率对小米具有压倒性优势。您没有看错,就是做学习机的那个步步高,OPPO、vivo、以及海外卖得很火的一加,都是由步步高出来的(甚至可以精确到段永平这个人)。在很长的一段时间里,步步高系的手机,配置比小米低,价格比小米高,而且依赖传统的店面销售(他们的网上直销到现在依然是个软肋)。那么他们凭什么战胜high-tech的小米?其中有一点就是销售人员同顾客做朋友。很多都生活在同一小区里,就这么说吧,如果大妈晚上九点手机遇到问题,销售人员都能上门服务,可能顺便还把老人搬不动的矿泉水带上楼。对这些顾客来说,手机有多大内存,CPU有几个核真的不重要,YouTube、Facebook、Instagram更是虚无缥缈,这与欧美的高端市场绝对是不同的世界。
( h2 ^. e: E! G2 Q1 s3 P
& R) A3 c0 i/ g& |8 e万一,华为遭遇最坏情况,谷歌彻底撕破脸怎么办?很简单,三个字:活下去!凭借国内市场及亚非拉第三世界市场,华为不可能死。能坚持,就有胜利的希望。只要活的足够长,敌人都可能助你成功。3G时代,当中国拿着TD-SCDMA申请国际标准的时候,不要说产业化,就连很多基础性的实验都没有做,完全是白纸上画大饼去跟人家分,有谁能想到今天的局面? 时光倒退30年,有谁又能想到曾经拥有包括晶体管在内的九项诺级科研成果,共计14诺贝尔奖获得者的美国电话电报公司,在电信制造业上现在已血骨无存?电信是规模效益很大的一个行业,有时候客户数比利润率更重要,这是迂回前进,走农村包围城市道路的底气所在。

评分

参与人数 27爱元 +122 学识 +5 收起 理由
馒头笼子 + 4
喜欢 + 8
xiejin77 + 2 油菜
云淡风轻 + 8 伙呆了
九麟居士 + 4

查看全部评分

该用户从未签到

沙发
 楼主| 发表于 2019-6-20 01:10:10 | 显示全部楼层
伯威 发表于 2019-6-19 19:10
9 V! h7 n& Z2 ^! {& B' X2 w5 `说的真好。
# Q  T" q& x: b; o; [8 l个人意见。技术层面晨斯基那个微内核优势论一看就太扯了,作为一个Linux用户。和安卓的兼容性, ...
关于蓝绿厂给大爷大妈搬水来卖手机

! _  H; {3 m6 K段子嘛,笑一笑就好了。但是蓝绿厂能胜出小米那么多年,说明在手机行业技术不是绝对决定性的。

点评

嗯  发表于 2019-6-20 02:38
回复 支持 反对

使用道具 举报

该用户从未签到

板凳
 楼主| 发表于 2019-6-20 03:55:33 | 显示全部楼层
晨枫 发表于 2019-6-19 23:03
$ ^7 l, `/ h9 b. f/ y好奇:你对CISC vs RISC是怎么看的?
1 Y2 U% V$ W% ]$ ^8 g( t
CISC和RISC之争又是一个大话题。简单地说,他们哪个更优反映了不同时期技术进步的方向和速度。最早的CPU很原始,根本就没有几条指令,也就无所谓CISC与RISC。后来技术进步了,可以更大规模地集成电路,速度也快了很多。这时候人们发现把一些复杂的工作打包交给CPU去做,效率会提高很多。比如说(这里只是打一个容易被一般人理解的比喻,并非CISC和RISC真正的区别点),假设CPU只有累加器(最早的CPU也确实如此),那么当人需要做4×3的时候只能写成4+4+4。现在可以给这个原始的CPU增加一条乘法指令,只告诉它乘数和被乘数,至于CPU内部怎么把数最后算出来,那是CPU内部的事情。因为CPU内部的速度远远快于外围电路,这种增加CPU指令的做法可以极大地提高整个系统的性能。& w- @4 M! x; D  n8 I: v/ E% X
; Z9 {# m) M% W, H5 A. t/ a
那么RISC呢?电路的速度不能无限地提高。曾几何时,为了求快超级计算机甚至用上了ECL(发射极耦合逻辑)电路,再大幅度的提速几无空间。于是人们的眼光转向了挖潜,把CPU需要完成的复杂工作分解成一项项简单的任务,模仿制造业流水线那样分步完成。比如说某某汽车厂号称一分钟生产一辆汽车,并不是真的装配这一辆汽车只需要一分钟,而是成千上万辆汽车在流水线上滚动起来,平均就可以每分钟有一辆汽车出厂。当这种流水线模式大规模应用起来,人们发现如果每次交给CPU的工作更加简单而且整齐划一,更有利于流水线的优化,从而获得更高的速度。这就是RISC的动机,它化繁为简,砍掉CISC中很多不常用的指令,并对剩余的指令格式上规整化。有人可能会问当初那些复杂的工作怎么办?在RISC构架下,许多过去由一条复杂指令完成的工作被软件(比如说高级语言的编译器)分解和优化,转换成多条简单指令。/ V, Y, D' S% M# n0 v

; k$ t) ~+ X& r" K2 S科技发展到今天,RISC无疑是占了上风。一些CISC的CPU,其实就只剩下CISC的一张皮了。拿最常见的Intel CPU来讲,它的CISC指令集就是为了原有的软件能够无缝运行,进入CPU后被翻译成一系列类似于RISC的微操作,然后再执行。至于将来,会不会一直RISC保持下去?老实说,我不知道。但如果再发展,一个很可能的方向是更大的并行性。回到汽车制造业,我们知道整车的装配速度会受制于发动机的生产速度。甚至更极端,受制于发动机从发动机厂运输到总装厂的时间。这种依赖性决定了汽车生产速度不能无限地提高。现在科技的进步已经可以让家用电脑CPU轻易地装备6核、8核,但我们主观感受到的速度并不是过去电脑的6倍或8倍,其原因就在于这种依赖性。提高并行度,也就是减弱这种相互依赖关系,无疑可以使电脑的性能又上新台阶。有意思的是,信息在人脑中流动是并行的,它被表达出来(无论是人类自然语言还是计算机语言)却是一个串行的过程。这种串行的东西有时候平添了很多不必要的依赖性(或者术语上下文相关)。然后再到CPU执行时又是越并行越好。这种并->串->并的转换现在是必要的,将来也许是革命的着力点。

点评

给力: 5.0 涨姿势: 5.0
给力: 5 涨姿势: 5
  发表于 2019-6-20 09:36
回复 支持 反对

使用道具 举报

该用户从未签到

地板
 楼主| 发表于 2019-6-20 08:55:09 | 显示全部楼层
晨枫 发表于 2019-6-20 05:16# ?9 ~; M: J; S/ E
看来你对任务分解在原则上不反对。在某种程度上,CISC可以比照为宏内核,RISC可以比照为微内核,为什么你 ...
! [5 V) X2 K4 j9 K' m; q
这个想法有些开脑洞啊。可能在某些科班出身的人的眼里,这完全是风马牛不相及的两个东西,直接就拒绝与你交谈了。我试着理解一下,以CPU为边界,CISC把很多工作拿到CPU内部做,就像宏内核(monolithic kernel)把很多工作放在内核空间里完成;而RISC尽量精简CPU内部的作业,类似于微内核操作系统只在核心区完成最基本的工作。是这样吧?理解错了勿怪。
* p! x. E; P& t$ g2 ~) }
. d8 C/ @6 r4 C* F! i怎么说呢?任务的分解、分配、组织、执行要遵循一些规则,这规则本身是人创造出来的,并且容易被他人理解和使用。在理论上,这些规则可有无数种方式,无数种可能。但在现实中,在当前科学技术发展水平的条件下,总会有一种方式比另一种方式更好。你说一支军队是师团制还是旅营制好?不谈历史时期,不谈军队的火力和机动能力,这种讨论没有意义。计算机也一样,计算机更多的是一种工程实践,而不是玄学,没有哪一个方案是天然的优越或者邪恶。只能说在当前科技发展水平,在程序员平均智商和勤奋程度下,某一个的方案表现优于另一个方案。RISC优于CISC,宏内核优于微内核,这些都是对当前计算机实践活动观察的结果。那么有没有可能哪一天天才凌空出世,让微内核彻底翻身,全面击败所有其它操作系统构架?有这个可能,但希望不大。别的不说,那些computer science的PhD们就足以据此扬名立万。但世界上计算机的博士点那么多,至少到现在没见到谁有可能做出颠覆性的成果。

点评

涨姿势: 5.0
涨姿势: 5
  发表于 2019-6-26 23:12
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2019-6-20 10:02:28 | 显示全部楼层
晨枫 发表于 2019-6-20 09:25
3 f; M! m2 o! g6 a! @- `; S你的理解没错,不愿意与我交谈我也没意见。
) b5 ?6 e# r: T; c; K% E4 [3 A! X0 @# |5 D* D7 V
RISC在一开始也是旁门左道的,是ARM、SPARC、PowerPC等的成 ...
7 B( E( ?, v% f) N
我前面说了,没有任何一个方案是邪恶的,同理,也没有任何一个方案是旁门左道的。方案本身无需道德评判。RISC现在比CISC更好,是因为RISC的天时地利人和到了,这种理解是对的。你跟业内人士不同的,是你认为微内核的天时地利人和也到了,微内核至少会有较大幅度的增长。但这一点目前恐怕能得到的认同不多。2 l7 q5 ?4 M' [8 T" n5 {* J, Q' {( v

2 B* s; n9 p' a* C/ k历史并不总是沿直线发展的。谁知道呢 Let's wait and see.
回复 支持 反对

使用道具 举报

手机版|小黑屋|Archiver|网站错误报告|爱吱声   

GMT+8, 2024-5-16 09:09 , Processed in 0.039861 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表