LearnViz CompSci
Home / Learn / Operating Systems / Memory Mapped Files

Intermediate Topic 34 of 51 Operating Systems

Memory Mapped Files

Treating file contents as memory regions.

How it works

Memory mapping, via mmap, associates a file or device with a region of a process's virtual address space, so file contents are accessed like ordinary memory and the OS loads pages on demand through the page cache. Writes to a shared mapping are eventually written back to the file, and private mappings use copy-on-write. Several processes can map the same file to share memory.

Step-by-step walkthrough

  1. A file is mapped into the address space with mmap.
  2. No data is read yet.
  3. The process touches an address.
  4. A page fault loads that page from the file via the page cache.
  5. Further reads and writes are plain memory accesses and the OS flushes changes back.

Where it is used

Loading executables and shared libraries, databases like LMDB, fast random access to large files, shared memory between processes and zero-copy reading use memory mapping.

Common pitfall

I/O errors turn into signals instead of return codes, which is hard to handle. Truncating a file while mapped can crash the program. Mapping huge files on 32-bit systems exhausts address space. Page faults make latency unpredictable, and sequential reads may be faster with plain read and readahead. Synchronize with msync when durability matters.

Where it fits in the course

Memory Mapped Files is topic 34 of 51 in Operating Systems, rated Intermediate. It follows Memory Allocation. The next topic is File Systems.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Operating Systems quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Memory Mapped Files?
Treating file contents as memory regions. It belongs to Operating Systems and is an intermediate-level topic.
Where do people use Memory Mapped Files?
Loading executables and shared libraries, databases like LMDB, fast random access to large files, shared memory between processes and zero-copy reading use memory mapping.
What is the most common mistake with Memory Mapped Files?
I/O errors turn into signals instead of return codes, which is hard to handle.
What should I learn before this topic?
Start with Memory Allocation, the topic just before it in Operating Systems.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Operating Systems quiz.
Is Memory Mapped Files hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Memory Mapped Files?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Memory Mapped Files?
Memory Allocation, File Systems, Thrashing are closely connected. The full list is in the related topics section of this page.
What should I study after Memory Mapped Files?
Continue with File Systems, the next topic in Operating Systems.

Related topics