do_no_page、do_file_page、do_swap_page的区别
时间: 2023-12-09 14:03:27 浏览: 91
Linux内存描述符mm_struct实例详解
do_no_page、do_file_page、do_swap_page是针对Linux内核中页面调度机制的三个函数,它们的区别如下:
1. do_no_page:当内核需要访问一个页面,但是该页面没有在内存中时,会调用do_no_page函数。该函数负责分配物理内存,并将页面从磁盘或网络中读取到内存中。
2. do_file_page:当内核需要访问文件数据时,会调用do_file_page函数。该函数会从文件系统中读取数据,并将其复制到内存中。
3. do_swap_page:当内存不足时,内核会将一部分页面交换到磁盘上,以释放内存。当需要访问这些页面时,会调用do_swap_page函数,该函数会将页面从磁盘中读取到内存中。
综上所述,这三个函数的主要区别在于它们的调用场景和功能。do_no_page负责从磁盘或网络中读取页面,do_file_page负责从文件系统中读取数据,而do_swap_page则负责将页面从磁盘中读取到内存中。
阅读全文