I have been reading about memory mapped files which allows file to be shared across multiple processes.
Every process (32 bit to be specific) has 4GB of private address space which is divided into 2GB of user mode address space and 2GB reserved for kernel as described here by Eric Lippert. User mode address space is private to each process and can't be modified by other process.
So, does that mean MMF's are mapped into kernel mode address space since it's shared across all processes?
I have searched a lot about MMF where it gets mapped but could not locate any resource stating that. So, posting question here if my assumption is right or I am missing something here? Any resource to MSDN would be good as well.
Memory mapped files are mapped into user-mode address space.
Think about it this way. Suppose you have a 4K file that is memory-mapped into two processes. This simply means that the one storage page on disk is associated with a particular page of virtual address space in each of two processes.
Diagram 3 on this page might help: