0

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

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

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

谁能解释一下?

4

1 回答 1

2

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

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

于 2018-12-18T06:02:16.410 回答