Интернет магазин китайских планшетных компьютеров



Компьютеры - Tmpfs

10 мая 2011





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

Семантика

Все данные в Tmpfs являются временными, в том смысле, что ни одного файла не будет создано на жёстком диске, как в swap. После перезагрузки, все данные, содержащиеся в 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, вместе с новым ортогональным управлением адресным пространством, что позволяет разместить любой объект в памяти.

В 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 и больше. Tmpfs отличается от 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

Директории /var/run и /var/lock могут быть размещены в Tmpfs, для уменьшения их размера после перезагрузки.

BSD

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

Microsoft Windows

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



Просмотров: 721


<<< Sysfs