Android系统架构详解

本文由李利伟不加V撰写,介绍了Android系统的五个组成部分,重点关注Linux Kernel。讲解了Linux Kernel在Android中的作用,作为硬件和软件之间的抽象层,提供核心服务。虽然应用开发不一定需要深入了解,但了解基础能提升开发认知。文章还提及Android与Linux Kernel的融合历史,对软硬件开发者具有参考价值。
摘要由CSDN通过智能技术生成

作者:李利伟不加V

Android系统架构分为5个部分,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。

 

但是你对每一层有多少了解,反正我做android开发以后,头两年里对这些东西丝毫不关注,知道这几层也只是为了当初面试用。

今天先说下你可能不在乎的最底层Linux Kernel。


1.Linux Kernel

先讲一个小故事,做android开发第二年,当时已经对android的开发小有了解,逢人聊天如果说起android咱就是专家,呵呵,小骄傲。有一天和一个朋友聊天,他是主修C语言,做嵌入式开发,对linux系统了解很多,当时想请教我一些android中关于linux kernel的东西。结果是哑口无言,最后变成他给我演讲了。。。后来我才开始关注这方面的东西,做为android开发不要求对底层多么熟悉,单起码应该知道一些。
众所周知Android基于Linux提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

如果学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。

如果你只是做应用开发,是不需要深入了解Linux Kernel层的。这也是我为什么两年开发以后才去了解。


下面是一表格是android和linux kernel之间的爱恨情仇史(表格内容引用自小米论坛原网址:http://www.miui.com/thread-896755-1-1.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值