Tmpfs
Tmpfs — временное файловое хранилище во многих
Семантика
Все данные в 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 стал поддерживаться
Использование Tmpfs, например:
mount -t tmpfs -o size=1G,nr_inodes=10k,mode=0700 tmpfs /space
которая будет возрастать до 1
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
В
Примечания
- ↑ Peter Snyder. tmpfs: A Virtual Memory File System (PDF). Дата обращения: 2 июля 2010. Архивировано 1 мая 2012 года.
- GZipped PostScript). Дата обращения: 2 июля 2010. Архивировано1 мая 2012 года.
- ↑ Daniel Robbins. Advanced filesystem implementor's guide (1 сентября 2001). Дата обращения: 2 июля 2010. Архивировано 1 мая 2012 года. Статья, описывающая реализации в Linux
- ↑ Filesystem Hierarchy Standard . Дата обращения: 10 ноября 2012. Архивировано 3 января 2013 года.
- ↑ Julio M. Merino Vidal. NetBSD-SoC: Efficient memory file-system (24 февраля 2006). Дата обращения: 2 июля 2010. Архивировано 1 мая 2012 года.
- ↑ Derek Morr. FreeBSD tmpfs manpage (2 декабря 2008). Дата обращения: 2 июля 2010. Архивировано 1 мая 2012 года.
Ссылки
- Documentation/filesystems/tmpfs.txt (недоступная ссылка) (англ.)
- tmpfs(7FS)|man pages section 7: Device and Network Interfaces (англ.)
- mount_tmpfs(8)|mount_tmpfs(8) — NetBSD Manual Pages (англ.)
- Using tmpfs for /tmp, /var/{log, run, lock…} (англ.)