物理页框描述符 虚拟内存体现的是程序对内存资源的需求,而物理内存是对该请求的供应。 伙伴算法的思想是:把内存中连续的空闲页框空间看成是空闲页框块,并按照它们的大小(连续页框的数目)分组 更多...
#include <los_vm_page.h>
成员变量 | |
LOS_DL_LIST | node |
PADDR_T | physAddr |
Atomic | refCounts |
UINT32 | flags |
UINT8 | order |
UINT8 | segID |
UINT16 | nPages |
SPIN_LOCK_S | lock |
物理页框描述符 虚拟内存体现的是程序对内存资源的需求,而物理内存是对该请求的供应。 伙伴算法的思想是:把内存中连续的空闲页框空间看成是空闲页框块,并按照它们的大小(连续页框的数目)分组
在文件 los_vm_page.h 第 53 行定义.
UINT32 VmPage::flags |
vm page flags | 页标签,同时可以有多个标签(共享/引用/活动/被锁==)
在文件 los_vm_page.h 第 58 行定义.
SPIN_LOCK_S VmPage::lock |
lock for page table entry
在文件 los_vm_page.h 第 63 行定义.
LOS_DL_LIST VmPage::node |
vm object dl list | 物理内框节点,通过它挂/摘到全局g_vmPhysSeg[segID]->freeList[order]物理页框链表 或被使用的链表 上, 例如 共享内存的shmIDSource.node
在文件 los_vm_page.h 第 54 行定义.
UINT16 VmPage::nPages |
the vm page is used for kernel heap | 分配页数,标识从本页开始连续的几页将一块被分配
在文件 los_vm_page.h 第 61 行定义.
UINT8 VmPage::order |
vm page in which order list | 被安置在伙伴算法的几号序列( 2^0,2^1,2^2,...,2^order)
在文件 los_vm_page.h 第 59 行定义.
PADDR_T VmPage::physAddr |
vm page physical addr | 物理页框起始物理地址,只能用于计算,不会用于操作(读/写数据==)
在文件 los_vm_page.h 第 56 行定义.
Atomic VmPage::refCounts |
vm page ref count | 被引用次数,共享内存会有多次引用
在文件 los_vm_page.h 第 57 行定义.
UINT8 VmPage::segID |
the segment id of vm page | 所属物理内存段编号ID
在文件 los_vm_page.h 第 60 行定义.