Difference between contiguous and non contiguous memory allocation?