MeeGo 到 Sailfish
https://blog.csdn.net/liqinghua1653/article/details/6056007
一、MeeGo
MeeGO是英特尔和诺基亚合作推出的一个操作系统,在2010年巴塞罗纳举办的世界移动通信大会上首次发布,该项目整合英特尔的Moblin和诺基亚的Maemo两个系统,可以工作在更广泛的设备上——手机、电脑、笔记本电脑、上网本、平板电脑、智能电视、PTV机顶盒等。
MeeGo是开放源码的Linux项目,它把由Intel牵头的Moblin项目跟Nokia领导的Maemo项目结合到单一的开源实践中。它包含了性能 优化,可供面向计算和图形的应用及连接服务的开发的组件,对互联网标准的支持,基于Qt的易于使用的开发环境,以及面向小型平台及移动设备的规模和性能而 优化的最新的Linux架构。MeeGo适用的平台包括上网本、简易台式机、手持计算和通信设备、车载信息娱乐设备、上网电视、多媒体电话。
MeeGo操作系统意在让应用开发商一次性编写程序,随后就可以用于从智能手机到上网本等一切应用硬件平台;在竞争日益激烈的智能手机领域,这 一竞争策略正日益盛行。Adobe也采用了同一战略,应用开发人员只需编写一次程序,就可以将Flash应用用于台式和笔记本以及手机等诸多操作系统。
MeeGo 衍生系统:
Mer
Mer 是一个开放源代码软件,最早是被用来替代使用于诺基亚N800 及 N810 平板电脑上的Maemo操作系统。它特别强调Ubuntu版本的特色,并将Ubuntu上的许多功能移植到 Maemo 5上。2011年,当MeeGo计划被中止后,Mer被当成是MeeGo的另一个分支而继续被发展。
Tizen
Tizen系统是英特尔MeeGo系统与三星LiMo系统的混合体。 随着惠普放弃开发webOS智能手机和平板电脑,RIM的Playbook艰难求生,诺基亚剧变,运营商们希望能出现一个可替代的新操作系统,没人希望看到Android和iOS双寡头垄断的局面。 同时由于英特尔、三星各自在MeeGo及Bada发展遭遇困难,双方便携手全新平台Tizen系统,这样可以降低开发资源与人力,并强化技术及应用程序商店功能,包括宏碁、华硕均将加入Tizen平台开发计划,宏达电也正评估中,Tizen平台是否有机会形成 OS 平台第4势力,与Android、iOS、Windows相较劲,备受业界关注。
sailfish os
一些不甘愿默默退出的人们,寻求着反击和重新树立地位的机会。2012年7月8日一群前诺基亚员工和热衷于MeeGo操作系统的爱好者创立了一家名为Jolla的移动初创公司,并且打算开发和推出一些基于MeeGo系统的新产品,随后诺基亚给予了一定援助。
Jolla公司网罗了大批诺基亚MeeGo N9部门的主管和核心专业人才,以及MeeGo开发者社区的一些人才。
2012年11月21日, Jolla发布操作系统Sailfish OS,属于开源操作系统。锁
屏界面的下方将被用来显示时间,向上滑动解锁界面的手势与Windows Phone相似,不同的是主界面也会被一并拉上来,电量和信号分居屏幕顶端的左右两侧,这样的设计保留了诺基亚最早的风格(是的没错,他们曾经是诺基亚的员工)。尽管主屏最下方采用了类似Android/iOS的图标设计,主界面却被分成若干“窗口”。与N9类似,操作方式上采用了大量的滑动操作,给人的感觉很优雅。
Jolla公司终于正式宣布MeeGo复生为Sailfish OS.
二、Sailfish
Jolla决定充分利用现有资源,通过ACL(应用程序兼容层)技术,让包括Android在内的不同平台的应用都能在MeeGo(Jolla)上运行。因此,除了Android以外,MeeGo还可以执行QuickTime和HTML5的应用,以保证平台开放初期不会出现应用不够的情况,从而使用户更容易从其他系统过渡到MeeGo。
可以说,MeeGo复生为Sailfish OS.
三、系统框架
MeeGo的系统架构可以以下3种视角来了解:
- 层级视角
它展示了不同层与用户体验的垂直分离 - 域视角
它显示了在技术和功能相似性基础上的各架构域中的多组子系统 - API视角
它展示了各个功能区域中MeeGo API的分组
(1)层级视角
层级视图包括3个层:用户体验(UX)、应用API和核心操作系统层
- 用户体验层包含了用户体验的纵向。
它提供了多平台用户体验参考。MeeGo 1.1包含了针对手机和上网本的用户体验参考。对其它平台的支持将不断推出。
用户体验层为每个设备提供了应用程序框架。上网本的UX使用Clutter和MX库。手机的UX使用了MeeGo触摸框架(Touch Framework),它包含了触觉、手势和输入法。 - 应用API层包含了MeeGo API。
它为应用开发提供了接口。现行的包括Qt 4.7、Qt mobility 1.0、Open GL ES 1.1和Open GL ES 2.0。其它的特性还在开发中。 - 核心操作系统层包含了所有的中间件/系统服务域和硬件抽象服务。
它包含了Linux内核和定义硬件所需的所有中间件,以及创建本地和web应用所需的所有独立API。硬件抽象API使MeeGo可以适用于各种硬件架构。
(2)域视角
MeeGo核心操作系统架构在域中进行分组,并基于该区域的功能
- 安全-安全框架和引擎
- 数据管理-元数据存储
- 软件管理-软件包和生命周期管理
- 系统-设备状态和资源策略管理、传感器、所处环境
- 位置-位置框架
- 图形-X11、OpenGL、输入和显示驱动
- 基本功能-系统基础库
- 多媒体-多媒体相关引擎和驱动
- 个人信息管理(PIM)-日历、联系人、备份和同步
- 通讯-VOIP、IM、蜂窝电话和IP连接
- Qt-Qt、QtWRT、Qt Mobility
- 内核-Linux内核和核心驱动
硬件适应性软件
由于有多种软件组件存在,硬件供应商必须能够使MeeGo成功的运行在自己的硬件架构上,包括平台内核驱动、核心架构组件、内核配置、X软件组件和配置、调制解调器支持,以及硬件特定媒体组件。这些特定的软件组件被叫做硬件适应性软件。
MeeGo核心操作系统为相关的硬件定义了接口。硬件适应性软件被分为以下适应性子系统:
- 安全
- 传感器
- 设备模式
- 触觉和震动
- 音频
- 摄像头
- 成像和视频
- 定位
- 蜂窝通信
- 连接
- 输入
- 显示和图形
(3)API视角
MeeGo API基于Qt和Qt Mobility。
Qt
Qt为应用开发者提供了精致的GUI(图形用户界面)。Qt完全面向对象、易于扩展,而且准许真正的组件编程。
Qt mobility
Qt mobility为Qt提供了一套API,其中包含了移动领域众所周知的功能。这些API准许开发者从一个开发框架开发出适用于电话、上网本,甚至是PC的应用程序。
核心意图和亮点:
1.让应用开发商一次性编写程序,随后就可以用于从智能手机到上网本等一切应用硬件平台;
2.使得qt+java+h5 应用运行于Sailfish 上;