ARM Linux如何维护细分市场?

时间:2015-07-23 04:33:32

标签: linux linux-kernel

Linux通过MMU将平面虚拟地址转换为物理地址。在Linux的虚拟地址空间中,有许多类型的段:

  • 内核空间
  • 用户堆栈
  • 内存映射区域
  • 用户堆
  • Bss段
  • 数据段
  • 文字段

Linux如何维护这些细分(又称部分)?存储这些段的基址和大小在哪里?注册表,GDT / LDT,mm_struct或内核中的其他数据结构?

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

GDT / LDT是x86系列功能。内核空间通过页面表的内核部分,用户空间通过用户空间部分进行翻译。页表位于主内存中,mm_struct是Linux内核中用于描述内存布局的结构。这是每个过程

User stack
User heap
Bss segment
Data segment
Text segment

mm_struct中描述了这种布局。 mm_struct还包含 - > pgd字段,它是根页表指针(在ARM上加载到ttrb0 / ttrb1)