引用:
https://www.bilibili.com/video/BV1KD4y1U7Rr/?spm_id_from=333.999.0.0&vd_source=e05f4a55dd5d8e27f74472aa7fd97ace
1. 内存映射机制:如在32bit下
实模式下的进程映射:进程直接使用物理地址

保护模式的进程映射:保护模式提供内存分页机制

操作系统会以链表的形式记录各个进程的链表信息。
进程控制块PCB==Linux下的task_struct:
每个进程的task_struct都有一个指针指向页目录的物理地址

页目录也是一个内存页


2.内存分配:
每个task_struct都会记录一个内存分配的链表,每个链表项都是一个vma(virtual memory area)结构体, 记录该进程已经申请的一段连续内存地址区间。
真正的映射要到内存访问时才会进行,映射需要花费的时间比较多。所以进程的虚拟地址空间仅仅是它可以申请的地址范围。
TLB是内存地址映射缓存,进程切换时会被清空。
