商南软件站-为您提供一个绿色下载空间!
当前位置: 首页 > 资讯

安卓系统开机分析,从BootROM到桌面启动的奥秘

来源:小编 更新:2025-02-25 09:44:20

用手机看

扫描二维码随时看1.在手机上浏览
2.分享给你的微信好友或朋友圈

你有没有想过,当你按下手机开机键的那一刻,安卓系统是如何从无到有,从冰冷的代码到流畅的界面,完成这场华丽的变身呢?今天,就让我带你一起揭开安卓系统开机的神秘面纱,看看它背后的秘密吧!

一、Boot Rom:启动的起点

当你的手机按下开机键,首先跳入眼帘的是Boot Rom。这个小小的程序,就像一个勤劳的园丁,负责为安卓系统搭建一个温馨的家园。它负责初始化硬件设备、建立内存空间映射图等,为后续的启动流程做好准备。

二、Boot Rom code:搭建家园的基石

Boot Rom code是Boot Rom的核心,它就像一个勤劳的建筑工人,负责搭建家园的基石。它会在SRAM中得到运行,主要功能是:初始化stack,初始化emmc,并找到emmc中存放的PL bin文件并将其load到sram中,load完之后,程序就会跳转到PL的main函数执行。

三、Pre-loader:为Bootloader做足准备

PL bin实际上就是preloader bin,也就是预加载部分。Pre-loader的功能是:初始化少许平台寄存器,以及基本硬件,如uart、timer、pll、uart、i2c、gpio、uuswitch,并为bootloader做足准备,如load lk、load tee等bin到DRAM。

四、load lk image:Bootloader的登场

常用的bootloader(启动引导程序)有uboot和lk。Pre-loader代码在将lk加载到emmc之后,就会跳转到emmc的目标地址执行,随后跳转到lk的入口代码——kmain函数执行。

五、lk:启动的加速器

lk阶段功能是:初始化定时器,初始化I2C、PMIC,判断启动模式,加载boot image/dtbo,初始化battery charger,显开机LOGO等等。它就像一个加速器,让安卓系统启动更加迅速。

六、加载boot.img:系统核心的启动

第六步,也是整个开机流程中最关键的一步——加载boot.img。boot.img是安卓系统的核心,它包含了Linux内核、驱动程序、系统文件等。lk会从emmc中加载boot.img到内存中,然后跳转到boot.img的入口代码执行。

七、启动Linux内核:系统启动的基石

当boot.img加载完成后,系统会启动Linux内核。Linux内核是安卓系统的基石,它负责管理硬件资源、提供系统服务、运行应用程序等。在Linux内核启动过程中,会进行一系列初始化操作,如设置缓存、加载驱动等。

八、Init进程启动:系统服务的管家

Linux内核启动完成后,会启动Init进程。Init进程是安卓系统的管家,它负责启动各个本地服务,如healthd、debuggerd等。Init进程会根据init.rc进行初始化,修改文件权限、设置属性、拉起进程等。

九、Zygote进程启动:Java服务的孵化器

Zygote进程是Java服务的孵化器,它负责启动SystemServer进程。SystemServer进程会启动PMS、WMS、AMS等系统服务,为用户界面提供支持。

十、SystemServer进程启动:系统服务的核心

SystemServer进程是系统服务的核心,它负责启动各个Java服务,如ActivityManager、PackageManager等。这些服务为用户提供了丰富的功能,如应用管理、系统设置等。

十一、AMS启动:UI进程的启动

AMS(Activity Manager Service)是UI进程的启动者,它负责启动SystemUi、Launcher等UI相关的进程。当AMS启动完成后,用户界面就准备就绪,你可以开始使用你的手机了。

:安卓系统开机分析

通过以上分析,我们可以看到,安卓系统开机流程就像一场精彩的演出,每个环节都至关重要。从Boot Rom到AMS启动,每一个步骤都环环相扣,共同演绎着这场精彩的变革。了解这些,不仅能让你更加熟悉安卓系统,还能在遇到问题时,迅速找到原因,解决问题。那么,现在就让我们一起享受这场精彩的安卓系统开机之旅吧!


玩家评论

此处添加你的第三方评论代码
Copyright © 2019-2024 商南软件站 版权所有