内存中包含着系统区以及用户区,系统区固定给系统用,用户区用来存储用户进程
内部碎片:内存分配给进程的内存区域中,有没有用上的内存空间
外部碎片:内存分配给进程的内存区域全部用上,但是内存空间中存在着很小的内存区域无法使用。
内存分配技术分为以下几种:
1.单一连续分配:在多道程序系统出现之前,由于系统一次只处理一个程序,所以内存会将一整个用户区都分配给进程,所以容易出现内部碎片。
2.固定连续分配:这种方式分为两种:等分内存划分,不等内存划分,区别在于提前将内存区域划分成多个区域,前者区域大小一样,后者大小不同,有小区域,中区域和大区域。前者适合于系统运行多个相同进程的情况。内部碎片依然会有。
3.动态连续分配:只有在进程装入内存时,才根据进程大小分配内存区域,这样绝对不会产生内部碎片,但会产生外部碎片。为了解决外部随片就需要使用紧凑技术,将内存中的进程全部移动到一起,腾出更大的内存空间。为了能够实现紧凑技术,需要进程能在内存中移动,于是装入阶段就需要使用动态重定位技术。