操作系统笔记--连续内存分配的内存碎片问题

目录

1--内存碎片问题

2--内存分区的动态分配

3--压缩式和交换式碎片整理


1--内存碎片问题

        空间内存不能被完全利用,会导致内存碎片问题;

        内存碎片分为外部碎片和内部碎片,外部碎片表示在分配单元之间未被使用的内存;内部碎片表示在分配单元中未被使用的内存;

2--内存分区的动态分配

        为了减少内存碎片,操作系统在分配连续内存空间时,会使用动态分配策略,即首次适配、最优适配和最差适配;

        首次分配:为了分配 n 个字节的内存空间,操作系统分配第一个可用空闲块(空间大于 n 个字节);

        最优适配:为了分配 n 个字节的内存空间,操作系统分配一个最优的可用空闲块(空闲空间与待分配空间的差值最小);

        最差适配:为了分配 n 个字节的内存空间,操作系统分配一个最大的可用空闲块(空闲空间与待分配空间的差值最大);

3--压缩式和交换式碎片整理

                上述内存分区的动态分配仍会导致碎片问题,操作系统为了整理碎片设置了压缩式碎片整理交换式碎片整理两种方法;

压缩式碎片整理:

        通过重置程序来合并分区,减少分区间空余的空间碎片;

        压缩式碎片整理要求程序时动态可重置的;

操作系统笔记--连续内存分配的内存碎片问题_第1张图片

交换式碎片整理:

        当内存空间不足时,磁盘会当作虚拟内存;操作系统将等待的程序从内存转移到磁盘中,空出内存空间以让当前运行的程序能够顺利执行;当程序执行完后,会将磁盘中的程序从磁盘重新转移到内存中继续执行;

        上述过程涉及程序从内存和磁盘之间的交换操作,往往需要时间花销;

你可能感兴趣的:(操作系统)