APP下载

Android系统的内存管理研究

2012-09-25魏栋谭功全叶建平

单片机与嵌入式系统应用 2012年4期
关键词:进程页面程序

魏栋,谭功全,叶建平

(四川理工学院,自贡 643000)

1 Android系统概述

Android是Google(谷歌)公司开发的一款专门为移动设备打造的操作系统。2005年谷歌公司收购Android Inc公司后,于2007年研发了基于Linux的操作系统Android。2008年,T-Mobile与HTC公司共同研发了第一款Android手机——HTC G1。Android的发展速度非常惊人,仅仅3年便超过了Symbian系统,并且有强大的OEM支持以及众多的开发者。

Android基于Linux平台,主要由操作系统、中间件、用户界面和应用软件组成。采用的是软件堆栈的结构,操作系统的底层仅提供最基本的系统功能。在Android系统中,基本上使用的是标准的Linux2.6内核,但是Google为了让Android更适合移动手持设备,对Linux内核进行了各种优化和增强。除了Linux的通用代码外,主要包含体系结构和处理器、Android特定的驱动程序和标准的设备驱动程序3个方面的内容。Android对Linux内核的增强主要包括Alarm(硬件闹钟)、Ashmem(匿名内存共享)、Low Memory Killer(低内存管理)、Logger(日志管理)等。本文将集中分析Android的内存管理,因为Android系统是在Linux系统的基础上发展起来的,所以在介绍Linux基本的内存管理的基础上对Android的内存管理进行研究。

2 Linux内存管理

在内存管理方面,Linux系统新旧两个版本(2.6之前和之后)之间有很大的不同。由于Android系统是基于Linux2.6.x内核的,本文主要介绍Linux2.6在内存管理方面的基本内容。

2.1 反向映射机制

Linux2.6引入了基于对象的反向映射机制,这种方法为物理页面设置一个用于反向映射的链表,但是链表上的节点并不是引用了该物理页面的所有页表项,而是相应的虚拟内存区域(vm_area_struct结构)。虚拟内存区域通过内存描述符(mm_struct结构)找到页全局目录,从而找到相应的页表项。……

登录APP查看全文

猜你喜欢

进程页面程序
大狗熊在睡觉
刷新生活的页面
债券市场对外开放的进程与展望
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
创卫暗访程序有待改进
社会进程中的新闻学探寻
我国高等教育改革进程与反思
Linux僵死进程的产生与避免