【读书笔记】Android安全机制解析与应用实践之安卓的启动
2016-04-23 18:33
309 查看
安卓的启动过程是这样子的
ROM上电
Bootloader引导程序启动
Linux内核启动
init进程启动
Android系统本地服务启动(NS)
Zygote进程启动
Android系统服务启动(SS)
Android系统主页面启动(HOME)
Android4.0之前的半杯是Linux2.6的内核
Android4.0之后的版本是3.X的内核,并且3.X的内核中含有Android源码,可以直接引导进入Android
Dalvik基于寄存器,JVM基于栈,Dalvik基于具体的CPU,通用性差,但是使用等长的指令,效率上要高
一个Dalvik应用就是一个Linux进程
Dalvik虚拟机执行.DEX文件,是.class文件经过dx软件处理后生成的
硬件驱动被分为内核空间和用户空间,Linux内核驱动程序运行于内核空间,HAL运行于用户空间
AIDL实现进程间通信:其他应用程序组件可以与这个应用程序的后台运行的Service进行交互, 另外,多个进程可以通过Service在保证进程安全的情况下进行交互
安卓中的ROM与PC不同,不是用的传统的EPROM或者EEPROM,而是用的NOR flash或者NAND flash,传统的ROM和NOR flash由于是字节寻址的,代码可以在ROM中直接读取并运行,但是NAND flash不是字节寻址,所以运行代码的时候需要先将代码拷贝到RAM里。ROM里固化的程序就是Bootloader,相当于电脑的BIOS
手机厂商常在Bootloader上加锁,防止刷固件
Linux映像分为两种,一种是未压缩的,image,一种是压缩的,成为zimage,后者要在执行前加上解压缩代码,速度慢,但是占用空间小,适用于嵌入式设备
安卓启动的过程:NS->zygote->SS->AMS->Lancher->home
NS层是安卓的系统内核层和应用层之间重要的通信桥梁,通过socket通信
Zygote:虚拟机实例的孵化器
SS是Zygote的第一个子进程,是安卓框架层的核心
SS会启动PMS PackageManagerService,由PMS来启动应用程序
Lancher会吧PMS启动的应用程序以快捷图标的形式展示在桌面上
Android系统升级的三种方式
数据线升级
SD卡升级
在线升级
ROM上电
Bootloader引导程序启动
Linux内核启动
init进程启动
Android系统本地服务启动(NS)
Zygote进程启动
Android系统服务启动(SS)
Android系统主页面启动(HOME)
Android4.0之前的半杯是Linux2.6的内核
Android4.0之后的版本是3.X的内核,并且3.X的内核中含有Android源码,可以直接引导进入Android
Dalvik基于寄存器,JVM基于栈,Dalvik基于具体的CPU,通用性差,但是使用等长的指令,效率上要高
一个Dalvik应用就是一个Linux进程
Dalvik虚拟机执行.DEX文件,是.class文件经过dx软件处理后生成的
硬件驱动被分为内核空间和用户空间,Linux内核驱动程序运行于内核空间,HAL运行于用户空间
AIDL实现进程间通信:其他应用程序组件可以与这个应用程序的后台运行的Service进行交互, 另外,多个进程可以通过Service在保证进程安全的情况下进行交互
安卓中的ROM与PC不同,不是用的传统的EPROM或者EEPROM,而是用的NOR flash或者NAND flash,传统的ROM和NOR flash由于是字节寻址的,代码可以在ROM中直接读取并运行,但是NAND flash不是字节寻址,所以运行代码的时候需要先将代码拷贝到RAM里。ROM里固化的程序就是Bootloader,相当于电脑的BIOS
手机厂商常在Bootloader上加锁,防止刷固件
Linux映像分为两种,一种是未压缩的,image,一种是压缩的,成为zimage,后者要在执行前加上解压缩代码,速度慢,但是占用空间小,适用于嵌入式设备
安卓启动的过程:NS->zygote->SS->AMS->Lancher->home
NS层是安卓的系统内核层和应用层之间重要的通信桥梁,通过socket通信
Zygote:虚拟机实例的孵化器
SS是Zygote的第一个子进程,是安卓框架层的核心
SS会启动PMS PackageManagerService,由PMS来启动应用程序
Lancher会吧PMS启动的应用程序以快捷图标的形式展示在桌面上
Android系统升级的三种方式
数据线升级
SD卡升级
在线升级
相关文章推荐
- Android Studio 经常使用功能介绍
- IDA 远程调试 Android so
- [Android]XworkView使用
- Android 插件化 动态升级
- Android开发艺术探索——第三章View事件体系读书笔记
- 安卓等边三角形
- Android 根据包名,获取应用程序的签名
- Android中的Bitmap
- Y3_01_关于专业技能
- 自定义FlowLayout,支持多种布局优化--android-flowlayout
- Android邮件发送详解
- Android百度地图开发(二):显示地图界面
- Android系统自带样式 @android:style
- Android学习(40) -- 自定义控件(4)广告轮播(ViewPager)
- Android SensorManager分析
- 搭建Android底层开发环境
- Android自定义最简单的dialog
- Android驱动开发前的准备
- Android自定义控件之继承ViewGroup创建新容器(四)
- Android百度地图开发(一):地图下载与配置