文章预览
原文: https://kernel.0voice.com/forum.php?mod=viewthread =1769 = 内存管理的主要工作就是对物理内存进行组织,然后对物理内存的分配和回收。但是Linux引入了虚拟地址的概念。 虚拟地址的作用 如果用户进程直接操作物理地址会有以下的坏处: 1、 用户进程可以直接操作内核对应的内存,破坏内核运行。 2、 用户进程也会破坏其他进程的运行 CPU 中寄存器中存储的是逻辑地址,需要进行映射才能转化为对应的物理地址,然后获取对应的内存。 通过引入逻辑地址,每个进程都拥有单独的逻辑地址范围。 当进程申请内存的时候,会为其分配逻辑地址和物理地址,并将逻辑地址和物理地址做一个映射。 所以,Linux内存管理涉及到了以下三个部分: 1、物理内存 物理内存的组织 Linux 中内存分为 3 个级别,从下到上依次为: 1、 Page: 一个 page 的大小为 4k , Page 是
………………………………