内存管理
虚拟内存:每一个进程拿到操作系统分配的内存都是一样的,都是虚拟的内存。进程使用内存存储的对象都是操作的虚拟地址。
虚拟内存为什么诞生?
方便进程对内存进行分配,每一个进程拿到的都是一致的内存空间。
方便操作系统进行内存管理,每一个进程拿到的是虚拟,这个虚拟地址操作系统将其映射到不同块的内存地址,这样就可以实现内存隔离。
物理内存:最底层的内存结构,是操作系统内核内存管理模块统一进行管理,对外可见的是虚拟内存。
内存映射:解决从 虚拟内存到物理内存 的映射问题,屏蔽物理内存经过映射对为虚拟内存。
内存管理:
1.虚拟内存:分页进行组织管理
2.物理内存:分页进行组织管理
3.内存映射:虚拟内存页和物理内存页映射起来,并且在内存紧张的时候可以进行页面置换,页面形式组织的内存页就可以方便的进行 页面换入和换出 内存<--->硬盘
每一个进程都可以看做一个个项目组,操作系统分配给他们的内存分为 他们自己的内存区域,内核的内存区域,当然内核的区域只有进程进行系统调用之后可以进入,而且进入之后看到的地址 都是统一的虚拟地址,内核的内存空间是进程都可以进入的。
Android Binder 机制就是 通过 将内核内存中拿出一块内存来映射到进程 AB 的内存,从而实现进程间通信。