kernel 内存映射
kernel 内存映射:
内存映射(Memory-mapped)是在进程的虚拟空间中创建一个映射,分为以下两种:
-
文件映射:
文件支持的内存映射,把文件的一个区间映射到进程的虚拟地址空间,数据源是存储设备上的文件, 映射和实际文件相关联,通常是把文件的内容映射到进程地址空间,这样应用程序就可以像操作进程地址空间一样读写文件。文件映射的物理页称:文件页
-
匿名映射:
没有文件支持的内存映射,把物理内存映射到进程的虚拟地址空间,没有数据源(对应的文件),匿名映射的内存区域的内容通常被初始化为 0 。匿名映射的物理页称为匿名页。
类似于UNIX的"一切都是文件"的理念,对于Cortex-M MCU来说,“一切都是内存地址”。将设备映射到平面内存空间实际上是计算机系统的常用方法。甚至英特尔 x86 系统也使用这种方法,在启动时检测到 ISA、PCI、SMBus、AGP 和 PCIe 设备,并将其映射到平面寻址空间。
私有映射 | 共享映射 | |
---|---|---|
匿名映射 | 私有匿名映射 - 通常用于内存分配 | 共享匿名映射 - 通常用于进程间共享内存 |
文件映射 | 私有文件映射 - 通常用于加载动态库 | 共享文件映射 - 通常用于内存映射IO,进程间通信 |
未完待深入。。。
posted on 2022-04-16 09:48 Michael_chemic 阅读(30) 评论(0) 编辑 收藏 举报