Mmap

Mmap

In computing, mmap is a POSIX-compliant Unix system call that maps files or devices into memory. It is a method of memory-mapped file I/O. It naturally implements demand paging, because initially file contents are "not" entirely read from disk and don't use physical RAM at all. The actual reads from disk are performed in "lazy" manner, after a specific location is accessed.

In Linux and Mac OS X, mmap can create several types of mappings.

Anonymous mappings are mappings of physical RAM to virtual memory. This is similar to malloc, and is used in some malloc implementations for certain allocations.

File-backed mappings are mappings of files to virtual memory. Access to those areas of memory causes the file to be changed. If the mapping is shared, changes to that area in one process will affect other processes with that area mapped in immediately; otherwise, the changes will be asynchronous, and processes will not always have consistent views of that area (the segment of the file mapped in is copied to RAM and periodically flushed to disk). mmaping files can significantly reduce memory overhead for applications accessing the same file. If the file is mmaped the applications can then share the memory area the file encompasses, instead of loading the file for each application that wants access to it.

Memory shared by mmap is kept visible across a fork.

mmap is sometimes used for Interprocess Communication (IPC). On modern operating systems mmap is typically preferred to the System V IPC Shared Memory facility.

The main differences between System V shared memory (shem) and memory mapped I/O (mmap) are:

* In SystemV Shared memory resource is persistent: unless explicitly removed by a process, it is kept in memory and remains available until the system is shut down.
* mmap'ed shared memory is not persistent between application executions.

See also

* Virtual memory for a general context of possessing more addresses than physical memory
** Swapping or Paging for implementation of virtual memory used in contemporary systems
*** Page cache, a disk caching mechanism utilized by mmap
*** Demand paging a scheme implemented by mmap

References and further reading

*

*cite web | url=http://s.kartikeyan.googlepages.com/mmap.html|title=MMAP Kernel/Device Drivers side |author=S.Kartikeyan

*Differences:
** [http://www.freebsd.org/cgi/man.cgi?query=mmap FreeBSD]
** [http://linux.about.com/library/cmd/blcmdl2_mmap.htm Linux]
** [http://developer.apple.com/documentation/Darwin/Reference/ManPages/man2/mmap.2.html Mac OS X]
** [http://docs.sun.com/app/docs/doc/816-5167/mmap-2?a=view Solaris]
** [http://devrsrc1.external.hp.com/STKS/cgi-bin/man2html?debug=0&manpage=/usr/share/man/man2.Z/mmap.2 HP-UX]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • mmap — mmap  POSIX совместимый системный вызов Unix, позволяющий выполнить отображение файла или устройства на память. Является методом ввода/вывода через отображение файла на память и естественным образом реализует выделение страниц по запросу,… …   Википедия

  • Mmap — (« memory map ») est un appel système UNIX (qui fait partie de la norme POSIX). Il établit une projection en mémoire des fichiers ou périphériques. mmap est parfois utilisé pour la communication inter processus. Pour cette… …   Wikipédia en Français

  • mmap — (« memory map ») est un appel système UNIX (qui fait partie de la norme POSIX). Il établit une projection en mémoire des fichiers ou périphériques. mmap est parfois utilisé pour la communication inter processus. Pour cette… …   Wikipédia en Français

  • mmap — In computing, mmap is a POSIX compliant Unix system call that maps files or devices into memory. It is a method of memory mapped file I/O. It naturally implements demand paging, because initially file contents are not entirely read from disk and… …   Wikipedia

  • MMAP — * Memory map * Marked Markovian Arrival Process …   Wikipedia

  • MMAP — mean maternal arterial blood pressure …   Medical dictionary

  • MMAP — Mission Manifest And Planning NASA …   Acronyms

  • MMAP — Mission Manifest And Planning ( > NASA Acronym List ) …   Acronyms von A bis Z

  • MMAP — abbr. Microgravity Measurement and Analysis Project …   Dictionary of abbreviations

  • MMAP — • mean maternal arterial blood pressure …   Dictionary of medical acronyms & abbreviations

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”