共 3 篇文章 |
|
简述Linux虚拟内存管理。当一个逻辑地址, 经过MMU映射后发现, 对应的页表项还没有映射到物理内存, 就会触发缺页错误(page fault): CPU 需要陷入 kernel, 找到一个可用的物理内存页面, 从页表项映射过去. 如果这个时候没有空闲的物理内存页面, 就需要做页面置换了, 操作系统通过某些算法, 从物理内存中选一个当前在用的页面, (是否需要写到磁盘,... 阅294 转0 评0 公众公开 19-04-17 09:03 |
kmalloc/kfree,vmalloc/vfree函数用法和区别。F.GFP_NOFS,GFP_NOIO.__GFP_DMA和__GFP_HIGHMEM的使用与平台相关,Linux把内存分成3个区段:可用于DMA的内存、常规内存、以及高端内存。释放内存用的是kfree,vfree,或free_pages. kmalloc函数返回的是虚拟地址(线性地址). kmalloc特殊之处在于它分配的内存是物理上连续的,这对于要进行DMA的设备十... 阅514 转3 评0 公众公开 12-04-10 23:53 |