Android系统架构

本文详细探讨了Android系统架构,包括Linux Kernel的增强特性如低内存管理器LMK、Binder通信机制,硬件抽象层HAL的作用,系统运行时库如Dalvik虚拟机,应用程序框架以及应用程序本身。此外,还介绍了Android层间调用、JNI和NDK在Android开发中的角色,为理解Android系统提供了全面的视角。
摘要由CSDN通过智能技术生成

Android系统架构

这里写图片描述

(一)Linux Kernel(/kernel,/bootable,/devices)

Android内核 对Linux内核进行了增强,增加了一些面向移动计算的特有功能。例如:

  • 低内存管理器LMK(Low Memory Keller)。源代码位于 drivers/staging/ android/lowmemorykiller.c
  • 匿名共享内存(Ashmem),mm/ashmem.c。
  • 轻量级的进程间通信Binder机制,源代码位于drivers/staging/android/binder.c。等。

这些内核的增强使Android在继承Linux内核安全机制的同时,进一步提升了内存管理,进程间通信等方面的安全性。

Android Linux Kernel 特征:
1.它没有glibc支持
由于Android最初用于一些便携的移动设备上,所以,可能出于效率等方面的考虑,Android并没有采用glibc作为
C库,而是Google自己开发了一套Bionic Libc来代替glibc。
2.它并不包括一整套标准的Linux使用程序
Android并没有完全照搬Liunx系统的内核,除了修正部分Liunx的Bug之外,还增加了不少内容,比如:它基于ARM
构架增加的Gold-Fish平台,以及yaffs2 FLASH文件系统(如果学习了嵌入式的话就会知道yaffs2 FLASH文件系
统已经在基于linux的很多嵌入式设备上采用了,技术已经非常成熟)等。
3.它没有本地基于X服务的窗口系统
什么是本地窗口系统呢?本地窗口系统是指GNU/Linux上的X窗口系统,或者Mac OX X的Quartz等。不同的操作系统
的窗口系统可能不一样,Android并没有使用(也不需要使用)Linux的X窗口系统(对原作者的这个观点不是很赞
同,原文章这一点放在第一条,并说“这是Android不是Linux的一个基本原因”,这个不敢苟同&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值