Tmpfs

Tmpfs

Tmpfs — временное файловое хранилище во многих Unix-like ОС. Предназначена для монтирования файловой системы, но размещается в ОЗУ вместо физического диска. Подобная конструкция является RAM диском.

Содержание

Семантика

Все данные в Tmpfs являются временными, в том смысле, что ни одного файла не будет создано на жёстком диске. После перезагрузки все данные, содержащиеся в Tmpfs, будут утеряны.

Память, используемая для Tmpfs, варьируется в размерах в зависимости от количества размещённых файлов в ней и может быть расширена за счёт swap. Многие Unix дистрибутивы используют Tmpfs по умолчанию для размещения /tmp или для разделения памяти. Это можно увидеть в выводе команды df, например:

Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 256M  688K  256M   1%  /tmp

Реализации

SunOS/Solaris

SunOS 4 включала ранние разработки Tmpfs; она впервые появилась в SunOS 4.0 в конце 1987, вместе с новым ортогональным управлением адресным пространством, что позволяет разместить любой объект в памяти.[1][2]

В Solaris /tmp размещалась в Tmpfs, что стало стандартом в Solaris 2.1, вышедшей в Ноябре 1994. Вывод команды df в Solaris показывал swap как файловую систему любого Tmpfs раздела:

 # df -k
 Filesystem  kbytes  used   avail capacity  Mounted on
 swap        601592     0  601592     0%    /tmp/test

Linux

Tmpfs стал поддерживаться Linux с версии 2.4 и больше.[3] Tmpfs (так же известная как shmfs) отличается от Linux RAM диска динамическим выделением памяти и перемещением неиспользуемых страниц в swap. RAMfs, наоборот, не использует swap (это может быть как преимуществом, так и недостатком). Вдобавок, MFS и некоторые старые версии RAMfs, не изменяли свой размер динамически, а оставались того размера, как были примонтированы.

Использование Tmpfs, например:

mount -t tmpfs -o size=1G,nr_inodes=10k,mode=0700 tmpfs /space

которая будет возрастать до 1 GiB с 10240 инодами в ОЗУ/swap и доступная только владельцу директории /space. Максимальный размер файловой системы может быть изменён "на лету", например:

mount -o remount,size=2G /space

В Tmpfs могут быть размещены любые директории, хранящие временные данные, удаляемые при перезагрузке системы: /var/lock, /var/run, /tmp и др. Кроме того, для уменьшения количества дисковых операций (в целях максимального повышения производительности системы или экономии ресурса твердотельных накопителей) в Tmpfs иногда размещают директории, которые обычно хранят данные между перезагрузками, например, /var/tmp (эта директория нередко очищается, хотя рекомендовано этого не делать[4]) или директории кэширования некоторых программ (интернет-браузеров).

BSD

Tmpfs была реализована в NetBSD версии 4.0, 10 сентября 2005[5]. В FreeBSD 7.0 появилась портированная из NetBSD Tmpfs.[6] В DragonFly BSD, с версии 2.5.1, тоже имеется портированная из NetBSD реализация Tmpfs.

Microsoft Windows

В Windows имеется приблизительный аналог Tmpfs в виде "временных файлов". Файлы, созданные с атрибутом FILE_ATTRIBUTE_TEMPORARY и флагом FILE_FLAG_DELETE_ON_CLOSE размещаются в ОЗУ и записываются на жёсткий диск только если системе не хватает оперативной памяти. Таким образом, "временные файлы" аналогичны Tmpfs, за исключением того, что при нехватке памяти они записываются по указанному при их создании пути, а не в файл подкачки. Этот метод часто используется на серверах с TransmitFile для подготовки контента и его буферизацией перед отправкой клиенту.

Примечания

  1. Peter Snyder tmpfs: A Virtual Memory File System (PDF). Архивировано из первоисточника 1 мая 2012. Проверено 2 июля 2010.
  2. Hal L. Stern SunOS 4.1 Performance Tuning (GZipped PostScript). Архивировано из первоисточника 1 мая 2012. Проверено 2 июля 2010.
  3. Daniel Robbins Advanced filesystem implementor's guide (September 1, 2001). Архивировано из первоисточника 1 мая 2012. Проверено 2 июля 2010. Статья, описывающая реализации в Linux
  4. Filesystem Hierarchy Standard
  5. Julio M. Merino Vidal NetBSD-SoC: Efficient memory file-system (February 24, 2006). Архивировано из первоисточника 1 мая 2012. Проверено 2 июля 2010.
  6. Derek Morr FreeBSD tmpfs manpage (December 2, 2008). Архивировано из первоисточника 1 мая 2012. Проверено 2 июля 2010.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Tmpfs" в других словарях:

  • TMPFS — is a common name for a temporary file storage facility on many Unix like operating systems. It is intended to appear as a mounted file system, but one which uses virtual memory instead of a persistent storage device. Semantics Everything stored… …   Wikipedia

  • tmpfs — es el nombre que recibe un sistema de almacenamiento en muchos sistemas operativos de tipo Unix. Aparece como un sistema de archivos montado aunque usa memoria volátil. Es similar a los discos RAM, que aparecen como discos virtuales, y pueden… …   Wikipedia Español

  • tmpfs — (engl. für Temporary File System) ist ein Dateisystem, das in vielen Unix artigen Betriebssystemen als verbesserter Ersatz für eine Ramdisk eingesetzt wird. Im Gegensatz zur Ramdisk bei der realer Arbeitsspeicher verwendet wird, wird bei tmpfs… …   Deutsch Wikipedia

  • TMPFS — Saltar a navegación, búsqueda tmpfs es el nombre que recibe un sistema de almacenamiento en muchos sistemas operativos de tipo Unix. Está preparado para aparecer como un sistema de archivos montado aunque usa memoria virtual. Contenido 1… …   Wikipedia Español

  • TmpFS — (Temporary File System) est le nom générique données à tout système de fichiers Unix temporaire. Tout fichier créé dans un tel système de fichier disparait lors de l arrêt du système. L implémentation par défaut du tmpfs des noyaux Linux 2.6.x[1] …   Wikipédia en Français

  • Tmpfs — (Temporary File System) est le nom générique données à tout système de fichiers Unix temporaire. Tout fichier créé dans un tel système de fichier disparait lors de l arrêt du système. L implémentation par défaut du tmpfs des noyaux Linux 2.6.x[1] …   Wikipédia en Français

  • tmpfs — (Temporary File System) est le nom générique données à tout système de fichiers Unix temporaire. Tout fichier créé dans un tel système de fichiers disparait lors de l arrêt du système. L implémentation par défaut du tmpfs des noyaux Linux… …   Wikipédia en Français

  • TMPFS — ist ein Dateisystem, das in vielen Unix artigen Betriebssystemen als Ramdisk eingesetzt wird. Hierbei wird der Arbeitsspeicher statt der Festplatte als Speicher benutzt. Funktion Alles, was in tmpfs gespeichert wird, ist nur temporär, da es nicht …   Deutsch Wikipedia

  • TMPFS — Temporary File System …   Acronyms

  • TMPFS — Temporary File System …   Acronyms von A bis Z


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»