操作系统中采用的内存管理方式:
(1)重定位(relocation)
(2)分段(segmentation)
(3)分页(paging)
(4)虚拟存储(virtual memory)
地址空间定义:
物理地址空间—硬件支持的地址空间
连续内存分配:给进程分配一块不小于制定大小的连续的物理内存区域。
内存碎片:空闲内存不能被利用—外碎片和内碎片
动态分配:当程序被加载执行时,分配一个进程指定大小可变的分区。(连续的)
操作系统需要维护的数据结构:所有进程的已分配分区和未分配的空间。
分配方式:最先匹配(first fit allocation),最佳匹配(Best fit Allocation),最差匹配(worst fit allocation)。
碎片的整理:紧凑(compaction)移动进程的内存分区,以合并外部碎片(条件:所有应用程序可以动态重定位),分区对换(swapping in/put):抢占并回收等待状态进程分区,以增大可用内存空间。
伙伴系统(Buddy System):整个可分配的分区大小2^U,需要的分区大小为2^U-1< s <=2^U.
实现:数据结构:空闲快按大小和起始地址组织成二维数组。初始状态只有一个大小为2^U的空闲块。
分配过程:由小到大在空闲快中找最小可用空闲快。可以二等分。
合并条件:大小相同,地址相邻,其实地址较小的块的起始地址必须是2^(i+1)的倍数。
操作系统内存管理---连续内存分区
最新推荐文章于 2020-12-02 21:30:50 发布