Why does the loader load any exe at a virtual address which is basically 0X10000 or, in most cases 0X400000?? Isn't it supposed to load it at address 0X00000, afterall the address is virtual and each process has its own address space?? Wouldn't this be more convenient??