【期末复习】三、内存管理
1.物理内存管理
空闲内存管理方式主要分为:等长划分和不等长划分。
内存管理方式
单一连续分区
基本思想:一段时间内只有一个进程在内存。
特点:简单,内存利用率低,
有三种不同的布局:
固定分区
把内存空间分割成若干区域, 称为分区。 每个分区的大小可以相同也可以不同。分区大小固定不变。每个分区装一个且只能装一个进程。
可变分区
基本概念:根据进程的需要,把内存空闲空间分割出一个分区,分配给该进程,剩余部分成为新的空闲区。这个方案的缺点是形成外碎片(很小的、不易利用的空闲区),导致利用率降低。
解决方案:紧缩技术(memory compaction),即在内存移动程序,将所有小的空闲区合并为较大的空闲区。 不是所有进程都可以随便的搬家移动的,需要考虑两个问题: ①开销:如果有很多进程都需要移动,这会导致时间,空间上的开销。 ②移动的时机:比如一个进程正在做磁盘的IO操作,那这时此进程就不能够移动去别处,因为这样会影响IO的结果。
段式管理🍊
特点:按程序逻辑关系划分为段,内存动态划分为物理段,以段为单位分配,段在内存中连续但段间可不相邻。
碎片问题:会产生外部碎片,因为段与段之间不连续。若内存空闲空间不连续,可能出现虽有足够空闲空间总量,但因不连续而无法分配给需要连续空间进程的情况。
给定六个内存分区,分别为100M,170M,40MB,205MB,300MB和185MB(按顺序),首次适应、最优适应和最差适应算法将如何放置大小为200MB、15MB、185MB、75MB、175MB和80MB(按顺序)的进程?指出哪个请求(如果有)