什么是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. Difference Between Mod_Python & Mod_Wsgi | eHow

    Difference Between Mod_Python & Mod_Wsgi | eHow     x    YES    NO    Why not?     Thanks for he ...

  2. hdu 5631 Rikka with Graph(图)

    n个点最少要n-1条边才能连通,可以删除一条边,最多删除2条边,然后枚举删除的1条边或2条边,用并查集判断是否连通,时间复杂度为O(n^3) 这边犯了个错误, for(int i=0;i<N;i ...

  3. PCI、PCIE配置空间的訪问(MCFG,Bus,Device,Funtion)

    一般来说,在x86平台上,有两大类方式能够訪问这一区间的寄存器,   1,配置机制1#或者配置机制2#   訪问时借助in/out指令.请注意,这样的方式有别于一般的in/out指令訪问PCI的IO空 ...

  4. JavaScript面向对象精要

    来自:淡忘~浅思. 链接:http://www.ido321.com/1585.html 和 http://www.ido321.com/1586.html 数据类型   在JavaScript中,数 ...

  5. 【转】通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法

    错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用 ...

  6. js 行列操作

    function insertRow() { var tbl = document.getElementById("tbCarModel"); var rowLen = tbl.c ...

  7. AspnetPager放在UpdatePanel中,回到顶部。

    最近在做一个项目时,使用了AspNetPager分页控件进行分页,为了防止点击下一页时搜索条件消失掉,使用了UpdatePanel来进行局部刷新. 由此引发了一个问题,即点击某一页时,页面没有返回到顶 ...

  8. Python 初学

    一. 前言 不怕各位园友笑话,今年年初时,我才知道有一个叫python的编程语言,听说它很大强大,而我只会用c#,正想好好再学一门新语言,还有人分享自己的经验时说,使用python制作的脚本,再做持续 ...

  9. SQL Performance Improvement Techniques(转)

    原文地址:http://www.codeproject.com/Tips/1023621/SQL-Performance-Improvement-Techniques This article pro ...

  10. 2Sum,3Sum,4Sum,kSum,3Sum Closest系列

    1).2sum 1.题意:找出数组中和为target的所有数对 2.思路:排序数组,然后用两个指针i.j,一前一后,计算两个指针所指内容的和与target的关系,如果小于target,i右移,如果大于 ...