Hi Pritam,
1) Yes, all 512RAM will be direct mapped to kernel address space IF the kernel have a 896MB direct mapping area.
Actually you can change the range of kernel direct mapping by the vmalloc=<size> in boot command line.
In 32-bit and 3:1 split configuration, kernel direct mapping area + vmalloc area is roughly 1G.
2) User space and kernel space can have different virtual addresses mapping to the same physical frame at the same time.
3) Direct mapped or fixed map or permanent map are describing kernel VIRTUAL address space, you can see the virtual memory
layout by 'dmesg'. When user space needs memory, the kernel allocates a free memory frame, and remaps the frame to user space.
The frame does not have to have a valid kernel virtual address.