+ Returns a null pointer if memory is not available.
+
+ If SIZE is PGSIZE / 2 or less, the returned block is
+ guaranteed to be aligned on the least power-of-2 boundary
+ greater than or equal to SIZE. (Hence, such a block never
+ crosses the boundary between two physical pages.) */