Linux for X86处理器的LDT和分页

时间:2016-07-26 22:31:18

标签: linux memory-management linux-kernel x86 linux-device-driver

当系统支持分页时,我一直在尝试理解LDT的使用。

我的理解:

  • GDT为用户CS& DS和内核CS和DS。
  • GDT由所有进程共享,而LDT是每个进程的本地进程。
  • LDT用于实施保护,即。 (防止一个进程访问另一个进程的代码/数据。)
  • Linux目前有一个默认的LDT,由与GDT类似的所有进程共享。
  • 以前通过在LDT中创建条目来实现TLS。这将应用程序中的线程数限制为8192.通过在GDT中使用TLS可以改善这一点。在上下文切换上,GDT上的TLS条目指向线程的本地段。
  • 最后,通过将不同进程的相同线性地址映射到不同的物理页面,使用分页来确保不同的进程有自己的代码和数据部分。

有了这个,在Linux中使用LDT有什么用?为什么我们甚至有一个由所有过程共享的?

0 个答案:

没有答案