File mappato in memoria

Da Wikipedia, l'enciclopedia libera.

In informatica, un file mappato in memoria (in inglese memory-mapped file) è una funzione offerta da alcuni sistemi operativi che permette ai processi di accedere direttamente ad alcuni buffer del sistema operativo come se fossero buffer privati del processo. Può essere considerato un tipo di input-output mappato in memoria.

Gli utilizzi più importanti sono due:

  • Accedere a un file come se fosse un array di caratteri. È l'utilizzo che ha dato il nome alla funzione; infatti il contenuto del file viene mappato nello spazio di indirizzamento del processo. Viene usato per accedere rapidamente a porzioni di un file o per ottimizzare l'accesso a un file da parte di più processi. Per esempio, quando il sistema operativo crea un processo, esegue una mappatura in memoria del file contenente il programma.
  • Condividere con altri processi un'area di memoria. È la tecnica di comunicazione tra processi più efficiente, ma, se gli accessi da parte dei processi non sono correttamente sincronizzati, è soggetta ad errori a causa degli accessi simultanei.

I file mappati in memoria sono implementati dai sistemi operativi Posix, con la chiamata di sistema "mmap", e dai sistemi operativi Microsoft Windows di tipo Win32 e successive, con le chiamate di sistema "CreateFileMapping", "OpenFileMapping", "MapViewOfFileEx", "UnmapViewOfFile", e "FlushViewOfFile".

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica