1. 首页
  2. 操作系统
  3. Linux
  4. linux驱动层mmap创建页表流程

linux驱动层mmap创建页表流程

上传者: 2019-09-09 20:40:15上传 PDF文件 318.01KB 热度 37次
MMU是通过页表来查询虚拟地址与物理地址的映射关系。有时候,应用层需要直接访问物理地址,这时应用层就需要调用应用层mmap接口继而调用驱动层的mmap接口将希望的物理地址映射成用户态能访问的虚拟地址。由于操作系统事先并没有创建这块物理地址与虚拟地址的映射关系,因此在驱动层的mmap接口中,需要在页表中建立这块物理地址与虚拟地址的映射关系。其中,内核会在进程的虚拟空间查找一块连续的虚拟地址并把虚拟地址的起始和结束地址填充到VMA的vm_start和vm_end字段中,然后调用remap_pfn_range()在页表中建立物理地址与虚拟地址的映射关系。
用户评论