OS 是否在上下文切换中保存内存值?

Does OS save memory values in context switch?

我有一个问题,关于在上下文切换中将保存哪些数据。 我已经搜索过了,但所有链接都只谈到了寄存器。

我的问题是 os 是否也保存进程的内存值?

假设一个进程定义了一个从内存地址0x80000开始的数组。 当发生上下文切换时,这个数组会发生什么? 也许新进程覆盖了内存中的 0x80000 地址,当旧进程继续运行时,它 losts 数组!

谁能解释一下?

一般来说,操作系统不会在上下文切换中节省内存。它只是改变寄存器值。旧进程的内存会一直保留到系统需要它为止。如果发生这种情况,内存将被调出。

在过去的交换时代,是的,当一个新进程进来时,内存经常被保存。