我最近在学习操作系统的I/O缓冲部分,根据我使用的书,
When a user process issues an I/O request, the OS assigns a buffer in the system portion of main memory to the operation.
我了解这种方法如何能够避免非缓冲情况下的交换问题。但是否假设为进程创建的操作系统缓冲永远不会被换出?
为了扩展我的问题,我想知道是否有任何机制可以交换内存中操作系统的内核部分?
最佳答案
操作系统调出部分内核的情况很常见。内核必须定义哪些部分可以被调出,哪些部分不能被调出。例如,通常情况下,分页池和非分页池会有单独的内存分配器。
请注意,在大多数处理器上,系统页面和用户页面的页表格式相同,因此支持内核分页。
确定内核的哪些部分可以调出是系统设计的一部分,并且是预先完成的。您无法调出系统中断表。大多数情况下您可以调出系统服务代码。大多数情况下您无法调出中断处理代码。
关于memory-management - 是否有任何机制可以交换内存中操作系统的内核部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49217904/