操作系统内存分配管理的一点理解
我们知道当系统运行程序的时候首先需要为程序分配内存空间,那么操作系统是怎样管理整个内存的分配呢。
首先我们要知道计算机组成管理的一些知识,执行程序所需要的一些硬件
CPU 内存 磁盘。
首先我们说一下连续的内存分配,通俗的解释就是一段应用程序的内存是连续分配在内存中的,具体主要有三种分配方式,首次适配,最优适配,和最坏适配。
什么是首次适配呢?整个地址空间是从0开始排序一直到最后一个地址,那么为一个进程分配内存的时候我们从地址的首位开始往下找如果找到了空闲的地址空间切空间容量大于所需分配的,那么就在此位置为进程分配内存空间。
什么是最优适配呢?也是从地址的首位置开始寻找,当找到的地址空间的容量跟所需容量相差最小,我们就把此块内存分配给进程。
什么是最坏适配呢?跟最优适配的逻辑相反,当找到的地址空间的容量跟进程所需空间相差最大,遍把此内存分配给进程。
OK 那连续的内存分配会产生什么问题?就是内存碎片与外存碎片。