I'm kind of confused by
Well, I know that when we
malloc a big size of memory, we will invoke the function
mmap, which will allocate an area in memory. In this case,
mmap just allocate some memory for some process.
However, I've heard that
mmap is a kind of technique, which allows us to map a file, which is located on the hard drive, to the memory so that we can have a better performance comparing with normal IO (read & write).
For me, the two things above are totally two independent stories: one is about allocation of memory, the other is about reading and writing files with a better way.
But why are both of them called
mmap? Is it just a coincidence or they are actually the same technique?