分析Android内核与标准Linux内核的功能更新

雨明同学_2746

雨明同学_2746

2024-05-23

772人浏览

转载

Android系统内核剖析

[摘要]剖析android平台系统构架linux 删除文件夹,通过对最新Android源代码的解析,将其与标准Linux内核源码比较,详尽解析Android内核的功能更新,讨论Android内核与标准Linux内核之间的不同以及Android在联通平台的优势,并对Android在各类内核之间作出一个定位,介绍了Ubuntu环境下Android内核的获取与编译。

[关键词]Android;linux;内核;编译

中图分类号:G354.3文献标示码:A文章编号:1009-914X(2013)33-0119-01

1、概述

随着嵌入式技术的急速发展,联通智能平台的运行速率和所集成的功能获得了极大提高。进而,由Google主导的开放手机联盟OHA乘势在2008年推出了Android联通终端平台。Android是一个开放、自由的联通终端平台[1],它的,打破了摩托罗拉Symbian操作系统操作系统在传统智能手机平台上的垄断地位,同时,其平台化的优势也大大丰富各类手持式设备软件的功能。

2、Android系统构架

Android是Google开发的基于Linux平台的开源手机操作系统,它是一个联通终端平台,包括了联通电话工作所需的全部软件,由操作系统、中间件、UI及应用程序组成。

linux内核android_内核管理器_内核稳定

Android系统构架自底向下由以下4个层次组成[2]:基于Linux的内核模块、运行时库与其他库、应用程序框架、应用程序。

第一层:Linux操作系统和Android系统扩充,由C语言实现。

第二层:系统库层与Android运行时环境linux 软件,由C/C++实现。

第三层:Android应用程序框架隐藏在每位应用前面的是一系列服务和统。

第四层:Android应用程序

Android应用程序层由运行在Android设备上的所有应用共同构成,它除了包括通话、短信、联系人等系统应用,还包括其他后续安装到设备中的第三方应用。3、Android内核剖析

内核管理器_linux内核android_内核稳定

2.1内核在操作系统中的地位

Android基于Linux操作系统,由硬件、系统内核、系统服务和应用程序等四大部份组成。其中,内核是最核心的部份,其主要作用在于与计算机硬件进行交互,实现对硬件的编程控制和插口操作,调度访问硬件资源,同时向应用程序提供一个中级的执行环境和对硬件的虚拟插口。主要功能包括:中断服务程序、进程调度程序、进程地址空间的显存管理、进程间通讯。

2.2Android内核

为了对比剖析Android内核,在Ubuntu操作系统上搭建了Android内核的编译开发平台,通过repo,下载最新的Android内核代码版本JellyBean。

经过与标准Linux内核源代码进行详尽对比,可以发觉,Android内核与标准Linux内核在文件系统、进程间通讯机制、内存管理等方面存在不同。

(1)文件系统

内核稳定_linux内核android_内核管理器

Android内核中降低了标准Linux内核中没有采纳的YAFFS2文件系统。

(2)进程间通讯机制

Binder是一种进程间通讯机制linux内核android,虽然是提供远程过程调用(RPC)功能。在

Android系统的Binder机制中,由一系统组件组成,分别是Client、Server、ServiceManager和Binder驱动程序,其中Client、Server和ServiceManager运行在用户空间,Binder驱动程序运行内核空间。

(3)显存管理

在显存管理模块,Android内核采用了一种不用于标准Linux内核的低内

存管理策略。Android系统采用的则是一种叫作LMK(LowMemoryKiller)的机制,这些机制将进程根据重要性进行分级、分组。显存不足时,将处于最低级别组的进程关掉。

4、Android内核获取与编译

下边以Ubuntu13.04操作系统为例,讲解在Ubuntu13.04系统下怎样搭建

Android内核编译开发平台。在Ubuntu上搭建Android内核编译环境,具体步骤如下:

(1)打算系统环境,须要的软件包列表flex,bison,gperf,libsdl-dev,libesd0-

dev,libwxgtk2.6-dev(optional),build-essential,zip,curl;(2)安装JDK的1.7版本;(3)安装repo;(4)在主文件目录构建一个bin文件夹并加入到环境变量当中;(5)下载repo脚本,将它的属性改为可执行curlhttp:///repo>~/bin/repochmoda+x~/bin/repo;(6)创建一个保存源码的目录mkdircoredroidcdcoredroid(7)获取Android内核代码:gitclonegit:///kernel/common.git

linux内核android_内核管理器_内核稳定

经过以上步骤,最新版本Android内核就被下载到文件夹coredroid当中。make编译完成后生成zImage文件,可用模拟器测试运行cdmydroid/out/cupcake/out/target/product/genericemulator-imagesystem.img-datauserdata.img-ramdiskramdisk.img-kernel~/coredroid/common/arch/arm/boot/zImage

5、结语

Android内核由标准Linux内核优化得来,其承继了Linux内核的各类优点,保留了标准Linux内核的主体构架。同时,Android根据联通平台的需求,在文件系统、内存管理、进程间通讯机制、电源管理等方面进行了更改,添加相关的驱动程序及必要的新功能,而且与大多数精简的嵌入式Linux操作系统相比,Android很大程度上保留了标准Linux的基本构架,为此,Android系统应用范围愈加广泛,拓展性更强。

参考文献

[1]CodeHome.Android-AnOpenHandsetAllianceProject.[EB/OL]http:///android/what-is-android.

[2]公磊,周聪.基于Android的联通终端应用程序开发与研[M].人民邮电出版社linux内核android,2007

[3]赵炯.Linux内核完全注释[M].机械工业出版社,2004.

[4]陈莉君.Linux内核的剖析及应用[J].南京邮电大学学报.

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
什么是中间件
什么是中间件

中间件是一种软件组件,充当不兼容组件之间的桥梁,提供额外服务,例如集成异构系统、提供常用服务、提高应用程序性能,以及简化应用程序开发。想了解更多中间件的相关内容,可以阅读本专题下面的文章。

2024.05.11

729

5

Golang 中间件开发与微服务架构
Golang 中间件开发与微服务架构

本专题系统讲解 Golang 在微服务架构中的中间件开发,包括日志处理、限流与熔断、认证与授权、服务监控、API 网关设计等常见中间件功能的实现。通过实战项目,帮助开发者理解如何使用 Go 编写高效、可扩展的中间件组件,并在微服务环境中进行灵活部署与管理。

2025.12.18

664

18

ThinkPHP中间件机制与请求拦截处理实践
ThinkPHP中间件机制与请求拦截处理实践

本专题围绕 ThinkPHP 中间件体系展开,深入讲解中间件的定义、注册与执行流程。内容包括全局中间件与路由中间件的区别、请求前后处理逻辑、自定义中间件开发以及权限验证与日志处理应用。通过实际案例,帮助开发者掌握中间件在项目中的核心作用与最佳实践。

2026.03.31

458

17

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3943

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

955

4

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

11877

7

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

7619

9

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

2100

6

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

1254

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习