OK6410A 开发板 (八) 38 linux-5.11 OK6410A 为什么需要这么多内存管理器

发布者:真诚友爱最新更新时间:2022-09-07 来源: csdn关键字:OK6410A  开发板  11  内存管理器 手机看文章 扫描二维码
随时随地手机看文章

最后 用 memblock 不行吗?

跳过 memblock 直接设置 buddy 不行吗

memblock 和 buddy 的区别


为什么 是 buddy 是 内存管理器 以及 其他管理器的基础


为什么 buddy 建立了还要 建立 slab 和 vmalloc ?


这几个内存管理器的特点是什么???


第三阶段的消费者

第三阶段建立的是 buddy


alloc_pages 申请到的都是 物理内存 连续的 页

物理地址连续,虚拟地址肯定连续


但至少一个页及以上


问题:

1.buddy提供的api 最少可以申请的内存大小是一个页,不能再小

2.alloc_pages 如果申请2个及以上的页,只有 当 存在物理内存连续的2个页时,才能正确返回;否则,返回 0


第四阶段的消费者


用于解决 buddy 第1个问题

解决方案:

将 buddy 看成 内存批发的 大代理商(buddy内存分配器),构建一个小代理商(slab内存分配器)


slba 从 buddy 批发内存,然后将 内存分成 更小的块(A)(小于1页) ,并进行管理


用户 从 slab  批发 A


其他:

因为没有解决第二个问题,只要申请成功(不管多大),肯定是下面的状态:

物理地址是连续的,虚拟地址是连续的


第五阶段的消费者


用于解决 buddy 第2个问题

解决方案:

不是在buddy基础上建立一个分配器

而是封装一层


这多的一层主要是 使用 页表 将 不连续的物理内存 映射到 虚拟内核地址空间 中,使之看起来是连续的.


关键字:OK6410A  开发板  11  内存管理器 引用地址:OK6410A 开发板 (八) 38 linux-5.11 OK6410A 为什么需要这么多内存管理器

上一篇:OK6410A 开发板 (八) 39 linux-5.11 OK6410A memblock 的 alloc 和 free
下一篇:OK6410A 开发板 (八) 37 linux-5.11 OK6410A 内存管理第五阶段

推荐阅读最新更新时间:2024-11-12 07:18

OK6410A 开发板 (八) 51 linux-5.11 OK6410A glibc提供的mmap与malloc
glibc 根据 rootfs中的动态链接库来源 可以看到 glibc 来自于 交叉编译工具链,且glibc版本为 glibc-2.18 我们探究一下 glibc-2.18 中 mmap 以及 malloc 函数的定义以及实现 glibc 代码 在 http://ftp.gnu.org/gnu/glibc/ mmap 简介 mmap 是glibc提供的函数,也是系统调用 应用 #include sys/mman.h void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *add
[单片机]
OK6410A 开发板 (八) 31 linux-5.11 OK6410A 感知linux的内存管理
linux 内存管理 , 我们感知三类内存管理 系统内存管理 A 内核线程内存管理 A 用户进程内存管理 内核态 A 用户态 B 这几种应该分为两类 , A B A 类共用一个内存(虚拟和物理) B 类每个进程有一个内存(虚拟和物理) 另外,我们知道在硬件上 内存是 物理内存 但在 linux 里面, 内存 除了物理内存 还包括 swap空间代表的空间(这里是将硬盘当作内存) // 可以从 free 命令 分析出来 A 系统内存管理的感知 系统启动的时候,会打印如下的信息 Memory: 243936K/262144K available (5120K kernel code,
[单片机]
HTC U11 Life曝光 采用高通骁龙660处理器
据悉,HTC正在开发一些新的手机,预计将于11月2日在台北举行的发布会上推出,其中包括一款中档设备HTC U11 Life。最近,HTC U11 Life在基准测试网站GeekBench上曝光,并且展示出一些关键规格。 根据GeekBench基准测试成绩显示,HTC U11 Life智能手机将采用高通骁龙Qualcomm Snapdragon 660 SoC,并具有3GB内存,出厂预装Android 7.1.1牛轧糖操作系统。以前的传言表明,U11 Life将配备Android Oreo 8.0和Snapdragon 630 SoC,这绝对是一种可能性,因为在GeekBench上看到的设备可能是一个测试样机。 HTC U1
[手机便携]
搭载AI智慧美颜 OPPO R11s开启美颜新时代
电子网消息,10月26日,期待已久的OPPO R11s有了新消息。OPPO官方微博发布最新预热海报,宣布R11s将搭载前置AI智慧美颜,让R11s成为用户的专业形象顾问。 据OPPO介绍,当用户自拍的时候,R11s会采集254个面部特征点,然后智能分析出用户的性别、年龄、肤色、肤质等信息,让美颜更智慧。通过多维度排列组合输出的美颜效果达200万种。由此也可以看出,OPPO R11s将为用户带来更精准、更个性的美颜。 从OPPO官微发布的R11s的自拍样张来看,人物面部轮廓清晰,肌肤纹理、眼部卧蚕、眼影都得到了保留,发丝、眉毛也根根分明,但是又处理了痘印、斑点等明显的瑕疵,整张照片没有涂抹痕迹,甚至墨镜留在面部的阴影都有明显
[手机便携]
ARM11 clk management
ARM11 S3C6410片内有三个PLLs,用来做倍频给ARM CPU core, 总线连接的片内设备等。ARM总线架构(AMBA )中AXI(Advanced eXtensible BUS ),AHB(Advanced High-performance BUS ) ,APB(Advanced Pheripheral bus ) 各总线需要时钟频率依次降低,功耗依次降低。现总结时钟管理基本操作步骤,需要设置的寄存器等等。总结如下图所示。 其中有些公式如下:
[单片机]
ARM<font color='red'>11</font> clk management
我将GuiLite移植到了STM32F4开发板
摘要:最近在做Github找到一个有趣的开源Gui框架:GuiLite,按照说明移植了GuiLite到STM32F4OLED屏幕上,分析一下自己的移植经验。 一、GuiLite介绍 GuiLite是一个开源的Gui框架,只依赖于一个单一的头文件库(GuiLite.h),不需要很复杂的文件管理,代码量平易近人,GuiLite由4千行C++代码编写,单片机上也能流畅运行,其最低的硬件运行要求如下: CPU主频 ROM大小 RAM大小 24 MHZ 29KB 9KB 同时GuiLite具有很强的跨平台特性: 支持的操作系统:iOS/macOS/WatchOS,Android,Linux(ARM/x86-64),Windo
[单片机]
我将GuiLite移植到了STM32F4<font color='red'>开发板</font>上
满足11kW及以上额定功率车载充电系统需求的绝佳解决方案
电动汽车正在迅速成为最先进的汽车。由于锂离子电池容量增加、标称电池电压提高和宽带隙半导体,现代电动汽车一次充电可行驶400至600公里。 为了适应这种增加的电池容量的全部潜力,高速充电变得不可避免。对于客车中的交流充电,车载充电器(obc)是必需的。此前,车载充电系统最常见的额定功率在3.6千瓦至7.2千瓦之间。然而,随着电池容量的增加,额定功率为11千瓦和22千瓦的车载电池也将越来越受欢迎。 额定功率和产量的增加给以下方面带来了一些挑战现代OBC设计。例如,尽管OBCs的额定功率增加了,但由于电动汽车的空间有限,OBC的可用安装空间几乎保持不变。因此,与以前的OBC解决方案相比,额定功率为11千瓦或更高的OBC将需要更高
[嵌入式]
满足<font color='red'>11</font>kW及以上额定功率车载充电系统需求的绝佳解决方案
弘乐亮相第117届广交会
  2015年4月15号,弘乐电气参加第117届广交会,参展6天,取得非常不错的成绩。展场现场开发了巴基斯坦及乌兹别克斯坦2个新的客户,签下订单金额约65万美金。
[新能源]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved