位置: 编程技术 - 正文

Android上电后的启动流程(安卓手机电驴)

编辑:rootadmin

推荐整理分享Android上电后的启动流程(安卓手机电驴),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android 电量,android 电池,安卓手机放电apk,安卓手机放电apk,android耗电大怎么办,安卓手机放电,android用电量大咋办,android 电量,内容如对您有帮助,希望把文章链接给更多的朋友!

Android上电后的启动流程(安卓手机电驴)

本文翻译整理自: 由于手机平台和嵌入式系统在启动方面与桌面系统有些不同,本文就详细介绍一下Android在初始化启动阶段的一些细节。

1、上电和BOOT ROM代码的执行

在CPU上电之前是不会进行初始化工作的。CPU的内部时钟没有建立,内部的RAM是唯一可以获取的存储空间。当电源稳定后,BOOT ROM中的代码就开始执行初始化工作。BOOT ROM中的代码是固化在CPU的集成电路中的一小块逻辑片。A. 系统寄存器会映射到集成电路中的寄存元件。BOOT ROM中的代码会利用系统寄存器来探测BOOT Media。这将确定BOOT Loader的第一个阶段从哪里开始。B. 一旦Boot Media顺序建立,Boot ROM就会试着加载BOOT Loader到Internal RAM。一旦BOOT Loader到位,BOOTROM中的代码就会进行跳转,进而开始执行BOOT Loader。2、BOOT Loader BOOT Loader是一个特殊的程序,它和Linux的内核是分开的,用来初始化内存,将Linux内核加载到RAM中。在桌面系统中,BOOT Loader就像是GRUB,在嵌入式Linux中,uBoot是BOOT Loader的首选。设备制造商通常使用自己专有的BOOT Loader。对于在ARM上运行的Linux系统而言,BOOT Loader的作用可以在Linux内核源代码的Booting文档中找到,目录:/Documentation/arm。A. BOOT Loader的第一个阶段:探测和建立External RAM。B. 一旦External RAM建立,系统将会运行一些更有重要的事。加载主要的BOOT Loader程序到External RAM中。C. BOOT Loader的第二阶段中,会运行第一个主要的程序。这个程序会建立文件系统,添加内存,支持网络功能等。在一个手机系统上,在这个阶段还会加载CPU Modem,建立内存的保护和安全选项。D. 一旦BOOT Loader有了任何特殊的task需要处理时,它将寻找Linux内核来启动。它会从Boot Media(或者是其他地方,这取决于系统配置)中加载Linux内核,并将Linux内核放置在RAM中。BOOT Loader还会在内存中放置一些启动的参数,当内核启动时会读取这些参数。E. 一旦BOOT Loader执行完上面的工作,它就会跳转到Linux内核,通常伴随一些解压的过程。这样,Linux内核就会负担起系统的任务。3、Linux 内核 Linux内核在Android上的启动和在其他系统上启动是相&#;的。它会启动系统运行所需要的一切。初始化中断控制器,建立内存保护,缓存和调度。A.一旦内存管理单元和缓存被初始化,系统就可以利用虚拟内存,并可以加载用户空间。B.Linux内核将在启动文件系统中查询init进程(该文件在Android源代码的system/core/init目录下)并且通过启动init进程来开启用户空间。4、init 进程 init进程是所有系统进程的父进程。系统中的任何一个进程都是同过该进程直接或间接启动的。A.Android中启动init进程需要先查询init.rc文件。这是一个脚本文件,描述了系统服务,文件系统和其他系统建立的必要参数。init.rc脚本文件位于Android源文件的system/core/rootdir目录下。B.init进程将解析init脚本和启动系统服务进程。5、Zygote 和 Dalvik Zygote由init进程启动后,就开始运行并初始化Dalvik虚拟机。6、System server System server是第一个在系统上运行的Java组件。它将启动所有所Android服务如telephony manager和蓝牙。System server类的run()方法直接写入了每一个要启动的服务。 System server源文件在frameworks/base/services/java/com/android/server/SystemServer.java目录下。

Android安全相关社区&资源介绍 1.SEAndroid社区资源Google发布的SEAndroid安全特性

-写霸-Android 实现字体识别(一)原理分析 很多朋友都应该对字体识别这个功能好奇认为这是一个很厉害甚至很难完成的事情但实际呢确实挺麻烦的哈哈不过我相信你看了这篇博客你一定会有一

adb server is out of date. killing... 的解决办法 使用AndroidStudio进行开发的过程中,运行时,会出现如下提示:ADBnotresponding.Youcanwaitmore,orkillabd.exeprocessmanuallyandclick'Restart'查询端口占用的方法:cmd:打

标签: 安卓手机电驴

本文链接地址:https://www.jiuchutong.com/biancheng/386820.html 转载请保留说明!

上一篇:ViewPager禁止滚动(viewpager自动滑动)

下一篇:Android安全相关社区&资源介绍(android app安全)

  • 非营利组织所得税
  • 高校报销需要增值税专用发票吗
  • 一千万人民币可以买多少斤黄金
  • 办税人员可以是其他公司人员吗
  • 企业销售软件需要结转成本吗
  • 出差租车费用报销标准
  • 税控设备维护费会计分录
  • 食堂收入支出结构图
  • 未支付的款项如何做账
  • 收到上个月的发票怎么做分录
  • 成本票和专票区别
  • 外管证税收预缴税率是多少?
  • 提高并购成本
  • 预付工程款的会计科目
  • 企业资产利润率计算公式
  • 开票系统能导出几年前的
  • 卖房的税种
  • 无租使用房产如何征收企业所得税
  • 虚开增值税简单例子
  • 银行利息借贷方怎么做凭证
  • 电脑屏幕突然黑屏怎么回事
  • 如何计算劳务费个人所得税
  • thinkphp怎么用
  • 印花税申报后怎么缴费
  • ireike.exe - ireike是什么进程 有什么作用
  • 什么手机最薄最有手感
  • php img
  • php递归遍历文件夹
  • 固定资产清理如何结转
  • 现金流量表的作用和意义
  • 小规模纳税人会计分录
  • 安格雷尔
  • 银行贴现利息怎么做账务处理
  • 媒体查询是什么
  • python制作chm
  • nohup命令挂不上 每次都直接退出
  • 保险外币业务
  • 应收账款期末余额在借方还是贷方
  • 个人所得税年度申报什么意思
  • 一般纳税人增值税怎么做账务处理
  • 对外捐赠的会计处理企业会计准则和小企业会计准则
  • php clone函数
  • 不动产租赁需要资质吗
  • 单位产品税金计算公式
  • 控股子公司注销母公司账务处理实例
  • 非财政补助结余在资产负债表中怎么填
  • sa密码不满足强密码要求
  • 广告制作费怎么入账
  • 流动资产损失计入营业外支出吗
  • 起征点与免征额的联系
  • 公司与公司之间合作协议
  • 残保金的税收优惠政策
  • 年度所得税未在第一季度所得税申报前汇算清缴
  • 专票入账用哪一联
  • 自查时发现以前的事情
  • 基本户注销了还能查询流水吗
  • 原股东将全部股权转让
  • 补提以前年度个税会计分录
  • sql判断字段是否包含数字和字母
  • docker mysql 数据
  • 记一次成功的喜悦作文
  • 查看mysql执行计划关键字
  • windows快速预览
  • 苹果电脑怎么截屏按哪个键
  • win7系统桌面右键没有个性化
  • GLSL Tessellation Shader的编程入门介绍
  • dosbox终止程序
  • em和px
  • ip地址一键切换
  • 希尔排序数据结构的代码
  • Node.js中的事件循环是什么意思
  • ubuntu创建虚拟网卡
  • 浅谈编码,解码的意义
  • android如何防止js注入
  • javascript生成随机整数
  • 狠抓组织收入工作
  • 广东 电子税局 app
  • 履职提醒函与督办函区别
  • 太原市小店区电影院营业时间
  • 宁波离哪个国家比较近
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设