iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android系统架构简介
  • 504
分享到

Android系统架构简介

android系统架构 2023-09-14 19:09:44 504人浏览 薄情痞子
摘要

一,Android系统架构 Android的系统架构主要分为五层,见下图: 从下至上依次是: linux内核: Android基于Linux,由Linux提供核心系统服务,如安全、内存管理、进程管

一,Android系统架构

Android的系统架构主要分为五层,见下图:
在这里插入图片描述
在这里插入图片描述
从下至上依次是:
linux内核:
Android基于Linux,由Linux提供核心系统服务,如安全、内存管理、进程管理、网络堆栈、驱动模型等等;
除了标准的Linux内核之外,Android还增加了内核的驱动程序,如显示驱动、音频驱动、
Binder驱动、输入设备驱动、WIFI驱动、电源管理等。
硬件抽象层:
硬件抽象层处于应用程序框架层和Linux内核之间,用于将硬件抽象化,简单来说就是封装Linux内核,对上提供接口,屏蔽实现细节。
硬件抽象层包含很多库模块,每个模块都为特定类型的硬件组件实现接口,例如相机、蓝牙模块。当应用程序框架层api要访问设备硬件时,Android系统会为该硬件组件加载库模块。
Android Runtime:
包含Android虚拟机和核心库,其中虚拟机原本是Dalvik,自2016年之后换成了ART,ART采用AOT技术,将APP的编译时间提前到安装时,以加快运行速度。并且还有垃圾回收等常规虚拟机功能。每个应用都在自己的进程中运行,都有自己的虚拟机实例,ART可运行多个虚拟机
c++ Framework 库:
包含一些原生C/C++库,可以通过NDK调用。
Java API框架层:
提供大量开发人员用到的应用程序接口,集中了很多重要的组件,如Activity、Service、BroadCastReceiver、ContentProvider等
应用层:
最上层的应用,包含系统自带的和第三方开发的APP,如电话、电子邮件、微信、QQ等。

二,Android开机流程以及一些重要进程:

在这里插入图片描述
Boot ROM: 长按电源键开机,手机会首先执行预设在ROM中的引导代码,然后加载引导程序到RAM。
Boot Leader:这是启动Android之前的引导程序,主要是检查RAM,初始化硬件参数等信息
Linux内核:启动Kernel的swapper进程(pid=0):该进程又称为idle进程, 系统初始化过程Kernel由无到有开创的第一个进程, 用于初始化进程管理、内存管理,加载Display,Camera Driver,Binder Driver等相关工作;
启动kthreadd进程(pid=2):是Linux系统的内核进程,会创建内核工作线程kworkder,软中断线程ksoftirqd,thermal等内核守护进程。 kthreadd进程是所有内核进程的鼻祖。

Android Rutime/系统库:
这里的Native系统库主要包括init孵化来的用户空间的守护进程、HAL层以及开机动画等。启动init进程(pid=1),是Linux系统的用户进程, init进程是所有用户进程的鼻祖。

init进程会孵化出ueventd、logd、healthd、installd、adbd、lmkd等用户守护进程;
init进程还启动 servicemanager(binder服务管家)、 bootanim(开机动画)等重要服务
init进程孵化出ZyGote进程,Zygote进程是Android系统的第一个Java进程(即虚拟机进程), Zygote是所有Java进程的父进程,Zygote进程本身是由init进程孵化而来的。

Java API框架层:
Zygote进程,是由init进程通过解析init.rc文件后fork生成的,Zygote进程主要包含:
加载ZygoteInit类,注册Zygote Socket服务端套接字
加载虚拟机
提前加载类preloadClasses
提前加载资源preloadResouces
System Server进程,是由Zygote进程fork而来, SystemServer是Zygote孵化的第一个进程,System Server负责启动和管理整个Java framework,包含ActivityManager,WindowManager,PackageManager,PowerManager等服务。
Media Server进程,是由init进程fork而来,负责启动和管理整个C++framework,包含AudioFlinger,Camera Service等服务

APP层:
Zygote进程孵化出的第一个App进程是Launcher,这是用户看到的桌面App;
Zygote进程还会创建Browser,Phone,Email等App进程,每个App至少运行在一个进程上。
所有的App进程都是由Zygote进程fork生成的。

三,一些进程间通信方式:

Binder:Android特有的,采用C/S架构,可用于进程间通信,数据只拷贝一次,效率高、安全性也高
Handler:用于同一个进程不同线程间通信
Socket:也是C/S架构,Socket方式更多的用于Android framework层与native层之间的通信。Socket通信方式相对于binder比较简单。

来源地址:https://blog.csdn.net/qq_43472959/article/details/129880791

--结束END--

本文标题: Android系统架构简介

本文链接: https://www.lsjlt.com/news/407662.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android系统架构简介
    一,Android系统架构 Android的系统架构主要分为五层,见下图: 从下至上依次是: Linux内核: Android基于Linux,由Linux提供核心系统服务,如安全、内存管理、进程管...
    99+
    2023-09-14
    android 系统架构
  • Android GKI 架构简介
    0. 前言 本文简单介绍下GKI 相关的知识点,方便更快的了解GKI 概念和架构,如果想要了解细节,还是要看官网并结合实际。 相关术语: ACK:Android Common Kernel AOSP:Android Open Source...
    99+
    2023-09-04
    android GKI ACK
  • Android系统架构
    一、Android系统架构          Android 是谷歌开发的一款基于 Linux 内核的操作系统。系统架构分为五层,从下到上依次是Linux内核层、硬件抽象层、系统运行库层、应用框架层和应用层。 1、应用层(System A...
    99+
    2023-10-04
    android
  • Android系统架构概况
      Android的架构图如下,图中按照功能结构及面向人群进行划分,可以看出Android分成三个部分:   应用部分:包含在Android设备上运行的所有应用,它们是...
    99+
    2022-06-06
    Android 架构
  • Redis集群架构简介
    本篇内容介绍了“Redis集群架构简介”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Redis Clu...
    99+
    2022-10-18
  • Cassandra基本介绍(3) - 架构简介
        通过上面2节,大家了解到了RDBMS遇到的问题,以及对Cassandra有了基本的了解。下面将介绍下Cassandra内部简单结构。  &...
    99+
    2022-10-18
  • Hadoop源码分析一架构关系简介
    1、 简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构 Hadoop起源于谷歌发布的三篇论文:GFS、MapReduce、BigTable。其中GFS是谷歌的分...
    99+
    2022-11-12
  • TiDB简介与整体架构
    ---描述得很牛逼,有待验证 TiDB 简介 TiDB 是 PingCAP 公司受 Google Spanner / F1 论文启发而设计的开源分布式 NewSQL 数据库。 TiDB 具备...
    99+
    2022-10-18
  • Orchard架构的简单介绍
    这篇文章主要讲解了“Orchard架构的简单介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Orchard架构的简单介绍”吧!  对于我们来说,更重要的是...
    99+
    2022-10-19
  • EntityFramework系统架构与原理介绍
    一、Entity Framework概要 Entity Framework是微软的Object Relational Mapper(对象关系映射),也就是我们平常说的ORM,它可以让...
    99+
    2022-11-13
  • 002-android系统架构和分区
    android的系统架构主要分为5层,包括应用层,应用框架层,核心库与运行环境层,Linux内核层。 应用层: 提供了一些核心应用程序包,用来存放应用程序,主界面,联系人,浏览器,日历等。 android应用程序的界面,主要是由j...
    99+
    2022-06-06
    Android 架构
  • spring cloud架构整合-springcloud简介
    Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud...
    99+
    2023-06-05
  • oracle体系结构简介
    oracle体系结构简介 一、物理存储结构    1、数据文件       存放数据库数据,以dbf为扩展名。将数据放在多个数据文件中,       再将数据文件分放在不同的硬盘中,可以提高存取速度。数据文       件由数据块构成,...
    99+
    2020-05-12
    oracle体系结构简介
  • Java平台调试架构简介 (转)
    Java平台调试架构简介 (转)[@more@]Java平台调试架构简介XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />架构纵览Java平台...
    99+
    2023-06-03
  • 监控系统简介
    一、     为何需要监控系统在一个IT环境中会存在各种各样的设备,例如,硬件设备、软件设备,其系统的构成也是非常复杂的。多种应用构成复杂的IT业务系统,保...
    99+
    2022-10-18
  • 云服务器密码机架构简介
    1. 什么是云服务器密码机架构? 云服务器密码机架构是指在云计算环境中,用于保护云服务器上存储的敏感数据的一种安全架构。它包括了密码算法、密钥管理、访问控制和加密技术等多个组件,以确保云服务器上的数据在传输和存储过程中得到充分的保护。 2...
    99+
    2023-10-27
    密码机 架构 服务器
  • Java中dubbo+zookeeper微服务架构简介
    目录1、ApacheDubbo概述1.1、Dubbo简介1.2、Dubbo的服务架构2、服务注册中心Zookeeper2.1、ZooKeeper介绍2.2、ZooKeeper安装2....
    99+
    2022-11-12
  • REST架构及RESTful应用程序简介
    REST (REpresentation State Transfer) 描述了一个架构样式的网络系统,指的是一组架构约束条件和原则。 RESTful 指的是满足这些约束条...
    99+
    2022-11-13
  • 精简版ghost win7系统简介
    今天为大家介绍的是系统之家精简版ghost win7系统的详细内容,因为近期很多朋友都是对精简版ghost win7系统比较感兴趣,所以针对这个需求,在这里给大家带来精简版ghost win7系统推荐,一起来了解一下精简版ghost win...
    99+
    2023-07-19
  • Android操作系统的架构设计分析
    之前一直在Android应用层上做工作,最近开始研究Android平台上的东东了,主要是在Android Frameworks层和系统库层进行研究。以下是我自己的理解,领悟,希...
    99+
    2022-06-06
    android操作系统 系统 架构设计 Android 架构
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作