[英]what is kernel mapping in linux?
什么是内核映射? 什么是永久映射和临时映射。 在这种情况下,窗口是什么? 我经历了代码和对此的解释,但不明白这一点
我假设您正在谈论Linux内核中的内存映射。
内存映射是将内核地址空间直接映射到用户进程的地址空间的过程。
用户虚拟地址:这些是用户空间程序看到的常规地址
物理地址:处理器和系统内存之间使用的地址。
高低内存:
内核将虚拟地址分为两部分: 用户地址空间和内核地址空间。 内核的代码和数据结构必须适合该空间,但是内核地址空间的最大消耗者是物理内存的虚拟映射。 因此,内核需要它必须直接接触的任何内存的虚拟地址。 因此,内核可以处理的最大物理内存量是可以映射到虚拟地址空间的内核部分的数量,减去内核代码使用的空间。
临时映射:当必须创建映射但当前上下文无法休眠时,内核会提供临时映射(也称为原子映射)。 内核可以原子地将高内存页面映射到其中一个保留映射(可以保留临时映射)中。 因此,可以在无法休眠的地方(例如中断处理程序)使用临时映射,因为获取映射不会阻塞。
参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.