Linux_内存、虚拟内存

感情迁移 提交于 2019-11-26 19:56:43

内存的管理方案:
分区:固定分区:操作系统启动时将内存分配完成
                             大小相等的固定分区:将内存分配成大小相等的区块,会产生内部碎片
                             放置策略:为每一个区块维护一给队列,为整体维护一个等待队列
                             大小不等的固定分区:将内存分配成大小不等的区块,会产生内部碎片
                             放置策略:将程序放到能够容纳的最小分区,放到当前能够容纳的最小空闲分区
           动态分区:进程执行时,才会动态分配内存,会产生外部碎片,   动态分区的三种方式
                             首次适配:按分区在内存的先后次序,从上次分配的分区起找到合适的第一个
                             临近适配: 从上一次放置的地方开始扫描,找下一个合适的空闲分区
                             最佳适配:按分区在内存的次序从头查找,找到相差最小的空闲分区


分页:在大小相等的固定分区上的扩展,操作系统会为每一个进程维护一个页表,一个进程可以占有多个页帧,同一个进程的加载空间可以不连续
分段:动态分区上的扩展,操作系统为每一个进程维护一个段表,一个进程可以占有多个段表,同一个进程的所有段可以不连续,段号、基地址、段大小
伙伴系统:分配内存时,如果可用的内存空间较大,则将其一分为二,直到分配的空间不能再次分割(再分割会小于申请空间),就将其中一个分配给申请的进程
虚拟内存技术:
交换分区:

放置策略:
为每一个区块维护一个等待队列
整体维护一个等待队列

 

 

进程的4G虚拟地址空间布局

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!