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

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].南京邮电大学学报.

以上就是分析Android内核与标准Linux内核的功能更新的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2196798.html

(0)
上一篇 2025年2月25日 21:10:14
下一篇 2025年2月25日 21:10:34

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python怎么改成白色

    Python 终端默认背景色为黑色,要更改为白色,可执行以下步骤:通过命令行安装 colorlog 并在 shell 中设置环境变量。打开 IDLE 并配置“终端 Shell”部分的背景颜色。使用其他终端仿真器(如 Cmder 或 iTer…

    2025年2月25日
    100
  • idle python怎么安装

    要安装 IDLE Python,请访问官方网站、选择与您操作系统匹配的版本、按照提示进行安装,然后验证安装是否成功。IDLE 是一个轻量级的 Python 集成开发环境,非常适合初学者和脚本编写。 如何安装 IDLE Python 步骤 1…

    2025年2月25日
    200
  • 拒绝服务正则表达式破坏了 FastAPI 安全性

    欢迎各位开发者!在这篇博文中,我们将深入研究应用程序安全领域,特别关注可能恶化 fastapi 安全性的漏洞:由不安全的正则表达式 (regex) 导致的拒绝服务 (dos)。我们将探讨构造不良的正则表达式如何导致所谓的正则表达式拒绝服务 …

    2025年2月25日
    200
  • 成为百万富翁

    这是为《谁想成为百万富翁》编写代码的一种简单方法,您猜对了。老少皆宜的热门常识游戏。 这是我在 Codecademy 上的 Python 编码初学者项目。它提供了关于如何在 Codecademy 环境之外进行编码的急需经验,我希望借此能够提…

    2025年2月25日
    200
  • “警惕时间复杂度陷阱”

    警惕时间复杂度陷阱 写在这里 一个bilibili视频也展示了这个:[bilibili视频][https://www.bilibili.com/video/bv16u4m1c7cu/?spm_id_from=333.999.0.0] 我觉得…

    2025年2月25日
    200
  • Python:全面介绍

    Python 是一种高级解释型编程语言,以其简单性、可读性和多功能性而闻名。 Python 由 Guido van Rossum 创建并于 1991 年首次发布,现已成为世界上最流行的编程语言之一。其设计理念强调代码可读性和显着缩进的使用,…

    2025年2月25日
    200
  • 使用 CDK v 探索 AWS 无服务器部署从 RSS 到 X Posts – Odyssey 的一部分

    欢迎来到“使用 cdk v2 探索 aws 无服务器部署”的第 3 部分。首先,我要感谢您的耐心等待,因为自第 2 部分以来一直存在一些差距。我在工作中深入研究和从事无服务器项目,这让我无法继续工作,但我很高兴能回到正轨并继续我们的探索。 …

    2025年2月25日
    200
  • python官方下载哪里有

    Python 官方下载可在 Python 官网(https://www.python.org/),具体步骤:访问 Python 官网悬停“下载”选项选择与操作系统对应的链接点击下载链接获取安装程序推荐下载最新稳定版 Python 官方下载 …

    2025年2月25日
    200
  • pycharm配置python环境变量是什么

    Python环境变量是管理Python解释器路径的变量,其配置步骤因操作系统而异:Windows:在环境变量中添加Python解释器安装路径。MacOS:在 ~/.bash_profile 中添加导出路径的命令。Linux:在 /etc/e…

    2025年2月25日
    200
  • python安装详细步骤2024

    如何安装 Python 2024 版本?下载适用于您操作系统的 Python 安装程序。运行安装程序并进行自定义安装。选择安装位置、将 Python 添加到 PATH 和关联 .py 文件。完成安装。检查安装是否成功。可选:安装其他软件包以…

    2025年2月25日
    200

发表回复

登录后才能评论