关于“Linux迎接挑战”的一场讨论

社会主义新天地 提交于 2020-03-23 17:03:15

3 月,跳不动了?>>>

关于“Linux迎接挑战”的一场讨论


中国开源软件推进联盟专家委员会Linux创始人Linus Torvalds说:Android就是Linux操作系统,今天全球持有Android智能手机的人已超过20亿;全球500台运行速度最快的超级计算机80%采用Linux;在网络领域,由中国企业(中移动.华为)主导的基于Linux的主流开源项目Open-O最近创新成功,该项目涉及网络管理和编排领域的创新,它将重新定义SDN的基础架构,指导全球一些大规模通信网络的部署和管理;甚至连微软的云计算平台今年8月也引入红帽的Linux(企业版)操作系统。Linux无处不在,但遭遇挑战。今发表中国开源软件推进联盟名誉主席陆首群教授和Linux基金会Linux大规模自动化测试专家吴峰光博士对话:“关于Linux迎接挑战的序列对话。

陆首群教授关于Linux迎接挑战的三个问题

(陆首群教授,中国开源软件推进联盟名誉主席)
陆:今天要跟你讨论的问题主要是Linux在发展中遇到了哪些挑战,我准备给Linux基金会创始人Linus Torvalds写信,问他有哪些应对措施。在写信前先跟你讨论:
第一个问题:有人说Linux的发展似乎不是从用户的需求出发的,而是来自开发者的创意。如果长此下去,是否会使Linux发展迷失方向?
第二个问题:Linux开发支持基于X86的主流架构,Linux虽然也支持多架构
如arm、mips...等,但其他架构是非主流的,支持力度恐怕要弱,面对PC向移动继而又向IoT发展形势,长期以X86作为支持的主流架构是否会阻碍Linux的发展?
第三个问题:最近谷歌开发了用于物联网(IoT)领域新的操作系统开源的Fuchsia,其特点是小型化和实时性,而作为通用操作系统的Linux(大量用于移动终端也可用于桌面系统)相对来说功能多,结构复杂、体积臃肿,难以做到小型化实时性,但IoT是当前和未来影响极大的大市场,Linux(用于IoT)是否要迎接挑战呢?

吴峰光博士(Linux基金会Linux大规模自动化测试专家)的回答

吴:陆主席,您好!关于您电话中提到的三个问题,我的感觉是第一个问题是虚的,第三个问题是实实在在的,第二个问题很大程度上根源于arm厂商和市场的特质。

1. 开发者与用户需求问题Linux开发者以用户需求为依据,大体上可以分为两类:

-Linux代码贡献者:主要是各个下游厂商的开发者,或者团体/个人用户,他们是需求的提出者和实现者,是主要推动力量。

-Linux维护者:站在Linux Kernel长远发展的角度,审查代码,改进架构,确保质量,性能和长期可维护性。维护者对于各个厂商基本持兼容并包的态度,其立场一般是中立的从技术角度看问题。

这样的体系基本上是合理的,体现了Linux社区驱动的性质:需求主要来源于社区力量,体现为企业/个人用户的代码提交。

2. X86/arm问题,如1.所述,Linus及其维护者团队努力维持其自主性,鼓励各厂商的开发者以“独立贡献者”(Individual Contributor)的方式贡献代码。Linus对X86支持的好,源自于两个主要因素:  -X86是主流硬件,大部分的用户和开发者都在用X86,自然而然它的功能、性能、bug反馈都有先天优势。  -X86开发较为有序,ARM相对涣散。特别是在Linario组织出现之前。ARM阵营里的厂商竞争多于合作,导致ARM这个体系结构的维护状态跟它拥有的开发者数量不相称。很典型的就是ARM里的子架构非常多,高达74个,每个厂商自搞一套,代码互相拷贝粘贴,大同而小异。造成维护的噩梦,Linus对此深恶痛绝,屡屡批评和督促ARM开发者向X86开发者学习。

Linaro组织的出现就是朝这个方向的一个重要努力。ARM架构的代码修改量很长时间以来都比X86架构的修改量大得多,代码绝对数量也更大:ARM,380K代码行数;X86,260K代码行数。这说明ARM不缺开发者,可惜各自为战的成分多了些。除此之外,各Android手机厂商开发的数量庞大的代码,大部分都没往上游推。主要是有很强大的产品快速上市的压力。前后产品之间的代码复用都很难。相比而言,服务器厂商在产品开发和生态培育上更有节奏感,能长期稳健投入,建设起一个体系。Linux从1995年发布1.2.0开始就支持多种硬件架构了。这时候的Linux还处于幼儿阶段,代码简单。这么早就引入多体系架构的支持,意味着Linux从设计上对多架构的支持是完善和具有前瞻性的。如果某些架构表现不好,大概只能从这个体系架构的厂商那里去找原因了。

3.IoT的发展,IoT对于Linux的确是一大挑战。主要是大小和延迟两方面的挑战。一方面是因为Linux的成功发展导致了臃肿和复杂。另一方面是Linux是社区驱动的,来自于嵌入式厂商的驱动力量偏于薄弱。我倡议相关的嵌入式厂商和开发者采取切实的行动,贡献自己力所能及的力量,让Linux在小设备上跑得更好。社区的创造源泉来自于包括你我在内的每个参与者。
Regards,
Fengguang

超图软件总架构师王尔琪对于“Linux迎接挑战”的看法

1、Linux分为内核层和用户层,分别面向技术开发者和使用者,而不是像Windows把所有的都暴露给使用者,既增强了安全性,又给用户层开发提供了灵活性,Android就是这个体系成功的最佳样板,Linux有多种桌面系统满足不同用户需求,只是大家没有认识到在使用的是Linux而已,实际上Linux的使用量已经远超Windows数倍,在很多关键的硬件设备和设施都使用了Linux系统,比如特斯拉汽车、机顶盒,路虎汽车也用了Linux,现在部分代码已经捐赠给了AGL开源汽车操作系统项目。Linux的体系和界面已经让人忘记了Linux,这是Linux非常成功的地方。

2、ARM所面向的智能设备是一个高度个性化的市场,由于ARM芯片本身都是厂家根据自己的市场目标定制的,出现百花齐放的局面在所难免,而且也因为这个才战胜了Intel。但这确实给应用软件开发者带来了一定的困扰,在不同厂家的平台上切换需要进行移植。不过,由于大部分用户态的代码都是兼容,只是需要注意所链接的版本的差异重新编译即可,内核态的部分因为跟硬件绑定在一起,只能使用硬件厂家提供的版本。随着硬件逐步开源,内核态的软件也逐步开源,统一性和兼容性是在逐步的增强。但是,由于硬件厂商的市场策略,一定会发展自己特殊功能的硬件,因此这一块要像PC一样通用是不大可能的,一定是一个统一-突破-再统一的过程。不过,话说回来,Windows只能在自己专用设备上运行,Windows10刚出了个在树莓派上运行的版本,实际使用的还很少。Linux在移动设备上目前几乎是独霸天下。

3、Linux基金会已经启动了面向汽车的AGL项目(https://www.automotivelinux.org)和面向物联网的Zephyr项目(https://www.zephyrproject.org),Ubuntu也有比较好的ARM支持,并推出Ubuntu core内核(大疆无人机已经开始在用)。传统上的可用于物联网设备的实时操作系统已经有很多(大部分基于Linux内核修改),除了专业领域的WindRiver的VxWorks(已被因特尔收购)之外,没有一个占据了绝对优势,原因在于这是一个高度定制、极致优化的市场,做到通用型难度非常之大,而且很难实现PC上那样快速更新。这也是近年来出现的一个新的机会,国内的华为、腾讯都在推自己的“OS”,航天集团三部也在基于SylixOS(国内部分开源)定制实时操作系统的XXOS,意图取代VxWorks,还有一个几年前的ReWorks。最后鹿死谁手,还看硬件厂家、开发者和软件资源的生态系统,Linux和谷歌在这些方面都非常有经验,而中国的硬件开发者也慢慢地具有一定的话语权。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!