中国开源软件推动联盟专家委员会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)是否要迎接挑战呢?安全
吴:陆主席,您好!关于您电话中提到的三个问题,个人感受是第一个问题是虚的,第三个问题是实实在在的,第二个问题很大程度上根源于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分为内核层和用户层,分别面向技术开发者和使用者,而不是像Windows把全部的都暴露给使用者,既加强了安全性,又给用户层开发提供了灵活性,Android就是这个体系成功的最佳样板,Linux有多种桌面系统知足不一样用户需求,只是你们没有认识到在使用的是Linux而已,实际上Linux的使用量已经远超Windows数倍,在不少关键的硬件设备和设施都使用了Linux系统,好比特斯拉汽车、机顶盒,路虎汽车也用了Linux,如今部分代码已经捐赠给了AGL开源汽车操做系统项目。Linux的体系和界面已经让人忘记了Linux,这是Linux很是成功的地方。
二、ARM所面向的智能设备是一个高度个性化的市场,因为ARM芯片自己都是厂家根据本身的市场目标定制的,出现百花齐放的局面在所不免,并且也由于这个才打败了Intel。但这确实给应用软件开发者带来了必定的困扰,在不一样厂家的平台上切换须要进行移植。不过,因为大部分用户态的代码都是兼容,只是须要注意所连接的版本的差别从新编译便可,内核态的部分由于跟硬件绑定在一块儿,只能使用硬件厂家提供的版本。随着硬件逐步开源,内核态的软件也逐步开源,统一性和兼容性是在逐步的加强。可是,因为硬件厂商的市场策略,必定会发展本身特殊功能的硬件,所以这一块要像PC同样通用是不大可能的,必定是一个统一-突破-再统一的过程。不过,话说回来,Windows只能在本身专用设备上运行,Windows10刚出了个在树莓派上运行的版本,实际使用的还不多。Linux在移动设备上目前几乎是独霸天下。
三、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和谷歌在这些方面都很是有经验,而中国的硬件开发者也慢慢地具备必定的话语权。