2017-09-13 51 views
0

如果某个进程为代码执行调用属于另一个进程的远指针,会发生什么情况?如果进程调用属于另一个进程的代码,会发生什么情况?

在32位操作模式下,GDT是非常用的,并且可以充分使用分段。

那么,如果请求的CS指针指向另一个进程的段,会发生什么?

有时候这是允许的,我想。

但是,通常情况并非如此。

在64位模式下,分割中途关闭。

所有分段从0运行到处理器线性空间的顶部。另外,GDT似乎被轻易地使用;例如,Linux将所有进程中的所有用户代码放入一个段中。

与系统代码相同。

因此,在64位模式下,甚至不需要远指针就可以调出另一个进程的代码。

也许我的问题都可以归结为:

当一个进程试图调用另一个进程的代码,会发生什么?

回答

0

你在运行什么操作系统?

通常,您的操作系统在受保护的内存中运行您的进程,这意味着无法访问不属于您的进程的内存。尝试访问虚拟内存以外的内存会导致分段错误。要访问这样的内存,你需要成为内核的一部分。

相关问题