理论教育 匿名共享内存子系统详解

匿名共享内存子系统详解

时间:2023-06-19 理论教育 版权反馈
【摘要】:Android系统中提供了独特的匿名共享内存子系统,它以驱动程序的形式在内核空间中实现。Ashmem有如下两个特点:能够辅助内存管理系统来有效地管理不再使用的内存块。对于Android系统的Ashmem子系统来说,其主体是以驱动程序的形式在内核空间实现的,同时,在系统运行时库层和应用程序框架层提供了访问接口。在Android系统Ashmem系统中,其核心功能是实现创建、映射、读写以及锁定和解锁。在本节的内容中,将详细讲解Android Ashmem子系统的基本知识。

匿名共享内存子系统详解

Android系统中提供了独特的匿名共享内存(Anonymous Shared Memory,Ashmem)子系统,它以驱动程序的形式在内核空间中实现。Ashmem有如下两个特点:

能够辅助内存管理系统来有效地管理不再使用的内存块。

通过Binder进程间通信机制来实现进程间的内存共享。(www.daowen.com)

对于Android系统的Ashmem子系统来说,其主体是以驱动程序的形式在内核空间实现的,同时,在系统运行时库层和应用程序框架层提供了访问接口。其中在系统运行时库层提供了C/C++调用接口,而在应用程序框架层提供了Java调用接口。在此我们将直接通过应用程序框架层提供的Java调用接口来说明Ashmem子系统的使用方法,毕竟我们在Android开发应用程序时,是基于Java语言的。其实对于Android系统中的应用程序框架层的Java调用接口来说,是通过JNI方法来调用系统运行时库层的C/C++调用接口,最后需要进入到内核空间的Ashmem驱动程序中去。

Android系统中的Ashmem驱动程序,利用Linux的共享内存子系统导出的接口来实现自己的功能。在Android系统Ashmem系统中,其核心功能是实现创建(open)、映射(mmap)、读写(read/write)以及锁定和解锁(pin/unpin)。在本节的内容中,将详细讲解Android Ashmem子系统的基本知识。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈