Android系统启动概要

注:Java系统服务与本地系统服务标注反了

1、Linux内核

Android系统启动时,首先通过BootLoader(系统加载器)加载Linux内核,在Linux加载启动时,首先初始化内核,再调用init进程。

2、Daemon进程

init进程会分别启动USB Daemon、ADB Daemon、Debugger Daemon、Radio Interface Layer Daemon等进程。

3、Context Manager

Context Manager是一个管理Android系统服务的重要进程,包括本地系统服务和Java系统服务,Android所有的系统服务都要向Context Manager注册,并提供查询系统服务的功能。

4、Media Server

Media Server用于运行C/C++本地系统服务,如Audio Flinger、Surface Flinger、CameraService等。

5、Zygote

Zygote用于缩短android应用程序加载的时间,所有的app进程都是通过它fork出来的。

6、System Server

System Server是一个核心进程,运行AMS、WMS、PMS等Java系统服务。

时间: 2024-10-14 15:43:46

Android系统启动概要的相关文章

android系统启动框架、Activity界面显示过程详解

一.Android系统框架 android的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层.盗图如下: 具体每层的功能介绍如下: (1) 应用程序层 该层提供一些核心应用程序包,例如电子邮件.短信.日历.地图.浏览器和联系人管理等.同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等.友好共处. (2)应用程序框架层 该层是Android应

【Android 系统开发】 Android 系统启动流程简介

Android 系统启动总结 : Android 系统启动分底层 Linux 内核启动 和 应用系统启动; -- 底层系统启动 : 系统上电, bootloader 启动, linux kernel 启动, init 进程启动; -- 应用系统启动 : init 进程启动关键的进程如 Zygote 进程 和 System Server 等系统服务, 之后进入 Home 界面; 一. Android 底层系统启动流程(Bootloader Kernel init) 1. 系统上电 执行 ROM 引

Android系统启动流程分析

随着Android版本的升级,aosp项目中的代码也有了些变化,本文基于Android 7.0分析Android系统启动流程. 简单来说Android系统启动大体如下: init进程 和所有Linux系统一样,Android系统的启动同样是从init进程启动.init进程会解析init.rc文件(关于init.rc中的语法,可以参见我之前写的深入分析AIL语言及init.rc文件),加载相关目录,并启动相关服务 init进程在/system/core/init/init.c init.rc文件在

Android系统启动过程全解析

Android系统是一款基于Linux的移动操作系统,那么Android是如何启动起来的呢?本文就详细阐述Android系统的启动过程. 从内核之上,我们首先应该从文件系统的init开始,因为 init 是内核进入文件系统后第一个运行的程序,通常我们可以在linux的命令行中指定内核第一个调用谁,如果没指定那么内核将会到/sbin/./bin/ 等目录下查找默认的init,如果没有找到那么就报告出错. init.c位置:system/core/init/init.c. 在init.c的main函

【源码分析】Android系统启动流程.

Android的启动过程是从init开始的,它是所有后续进程的祖进程. 系统启动的过程可以大致分为以下几个步骤 1,init.c的启动 挂载目录 初始化 解析配置文件 2,init.rc 3,在init.rc中app_main中启动了zygote(孵化器),AndroidRuntime Zygote这个进程是非常重要的一个进程,Zygote进程的建立是真正的Android运行空间,初始化建立的Service都是Navtive service 4,在zygote java类中开启各种服务,并且开启

Android系统启动过程

Android系统启动过程 首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用. 启动的过程如下图所示:(图片来自网上,后面有地址)   下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解和总结, 以下学习过程中代码片段中均有省略不完整,请参照源码. 一 Init进程的启动 init进程,它是一个由内核启动的用户级进程.内核自行启动(已经被载入内存,开始

Android系统启动

Android系统启动操作流程由linux系统启动与Android系统启动连个阶段组成. 1.linux系统启动 Android操作系统启动的次序分别为系统上电.Bootloader引导.Linux内核启动.init初始化系统服务等.事实上,启动流程的每一步都蕴含着不同的安全含义,尤其在系统安全性和用户自由度之间如何取舍需要更多的技术和智慧. 1.1系统上电与启动ROM 如同传统的PC设备,Android系统的CPU上电复位后,将程序指针(PC)指向复位时的零地址(启动地址),从该地址读取启动程

Android 系统启动过程简单记录

本文记录Android系统启动过程,包含从linux kernerl到luancher启动完成的过程: 1.linux内核完成系统设置后,会在系统文件中寻找'init'文件,然后启动root进程或者说系统的第一个进程: 2.init进程是linux内核完成系统设置之后启动的第一个进程或者说root进程,它也是其他所有进程的父进程,其有两个作用,一个是挂载目录,比如/sys,/dev等,二是运行init.rc脚本或init.xxx.rc脚本: 3.Init.rc脚本是Android自己规定的初始化

Android系统启动时的apk安装过程

1.前言 在Android系统启动的过程中,系统会通过PackageManagerService来扫描特定的目录,以便可以对保存在里面的apk进行安装.PackageManagerService主要做两件事情: - 解析这个apk的配置文件AndroidManifest.xml以便获得它的安装信息 - 为这个apk分配Linux用户ID和用户组ID以便apk在系统中可以获取到合适的运行权限 下面我们来开始分析PackageManagerService是如何安装apk并执行上面两件事情的 2.源码