Android操作系统的发展与未来
- 格式:docx
- 大小:26.62 KB
- 文档页数:9
Android操作系统的发展与未来
Android操作系统的发展与未来
操作系统的新理念/先进技术因素只是一个OS能够成功的一小部分,还有很多因素需要综合考虑。路很长,需要一步一步脚踏实地的走,没有捷径。本文浅析Android操作系统的发展与未来,仅供参考。
背景
操作系统是用来提供一个支持各种应用程序运行的基础软件环境。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:///tieto/multiwindow_for_android。至此,我们知道,通过对 Android Framework 进行扩展,是可以象其他桌面操作系统一样,在大屏幕上,支持以多窗口方式运行多个应用。与
Linux/Window 桌面操作系统不同的是,在其上运行的是数量远大于前者的移动端 Android 应用,与前者的应用生态完全不同。
来自 Google 的工程师周哲、高恒、陆韵晟在实现财务自由后,并没有停止对技术的探求。他们一直在思考一个问题:很多事情智能手机就能搞定,但你为什么还需要一台笔记本?他们认为在当前的年代,移动应用的开发远远超越了 PC,所以你不需要带各种各样的设备,而是有一个设备把所有问题给解决了。2014 年 1 月,他们创建了技德(Jide)科技公司,并在 2015 年初推出了 Remix OS —— 它是基于
AOSP 开发的深度定制操作系统,主要以 PC/笔记本电脑(基于
ARM/x86)、二合一平板电脑、一体机、智能大屏显示器为载体,实现了一个类似桌面操作系统的多窗口 GUI 界面,能够在一个大屏幕中呈现和方便地运行多个不同的 Android 应用。并且技德公司还推出了运行 Remix OS 的笔记本电脑、平板电脑、迷你(mini)PC 等多种硬件形态。
2014 年 12 月,来自国内浏览器 —— 世界之窗的创始团队以创始人谢震宇为首,在经历了 360 公司收购后,也不安于现状,跳出
360 公司,成立了超卓科技公司,他们也看到了 Android 大屏化的潜在商业前景,从开发应用出发,首先推出了基于 Android 的超卓文件管理器、星尘网络浏览器、超卓文本编辑器等,并在 2015 年 1 月推出了 Phoenix OS Beta 版,并与国内多家硬件厂商合作(联想、TCL、五元素、昂达等),在相关硬件上安装 Phoenix OS。Phoenix OS 与 Remix OS 类似,也是一个基于 Android 的桌面 PC 系统,两者在功能上的差异不大,主要体现在风格的差异性上,其最新版本已经建立在 Andriod 7.1 基础上。超卓科技希望在轻办公属性的 Phoenix OS
系统展现其新的亮点。
2014 年到 2015 年期间,同方公司和一铭软件公司各自通过前期调研,都认为在国内桌面操作系统方面,需要有新的形态出现,看好
Android 应用的丰富类型与庞大数量而形成的强大生态,认为把
Android 进行桌面化改造是实现桌面操作系统的可行方案。在 2015
年下半年,同方公司和一铭软件公司先后找到清华大学计算机系的陈渝副教授,希望开展技术合作,探索 Android 桌面化的技术可行性。经过技术可行性分析,对 Android-x86, Tieto 等开源软件的理解,三方初步认为技术上是可以尝试的。于是在 2015 年底成立了清华大学-同方股份有限公司计算机系统结构联合研究中心,三方一起开始了
OPENTHOS 系统的研发,后续 Android-x86 社区、北京大学、北京工业大学、西安邮电大学、南开大学也参加了相关重要研发工作,还得到了技德、超卓、Intel 工程师的技术帮助。在 OPENTHOS 系统的开发过程中,首先基于 Android-x86 5.1 和 Tieto multiwin 扩展,实现了类似 Remix OS 和 Phoenix OS 的多窗口桌面 Android 系统原型,在 2017 年 3 月发布了 OPENTHOS-1.0-RC1 版本,所有源码开放在https:///openthos/openthos。
为何 Google 不直接让 Android 跑在 PC 上呢?虽然没有得到
Google 的官方确认,但大家知道 Google 在桌面端(以笔记本电脑为主要硬件载体)有一个基于 Web Browser 的 OS – ChromeOS,与
Android OS 具有不同的定位,界面是 Browser,运行的软件主体在云上,这符合 Google 与云为核心的战略发展方向,但 ChromeOS 没有
Android 发展得顺利,没有形成广泛的基于 HTML5 的应用生态。目前二者谁也吃不了谁,不过最近 ChromeOS 已经添加了 Android 支持层,可以让 Android App 直接运行在 ChromeOS 的界面上。且
Android OS 在 6.x 后,也逐步添加了多窗口的支持,只是相对与上述三个多窗口扩展的 Android 系统而言,还略显简单了一些。但这并不表示 Google 没有实力让 Android 直接在 PC 上运行,且让 Android
具有更加完善的多窗口能力。
分析
1. 技术分析
1.1 定位
上述介绍的 Android-x86、Remix OS、Phoenix OS、OPENTHOS 软件系统都是基于 Android 的 AOSP(包括了面向
Android 的 Linux Kernel)来完成的。Android-x86 侧重在 Linux
Kernel 的驱动(如 GPU driver 等),HAL 层面的硬件适配软件(如
MESA OpenGL 图形库,键盘/鼠标相关的库),系统启动支持(UEFI/Legacy BIOS 支持),基本不涉及 AOSP 中与硬件无关的
Android Framework 层、dalvik/ART VM 层等。由于 AOSP 4.4 以后有对 x86/x86-64 的很好的官方支持,所以,把 AOSP 移植到 x86-PC 平台的难度也比基于 AOSP-4.4 以前版本要容易一些。而 Remix