what i understand is that writing a user space app will result in OS creating virtual space for this app which will be approx = whole amount of ram on the system, this way the app will think it's the owner of the computer and some of this space will only be mapped to physical hardware.
Accordingly, I know that new call system call I think posix_memalign, to allocate memory dynamically so why does it need system calls when it can just return a memory chunk from allocated virtual space instead it calls an OS function to do this.
Last thing, Is this memory is a user space memory or it belong to the OS (I mean OS allocate his own heap memory and just let app use it) This is maybe be a silly question but only because of the confusion.