Memory 不可获胜页面的特定内容是什么?
我正在浏览ramfs代码,对不可战胜页面的概念感到困惑 我在documentation/vm/unevictable-lru.txt上阅读了内核的文档,并给出了以下答案: 但它并没有完全回答我的问题。它说内核“不能触摸它”或“不能驱逐它”,但这意味着什么 我想,不管怎样,一旦一个页面被使用,它不能被删除,直到它被自愿释放?或者这是否意味着不能将其移动到交换?或者在ram之外是否有某种缓存,包含所有不可访问的页面 在构建自己的虚拟文件系统时,是否必须将索引节点标记为不可战胜 提前感谢您的回答。在此上下文中,“收回”意味着重新调整页面的用途:即将其从现有用途中释放出来,并使其可用于其他用途。对于用户空间进程使用的页面(您注意到的例外情况除外),内核保留最近使用最少的页面的有序列表。如果进程需要一个页面,并且没有未使用的页面可用,内核将尝试退出最近使用最少的页面。这意味着:Memory 不可获胜页面的特定内容是什么?,memory,memory-management,linux-kernel,filesystems,kernel,Memory,Memory Management,Linux Kernel,Filesystems,Kernel,我正在浏览ramfs代码,对不可战胜页面的概念感到困惑 我在documentation/vm/unevictable-lru.txt上阅读了内核的文档,并给出了以下答案: 但它并没有完全回答我的问题。它说内核“不能触摸它”或“不能驱逐它”,但这意味着什么 我想,不管怎样,一旦一个页面被使用,它不能被删除,直到它被自愿释放?或者这是否意味着不能将其移动到交换?或者在ram之外是否有某种缓存,包含所有不可访问的页面 在构建自己的虚拟文件系统时,是否必须将索引节点标记为不可战胜 提前感谢您的回答。在
- 如果页面脏且没有文件支持,则写入页面以交换空间
- 如果它来自mmap文件(且未锁定),则将其写入文件
- 如果它是干净的,并且已经是最新的,就把它“扔掉” 支持介质(例如,非脏页或干净的可执行文件 由磁盘上可执行文件支持的代码)