Allocates the first block that is large enough for the process.
Allocates the smallest block that is large enough for the process.
Allocates the largest available block to the process.