假如有一个可执行程序,它有自己的大小。将可执行程序加载到内存空间有各种方法,以下是我们便于理解的一种方法。
如上图,如果想再加载一个程序进去,理论上空间够用,但实际上放不进去,因此这种管理方案浪费的内存较大,会产生外部碎片。
因此我们可以使用页表来对内存进行管理,下图是使用页表的方法。
页表:操作系统会为每一个进程维护一个页表,页表主要记录其加载时每个块对应的页号。
分页的特点:不要求所有的块连续,可以避免外部碎片,但是会产生内部碎片。
由上图,分页将物理内存上的空间划分为很小的区块,这个区块成为页。内存上的程序使用完后释放,再循环使用,可以提高空间使用率。
假如上图的内存有20个区块,可执行程序有5个区块,