Кіріспе

Unix-тәрізді жүйелердегі уақытша файл жүйесі

tmpfs (Temporary File System деген аббревиатура) – көптеген Unix-тәрізді операциялық жүйелерде іске асырылған уақытша файлдарды сақтау тәсілі. Ол орнатылған файл жүйесі сияқты көрінеді, бірақ деректер тұрақты сақтау құрылғысының орнына көшпелі жадта сақталады. Осыған ұқсас конструкция – RAM дискісі, ол виртуалды дискілік жетек ретінде пайда болады және дискілік файл жүйесін қамтиды.

Қолданылу

tmpfs тұжырымдамасының бірнеше тәуелсіз түрі бар. Олардың ең ерте дамытылғандарының бірі Sun Microsystems компаниясы SunOS үшін жасалған, ал BSD және Linux сияқты басқа да операциялық жүйелер өздерінің дербес нұсқаларын ұсынды.

Linux жүйесі

tmpfs Linux ядросының 2.4 нұсқасынан бастап қолдау көрсетіледі (2001 жылдың 4 қаңтары). Linux tmpfs (бұрын shm fs деп белгілі болған) жүктелу кезінде пайдаланылатын ramfs кодына негізделген, сондай-ақ беттік кэшті де пайдаланады. Бірақ ramfs-тен айырмашылығы, tmpfs сирек қолданылатын беттерді жедел жадтан дискіге ауыстырып, жадтан тыс қалыптанудың алдын алу үшін файлдық жүйенің көлемі мен inode санына шектеулер қоя алады (дефолт бойынша физикалық жадтың жартысы және жад беттерінің жартысы).

БСҚ

4.2BSD MFS-ті, жадқа негізделген файлдық жүйені енгізді, ол қолданыстағы FFS дискілік файлдық жүйені виртуалды жад аймағына қолдану арқылы іске асырылды. MFS-тің өнімділігін жақсарту мақсатында жадтағы дәстүрлі дерек құрылымдарын пайдалана отырып іске асырылған tmpfs, 2005 жылдың 10 қыркүйегінде NetBSD-нің ресми дереккөз ағашына қосылды; ол 4.0 және одан кейінгі нұсқаларында қолжетімді. FreeBSD NetBSD-нің осы нұсқасын порттады, ол 7.0 және одан кейінгі нұсқаларында қолжетімді. DragonFly BSD де NetBSD-нің осы нұсқасын порттады, ол 2.5.1 және одан кейінгі нұсқаларында қолжетімді. OpenBSD де NetBSD-нің tmpfs нұсқасын порттады, бастамасы Педро Мартеллеттоға тиесілі және көптеген басқалар оны жетілдірді. Ол 2013 жылдың 17 желтоқсанынан бастап жиналымдарда (builds) қолданысқа енгізілді. tmpfs-ті қамтитын OpenBSD-нің алғашқы нұсқасы 5.5 болды. OpenBSD 6.0 күтімнің жетіспеуіне байланысты tmpfs-ті өшірді.

Артықшылықтар

Дискідегі жадтан RAM-ның жоғары жылдамдығына байланысты, tmpfs кэшті RAM-да сақтағанда әлдеқайда жылдам жұмыс істеуіне мүмкіндік береді, бұл жүйенің жалпы тиімділігін арттырады. Дегенмен, беттік кэші бар операциялық жүйелерде пайда аз болады, себебі жақында қолданылған файлдық беттер жеткілікті бос жад болса, жадыда қалып қояды. RAM жүйені қайта жүктегенде тазартылатындықтан, tmpfs пайдаланушының уақытша файлдарды қолмен жою қажеттілігін жойып, жүйенің қалыпты жұмысын қамтамасыз етеді. Сонымен қатар, файлдарды RAM-да сақтау дискілердің тез толуына кедері келтіреді және жазу операцияларының санын азайту арқылы қатты күйдегі дисктердің қызмет ету мерзімін ұзартады.

Кемшіліктер

Суап кеңістігі жоқ немесе суап кеңістігі жеткіліксіз болған жүйелерде tmpfs көп мөлшерде жадты пайдалануы мүмкін. Егер кэш файлдары tmpfs-те сақталса, бағдарламалар қайта іске қосылғанда кэштелген деректерін жоғалтады.