Maemo Linux手机平台系列分析:2 术语
在Maemo中使用和定义的术语:ABI应用二进制接口,主要提供目标代码层次的接口。描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低层接口 。ABI不同于API ,API定义了源代码和库之间的接口,因此同样的代码可以在支持这个API的任何系统中编译器 ,然而ABI允许编译好的目标代码在使用兼容ABI的系统中无需改动就能�运行。AL
·
在
Maemo
中使用和定义的术语:
- ABI
应用二进制接口,主要提供目标代码层次的接口。描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低层接口 。ABI不同于API ,API定义了源代码和库之间的接口,因此同样的代码可以在支持这个API的任何系统中编译器 ,然而ABI允许编译好的目标代码在使用兼容ABI的系统中无需改动就能�运行。 - ALSA
高级Linux声音架构,这是Linux kernel的一个组件,目的是取代OSS(Open Sound System),为声卡提供驱动支持.
- API
应用编程接口,主要提供代码层次的接口。 - applet
小应用程序,主要集成到Hildon 中。Hildon是Maemo AppFramework的名字。Applet名字主要用在Java中,目前这个概念逐渐被引入手机系统中,并且脱离了Java。我们看看wiki上面对applet的解释:http://www.ideagrace.com/wiki/index.php?title=APPLET&oldid=1452 - ARMEL
A name that e.g. Debian uses for the little endian ARM EABI (ABI for the ARM architecture). - Bluetooth
一个规范:在移动和固定设备之间的短距无缝通信。 - BT
就是Bluetooth的简写。 - cURL
使用URL语法传送文件的命令行工具。 - devkit
devkit开发包是Maemo SDK的一部分,主要包含一些软件开发工具。 Maemo SDK里面有多个devkit开放包,比如doctools 开发包。 - ESD
一个轻量级的声音后台程序。主要的目的就是把多个音频流混合处理后,由单个音频设备播放。 - GPL
GNU公共许可协议。这个就不多讲了,我们知道就行,深入理解它的人也不多。 - GStreamer
一个跨平台的多媒体框架:可以在这个框架的基础上做大部分的多媒体相关的开发。这个框架也是使用比较多的multimedia framework. 除了Android平台没有直接使用外,其他的几个平台都在这个框架基础上构建middleware的。 - GTK+ (GUI ToolKit+)
GUI工具开发包,提供面向对象的图像接口,一般Linux手机平台都用它。这里的代码初看是很别扭的,需要对GObject有个清醒的认识和使用,然后才能习惯这里的面向对象的使用方法。 - GUI
图形用户接口。无论是在window下,还是Linux下都逃避不过这个概念。 - Hildon
Hildon是Maemo平台的Application framework,由Nokia公司开发。这个framework也是构建于很多开源项目之上的,比如D-Bus, GConf,等等。 - Hildon Desktop
Hildon Desktop是Maemo Chinook 版本的主要UI组件,是Maemo desktop的改写。 - Internet Tablet
Internet Tablet 是Nokia公司“杜撰”/“提出”的一个名词:就是为方便上网的带有触摸屏的移动设备。 - initfs
初始文件系统。主要用于kernel启动时当作根文件系统。比如说:硬件的初始化。启动后被挂载到/mnut/initfs目录下面。 - LGPL
宽松点的GPL. - Linux
严格的讲,Linux是类Unix操作系统的内核。不过,这个名词更多的用于描述一个整个的Linux操作系统,包含kernel, 应用程序以及工具等。 - maemo
Nokia为移动设备开发的软件平台。主要基于GNU/Linux 和GNOME/GTK+技术。同时含有一些具有知识产权的组建。 - maemo.org
Nokia维护的一个开发者社区。在这里你可以结识一些热心的开源贡献者。 - maemo desktop
Maemo Bora版本的UI组件。 - maemo-af-desktop
等同于maemo desktop. - maemo SDK
一个软件开发工具包,通过使用这个开发工具,可以在PC机上开发和移植程序到Maemo平台。这也是不能直接购买N770/N80/N81的开发者,在Maemo平台上研究开发的主要途径。 - Nokia Internet Tablet OS
Maemo平台加上Nokia公司的一些具有知识产权的应用,打包而成的一个image文件。可以直接下载到N770/N80/N81运行。 - OpenSSL
OpenSSL 是SSL(Secure socket layer)和TLS(Transfer Layer Security)的一个开源实现。SSL和TLS是安全传输协议。这里有详细的介绍:http://www.linux-cn.com/html/network/security/20070426/20747.html - OSSO
OSSO是Open Source Software Operations缩写, Nokia 公司把众多开源者贡献的代码进行整合,集成。形成可以放到Internet Tablets运行的程序。这个整合过的东西,好像就不公布源码了,就形成了Nokia公司所谓的具有知识产权的部分。 - rootfs
设备上的根文件系统。 - rootstrap
启动引导,使SDK的一部分。在Scratchbox中,Rootstrap是target的根文件系统。 - Sardine
这是一个版本的名称而已,是基于Hildon基础上发布的。 - SSL
The Secure Sockets Layer. 主要用于Internet上面传输数据的安全考虑的。 - toolchain
工具链,是SDK的一部分,主要是ARM交叉编译工具,比如编译器和连接器。 - TLS
传输层安全。类似于SSL的Internet方面的安全协议。 - Widget
GUI元素。主要是用户同应用程序之间的交互。比如:按钮、菜单、滚动条等等。Widget主要是GTK的东西。和目前网络上流行的yahoo widget,google gadget等,不是一回事,GTK的widget就像Visual C++的控件(controller), 而yahoo widget, google gadget是小应用程序,这些程序本身可能使用了不少GTK widget。之所以把小应用程序称为Yahoo widget或者google gadget. 因为他们高兴这么叫,我也不知道原因了。
附录:
QA:
Q:
为什么去分析Maemo平台呢?
A:
分析一个平台是为了掌握它,吸收有用的东西为我所用。
Q:
为什么选择Maemo平台呢?
A:
Linux手机平台目前主要有ALP,Maemo, LiMo, Android, etc. (欢迎大家补充
J)
目前不少都是打着开源的旗号的,但是公开的力度不同:ALP目前仅仅公开了其Hilker部分;Maemo全部公开;LiMo在圈子之内公开,普通的外界的研发人员没有机会得到;Android开放力度不错,不过能看到的东西目前还很少;
相比之下,Maemo平台成熟些,对于普通的研发人员可以分析掌握的东西比较系统和全面。大家知道:Nokia在Symbian上面是独大,但并不是说她会放弃Linux手机操作系统,并且一直在研制Linux手机操作系统:Maemo,虽然目前Maemo不能打电话,但是Nokia如果想把Telephony加入Maemo平台,这就是一个完整的Linux手机操作系统!
Q:
采用什么步骤去分析Maemo平台呢?
A:
我觉得直接去分析源码会出力不讨好,非常片面。
我准备这样搞:
1 系统的分析文档,并且尽量写成直白的、比较容易理解的总结文档;
2 然后搭建环境
3 分析源码,分析sample code.
4 能做些修改,主要针对平台
在今后的文章中,这个QA就放在系列文章的头部或者附录,可能有新的修改和补充。
更多推荐
已为社区贡献2条内容
所有评论(0)