责编丨唐小引 “操作系统的新理念/先进技术因素只是一个 OS 能够成功的一小部分,还有很多因素需要综合考虑。路很长,需要一步一步脚踏实地的走,没有捷径。” 背景 操作系统是用来提供一个支持各种应用程序运行的基础软件环境。Linux 当前的在各个领域的发展情况如何?到 2016 年底为止,从不同的数据统计来源,我们看到了 Linux 创造在巨型机(占 99.6%)、服务器(占 80%以上)、移动终端(以 Android 为主,占 87.5%)领域的统治地位,貌似 Linux 已经无处不在了。但 Linux 在其他两个大的领域还没有一统天下。在 IoT/Embedded System 等弱设备/硬实时工控领域,由于特定硬件能力和专用应用的差异性很大,Linux 的通用性和多功能在某种程度上成了负担或多余的部分。 当然,目前还没有一个操作系统在这个领域处于统治地位,各种操作系统在这个领域都有一个适合自己的范围,但随着硬件能力的增强和应用对多功能的需求,Linux 的优势会逐渐凸显,目前在机器人,车载电子等领域已经有这样的趋势了。在 PC/桌面端,我们虽然看到了 MintUbuntu、Fedora、SUSE、Deepin(国内发起)等优秀的桌面 Linux,这些桌面操作系统主要基于 X Windows、KDE/QT、GNOME/GDK 等技术创建窗口环境,但桌面 Linux 的占有率却一直处于可有可无的地位,其占比仅为 1.63%,在这个领域的统治者是 MS Window(占 88.7%),在 MS Windows 面前,桌面 Linux 就像面对着一堵墙,无法逾越。为什么上述提到的 Linux 系统都是基于同一个 Linux kernel 但最终的结果却差别显著?这里原因只是在应用层面的技术选择的不同吗? 历史 移动端的爆发,离不开 Internet 的快速发展。虽然 Apple 在桌面端的软件和硬件始终不是微软+Intel 的对手,但 2007 年 iPhone 带来的触控操作的新型人机交互体验(注意,并不在操作系统内核上有新的突破,而主要是便捷的多点触摸式人机交互软硬件设计的突破)在移动端打开了一个新的窗口,紧接着 Google 的 Android 手机采用开放的生态模式(开放源码,建立开放手机联盟 OHA,即 Open Handset Alliance,与软件厂商、硬件厂商、运营商、芯片厂商深入合作,寻求共赢)和类似 iPhone 的交互体验(注意,如果不算 Binder 机制,在操作系统内核上也没有新的突破)逐渐超过 iPhone/iOS,并在移动端形成了垄断地位。到 2017 年 4 月,根据分析公司 Statcounter 的研究发现,Android)首次超过 Windows 成为第一大操作系统。 在桌面领域,微软在 1985 年推出的 Windows 操作系统,加上与 Intel 的 x86 CPU 的完美匹配,形成 Wintel 联盟,几十年来,通过 Killer Application —— MS OFFICE 形成了桌面上的垄断地位,并在推出 Windows NT 后,进一步把触角延伸到服务器领域。受制于 Windows 操作系统已经建立起来的强大桌面生态环境,桌面 Linux 和其他桌面操作系统加在一起,在百分比为个位数的市场占有率上徘徊不前。虽然 iOS 和 Android 在大屏上有比较好的支持,但类似手机操作和使用的平板电脑并没有带来新的突破,目前还没有对桌面端形成威胁。在桌面 Linux 的探索中,除了上述传统的桌面系统研发外总有一些火花在不经意间闪烁。把移动端的霸主 Android 放到桌面端来挑战桌面端的霸主 Windows,是否是一个可以探索的思路?下面将介绍一下这方面的一些情况。 对于一般用户而言,在 PC 上玩 Android 应用,是一个很有意思的想法,包括现在在 PC 上还出现了很多定制 Android 硬件模拟器(如 BlueStacks 等),方便用户在 PC 上玩各种 Android 游戏和移动应用。于是有 Hacker 开始考虑,为什么不能直接在 PC 上运行 Android 呢?在 2009 年,Yi Sun开始了把 Android 移植到 x86-PC 上的尝试,并基于 Android 1.6 推出了 Android-x86 1.6,并在后来持续跟随 Android 的发展步伐,形成了 Android-x86 社区,目前正在开发基于 Android 7.x 的 Android-x86 7.x,当前主要负责人是黄志伟(同方公司资深工程师),对 Android-x86 系统的定位是 Android 正对 x86-PC 的 BSP 部分,希望有更多的爱好者能够在 Android-x86 的基础上扩展 Android 框架,让 Android 能桌面 PC 上提供方便的使用环境。 2013 年,Tieto 公司提出了在手机上实现类是 PC 多窗口显示的想法,并展示了基于 Android 4.2/4.4 的多窗口支持技术方案,这个扩展原型系统可运行在 Nexus7 手机上和 Android 硬件模拟器上,且 Tieto 公司进一步把相关代码开源,并放到了 https://github.com/tieto/multiwindow_for_android。至此,我们知道,通过对 Android Framework 进行扩展,是可以象其他桌面操作系统一样,在大屏幕上,支持以多窗口方式运行多个应用。与 Linux/Window 桌面操作系统不同的是,在其上运行的是数量远大于前者的移动端 Android 应用,与前者的应用生态完全不同。 (责任编辑:本港台直播) |