操作系统是否在上下文切换中保存内存值?

时间:2018-12-17 21:07:51

标签: operating-system scheduling context-switch context-switching

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

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

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

任何人都可以解释吗?

1 个答案:

答案 0 :(得分:2)

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

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