全站数据
8 4 2 0 5 8 1

cma在计算机上是什么

公务员视频辅导 | 教育先行,筑梦人生!         
问题更新日期:2024-05-13 22:57:46

问题描述

cma在计算机上是什么急求答案,帮忙回答下
精选答案
最佳答案

CMA在计算机上是内存管理子系统中的一个模块,负责物理地址连续的内存分配。

一般系统会在启动过程中,从整个memory中配置一段连续内存用于CMA,然后内核其他的模块可以通过CMA的接口API进行连续内存的分配。CMA的核心并不是设计精巧的算法来管理地址连续的内存块,实际上它的底层还是依赖内核伙伴系统这样的内存管理机制,或者说CMA是处于需要连续内存块的其他内核模块(例如DMA mapping framework)和内存管理模块之间的一个中间层模块。其主要功能包括:

1、解析DTS或者命令行中的参数,确定CMA内存的区域,这样的区域我们定义为CMA area。

2、提供cma_alloc和cma_release两个接口函数用于分配和释放CMA pages3、记录和跟踪CMA area中各个pages的状态4、调用伙伴系统接口,进行真正的内存分配。