+ -
当前位置:首页 → 问答吧 → 进程切换时如何保存内存里的内容

进程切换时如何保存内存里的内容

时间:2010-05-26

来源:互联网

寄存器的我知道,
但是比如该进程在堆上分配了空间,这里面的内容在切换时是如何保存的?

谢谢

作者: douch   发布时间: 2010-05-26

寄存器只有一套,所以必须保存,切换。

内存本来就有多套,不存在保存,切换的问题。只是映射表变一变就行。

作者: poet   发布时间: 2010-05-26

你意思是多个程序占用不同的物理内存段?

作者: douch   发布时间: 2010-05-27

如果你说的是x86保护模式(intel 80386处理器及以上)下的Linux系统的话,每个进程拥有各自的4GB地址空间,被称为进程地址空间或者逻辑地址,其中3GB是应用程序地址空间,1GB是操作系统地址空间(也可以设置成2GB:2GB或者其他内存布局)。i386是按4KB每页,将进程逻辑地址内存映射到物理内存中的。不同进程的相同地址,可能被按页映射到不同的物理地址,因此互不影响。机器指令是按逻辑地址内存的地址布局来执行而不是物理内存。进程切换时。。。。。。算了,写一万字都不见得将得全面,楼主用“GDT LDT TSS 进程切换”关键字上google搜索吧。

作者: 没本   发布时间: 2010-05-27