.data segment vs malloc/new

Lets say an application knows how much memory it needs and wants to allocate it all up front and then manage it itself. Is there a disadvantage to using the .data segment to instruct the OS to reserve the space when it loads the process? I’m asking this from the perspective that you’d alternatively just request the memory at runtime with one call to malloc.