一,引入
分块式内存管理是一种内存管理策略,它将内存划分为若干个大小相等的块(称为“分区”、“段”或“块”),然后为不同的程序分配这些块。这种策略可以有效地解决内存碎片问题,提高内存利用率。 分块式内存管理通常有两种实现方式:固定大小块和可变大小块。
二,内容
1. 固定大小块:
在这种实现方式中,内存被划分为大小相等的块,每个块的大小是预先确定的。当程序需要分配内存时,系统会为其分配一个完整的块。这种方式的优点是简单易实现,但可能会导致内存利用率不高,因为程序分配到的块可能会比实际需要的内存大。
列如,给你1KB空间,把他分成10份,依次给这十份标号,每份就是100bit,每次操作读取或者储存也只能对应一份,它不管你这一份是否多或者少,多了就没有利用完,就造成浪费现象。
2. 可变大小块:
在这种实现方式中,内存被划分为大小不同的块,每个块的大小根据实际需要动态确定。这种方式可以提高内存利用率,因为程序可以分配到刚好满足需求的内存块。但这种方式实现起来比较复杂,需要考虑如何有效地管理不同大小的块。 分块式内存管理通常用于实时系统、嵌入式系统和操作系统的核心部分。在这些环境中,内存资源有限,对内存的管理需要高效、灵活。
列如,给你4KB空间,因为我是可变大小快,每块内存空间大小依据实际分配,比如我这次可能需要1KB,下次需要2KB,我就软件实际分配内存大小即可,实现满利用了。
三,总结
分块式内存管理通常用于实时系统、嵌入式系统和操作系统的核心部分。在这些环境中,内存资源有限,对内存的管理需要高效、灵活。
运用的话,就是外拓一些存储器来解决芯片储存空间小的时候,比如跑一些算法,GUI,或者最常见的就是flash不够时。