【发布时间】:2015-06-28 11:17:35
【问题描述】:
我对 CPU Dispatcher 有一点了解。当 IO 中断或发生上下文切换以执行其他进程时。在此期间是否还会发生交换(换入和换出)?旧进程会从物理内存中删除并重新加载吗?还是一直留在主内存中?
根据how dispatcher works?,我没有看到任何交换。
【问题讨论】:
-
感谢您的回答。
标签: operating-system dispatcher
我对 CPU Dispatcher 有一点了解。当 IO 中断或发生上下文切换以执行其他进程时。在此期间是否还会发生交换(换入和换出)?旧进程会从物理内存中删除并重新加载吗?还是一直留在主内存中?
根据how dispatcher works?,我没有看到任何交换。
【问题讨论】:
标签: operating-system dispatcher
在此期间还会发生交换(换入和换出)吗?
Swapin / Swapout 和上下文切换没有直接关系。如果页面很少被引用,则可以删除该页面(请参阅页面回收)。
【讨论】:
现在有一种趋势是根本不交换进程。在 16MB 内存和具有 32GB 虚拟寻址的多用户系统的时代,交换很常见。
更现代的方法是在需要更多物理内存时从空闲进程中删除页面。
即使在整个进程被换出的系统中,这通常也是为了响应内存需求而完成的;不是上下文切换。
【讨论】: