目录
一、内存空间的分配与回收
1、连续分配管理方式
(1)、单一连续分配
优点:
缺点:
(2)、固定分区分配
分区大小相等:
分区大小不等:
(3)、动态分区分配
回收方式:
情况一:
情况二:
情况三:
内部和外部碎片:
编辑
一、内存空间的分配与回收
1、连续分配管理方式
(1)、单一连续分配
1、单一连续分配(single contiguous allocation)是一种内存分配方式,指的是将进程所需的全部内存空间分配在一个连续的地址空间上。
2、在单一连续分配方式中,内存被分为系统区和用户区。
3、系统区通常位于内存的低地址部分,用于存放操作系统相关数据;用户区用于存放用户进程相关数据。
4、内存中只能有一道用户程序,用户程序独占整个用户区空间。
优点:
- 实现简单;
- 无外部碎片;
- 可以采用覆盖技术扩充内存;
- 不一定需要采取内存保护;
缺点:
- 只能用于单用户、单任务的操作系统中;
- 有内部碎片(分配给某进程的内存区域中,如果有些部分没有用上,就是“内部碎片”)
- 存储器利用率极低。
(2)、固定分区分配
分区大小相等:
1、缺乏灵活性,但是很适合用于一台计算机控制多个相同对象的场合
分区大小不等:
1、增加了灵活性,可以满足不同大小的进程需求。
2、根据常在系统中运行的作业大小情况进行划分(多个小分区,适量中等分区,少量大分区)
(3)、动态分区分配
1、动态分区分配又称为可变分区分配。
2、这种分配方式不会预先划分内存分区,而是在进程装入内存时,根据进程的大小动态地建立分区,并使分区的大小正好适合进程的需要。
3、因此系统分区的大小和数目是可变的。(eg:假设某计算机内存大小为64MB,系统区8MB,用户区共56 MB...)
注意、连续分配:指为用户进程分配的必须是一个连续的内存空间。
回收方式:
情况一:
若我要回收进程4,则就要和10MB这个空闲区相结合,成为14MB的空闲区。