浅谈linux虚拟内存结构
一个虚拟存储器系统要求硬件和软件之间紧密写作(mmu(内存管理单元,虚拟地址到物理地址的翻译),TLB块表(虚拟地址到物理地址index,虚拟寻址),l1,l2,l3高速缓存(物理单元数据)物理寻址),内核的缺页异常处理程序。
linux为每个进程维护一个单独的虚拟地址空间,代码段(.text),数据段(.data已分配,.bss未分配的),堆,共享库,栈段。
注意两个不同方向:
栈:向下扩展,即低地址扩展;
堆:向上扩展,向高地址扩展;
好记性不如烂笔头,内存虽快,但不持久