Linux可以通过系统调用mlock()锁住给定地址范围的内存。由sys_mlock()=>do_mlock()函数实现。
1、创建VMA.
2、设置VM_LOCKED.
3、make_pages_present()函数保证所有的页都在内存中。
与之相对应的解锁函数:
munlock()由sys_munlock实现。
与之类似的一对函数:
mlockall()和munlockall()。只不过mlockall()实现对线程内所有的vma的锁定。
Linux可以通过系统调用mlock()锁住给定地址范围的内存。由sys_mlock()=>do_mlock()函数实现。
1、创建VMA.
2、设置VM_LOCKED.
3、make_pages_present()函数保证所有的页都在内存中。
与之相对应的解锁函数:
munlock()由sys_munlock实现。
与之类似的一对函数:
mlockall()和munlockall()。只不过mlockall()实现对线程内所有的vma的锁定。