AL3003光控安卓手机解锁软件设计(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

AL3003光控安卓手机解锁软件设计(3)

SSL: 提供数据通信支持。

Free Type: 支持位图及矢量字体[3]。

2。1。4 内核层

Android的核心系统服务涵盖了所有设备的驱动,以及电源管理、安全管理等操作系统中的基本部件。

2。1。5 硬件抽象层

Android的硬件抽象层中并没有公开源代码,可以使开发人员不需要考虑驱动程序来进行自主开发。

2。2 Linux内核相关简介

Linux操作系统是Android基础,在Android系统中涵盖了大量与Linux相似的结构,要了解Android系统必须对Linux有全方位的认识和深度的了解。

2。2。1 Linux内核

由于Linux操作系统具有强大的进程和内存管理方案、基于权限的安全操控、支持共享库、开源等特性,使Linux在市场应用上拥有着众多的支持者。Linux系统的体系结构异常复杂,具体结构如图2所示。

图2 Linux内核的框架介绍

从上图中可以看出,Linux包含三个层面,分别为:硬件级、用户级和内核级。在用户级中有4GB的虚拟空间可供用户进程访问,其中属于用户空间的是从0到3GB,这部分虚拟空间用户可以直接访问。而3到4GB这部分地址是属于内核空间,是保存、放置数据和代码的位置,用户进程不能直接访问。在所有进程中,都具有相同的内核空间,这种方式能保证物理地址与虚拟地址的一致性,使内核进程能共享数据和代码[4]。

Linux内核可分为五个模块,他们之间的关系如图3所示。

Linux功能强大、结构复杂,若将内核所拥有的功能全部写在一起管理时会有诸多不便,并且内核会占据大量空间。因此Linux采用了模块的方式来解决此类问题。将不同功能写入不同的模块内,这些模块并不存在于内核中,在调取此项功能时便将相应模块加载到内核中,并与内核内其他部分完全兼容。

图3 Linux内核的模块关系

2。2。2 Linux驱动的介绍

内核只能通过驱动设备来间接的控制硬件设备,而不能直接控制硬件。因此需要驱动程序作为操作系统与硬件和软件之间的翻译,使操作系统间接的控制物理设备。因此,驱动需要完成两个目标:

(1) 通过驱动程序对硬件寄存器的读写,达到操作系统间接控制硬件设备的目的。

(2) 提供Linux内核能识别的调用接口。

由于硬件设备多种多样,因此要根据不同的访问方式将其分类。以其他主机进行数据交换的设备归结为网络设备。如传感器、触摸屏等以字节进行传输,通过串行进行访问的归为字符设备。如硬盘等可以随意对设备进行顺序访问的设备归结为块设备。

2。2。3 Android系统的驱动介绍

表1 专用驱动

Android系统虽然基于Linux内核,但是也具有自身独特的品质。Android加入了自身专用的设备驱动,并修改了原系统中存在的BUG。从这两个角度来看,Android系统对Linux内核有着实质性的强化[5]。部分专用驱动如表1所示。

2。3 Android编译系统结构介绍

Android系统下的代码大致上可以由下面三部分构成:

核心工程:其中含有对运行Android系统的支持和系统编译。

扩展工程:这是一部分的开源工程,在目标机和主机中均有运行,整个体系所属于external文件夹名下。

包:是整体架构中顶尖内容,包括输入法和应用程序等[6]。

Android核心工程的主要内容如表2所示。其中含有支持系统运行时所用到的工程名称以及工程描述。还有在进行系统编译的过程中所涉及到的工程变量和相对应的工程描述。

在Android系统中,Android。mk是用来对Android程序进行编译的,其中所有变量都是面向全局变化的,虽然在GNU。Make file中只是一小部分,但是所有编译都存在于GNU。MAKE中。因此要尽可能减少对变量产生,这能很好的控制在解析过程中的定义。论文网 (责任编辑:qin)