我有一个问题,关于在上下文切换中将保存哪些数据。 我已经搜索过,但是所有链接都只是在谈论寄存器。
我的问题是os是否还会保存进程的内存值?
假设一个进程定义了一个从Ram地址0x80000开始的数组。 当上下文切换发生时,此数组将发生什么? 也许新进程会覆盖内存中的0x80000地址,而当旧进程继续运行时,它将丢失数组!
任何人都可以解释吗?
答案 0 :(得分:2)
通常,操作系统不会在上下文切换中保存内存。它只是更改寄存器值。旧进程的内存将一直保留在那里,直到系统需要它为止。如果发生这种情况,内存将被分页。
在交换的过去,是的,当有新进程进入时,内存经常被保存。