Could anyone pls tell me what exactly happens when an executable sitting in hard disk is running? I understand that the file will be "memory-mapped". Since the requested data is not in RAM when it is read, kernel would try to read from the file region that does not exist in physical memory. A page fault is generated, which traps into the virtual memory management system. This system then allocates physical memory, then schedules a file read to bring the data into memory. I am a little bit confused here, is that when the page fault is generated, kernel will load pages of data of executable file from hard disk to a certain buffer area in memory and then map this area to process address space; or is the file itself on hard disk mapped to address space? Thank you in advance! Lei -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/