什么是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. UESTC_Can You Help God Wu CDOJ 582

    There is a boy named God Wu in UESTC ACM team. One day he is asked to finish a task. The task is tha ...

  2. SQL 通配符

    在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符.SQL 通配符必须与 LIKE 运算符一起使用,必须放在引号内. 在 SQL 中,可使用以下通配符: %:替代一个或多个字符. _:仅替代 ...

  3. Funny Sheep(思维)

    Problem 1606 - Funny Sheep Time Limit: 1000MS   Memory Limit: 65536KB    Total Submit: 612  Accepted ...

  4. hdu 3954 Level up(线段树)

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

  5. CTSC1999补丁VS错误题解

    题目描写叙述 Description 错误就是人们所说的Bug.用户在使用软件时总是希望其错误越少越好.最好是没有错误的.可是推出一个没有错误的软件差点儿不可能,所以非常多软件公司都在疯狂地发放补丁( ...

  6. swiftTools

    String+Exten.swift // // String+Exten.swift // swiftTest // // Created by napiao on 15/11/27. // Cop ...

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

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

  8. jQuery中两种阻止事件冒泡的区别

    方式一:event.stopPropagation(); 方式二:return false; 但是这两种方式是有区别的.return false 不仅阻止了事件往上冒泡,而且阻止了事件本身.event ...

  9. 单击事件的处理方式及注册窗体的创建之(四)Intent实现界面跳转传值

    跳转开发步骤: 创建Intent对象  设置Intent对象的跳转路径  启动Intent //Register_Activity.java case R.id.btnRegister: Inte ...

  10. Oracle 11g完全卸载(Windows)(转)

    Oracle 11g完全卸载(Windows) 1.关闭oracle所有的服务.可以在windows的服务管理器中关闭:    一般有以下服务:   (1)Oracle SID VSS Writer ...