安卓系统的启动流程
16lz
2021-01-24
操作系统的启动流程
- 读取引导文件
引导文件为存放在硬盘0磁道位置的文本文件 - 根据引导文件加载操作系统的内核
Android的启动流程
- Android的内核 , 基于Linux 2.6.x
- 根据引导文件加载Linux内核, 内核开始运行
- 加载驱动文件与数据结构
3. 加载用户级别的第一个进程(Android的应用层信息):
init.c(/system/core/init)
在其中创建目录, 挂载目录 , 读取配置信息等
4. 读取/system/core/rootdir/init.rc , 并在其中读取配置文件
在其中创建各种目录 ,启动各种服务
5. /system/bin/app_precess/App_main.cpp
启动java层的第一个服务: com.android.internal.os.ZygoteInit , 在进程中读取配置信息 , 加载类文件 , 月1.8k个 , 用循环的方式Class.loadClass()
6. startSystemServer系统服务
- 通过Jni进入SystemServer.cpp的init1()方法 , 该方法调用SystemInit.cpp的方法 ,在回到java层 , 调用init2()方法启动了ServerThread服务 . 在JNI中启动了各种硬件.
7. 线程启动了ActivityManagerService的systemReady()方法 , 在其中调用resumeTopActivityLocked() , 启动了待机画面
更多相关文章
- android 在线预览pdf文件(目前最全)
- Android7.0适配教程与心得
- Android(安卓)持续集成实践(二)——配置 Docker + gitlab-runner
- Android(安卓)项目中文件夹作用(res文件夹详细介绍)
- Android工程编译时报 Error running app: Default Activity not
- Ogre3d 之使用 Android(安卓)NativeActivity
- ShareSDK for Android(安卓)只有新浪微博分享
- 学习android随手记 之 android:name android:id
- android-1-Android简单入门