tmpfs — тимчасове файлове сховище у багатьох Unix-подібних операційних системах. Призначена для монтування файлової системи, але розміщується в оперативній пам'яті замість фізичного диска. Подібна конструкція є .
Семантика
Всі дані в 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, разом з новим ортогональним управлінням адресним простором, що дозволяє розмістити будь-який об'єкт в пам'яті.
У 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 (так само відома як shmfs) відрізняється від Linux RAM диска динамічним виділенням пам'яті і переміщенням невикористовуваних сторінок у swap. , навпаки, не використовує 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. У 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 для підготовки контенту і його буферизації перед відправкою клієнтові.
Виноски
- Peter Snyder. tmpfs: A Virtual Memory File System (PDF). Архів оригіналу (PDF) за 1 травня 2012. Процитовано 2 липня 2010.
- Hal L. Stern. SunOS 4.1 Performance Tuning (GZipped PostScript). Архів оригіналу за 1 травня 2012. Процитовано 2 липня 2010.
- Daniel Robbins (1 вересня 2001). Advanced filesystem implementor's guide. Архів оригіналу за 1 травня 2012. Процитовано 2 липня 2010. Стаття, що описує реализації в Linux
- Julio M. Merino Vidal (24 лютого 2006). NetBSD-SoC: Efficient memory file-system. Архів оригіналу за 1 травня 2012. Процитовано 2 липня 2010.
- Derek Morr (2 грудня 2008). FreeBSD tmpfs manpage. Архів оригіналу за 1 травня 2012. Процитовано 2 липня 2010.
Посилання
- Documentation/filesystems/tmpfs.txt[недоступне посилання з лютого 2019] (англ.)
- (англ.)
- mount_tmpfs(8)|mount_tmpfs(8) - NetBSD Manual Pages [ 3 травня 2014 у Wayback Machine.] (англ.)
- Using tmpfs for /tmp, /var/{log,run,lock...} [ 4 березня 2016 у Wayback Machine.] (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
tmpfs timchasove fajlove shovishe u bagatoh Unix podibnih operacijnih sistemah Priznachena dlya montuvannya fajlovoyi sistemi ale rozmishuyetsya v operativnij pam yati zamist fizichnogo diska Podibna konstrukciya ye SemantikaVsi dani v tmpfs ye timchasovimi v tomu sensi sho zhodnogo fajlu ne bude stvoreno na tverdomu disku Pislya perezavantazhennya vsi dani sho mistyatsya v tmpfs budut vtracheni Pam yat yaka vikoristovuyetsya dlya tmpfs variyuyetsya v rozmirah zalezhno vid kilkosti rozmishenih fajliv v nij i mozhe buti rozshirena za rahunok swap Bagato distributiviv Unix vikoristovuyut tmpfs za zamovchuvannyam dlya rozmishennya tmp abo dlya podilu pam yati Ce mozhna pobachiti u vivedenni komandi df napriklad Filesystem Size Used Avail Use Mounted on tmpfs 256M 688K 256M 1 tmpRealizaciyiSunOS Solaris SunOS 4 vklyuchala ranni rozrobki Tmpfs vona vpershe z yavilasya v SunOS 4 0 v kinci 1987 razom z novim ortogonalnim upravlinnyam adresnim prostorom sho dozvolyaye rozmistiti bud yakij ob yekt v pam yati U Solaris tmp rozmishuvalasya v Tmpfs sho stalo standartom v Solaris 2 1 sho vijshov u listopadi 1994 Vivid komandi df v Solaris pokazuvav swap yak fajlovu sistemu bud yakogo Tmpfs rozdilu df k Filesystem kbytes used avail capacity Mounted on swap 601592 0 601592 0 tmp test Linux Tmpfs stav pidtrimuvatisya Linux z versiyi 2 4 Tmpfs tak samo vidoma yak shmfs vidriznyayetsya vid Linux RAM diska dinamichnim vidilennyam pam yati i peremishennyam nevikoristovuvanih storinok u swap navpaki ne vikoristovuye swap ce mozhe buti yak perevagoyu tak i nedolikom Do togo zh MFS i deyaki stari versiyi RAMfs ne zminyuvali svij rozmir dinamichno a zalishalisya togo rozmiru yak i buli primontovani Vikoristannya Tmpfs napriklad mount t tmpfs o size 1G nr inodes 10k mode 0700 tmpfs space yaka bude zrostati do 1 GiB z 10240 inodami v pam yati swap i dostupna tilki vlasnikovi teki space Maksimalnij rozmir fajlovoyi sistemi mozhe buti zminenij na lotu napriklad mount o remount size 2G space U Tmpfs mozhut buti rozmisheni bud yaki teki sho zberigayut timchasovi dani yaki vidalyayutsya pri perezavantazhenni sistemi var lock var run tmp ta inshi Krim togo dlya zmenshennya kilkosti diskovih operacij v cilyah maksimalnogo pidvishennya produktivnosti sistemi abo ekonomiyi resursu tverdotilnih nakopichuvachiv v Tmpfs inodi rozmishuyut direktoriyi yaki zazvichaj zberigayut dani mizh perezavantazhennyami napriklad var tmp cya direktoriya neridko ochishayetsya hocha rekomendovano cogo ne robiti 4 abo direktoriyi keshuvannya deyakih program vebbrauzeriv BSD Tmpfs bula realizovana v NetBSD versiyi 4 0 kotra vijshla 10 veresnya 2005 U FreeBSD 7 0 z yavilasya portovana z NetBSD Tmpfs U DragonFly BSD z versiyi 2 5 1 tezh ye portovana z NetBSD realizaciya Tmpfs Microsoft Windows U Windows ye pribliznij analog Tmpfs u viglyadi timchasovih fajliv Fajli stvoreni z atributom FILE ATTRIBUTE TEMPORARY i praporom FILE FLAG DELETE ON CLOSE rozmishuyutsya v operativnij pam yati i zapisuyutsya na tverdij disk tilki yaksho sistemi ne vistachaye operativnoyi pam yati Takim chinom timchasovi fajli analogichni Tmpfs za vinyatkom togo sho pri nestachi pam yati voni zapisuyutsya za vkazanim pri yihnomu stvorenni shlyahom a ne v fajl pidkachki Cej metod chasto vikoristovuyetsya na serverah z TransmitFile dlya pidgotovki kontentu i jogo buferizaciyi pered vidpravkoyu kliyentovi VinoskiPeter Snyder tmpfs A Virtual Memory File System PDF Arhiv originalu PDF za 1 travnya 2012 Procitovano 2 lipnya 2010 Hal L Stern SunOS 4 1 Performance Tuning GZipped PostScript Arhiv originalu za 1 travnya 2012 Procitovano 2 lipnya 2010 Daniel Robbins 1 veresnya 2001 Advanced filesystem implementor s guide Arhiv originalu za 1 travnya 2012 Procitovano 2 lipnya 2010 Stattya sho opisuye realizaciyi v Linux Julio M Merino Vidal 24 lyutogo 2006 NetBSD SoC Efficient memory file system Arhiv originalu za 1 travnya 2012 Procitovano 2 lipnya 2010 Derek Morr 2 grudnya 2008 FreeBSD tmpfs manpage Arhiv originalu za 1 travnya 2012 Procitovano 2 lipnya 2010 PosilannyaDocumentation filesystems tmpfs txt nedostupne posilannya z lyutogo 2019 angl angl mount tmpfs 8 mount tmpfs 8 NetBSD Manual Pages 3 travnya 2014 u Wayback Machine angl Using tmpfs for tmp var log run lock 4 bereznya 2016 u Wayback Machine angl