移动终端操作系统架构概览解剖
IMS基础概念和网络架构解析
IMS基础概念和网络架构解析
IMS的基本概念包括用户终端(UE)、服务平台(SP)、用户业务平
面(CIP)和控制平面(CP)。用户终端是用户与IMS系统交互的终端设备,可以是手机、电脑或其他网络接入设备。服务平台是IMS的核心,它
提供了多媒体业务和服务,如语音通信、视频通话、多媒体消息等。用户
业务平面负责业务逻辑的实现,包括用户身份验证、订阅管理、计费等。
控制平面负责控制和管理各个业务平面之间的关系,以及与用户终端的交互。
IMS的网络架构由多个子系统组成,包括应用层(AS)、控制层(CS)和传输层(TP)等。应用层提供了各种多媒体业务和服务功能,如呼叫控制、多媒体消息、会议等。控制层负责控制和管理多媒体会话的建立、修
改和终止,同时负责用户身份认证和订阅管理。传输层负责将多媒体数据
流从源用户终端发送到目标用户终端,包括信令传输和媒体传输。
IMS的标准化架构采用了依赖于IP网络的媒体流、呼叫控制和用户
业务逻辑分离的原则。这种架构使IMS系统更加灵活和可扩展,增加了多
媒体业务的互操作性和可用性。它还提供了一种基于开放标准的接口,使
不同厂商之间能够实现互操作性和互联互通。
IMS的网络架构还引入了SIP(Session Initiation Protocol)作为
呼叫控制协议。SIP是一种基于文本的通信协议,用于建立、修改和终止
多媒体会话。它提供了一种灵活和可扩展的方式来管理和控制多媒体通信。
IMS还支持一种分布式的中央数据库,称为Home Subscriber Server (HSS)。HSS存储了用户的认证、订阅信息和用户群组等。HSS还提供了
智能终端体系结构
SoC 设备是与内核集成在同一芯片上的设备,通过内部总线与 CPU 内核互 连。一般而言,由如下几种设备:
存储控制器 如静态存储器接口,Nand Flash 控制器,Mobile DDR 控制器,存储卡控
制器等。 数据接口
如 GPIO,UART 控制器,SPI 控制器,I2C 控制器,USB 控制器,键盘 控制器,调试接口等。 多媒体设备
智能终端硬件架构调研报告
在主处理器内部,也有可能在主处理器外部。例如,一般而言图形加速引擎都集 成在主处理器内,但是在某些强调 3D 性能的高端智能终端中,将其独立出来用 一个单独的芯片去实现。
2.1.3 板级设备
板级设备是不与处理器内核在同一芯片上的其它设备。称其为板级设备,主 要是从与主处理器内核关系的角度出发的,从架构上看,其本身可能也是一个完 整的计算机系统,例如 GPS 接收器里也集成了 ARM 内核来通过接收的卫星信 号计算当前的位置。板级设备通常使用数据接口与主处理器连接,例如,GPS 接收器一般使用 UART 接口与主处理器交换数据。
智能终端硬件架构调研报告
一般而言,由于目前通信协议栈不断增多,多媒体与信息处理也越来越复杂, 往往将某些通用的应用放在独立的处理单元中去处理,因而形成一种松耦合的主 从式多计算机系统,如图 2 所示。
基带处理单元
GPS处理单元
信息安全技术移动智能终端安全架构
信息安全技术移动智能终端安全架构
1 范围
本标准提出了移动智能终端的安全架构,描述了移动智能终端的安全需求。
本标准适用于移动智能终端涉及的设计、开发、测试和评估。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 25069-2010 信息安全技术术语
3 术语、定义和缩略语
3.1 术语和定义
GB/T 25069-2010中界定的以及下列术语和定义适用于本文件。
3.1.1
安全机制 security mechanism
实现安全功能,提供安全服务的一组有机组合的基本方法。
3.1.2
安全架构 security architecture
由多个安全的模块构成的一个相互协作的体系结构。
3.1.3
安全审计 security audit
对信息系统的各种事件及行为实行监测、信息采集、分析,并针对特定事件及行为采取相应的动作。
3.1.4
代码签名 code signature
利用数字签名机制,由具有签名权限的实体对全部或部分代码进行签名的机制。
3.1.5
访问控制 access control
一种保证数据处理系统的资源只能由被授权主体按授权方式进行访问的手段。
3.1.6
漏洞 vulnerability
计算机信息系统在需求、设计、实现、配置、运行等过程中,有意或无意产生的缺陷。这些缺陷以
不同形式存在于计算机信息系统的各个层次和环节之中,一旦被恶意主体所利用,就会对计算机信息系统的安全造成损害,从而影响计算机信息系统的正常运行。
安卓系统架构分析
1、Android系统架构图:
分析:
第一层:Linux操作系统和驱动(Linux kernel):由C语言实现。
Android核心系统服务依赖于Linux2.6内核,包括:安全性、内存管理、进程管理、网络协议、驱动模型。Linux内核也作为硬件和软件栈之间的抽象层。
除了标准的Linux内核外,Android还增加了内核的驱动程序:Binder(IPC)驱动、显示驱动、输入设备驱动、音频系统驱动、摄像头驱动、WiFi驱动、蓝牙驱动、电源管理。
第二层:本地框架和Java运行环境(LIBRARIES和ANDROID RUNTIME)本地框架是有C/C++实现。包含C/C++库,被Android系统中不同组件使用,它们通过Android应用程序框架为开发者进行服务。
系统C库:(libc)从BSD继承过来的标准的C系统函数库,专门是为基于嵌入式Linux的设备定制的库。
多媒体库:基于PackerVideo的OpenCore;该库支持多种常用的音频、视频格式回放和录制,支持多种媒体格式的编和解码格式。
Suface Manager:显示子系统管理器,并且为多个应用程序提供2D和3D图层的无缝融合。
LibWebCore:一个最新的Web浏览器引擎,支持Android浏览器,以及一个可嵌入式的Web视图。
SGL:Skia图形库,底层的2D图形引擎。
3D libraries:基于OpenGL ES1.0API的实现;该库可以使用硬件3D加速(如果可用),或者使用高度优化的3D软加速。
FreeType:位图(bitmap)和矢量(vector)字体显示。
移动互联网技术与应用 第三章 移动操作系统
6
2.移动操作系统架构-iOS架构
iOS系统框架分为四大层: • CocCocoa Touch 层:包含创建iOS应用
程序所需的关键框架 • Media层:包含图形技术、音频技术和
视频技术 • Core Service层:为所有的应用程序提供
基础系统服务 • Core OS层:为很多其他技术构建基础
移动操作系统呈现新的发展态势:一方 面,Android优势持续扩大,2018年占据全球 85.9%的市场 ,稳居世界第一;另一方面, 移动操作系统仍保持快速创新态势,新一代 Web技术、泛智能终端的发展有可能带来技 术变革和产业格局重塑的新机遇。
2
1.移动操作系统概述
移动操作系统发展过程: • 智能手机的诞生及Symbian系统的统治时
7
2.移动操作系统架构-Android架构
Android系统框架分为五层: • 应用程序(Application) • 应用程序框架(Application Framework) • 类库(Libraries) • Android运行时(Adnorid Runtime) • 操作系统(OS)
8
2.移动操作系统架构-Windows Phone
微软公司于2010年2月正式发布 Windows Phone 7智能手机操作系统,简称 WP7,并于2010年底发布了基于此平台的 硬件设备。
PCS7系统中的OS架构详解
PCS 7系统中的OS架构详解
•OS单站结构与服务器客户机结构(CS结构)
•工厂总线与终端总线
1、PCS 7 操作员站体系结构
在PCS 7 系统中,操作员站(OS)系统有两种结构——单站和客户机/服务器。
单站结构通常用于规模较小的系统,可以有一台或者多台单站组成。各个单站分别独立运行,各自完成从AS采集数据,归档和报警的功能,单站同时还是操作员进行操作的人机界面。
单站结构
对于规模较大的系统,通常使用客户机/服务器结构。在这种结构中有一个或者多个服务器负责AS数据采集,归档和报警信息的处理,从性能考虑,服务器一般不提供操作员界面。由于服务器在整个OS体系中的关键地位,常常将OS服务器配置为冗余服务器。在整个网络中,最多可以容纳18个(对)服务器,每个(对)服务器可以连接40个客户机(如果客户机使用多屏操作,则每一个屏幕算作一个客户机)。
在系统结构中,至少存在一个工程师站(ES)用于项目组态。网络结构分为两层,分别是终端总线(Terminal Bus)和系统总线(System Bus)。系统总线用于PC和控制器(AS)之间的通讯,例如,服务器和控制器之间的通讯以及ES和控制器之间的通讯;终端总线用于PC之间的通讯,例如,客户机和服务器之间的通讯以及工程师站和OS之间的通讯。
客户机/服务器结构
大型PCS 7系统可以是两种OS结构的灵活混合。除了过程生产的必备OS外,还可以通过附加选件配置PH中央归档服务器/BATCH服务器/MS维护站/RouteControl路径控制服务器等多种上位系统应用。PCS 7系统是开放的过程系统,可以通过OPC、WEB方式提供上层网络的通讯接口。
移动操作系统体系结构的研究分析
( S c h o ol o f C o mp u t e r , Zh a o q i n g Un i v e r s i t y, Z h a o q i n g 5 2 6 0 6 1, Ch i n a )
Ab s t r a c t Mo b i l e o p e r a t i n g s y s t e m( M OS) i s t h e f o u n d a t i o n a l s o f t wa r e b a s e d o n c u r r e n t i n t e r n a t i o n a l c o mp e t i t i v e ie r l &
第 4 O卷 1 1 A期 2 0 1 3年第 I 1 月
计
算
机
科
学
Vo 1 . 4 0 No . 1 1 A
No v 2 01 3
Co mp u t e r S c i e n c e
移 动 操 作 系统 体 系结 构 的研 究分 析
胡 忠望
( 肇庆 学院 计算机 学院 肇庆 5 2 6 0 6 1 )
d i f f e r e n c e s o f t h e a r c h i t e c t u r e a n d i mp l e me n t a t i o n t e c h n o l o g y , g i v e d t h e t e c h n i c a l r o u t e s o f a u t o n o mo u s M0 S , d i s c u s s e d t h e d e v e l o p me n t t r e n d o f M OS, a n d p o i n t e d o u t t h e d e v e l o p me n t t r e n d o f t h e f u t u r eⅣ【 0S . Th i s p a p e r i s p r o p o s e d t o
移动通信系统结构概述
移动通信系统结构概述
作者:孙丽媛刘会霄
来源:《中国科技博览》2019年第05期
[摘要]近年来,随着全球Internet的用户迅速增多,数以亿计的用户将通过移动方式接入Interne。移动通信在全球范围内迅猛发展,使得移动和互联网的结合必然代表着未来的发展方向。移动通信技术经历了从第一代模拟系统的频分多址技术FDMA到第二代窄带数字系统,其中第二代的接入技术主要有时分多址技术TDMA和码分多址技术CDMA两种。再到正在全力投入的3G,其最基本的特征应当是智能信号处理技术,实现基于话音业务为主的多媒体数据通信。实现全球无线覆盖,真正实现“任何人,在任何地点、任何时间与任何人”都能便利的通信。现处在概念阶段的第四代是多功能集成的宽带移动通信系统,将以宽带、接入因特网、具有多种综合功能的系统形态出现。
[关键词]移动;移动通信系统;3G;4G
中图分类号:TP334.7 文献标识码:A 文章编号:1009-914X(2019)05-0400-01
一第二代数字移动通信系统
20世纪90年代起,随着数字技术的发展,通信、信息领域中的很多方面都面临向数字化、综合化、宽带化方向发展的趋势。第二代移动通信系统是以数字传输、时分多址、码分多址为主体技术,制定了更加完善的呼叫处理和网络管理功能,频谱效率提高,系统容量增大,保密性好,标准化程度提高,克服了第一代移动通信系统的不足之处,可与窄带综合业务数字网N-ISDN相兼容,所以比起第一代移动系统有着无可比拟的优越性。
主要特点:具有开放的接口和通用的接口标准;用户权利的保护和传输信息的加密;支持电信业务、承载业务和补充业务;具有跨国漫游能力,容量增大为模拟移动通信的3-5倍。
移动通信系统的基本网络结构
移动通信系统的基本网络结构
移动通信系统是由多个电子元件和网络组成的高度复杂系统,在这个系统中,
包括了无线电信号、数字信号处理、计算机网络等许多的技术学科领域交织在一起。移动通信系统的基本网络结构是由多个部分构成的。本文将会介绍这些部分。
移动通信系统的基本网络结构
移动通信系统的基本网络结构主要由以下几部分构成:
1.移动终端(Mobile Station)
移动终端是指移动电话、手持终端等可以随身携带的电子设备。移动终端通常
由发射器、接收器、微处理器和电池等部件构成。通过这些部件,移动终端可以和移动通信基站建立通信连接,并进行语音、短信、图像、数据、视频等信息的传输。
2.移动电话交换机(Mobile Switching Center)
移动电话交换机属于移动通信系统中的核心组件,它的主要作用是实现多个移
动终端之间的连接。移动电话交换机负责对来自移动终端的请求进行路由选择、信号调度、媒体转换和媒体控制等处理操作,同时也支持用户管理、收费和计费等功能。
3.基站控制器(Base Station Controller)
基站控制器主要是负责对移动终端和移动电话交换机之间的通信进行控制和管理。基站控制器可以同时控制多个基站,而且还可以支持移动终端的鉴权、位置跟踪和流量控制等功能。
4.基站(Base Transceiver Station)
基站是与移动终端进行通信的设备,它通常由天线、收发器、基带处理器和电
源等部件组成。当移动终端向基站发送信号时,基站会将接收到的信号转发到其他基站或移动电话交换机,以便实现跨网络的通信。
移动终端安全关键技术与应用分析-5 移动终端操作系统安全最新多彩版_思维导图
移动终端的工作原理
移动终端的工作原理
移动终端的工作原理可以分为以下几个方面:
1. 硬件层面:移动终端的硬件主要包括中央处理器(CPU)、内存、存储设备(如闪存),以及各种传感器(如摄像头、加速度计等)。移动终端的工作原理是通过这些硬件组件实现数据的输入、处理和输出。
2. 操作系统层面:移动终端通常搭载有操作系统,如iOS和Android。操作系统负责管理和协调各种硬件资源,同时提供各种应用程序接口(API)供开发者使用。操作系统还负责为用户提供图形界面和应用程序的管理。
3. 应用程序层面:移动终端上的应用程序通过操作系统提供的API与硬件进行交互。应用程序可以从网络获取数据,通过CPU进行处理,然后将结果输出到屏幕或者其他设备。
4. 网络通信:移动终端可以通过无线网络(如Wi-Fi、蓝牙、4G/5G等)连接到互联网。通过网络通信,移动终端可以与远程服务器进行数据交换,包括发送请求和接收响应。这使得移动终端可以实现各种功能,如浏览网页、发送消息等。
综上所述,移动终端的工作原理是通过硬件、操作系统、应用程序和网络通信等多个层面的相互配合和协作实现的。
第九章 移动终端和移动操作系统
第九章移动终端和移动操作系统
移动商务的发展有赖于移动终端和移动操作系统的不断发展与更新,几乎任何移动商务活动都离不开移动终端,尤其是智能手机。本章除了介绍几种智能手机及操作系统以外,同时还简要介绍了J2ME、Symbian c++、Android java等移动终端开发平台。其中,操作系统包括了Symbian、Windows Mobile、Android、iphone等目前的主流操作系统。最后一节给出了Android平台的开发实例,因为Android系统是近几年的新兴移动终端操作系统,其良好的开源性使得它开始引起人们的注意,而且越来越多的人拿它与Symbian比较,这足以说明其巨大的发展潜力。
9.1 智能手机和PDA
9.1.1 智能手机市场
1.智能手机的概念
什么是智能手机,说通俗一点就是一个简单的“1+1=”的公式,“掌上电脑+手机=智能手机”。从广义上说,智能手机除了具备手机的通话功能外,还具备了PDA的大部分功能,特别是个人信息管理以及基于无线数据通信的浏览器和电子邮件功能。智能手机为用户提供了足够的屏幕尺寸和带宽,既方便随身携带,又为软件运行和内容服务提供了广阔的舞台,很多增值业务可以就此展开,如:股票、新闻、天气、交通、商品、应用程序下载、音乐图片下载等等。融合3C(Computer、Communication、Comsumer)的智能手机必将成为未来手机发展的新方向。
2. 智能手机必备条件
1) 具备普通手机的全部功能,能够进行正常的通话,发短信等手机应用。
2) 具备无线接入互联网的能力,即需要支持GSM网络下的GPRS或者CDMA网络下的CDMA 1X或者3G网络。
新型安全移动操作系统架构
据, 获取用户 的信息数据 ,甚至恢复存储设备上用户已
经销毁的数据 。 资源的非法访问与滥用 ,未经用户授权 ,访问超 出
程序权限的其它系统服务 、资源及信息等 。
用户行 为 言息收集 ,该类攻 击严 重侵 犯 了用户的 隐私权 ,实现 的方式如 下:首先获取用户身份标识 ;然后
—
安全接 口, 驱动接 口 通用
供任何数据加密服务 ( 平板操作系统提供加密 ) ,而这将
使攻击者可以方便读取用户数据 。 软件签 名,开发者可 以随意设置An ri中应用程序 dod
寒 重 堕 1管理 I系 服务 0 统 l
—
I I
内核
的签 名证书的信息 , 因而用户无法从软件签名上确认软件
来源 。
微 内核( 仅包 括 中断处 理等功 能)
图 1新 移动 安全 操 作 系统 架构
系统 内核 ,A do 以lu 为基础 ,而 lu 内核存在 n i i x rd n ix n 大量 已知 的漏洞 ;此外 内核 中包含了大量厂商 自制的未经 过严格安全检测的驱动程序 ,影响整个系统的安全稳定运
3 匿垂困圜 21年 第3 2 02 期
备驱动和协议栈等都在 用户模式下实现。
( ) 时 运行 环 境 二 实
实时运行环境处于用户态 的最底层 ,实现 了大 部分 的 系统服 务 ,并提供统 一的安全接 口供上层应 用程 序调
移动终端操作系统架构概览解剖
现有的终端操作系统:
Android、Windows Mobile、Symbian、iPhone、BlackBerry、Windows Phone 7、Beda
Android操作系统
Android是Google公司基于Linux平台的开源智能移动终端操作系统。
历代Android 系统的名称,这真的是一份小吃的盛宴啊:
Android 1.5 Cupcake(纸杯蛋糕)
Android 1.6 Donut(甜甜圈)
Android2.0/2.0.1/2.1 Eclair(松饼)
Android 2.2/2.2.1 Froyo(冻酸奶)
Android 2.3 Gingerbread(姜饼)
Android 3.0/3.1/3.2 Honeycomb(蜂巢)
Android 4.0 Ice Cream Sandwich(冰激凌三明治)
Android 5.0 Jelly Bean(果冻豆)
Android 6.0 Key Lime Pie(柠檬派)
Android是一个针对移动设备的程序集, 其中包括一个操作系统, 一个中间件和一些关键性应用.
特性
•程序程序框架可重用及可复写组件组成
•针对移动设备优化过的Dalvik虚拟机
•整合浏览器, 该浏览器基于开源的WebKit引擎开发
•提供了优化过得图形系统, 该系统由一个自定义的2D图形库; 一个遵循OpenGL ES 1.0标准(硬件加速)的3D图形库组成
•使用SQLite来实现结构化数据的存储
•媒体方面对一些通用的audio, video, 和图片格式提供支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) •GSM技术(依赖硬件)
中国移动MAS系统结构与网络结构简介
中国移动MAS系统结构与网络结构简介
2008-01-21 11:28
一、系统结构
MAS服务器
1、
1) 应用接入适配模块
通过安装和开发不同的企业应用接入适配插件,完成不同IT系统的接入,推荐包括ERP适配插件、OA适配插件、Email适配插件、CRM适配插件和SCM适配插件等。
2) 业务处理模块
对从企业IT系统接收到的数据信息进行处理,推荐的功能包括信息处理及路由、用户认证、业务调度、日
志处理和QoS控制等。
3)移动接口模块
通过移动行业网关提供的接口协议,实现MAS服务器和行业网关的数据通信。
4) 管理模块
完成MAS服务器的自管理和服务,必须包括接口子模块。业务导航、路由管理、业务管理、数据管理、应用发布、统计分析、地址本管理、系统配置管理等功能模块可选实现。
接口子模块:提供网管、认证鉴权的接口。网管接口包括MAS服务器配置管理、性能管理、故障管理、安全管理、升级维护的接口能力,完成与MAS管理平台的接口通信;认证鉴权接口包括MAS服务器注册、认证管理等功能的接口能力,完成与MAS管理平台的接口通信。
2、MAS管理平台
MAS服务器部署在各企业,MAS管理平台通过接口3与MAS服务器进行通讯,完成对各MAS服务器的管理和控制。主要功能包括如下:
配置管理:实现对MAS服务器的硬件配置、软件配置等;
认证管理:所有的MAS服务器在启动时必须到MAS管理平台进行认证,并且在运行过程中定期到MAS管理平台进行认证;
监控管理:完成MAS服务器的硬件、软件监控,包括CPU、内存、进程等;
故障管理:完成MAS服务器故障的诊断、检测和排除功能;
第4章 移动终端操作系统简介
4.3 Linux操作系统
4.3.1 4.3.2 4.3.3 4.3.4
Linux简介 GNU/Linux历史 Linux手机系统发展历程 Linux手机系统现状
4.4 Palm操作系统
4.4.1 发展历史 4.4.2 Palm OS特点 简单易用,且占用系统资源少 4.4.3 Palm OS版本历史 4.4.4 Palm OS软件开发
4.8 QT
4.8.1 QT简介 4.8.2 QT程序 4.8.3 QT的跨平台性
4.9 几种Hale Waihona Puke Baidu作系统的比较
Symbian OS
iPhone OS
Windows RIM BlackBerry Mobile OS Linux
Palm OS
2008年移动平台操作系统市场占有率示意图
4.5 Android操作系统
4.5.1 Android简介 4.5.2 Android历史 4.5.3 Android软件开发
4.6 BlackBerry操作系统
4.6.1 BlackBerry简介 4.6.2 BlackBerry OS
4.7 iPhone操作系统
4.7.1 iPhone简介 4.7.2 iPhone设备特性
第4章 移动终端操作系统简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现有的终端操作系统:
Android、Windows Mobile、Symbian、iPhone、BlackBerry、Windows Phone 7、Beda
Android操作系统
Android是Google公司基于Linux平台的开源智能移动终端操作系统。
历代Android 系统的名称,这真的是一份小吃的盛宴啊:
Android 1.5 Cupcake(纸杯蛋糕)
Android 1.6 Donut(甜甜圈)
Android2.0/2.0.1/2.1 Eclair(松饼)
Android 2.2/2.2.1 Froyo(冻酸奶)
Android 2.3 Gingerbread(姜饼)
Android 3.0/3.1/3.2 Honeycomb(蜂巢)
Android 4.0 Ice Cream Sandwich(冰激凌三明治)
Android 5.0 Jelly Bean(果冻豆)
Android 6.0 Key Lime Pie(柠檬派)
Android是一个针对移动设备的程序集, 其中包括一个操作系统, 一个中间件和一些关键性应用.
特性
•程序程序框架可重用及可复写组件组成
•针对移动设备优化过的Dalvik虚拟机
•整合浏览器, 该浏览器基于开源的WebKit引擎开发
•提供了优化过得图形系统, 该系统由一个自定义的2D图形库; 一个遵循OpenGL ES 1.0标准(硬件加速)的3D图形库组成
•使用SQLite来实现结构化数据的存储
•媒体方面对一些通用的audio, video, 和图片格式提供支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) •GSM技术(依赖硬件)
•蓝牙, EDGE, 3G和WiFi(依赖硬件)
•Camera, GPS, 指南针, 和加速计(依赖硬件)
•非常丰富的开发环境, 包括一个设备模拟器, 调适工具, 内存和效率调优工具和一个Eclipse的插件ADT
Android平台的整体架构分为4层:①Linux内核层、②系统运行库、③应用程序框架层、④应用程序层Android采用层次化系统架构。其软件层次结构包括操作系统(OS)、中间件(MiddleWare)和应用程序(Application)。
Linux内核层
Android以Linux操作系统内核为基础,借助Linux内核服务实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能。Android4.0版本之前基于Linux2.6系列内核,4.0及之后的版本使用更新的Linux3.X 内核,并且两个开源项目开始有了互通。Linux3.3内核中正式包括一些Android代码,可以直接引导进入Android。Linux3.4将会增添电源管理等更多功能,以增加与Android的硬件兼容性,使Android在更多设备上得到支持。
Android内核对Linux内核进行了增强,增加了一些面向移动计算的特有功能。例如,低内存管理器LMK(Low Memory Keller),匿名共享内存(Ashmem),以及轻量级的进程间通信Binder机制等。这些内核的增强使Android在继承Linux内核安全机制的同时,进一步提升了内存管理,进程间通信等方面的安全性。下表列举了Android内核的主要驱动模块:
硬件抽象层
内核驱动和用户软件之间还存在所谓的硬件抽象层(Hardware Abstract Layer,HAL),它是对硬件设备的具体实现加以抽象。HAL没有在Android官方系统架构图中标明,下图标出了硬件抽象层在android系统中的位置:
鉴于许多硬件设备厂商不希望公开其设备驱动的源代码,如果能将android的应用框架层与linux系统内核的设备驱动隔离,使应用程序框架的开发尽量独立于具体的驱动程序,则android将减少对Linux内核的依赖。HAL由此而生,它是对Linux内核驱动程序进行的封装,将硬件抽象化,屏蔽掉了底层的实现细节。HAL规定了一套应用层对硬件层读写和配置的统一接口,本质上就是将硬件的驱动分为用户空间和内核空间两个层面;Linux内核驱动程序运行于内核空间,硬件抽象层运行于用户空间。
系统运行库层
官方的系统架构图中,位于Linux内核层之上的系统运行库层是应用程序框架的支撑,为Android系统中的各个组件提供服务。系统运行库层由系统类库和Android运行时构成。
1. 系统类库
系统类库大部分由C/C++编写,所提供的功能通过Android应用程序框架为开发者所使用。主要的系统类库及说明如下表:
除上表列举的主要系统类库之外,Android NDK(Native Development Kit),即Android原生库,也十分重要。NDK 为开发者提供了直接使用Android系统资源,并采用C或C++语言编写程序的接口。因此,第三方应用程序可以不依赖于Dalvik虚拟机进行开发。实际上,NDK提供了一系列从C或C++生成原生代码所需要的工具,为开发者快速开发C或C++的动态库提供方便,并能自动将生成的动态库和java应用程序一起打包成应用程序包文件,即.apk文件。
注意,使用原生库无法访问应用框架层API,兼容性可能无法保障。而且从安全性角度考虑,Android原生库用非类型安全的程序语言C,C++编写,更容易产生安全漏洞,原生库的缺陷(bug)也可能更容易直接影响应用程序的安全性。
2. 运行时
Android运行时包含核心库和Dalvik虚拟机两部分。
核心库:核心库提供了Java5 se API的多数功能,并提供Android的核心API,如android.os,,android.media等。
Dalvik虚拟机:Dalvik虚拟机是基于apache的java虚拟机,并被改进以适应低内存,低处理器速度的移动设备环境。Dalvik虚拟机依赖于Linux内核,实现进程隔离与线程调试管理,安全和异常管理,垃圾回收等重要功能。
本质而言,Dalvik虚拟机并非传统意义上的java虚拟机(JVM)。Dalvik虚拟机不仅不按照Java虚拟机的规范来实现,而且两者不兼容。
Dalvik和标准Java虚拟机有以下主要区别:
•Dalvik基于寄存器,而JVM基于栈。一般认为,基于寄存器的实现虽然更多依赖于具体的CPU结构,硬件通用性稍差,但其使用等长指令,在效率速度上较传统JVM更有优势。
•Dalvik经过优化,允许在有限的内存中同时高效地运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,都拥有一个独立的Dalvik虚拟机实例。Android这种基于Linux的进程“沙箱”机制,是整个安全设计的基础之一。
•Dalvik虚拟机从DEX(Dalvik Executable)格式的文件中读取指令与数据,进行解释运行。DEX文件由传统的,编译产生的CLASS文件,经dx工具软件处理后生成。
•Dalvik的DEX文件还可以进一步优化,提高运行性能。通常,OEM的应用程序可以在系统编译后,直接生成优化文件(.ODEX);第三方的应用程序则可在运行时在缓存中优化与保存,优化后的格式为DEY(.dey 文件)。
应用程序框架层
应用程序框架层提供开发Android应用程序所需的一系列类库,使开发人员可以进行快速的应用程序开发,方