Linux使用的内存管理原理


Answers:


7

Linux同时使用。它使用分段来映射所有可用的地址空间,同时赋予不同的访问权限:基本上是内核和用户空间视图。您可以为某些示例grep KERNEL_DS(内核数据段)的Linux源代码。

然后使用分页来实现虚拟内存(作为起点,内核中的Grep表示“ struct gdt_page”)


6

Linux下的内存管理仅通过分页进行工作。

Linux支持“小”(通常为4kB)和“大”(2M)页面。前者在您不知道或没有做任何特别事情的情况下“正常工作”,而后者则需要特殊对待(必须在引导时保留并通过特殊设备进行映射)。

在Linux下唯一出现“段”的上下文是brk()syscall,它用于增加进程的数据段(您通常不需要它,malloc无需关心它)。但是,无论哪种方式,内存都是在页面中出现的,并且是在页面中管理的,它与x86分段无关。


当i386出现时,X86分段已过时。Linux从未将分段用于内存管理。诸如ELKS和(可能)uClinux之类的某些派生工具可能会。
LawrenceC
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.