什么是内存交换?

如题所述

把处于等待状态(或在CPU调度原则下被剥夺运行权利) 的程序从内存移到辅存,把内存空间腾出来,这一来过程又叫换出;把准备好竞争CPU运行的程序从辅存移到内存,这一过程又称为换入。

请注意,交换时间的主要部分是传输时间。总的传输时间与交换的内存大小成正比。如果有这样一个计算机系统,内存空间为 4GB,驻留的操作系统为 1GB,用户进程的最大大小为 3GB。然而,许多用户进程可能比这小得多,比方说,100MB。相比之下,100MB 的进程可以在 2s 内换出,而换出 3GB 需要 60s。

扩展资料:

交换也受到其他因素的约束。如果我们想要换出一个进程,那么应确保该进程是完全处于空闲的。特别关注的是任何等待 I/O。

当需要换出一个进程以释放内存时,该进程可能正在等待 I/O 操作。然而,如果 I/O 异步访问用户内存的 I/O 缓冲区,那么该进程就不能换出。假定由于设备忙,I/O 操作在排队等待。如果我们需要换出进程 P1 而换入进程 P2,那么 I/O 操作可能试图使用现在已属于进程 P2 的内存。

温馨提示:答案为网友推荐,仅供参考
相似回答