我目前正在学习x86汇编。系统上的进程可以各自使用可用内存的一部分,因此每个进程不能覆盖彼此的内存。但是系统中只有一组寄存器,因此多个进程如何同时运行,我的意思是Process A
使用eax
寄存器,Process B
也是如此,并且#39;他们互相重写数据?或者操作系统是否创建了某种虚拟寄存器"对于每个过程?
答案 0 :(得分:3)
寄存器内容保存在线程上下文中 - 更改并恢复为新线程。寄存器块要么保存在被中断线程的堆栈中,要么作为“线程控制块”的一部分保存。内核结构。
答案 1 :(得分:0)
大多数处理器都有关于将进程上下文加载和保存到这样一个内存块的指令