请选择 进入手机版 | 继续访问电脑版

Linux人社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1374|回复: 0

一铭陈工对Android整体逻辑结构图的理解

[复制链接]

18

主题

22

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2017-8-8 19:15:06 | 显示全部楼层 |阅读模式

Android整体逻辑结构图
共分为四大层:
对安卓的框架层又分为两部分: APP端和服务端。
在服务端又分为两部分: java和c++部分。
对于服务端的java部分,主要是策略处理;
服务端的c++部分主要是提供机制。
因为是整体的逻辑结构图,所以同运行时的结构是不一样的。
主要是在框架层:
对于框架层APP端(包括web运行时,绘图和View/widget,应用消息管理,以及框架层整体对上的SDK接口),都是在具体的应用进程内运行的。
框架层的服务端的策略层,则是在system_service进程里运行。里面的关键组件有: 窗口管理服务,活动管理服务,通知管理服务。。。(主要列举的是同图形io和消息相关的点)。
而框架层服务端的机制层,则包括了各个独立的服务,有的是独立进程,例如Surfaceflinger,有的是在system_service进程里(例如inputflinger),还有的实际上是一个服务组集合(例如mediaservice负责多媒体服务,里面包括了mediaplayer服务和audioflinger等)。以上也是重点突出了图形io和多媒体。
中间层的各个库,都可以被各个应用和各个服务使用,所以可以驻留在各个进程内。
内核则属于内核态环境,主要通过系统调用和提供的/dev, /proc, /sys的目录树来对外提供服务。
而框架层服务端机制层各个服务运行时,都是直接同内核提供的服务,以及/dev, /sys, /proc进行交互的,但也需要加载中间层的各个库和hal层来进行处理。
也就是说内核对用户太提供的接口,实际上不仅被HAL层使用,也会被中间层,和框架层服务端机制层使用。
以前我提供过这个图,但只是强调了这个图只是逻辑结构图,却没有具体说明其逻辑结构同系统真实运行之间的关系。
当时主要是认为,以上的信息就够说明问题了,而且配合着其他的信息在一起,已经很多了。
如果再把这些信息加进去,则很可能会导致混乱。
但如果想同Windows的逻辑结构做对比,以及它们各自这么设计的原因和可行性合理性,个人觉得,还是有必要即了解各自的逻辑结构,也需要了解各自的运行时情况。

原文链接:http://bbs.emindos.org/forum.php?mod=viewthread&tid=1157&extra=
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| 欧侃在线社区 ( 沪ICP备19038881号-2 )

GMT+8, 2022-1-24 08:39 , Processed in 0.019433 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表