什么是Firefox OS ?

Firefox OS 是一个为网页设计而生的能编译和独立的手机网页操作系统,我们相信在接下来的时代,网页应用将充满整个新兴操作设备,这也为当前许多网页开发者不需要太多的学习新的计算机语言来开发网页应用,为当前网页开发者提供了良好的平台。
专案名称为Boot to Gecko,也称B2G.

(1) Firefox OS 是基于开源的网页技术(HTML,CSS,JavaStript)

(2) Firefox OS的UI设计全部是基于这些开源网页技术

(3) 桌面菜单照相应用通话界面等,所有这些都是基于HTML

(4) 最新颖的一部分是你可以自己编辑手机上应用的UI如果你知道这些开源网页技术

(5) 你可以将Firefox OS 划分为三部分,分别是 Gonk 、Gecko、Gaia 。

Gaia

(1)这是Firefox OS的用户上层接口

(2)这层实现了锁屏、Home、打电话、短信消息、照相应用等等。

(3)整个设计通过html 、CSS、JavaScript

(4)Gaia通过开源网页API调用Firefox OS 稍底层的接口层Gecko

(5)只有用标准的web apis 这样才能与其他操作系统相融合并且能够在浏览器上完美运行

(6)第三方开发者的应用可以安装在gaia层展示在手机上。

Gecko

(1)Gecko 是一个免费开源工具,被上层所有应用调用,这是Mozilla组织以及与Mozilla合作的伙伴一起开发的

(2)这一层是用C++开发的中间层,可以在很多操作系统上运行

(3)为HTML,CSS,JS 提供开源标准的接口,让这些接口可以很好的在操作系统上运行

(4)包括网络协议栈,图形栈,界面工具,虚拟机(for js)和‘application runtime’

Gonk.

(1)这是B2G的最底层部分

(2)这一层包含了Linux Kernel和硬件抽象层(HAL)

Booting

当打开Firefox OS 手机后,从bootloader开始执行,在这里开始执行Firefox OS 内核的主要进程及线程,这里有很多boot 进程,但是值得我们关注的主要进程如下

(1) bootloaders在启动时会像我们展示“splash screen”也就是展示vendor 开机图标

(2) Bootloaders 将flash和图像展现在我们的设备上,不同的设备用不同的协议,大多数设备用fastboot但是Galaxy S II用的却是“odin”

(3) 最后执行启动modem进程

Kernel

当内核启动结束时,用户接口界面“init”进程启动,这和其他像unix操作系统一样,当启动init进程后,linux内核服务(services)将调用用户层以及中断设置。

转自:http://blog.csdn.net/gamelife_lch/article/details/9014573

[置顶] Firefox OS 学习——简单了解知识的更多相关文章

  1. [置顶] Firefox OS 学习——manifest.webapp结构分析

    在Firefox OS 学习——Gaia 编译分析  这篇文章多次提到manifest.webapp文件,对于做过android app 开发的人来说,都很熟悉Android.mk 和Manifest ...

  2. [置顶] Firefox OS 学习——Gaia 编译分析

    Gaia作为用户的接口,也是用户可见部分,一些用户的应用也是安装在这一层,所以研究他是很有必要的,对于像我这样的初学者,最直接的学习方法就是通过修改代码,然后可以看到UI的变化,很直观的观察修改结果. ...

  3. [置顶] Deep Learning 学习笔记

    一.文章来由 好久没写原创博客了,一直处于学习新知识的阶段.来新加坡也有一个星期,搞定签证.入学等杂事之后,今天上午与导师确定了接下来的研究任务,我平时基本也是把博客当作联机版的云笔记~~如果有写的不 ...

  4. [置顶] Ajax 初步学习总结

    Ajax是什么 Ajax是(Asynchronous JavaScript And XML)是异步的JavaScript和xml.也就是异步请求更新技术.Ajax是一种对现有技术的一种新的应用,不是一 ...

  5. [置顶] Effective STL 学习笔记

    看Effective STL 作的一些笔记,希望对各位有帮助. 以下是50条条款及相关解释. 容器 1. 慎重选择容器类型,根据需要选择高效的容器类型. 2. 不要试图编写独立于容器类型的代码. 3. ...

  6. [置顶] C语言学习入门

    编译文件:cc -c one.c two.c  生成.o目标文件 链接文件:cc one.o two.o     默认生成 a.out 执行文件 指定生成的可执行文件名   cc -o one one ...

  7. [置顶] 自己写一个简单通用的Makefile

    转自:http://blog.csdn.net/u011913612/article/details/52102241 一.makefile的作用 Makefile是用于自动编译和链接的,一个工程有很 ...

  8. [置顶] Java Web学习总结(24)——SSM(Spring+SpringMVC+MyBatis)框架快速整合入门教程

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One  ...

  9. [置顶] JQuery插件学习教程

    这是JQuery其它常用插件的视频教程,包括validate插件,.comet插件等.同时有大量实例项目,如果你是喜欢JQuery的童鞋千万不要错过. 教程的内容有: 1_validate插件(1) ...

随机推荐

  1. BFS visit tree

    There are two ways to conduct BFS on tree. Solution 1 -- Given level Use recursion to find given lev ...

  2. AFNetWorking网络请求

    NetWorkAPIClient.h #import <Foundation/Foundation.h> #import "AFHTTPRequestOperationManag ...

  3. 蚂蚁的难题(二)首尾相连数组的最大子数组和(DP)

    蚂蚁的难题(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 下雨了,下雨了,蚂蚁搬家了. 已知有n种食材需要搬走,这些食材从1到n依次排成了一个圈.小蚂蚁对每种食材 ...

  4. [置顶] ID3算法的python实现

    这篇文章的内容接着http://blog.csdn.net/xueyunf/article/details/9214727的内容,所有还有部分函数在http://blog.csdn.net/xueyu ...

  5. hdu 3954 Level up(线段树)

    题目链接:hdu 3954 Level up 题目大意:N个英雄,M个等级,初始等级为1,给定每一个等级须要的经验值,Q次操作,操作分两种,W l r x:表示l~r之间的英雄每一个人杀了x个怪物:Q ...

  6. ibatis错误汇总

    1) 错误:The prefix "context" for element "context:property-placeholder" is not bou ...

  7. Android Project from Existing Code 生成 R 文件错误、失败等问题解决办法 - 持续更新

    Android Project from Existing Code 生成 R 文件错误.失败等问题解决办法 - 持续更新 git  上的项目,pull下来之后用Android Project fro ...

  8. LR实战之Discuz开源论坛——登录脚本检查点

    在开发Discuz登录脚本时,遇到的一个问题是怎么去验证虚拟用户真正的登录成功,当然,熟悉LoadRunner工具的人就会知道,在脚本中使用检查点,对,没错! 我们知道,LR检查点功能有两种:文本检查 ...

  9. WAS下获取包路径下所有类

    最近做javaweb项目的混淆工作,用到proguard,该工具混淆.jar文件比较方便,故把所有项目代码和配置文件打成jar包, 生成的jar包经过proguard处理后,再次打包(解决progua ...

  10. Linux 下的 Nginx 反向代理配置.

    最近实践中遇到了需要利用 nginx 进行反向代理服务器请求的需求,以前没怎么碰触过,因此花了1个多小时,快速阅览了一下nginx官网在反向代理服务中给出的基本定义: 说实话,官网给予的定义是精准的, ...