移动终端操作系统的新趋势:Boot to Browser
jopen 12年前
<div id="news_body"> <p style="text-align:center;"><a href="/misc/goto?guid=4958348524563012860" rel="attachment wp-att-115043"><img style="width:564px;height:352px;" title="firefox_browser" alt="移动终端操作系统的新趋势:Boot to Browser" src="https://simg.open-open.com/show/58baf8f8ce17e01b5e39ad07effd9de4.jpg" /></a></p> <p> 七月初,Mozilla 的 Firefox OS 挾德国电信、Smart、Sprint、意大利电信、Telefonica 和 Telenor 等七大电信运营商,中兴和 TCL (Alcatel One Touch)两大设备制造商的支持隆重问世,一时间,评论不断,均在质疑在目前移动设备上 iOS 和 Android 平分天下已成定局,微软的 Window Phone 前景不明的的市场环境下,Firefox OS 还有没有机会呢?</p> <p> <strong>Firefox OS 的前世今生</strong></p> <p> FireFox OS 的前身是 Mozilla 的“Boot to Gecko(B2G)”开源项目,于 2012 年的 7 月初更名为 Firefox OS。其主要的技术特征是以 Linux 为操作系统内核,采用 Mozilla 的浏览器应用运行时环境技术构建主要的中间服务层,人机交互的界面应用完全使用 HTML5 的 Web 技术。其原名“Boot to Gecko”十分形象的描述了这个操作系统的本质:系统启动后切换到 Gecko 的 HTML 5 运行环境。从 Boot to Gecko 技术文档上看, 系统分成三个层次。</p> <p style="text-align:center;"><a target="_blank"><img border="0" alt="移动终端操作系统的新趋势:Boot to Browser" src="https://simg.open-open.com/show/11c1743c9b57bb7734d074eddf53f82c.jpg" width="452" height="361" /></a></p> <ul> <li><strong>Gaia</strong>:用户交互层,Gaia 实现屏幕锁屏,主界面(Home Screen), 电话拨号应用,短信应用,摄像头应用等等。Gaia 完全使用 HTML、CSS、JavaScript 技术来实现,通过 Gecko 实现开放的 Web API 访问底层操作系统。Mozilla 在今年的加入 W3C 的 DAP 项目,携手标准化组织提供的是跨浏览器的标准化 “ 手机 ” 应用 API ,将智能手机设备上的各种能力和资源以标准化的语法开放,使应用可以运行在任意的标准浏览器系统中(只要浏览器支持了足够多和足够新的 Web 标准 API )。Firefox 的 Gaia,不是采用 Web 语法的应用框架、类库、微件(Widget),而是直接使用 ” 标准的 Web API ” , 在 Mozilla WebAPI 的官方网页上,可以看到 Mozilla 的 Web API,囊括了电话通信、震动 API (来自传感器)、短信 SMS、电源管理、WiFi 管理、联系人、蓝牙等等智能手机上各种能力。</li> <li><strong>Gecko</strong>:B2G 系统的应用运行时环境,Gecko 实现了标准的 HTML、CSS、JavaScript 在操作系统上的解释运行,由相关网络协议栈、图形软件栈,布局引擎,JavaScript 虚拟机等部分组成。</li> <li><strong>Gonk</strong>:Gonk 是 B2G 操作系统的底层核心,包括一个 Linux 的核心,以及一个用户空间的硬件抽象层( Hardware Abstraction Layer :HAL),Linux 内核、libusb 驱动、bluz 蓝牙驱动采用的是通用的开源项目,而用户空间的硬件抽象层(HAL)则部分来自 Android 的开源项目 AOSP( Android Open Source Project ),例如:GPS、摄像头 Camera 等等。Gonk 可以看作是一个特别简单的 Linux 发布版本。</li> </ul> <p> Firefox OS 运行的目标设备为 Android 的兼容设备,主要是 ARM 的手机终端设备。</p> <p> <strong>浏览器功能与操作系统的直接结合</strong></p> <p> 相对于单纯的目前的传统纯浏览器 Firefox ,Firefox OS 关键区别在于 Web 应用能够访问操作系统的硬件及软件各种资源,如何将系统的核心资源以安全而简单的方式向 Web 应用开放是一个核心的问题。在 Firefox OS 此功能主要由核心进程 b2g 以及内容进程 Content Process 完成。(以下描述内容来自于 Boot to Gecko 官方开发文档,由于是正在发展中的系统,可能会随着时间有所变化)。</p> <p style="text-align:center;"><img style="width:544px;height:442px;" alt="移动终端操作系统的新趋势:Boot to Browser" src="https://simg.open-open.com/show/f6a4d7e619b9d2bc33a16656b2843eb2.jpg" /></p> <p> b2g 具有最高优先级的系统权限,能够直接访问所有的硬件,例如控制 3G 通信的 Modem ,往显示设备的缓存绘制图像,与 GPS、摄像头、WIFI 模块等各种设备交互等。Content Process 是 b2g 派生出来的子进程,用于加载 Web 应用以及其他 Web 内容,Content Process 具有非常有限的系统资源访问权限。Content Process 通过进程间信协议描述语言 IPDL(IPC Protocol Definition Language)定义的远程接口与父进程 b2g 通信,以获得对系统受限资源的访问。</p> <p> Web 应用加载在隔离的 Content Process 中,据此形成 “ 沙箱(SandBox) ” 。每一个 Content Process 对应着一份权限列表,当 Content Process 向 b2g 进程发送 IPDL 消息要求访问某系统资源时,b2g 执行权限检查,如果超出 Content Process 对应的权限访问列表,则访问将被拒绝。</p> <p> 可以看出,b2g 进程在系统安全中的核心地位。</p> <p> <strong>Boot to Browser 的移动手机操作系统</strong></p> <p> Boot to Browser 的操作系统是狭义的 Web OS ,指的是使用 Web 技术实现人机交互的设备操作系统。同类的操作系统除了 FireFox OS 还有 Chrome OS、Tizen 、以及 HP 的 WebOS 。现在看来,目前实现的 Web OS 的一个基本的技术特征是:“ <strong>Linux inside , HTML 5 outside ”</strong>。 系统由 Linux 内核直接嫁接 HTML 5 的应用运行时环境而成,在操作系统内核启动之后切换到 HTML 5 的运行时环境,由基于浏览器的中间层代替原来的 “ 桌面系统 ” 接管了人机交互的界面。于是,” boot to browser “可以总结这类操作系统的运行特征,如果说 Firefox OS 是 “ boot to Gecko ” ,ChomeOS 是“ boot to chrome ”,WebOS 就是“ boot to webkit ”,甚至连 MAC OS X 目前也有 “ boot to safari ”的方式 ( 目前的 “ boot to safari ” 在系统启动之后,就直接进入 Safari 的运行中,用户仅仅能够通过 Safari 进行上网操作 ) 。</p> <p> “Boot To Browser”类型的操作系统减少了从操作系统底层环境到 Web 应用的中间环节,俨然是未来其中一种移动操作系统的类型,目前初见端倪,可以猜测,伴随着 HTML5 的大热,每个浏览器都可能发展成操作系统。</p> <p> <strong>Boot to Browser 新型移动操作系统的发展前景</strong></p> <p> 目前, iOS 和 Android 平分移动操作系统的天下,应用生态系统也旗帜鲜明的分成 iOS 阵营和 Android 的阵营,目前大多数人悲观的认为 Firefox OS 出来的时机太晚,无法从成熟的市场上分一杯羹。</p> <p> 但是,作为 Boot to Browser 的操作系统 FireFox OS 能否带来区别于目前的移动智能操作系统不一样的操作体验,进而瓜分移动智能操作系统的市场呢?个人的看法是:也许可以提供手机终端上的 “云应用” 桌面。</p> <p> 将应用的程序代码以及数据均放在云端平台,用户开机后直接登录云端平台,应用就像目前的网页一般,使用时下载部分的当前需要的代码(HTML、CSS、JavaScript 等)进行展现,<strong>一边使用一边下载一边展现</strong>,充分发挥解释型语言的特点,仅仅是<strong>正在运行的程序一小部分局部</strong>占用着移动手机终端的存储以及计算资源。</p> <p> 这种云应用桌面最大的好处是简单、安全。首先,正如上网浏览网页一般,用户不需要有安装的概念,仅仅有购买和使用的概念。其次,可以解决部分的 安全问题,如果某个应用被发现有安全的漏洞,在官方的云平台上发布升级,则马上可以在海量的终端上生效,如果某个应用被发现为恶意软件,在官方的云平台上 卸载即可;再次,应用的跨终端使用,用户在任意一台支持 HTML5 的设备上登录云平台,均可以使用各种应用和内容,应用的中间状态在终端切换中能够得以保持。</p> <p> 这种云平台与瘦终端应用密切配合的交互方式,也许会为对云计算平台筹谋已久的产业大头所青睐。让我们拭目以待。</p> <div id="come_from"> 来自: <a id="link_source2" href="/misc/goto?guid=4958348525364813315" target="_blank">ifanr 爱范儿</a> </div> </div>