Фрагмента́ція фа́йлової систе́ми (старіння файлової системи) — це неспроможність файлової системи розмістити пов'язані дані послідовно (неперервно); явище притаманне файловим системам, що дозволяють пряму модифікацію даних. Є особливим випадком фрагментації даних.
У механічних дискових накопичувачах фрагментація файлової системи збільшує кількість переміщень (головки зчитування даних), що, в свою чергу, зменшує пропускну здатність. Щоб позбутися існуючої фрагментації потрібно перемістити файли в суміжні області, окремо від вільного простору. Цей процес називається дефрагментацією і виконується спеціальними утилітами, що часто входять до складу операційної системи.
Існує багато алгоритмів і правил дефрагментації.
Причини та особливості
Коли файлова система вперше ініціалізована на диску (деякий розділ форматований, використовуючи цю файлову систему), цей розділ містить лише кілька невеликих внутрішніх структур, або, іншими словами, є неперервним блоком вільного простору (з точки зору файлової системи). Це означає, що алгоритм розподілу даних може розмістити новостворені файли будь-де на диску. Протягом деякого часу після створення файли у файловій системі можуть розміщуватися майже оптимально. Коли встановлюється операційна система та програми, або розпаковуються інші архіви, послідовне розміщення файлів означає, що пов'язані файли, найбільш імовірно, будуть розміщені близько один біля одного.
Проте, щойно існуючі файли видаляються або зменшуються в розмірі, утворюються нові області вільного простору. Коли ж файли доповнюються, часто неможливо продовжити запис з місця, де файл завершився, бо там можуть вже бути розміщені інші файли, тому потрібно створити новий фрагмент. З плином часу через ці фактори вільний простір разом із файлами, які часто доповнюються, як правило, фрагментується все більше і більше. Існування коротких вільних областей означає також, що файлова система більше не спроможна розмістити нові, більш-менш великі файли неперервно і повинна розділяти їх на фрагменти. Особливо це справджується, коли файлова система більш заповнена — чим більша довжина вільних областей, тим менша імовірність їхньої появи.
Потрібно зазначити, що сказане є спрощеним поданням досить складної теми. Метод, який буде тут пояснено, був загальноприйнятим при розподілі файлів на диску та інших носіях з довільним доступом до пам'яті протягом більш ніж 30 років. Деякі операційні системи не просто розподіляють файли один за одним, інші використовують різні методи, щоб запобігти фрагментації, але загалом рано чи пізно через наявні причини з плином часу буде виникати фрагментація на будь-якій системі, на якій файли регулярно видаляються чи змінюються у розмірі.
Приклад, принципи та чинники фрагментації
Розглянемо наступний сценарій, як показано на рисунку 2.
Новий диск містить 5 збережених файлів A, B, C, D та E, і кожен файл займає 10 блоків пам'яті (тут розмір блоку неважливий). Оскільки вільний простір є неперервним, файли розміщуються один за одним (Приклад (1)).
Якщо видалити файл B, утворюється друга область з 10 блоків вільного простору. Файлова система може дефрагментувати диск одразу після видалення, що призведе до сильного зменшення продуктивності в непередбачувані моменти, але в загальному, там просто залишається порожнє місце, яке позначається доступним для подальшого використання, і заповнюється за потреби (Приклад (2)).
Тепер, коли новий файл потребує 7 блоків пам'яті, він може бути розміщений на місці колишнього файлу B, і ще залишиться 3 порожні блоки після нього (Приклад (3)). Якщо додається новий файл G, який потребує лише 3 блоки пам'яті, він може зайняти місце після F і перед C (Приклад (4)).
Згодом, якщо потрібно збільшити файл F, оскільки простір після нього вже зайнято, існує три можливих варіанти: (1) додати новий блок в іншому місці та зазначити, що F має другу частину; (2) перемістити файли, які заважають розширенню, в інше місце так, щоб F залишився неперервним; або (3) перемістити сам файл F, щоб він залишився неперервним, але більшого розміру. Другий варіант швидше за все є непрактичним через негативний вплив на продуктивність, так само як і третій у випадку дуже великого файлу. Дійсно, третій варіант є неможливим, коли на диску немає неперервної області вільної пам'яті достатньо великої, щоб розмістити новий файл. Отже, загальноприйнято створювати нову частину в іншому місці і прив'язувати її як продовження попереднього файлу (Приклад (5)).
Дані, додані до кінця файлу F, будуть частиною його продовження. Але якщо є так багато даних, що їх не можна помістити після цього продовження, тоді буде створена інша частина і так далі. Зрештою, файлова система буде мати порожні сегменти в багатьох місцях, і деякі файли можуть бути розділені на багато частин. Час доступу до цих файлів (або всіх файлів) може сильно збільшитися.
Підбиваючи підсумок, можна навести чинники, які, як правило, спричиняють фрагментацію або сприяють їй:
- мало вільного місця;
- часте видалення, зменшення чи розширення файлів;
- надмірне використання фрагментованих файлів.
Історична довідка щодо фрагментації
Деякі ранні файлові системи не могли фрагментувати файли. Одним з таких прикладів була файлова система , яка використовувалася на . Через неспроможність розділяти файли на частини деколи з'являлися повідомлення помилки «can't extend» («не можна розширити») і користувач часто не міг зберегти файл, навіть якщо на диску було достатньо вільного простору.
DFS використовувала дуже просту структуру диска, і файли на ньому можна було знайти лише за їхньою довжиною і сектором початку. Це означало, що всі файли повинні були складатися з неперервних блоків і фрагментація не була можливою. За прикладом вище, спроба розширити файл F на кроці 5 не вдалася б на такій системі з повідомленням про помилку розширення. Не зважаючи на те, скільки сумарно вільної пам'яті доступно на диску, цей файл розширити було неможливо.
Стандарти обробки помилок на той час були дуже примітивними і, в будь-якому разі, програми, які ледве вміщалися в обмеженій пам'яті BBC Micro, рідко коли могли собі дозволити марнувати цю пам'ять на спроби елегантної обробки помилок. Замість цього користувач був би переміщений назад у командний рядок з повідомленням про помилку розширення, і всі дані, які потрібно було доповнити до файлу, були би втрачені. Розчарування було б більшим, якщо б користувач заздалегідь перевірив би вільне місце на диску і його було б достатньо. Навіть якщо може бути достатньо вільного простору на диску, той факт, що його не було там де потрібно, не можна було побачити без детального аналізу чисел з дискового каталогу. На додаток до цього, майже всі без винятку користувачі DFS використовували касети для зберігання файлів, на яких не виникала ця помилка. Перехід на дискети був досить дорогим, але він звільнив користувачів від ненадійності і вкрай низької швидкості роботи касетних систем, де оновлення може без попередження привести до втрати даних з їх останніх змін.
Вплив на продуктивність
Цей розділ потребує доповнення. |
Фрагментація файлової системи, за прогнозами, стане більш проблематичною на новіших комп'ютерах через збільшення різниці між швидкістю послідовного доступу і затримкою обертання (і меншого часу пошуку продовження) на жорстких дисках споживчого класу, на яких зазвичай і встановлюють файлові системи. Через це фрагментація — це важлива проблема в дослідженнях та дизайні сучасних файлових систем. Стримування фрагментації залежить не тільки від внутрішнього формату файлової системи на диску, але також значною мірою від її реалізації.
У простих тестах продуктивності файлової системи фактор фрагментації часто опускається через справжнє так зване «старіння» файлової системи, яке складно змоделювати. Швидше за все, для простоти порівняння більшість тестів продуктивності файлової системи часто виконують на порожніх (або мало користованих) файлових системах, і не дивно, що результати можуть сильно відрізнятися в залежності від характеру її використання в реальному житті.
Фрагментація файлової системи має значно менший вплив на продуктивність твердотілих накопичувачів (SSD) через те, що на них немає часу механічного пошуку, як на носіях обертання, хоча додаткові непослідовні операції вводу/виводу впливають на продуктивність системи, і багато архітектур файлових систем споживають додаткові внутрішні ресурси, коли накопичувач фрагментований.
Типи фрагментації
Фрагментація файлової системи може з'являтися на кількох рівнях:
- фрагментація окремих файлів і їхніх метаданих;
- фрагментація вільного простору, яка ускладнює неперервне розміщення нових файлів;
- погіршення знаходження посилань між окремими, але пов'язаними файлами.
Фрагментація файлів
Фрагментація окремих файлів виникає, коли цілий файл розділяється на багато частин (їх називають продовженнями у відповідних файлових системах). Файлові системи для жорстких дисків намагаються зберігати файли неперервно, але це не завжди можливо без значної втрати продуктивності. Знаряддя (утиліти) для перевірки файлової системи та її дефрагментації зазвичай відповідають користувачу про фрагментацію файлів у статистиці «відсотка фрагментації» й, іноді, карти файлової системи.
Фрагментація вільного простору
Фрагментація вільного (невиділеного) простору виникає, коли є кілька невикористаних областей файлової системи, де можуть бути записані файли або метадані. Небажані вільні області зазвичай утворюються під час видалення або зменшення файлів, але файлова система також може навмисно вставляти порожні фрагменти («бульбашки») для того, щоб полегшити розширення сусідніх файлів (див. запобігання фрагментації нижче).
Розсіювання файлів
Сегментація файлів, яку також називають фрагментацією пов'язаних файлів або фрагментацією рівня програми, — ускладнення пошуку посилань на носії між пов'язаними файлами. На відміну від двох попередніх типів фрагментації, розсіювання файлів — це менш чітке поняття, оскільки воно сильно залежить від характеру доступу до файлів конкретної програми. Це також робить об'єктивне і навіть приблизне оцінювання дуже складним. Проте, можливо, це найважливіший тип фрагментації, оскільки, як показали дослідження, найчастіше використовувані файли, як правило, малого розміру, порівняно з доступною пропускною здатністю диска.
Для запобігання фрагментації пов'язаних файлів і покращення пошуку за посиланням (у цьому випадку близькість файлів) потрібно робити припущення й експерименти щодо поведінки програм на окремо взятій файловій системі. Досить часто припускають, що виправдано тримати малі файли в одному каталозі разом і розмістити їх у природний для файлової системи спосіб. У той час, як це припущення часто справджується, воно не завжди має місце. Наприклад, програма може зчитувати кілька різних файлів, можливо в різних каталогах, в тому ж порядку, в якому вони були записані. Отже, файлова система, яка просто записує всі файли послідовно, може працювати швидше для даної програми.
Методи пом'якшення фрагментації
Маючи кілька методів позбуття фрагментації, зазвичай, виділяють дві категорії: примітивні та методи зворотної сили. Але через складність передбачення характеру доступу до файлів ці алгоритми часто мають евристичну природу і можуть погіршувати продуктивність при несподіваних навантаженнях.
Запобігання фрагментації
Примітивні методи намагаються тримати фрагментацію на мінімумі під час запису даних на диск. Найпростіше — додавати дані до існуючих фрагментів, де це можливо, замість виділення нових блоків для нових фрагментів.
Більшість сучасних операційних систем намагаються наперед виділити більші шматки або шматки з різних фрагментів вільного простору — продовження файлів, які часто доповнюються. Це переважно запобігає фрагментації, коли кілька файлів одночасно доповнюються, таким чином запобігаючи їх сильному переплетенню.
Якщо відомий кінцевий розмір потрібного файлу, можна наперед виділити пам'ять під цілий файл. Наприклад, файл підкачки Microsoft Windows може динамічно змінювати розмір, і тому може виявитися сильно фрагментованим. Цьому можна запобігти вказуючи однаковий мінімальний і максимальний розмір файлу підкачки і наперед ефективно виділити пам'ять під весь файл.
BitTorrent та інші peer-to-peer програми спільного використання файлів обмежують фрагментацію, наперед виділяючи пам'ять під цілий файл, коли починається його завантаження.
Відносно новим методом є відкладене виділення пам'яті у XFS, HFS+ and ZFS; такий же метод називається allocate-on-flush на reiser4 і ext4. Коли виконується запис, резервуються блоки файлової системи, але самі файли ще не записуються. Пізніше, коли файлова система змушена зберігати зміни як наслідок тиску пам'яті чи проведення транзакції, розподілювач матиме більше інформації про характеристики файлів. Більшість файлових систем, які використовують цей підхід, намагаються неперервно записати файли в одній папці. Вважаючи, що читання з одної папки є загальновживаним, пошук посилань покращується. Reiser4 також пропонує розміщувати файли у папці відповідно до хеш-таблиці папки, так що коли отримується доступ до файлів, у природному для файлової системи порядку (як записано у readdir), вони завжди зчитуються послідовно.
Дефрагментація
Дефрагментацією є метод зворотної дії, що намагається зменшити фрагментацію, або негативні ефекти від фрагментації, після того, як вона вже виникла. Багато файлових/операційних систем надають інструменти для дефрагментації, які намагаються перевпорядкувати фрагменти файлів, і деколи зменшити їх розсіяність (тобто покращити їхню суміжність) зберігаючи або малі файли в папках чи дереві каталогів, або навіть послідовності файлів близько один біля одного на диску.
Приклади «автодефрагментації» серед файлових систем
Цей розділ потребує доповнення. |
Файлова система постійно дефрагментує файли менші 20 MiB і розділені на 8 або більше фрагментів, коли файл відкривається.
Застаріла на сьогодні файлова система Commodore Amiga Smart File System (SFS) дефрагментувала себе, коли використовувалася. Процес дефрагментації має практично незалежні кроки (крім місця, над яким він працює), тому він може бути миттєво зупинений чи початий. Протягом дефрагментації цілісність даних не порушується як для звичайних так і для метаданих.
Див. також
Примітки
- Деякі файлові системи, такі як NTFS або ext2+, можуть під час ініціалізації виділяти довгі порожні регіони для спеціальних потреб.
- The practice of leaving the space occupied by deleted files largely undisturbed is why undelete programs were able to work; they simply recovered the file whose name had been deleted from the directory, but whose contents were still on disk.
- http://www.8bs.com/hints/083.txt - Description of the can't extend error
- http://8bs.com/mag/1to4/basegd1.txt - Possible data loss caused by the can't extend error
- Dr. Mark H. Kryder (3 квітня 2006). (PDF). Storage Networking World conference. Seagate Technology. Архів оригіналу (PDF) за 17 липня 2006. Процитовано 14 грудня 2006.
- L. W. McVoy, S. R. Kleiman (Winter 1991). . Proceedings of winter '91. Dallas, Texas: Sun Microsystems, Inc. с. pages 33–43. Архів оригіналу (PostScript) за 21 лютого 2007. Процитовано 14 грудня 2006.
{{}}
:|pages=
має зайвий текст () - Keith Arnold Smith (January 2001). (PDF). Harvard University. Архів оригіналу (PDF) за 17 листопада 2004. Процитовано 14 грудня 2006.
- John R. Douceur, William J. Bolosky (June 1999). A Large-Scale Study of File-System Contents. Performance Evaluation Review. Microsoft Research. 27 (1): 59—70. doi:10.1145/301453.301480.
- Jeff Layton (29 березня 2009). . . Архів оригіналу за 27 травня 2015. Процитовано 27 травня 2015.
- Amit Singh (May 2004). . Mac OS X Internals. Архів оригіналу за 18 листопада 2012. Процитовано 27 травня 2015.
- Adam Sweeney, Doug Doucette, Wei Hu, Curtis Anderson, Mike Nishimoto, Geoff Peck (January 1996). (PDF). Proceedings of the USENIX 1996 Annual Technical Conference. San Diego, California: Silicon Graphics. Архів оригіналу (PDF) за 18 березня 2007. Процитовано 14 грудня 2006.
- Hans Reiser (6 лютого 2006). . A lecture given by the author, Hans Reiser. Архів оригіналу (Google Video) за 19 травня 2011. Процитовано 14 грудня 2006.
- Amit Singh (19 червня 2006). The HFS Plus File System. Mac OS X Internals: A Systems Approach. Addison Wesley. ISBN .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Fragmenta ciya fa jlovoyi siste mi starinnya fajlovoyi sistemi ce nespromozhnist fajlovoyi sistemi rozmistiti pov yazani dani poslidovno neperervno yavishe pritamanne fajlovim sistemam sho dozvolyayut pryamu modifikaciyu danih Ye osoblivim vipadkom fragmentaciyi danih Risunok 1 Vizualizaciya fragmentaciyi a potim defragmentaciyi U mehanichnih diskovih nakopichuvachah fragmentaciya fajlovoyi sistemi zbilshuye kilkist peremishen golovki zchituvannya danih sho v svoyu chergu zmenshuye propusknu zdatnist Shob pozbutisya isnuyuchoyi fragmentaciyi potribno peremistiti fajli v sumizhni oblasti okremo vid vilnogo prostoru Cej proces nazivayetsya defragmentaciyeyu i vikonuyetsya specialnimi utilitami sho chasto vhodyat do skladu operacijnoyi sistemi Isnuye bagato algoritmiv i pravil defragmentaciyi Prichini ta osoblivostiKoli fajlova sistema vpershe inicializovana na disku deyakij rozdil formatovanij vikoristovuyuchi cyu fajlovu sistemu cej rozdil mistit lishe kilka nevelikih vnutrishnih struktur abo inshimi slovami ye neperervnim blokom vilnogo prostoru z tochki zoru fajlovoyi sistemi Ce oznachaye sho algoritm rozpodilu danih mozhe rozmistiti novostvoreni fajli bud de na disku Protyagom deyakogo chasu pislya stvorennya fajli u fajlovij sistemi mozhut rozmishuvatisya majzhe optimalno Koli vstanovlyuyetsya operacijna sistema ta programi abo rozpakovuyutsya inshi arhivi poslidovne rozmishennya fajliv oznachaye sho pov yazani fajli najbilsh imovirno budut rozmisheni blizko odin bilya odnogo Prote shojno isnuyuchi fajli vidalyayutsya abo zmenshuyutsya v rozmiri utvoryuyutsya novi oblasti vilnogo prostoru Koli zh fajli dopovnyuyutsya chasto nemozhlivo prodovzhiti zapis z miscya de fajl zavershivsya bo tam mozhut vzhe buti rozmisheni inshi fajli tomu potribno stvoriti novij fragment Z plinom chasu cherez ci faktori vilnij prostir razom iz fajlami yaki chasto dopovnyuyutsya yak pravilo fragmentuyetsya vse bilshe i bilshe Isnuvannya korotkih vilnih oblastej oznachaye takozh sho fajlova sistema bilshe ne spromozhna rozmistiti novi bilsh mensh veliki fajli neperervno i povinna rozdilyati yih na fragmenti Osoblivo ce spravdzhuyetsya koli fajlova sistema bilsh zapovnena chim bilsha dovzhina vilnih oblastej tim mensha imovirnist yihnoyi poyavi Potribno zaznachiti sho skazane ye sproshenim podannyam dosit skladnoyi temi Metod yakij bude tut poyasneno buv zagalnoprijnyatim pri rozpodili fajliv na disku ta inshih nosiyah z dovilnim dostupom do pam yati protyagom bilsh nizh 30 rokiv Deyaki operacijni sistemi ne prosto rozpodilyayut fajli odin za odnim inshi vikoristovuyut rizni metodi shob zapobigti fragmentaciyi ale zagalom rano chi pizno cherez nayavni prichini z plinom chasu bude vinikati fragmentaciya na bud yakij sistemi na yakij fajli regulyarno vidalyayutsya chi zminyuyutsya u rozmiri Priklad principi ta chinniki fragmentaciyi Rozglyanemo nastupnij scenarij yak pokazano na risunku 2 Risunok 2 Sproshenij priklad togo yak vidbuvayetsya fragmentaciya vilnogo prostoru ta fragmentaciya fajliv Novij disk mistit 5 zberezhenih fajliv A B C D ta E i kozhen fajl zajmaye 10 blokiv pam yati tut rozmir bloku nevazhlivij Oskilki vilnij prostir ye neperervnim fajli rozmishuyutsya odin za odnim Priklad 1 Yaksho vidaliti fajl B utvoryuyetsya druga oblast z 10 blokiv vilnogo prostoru Fajlova sistema mozhe defragmentuvati disk odrazu pislya vidalennya sho prizvede do silnogo zmenshennya produktivnosti v neperedbachuvani momenti ale v zagalnomu tam prosto zalishayetsya porozhnye misce yake poznachayetsya dostupnim dlya podalshogo vikoristannya i zapovnyuyetsya za potrebi Priklad 2 Teper koli novij fajl potrebuye 7 blokiv pam yati vin mozhe buti rozmishenij na misci kolishnogo fajlu B i she zalishitsya 3 porozhni bloki pislya nogo Priklad 3 Yaksho dodayetsya novij fajl G yakij potrebuye lishe 3 bloki pam yati vin mozhe zajnyati misce pislya F i pered C Priklad 4 Zgodom yaksho potribno zbilshiti fajl F oskilki prostir pislya nogo vzhe zajnyato isnuye tri mozhlivih varianti 1 dodati novij blok v inshomu misci ta zaznachiti sho F maye drugu chastinu 2 peremistiti fajli yaki zavazhayut rozshirennyu v inshe misce tak shob F zalishivsya neperervnim abo 3 peremistiti sam fajl F shob vin zalishivsya neperervnim ale bilshogo rozmiru Drugij variant shvidshe za vse ye nepraktichnim cherez negativnij vpliv na produktivnist tak samo yak i tretij u vipadku duzhe velikogo fajlu Dijsno tretij variant ye nemozhlivim koli na disku nemaye neperervnoyi oblasti vilnoyi pam yati dostatno velikoyi shob rozmistiti novij fajl Otzhe zagalnoprijnyato stvoryuvati novu chastinu v inshomu misci i priv yazuvati yiyi yak prodovzhennya poperednogo fajlu Priklad 5 Dani dodani do kincya fajlu F budut chastinoyu jogo prodovzhennya Ale yaksho ye tak bagato danih sho yih ne mozhna pomistiti pislya cogo prodovzhennya todi bude stvorena insha chastina i tak dali Zreshtoyu fajlova sistema bude mati porozhni segmenti v bagatoh miscyah i deyaki fajli mozhut buti rozdileni na bagato chastin Chas dostupu do cih fajliv abo vsih fajliv mozhe silno zbilshitisya Pidbivayuchi pidsumok mozhna navesti chinniki yaki yak pravilo sprichinyayut fragmentaciyu abo spriyayut yij malo vilnogo miscya chaste vidalennya zmenshennya chi rozshirennya fajliv nadmirne vikoristannya fragmentovanih fajliv Istorichna dovidka shodo fragmentaciyiDeyaki ranni fajlovi sistemi ne mogli fragmentuvati fajli Odnim z takih prikladiv bula fajlova sistema yaka vikoristovuvalasya na Cherez nespromozhnist rozdilyati fajli na chastini dekoli z yavlyalisya povidomlennya pomilki can t extend ne mozhna rozshiriti i koristuvach chasto ne mig zberegti fajl navit yaksho na disku bulo dostatno vilnogo prostoru DFS vikoristovuvala duzhe prostu strukturu diska i fajli na nomu mozhna bulo znajti lishe za yihnoyu dovzhinoyu i sektorom pochatku Ce oznachalo sho vsi fajli povinni buli skladatisya z neperervnih blokiv i fragmentaciya ne bula mozhlivoyu Za prikladom vishe sproba rozshiriti fajl F na kroci 5 ne vdalasya b na takij sistemi z povidomlennyam pro pomilku rozshirennya Ne zvazhayuchi na te skilki sumarno vilnoyi pam yati dostupno na disku cej fajl rozshiriti bulo nemozhlivo Standarti obrobki pomilok na toj chas buli duzhe primitivnimi i v bud yakomu razi programi yaki ledve vmishalisya v obmezhenij pam yati BBC Micro ridko koli mogli sobi dozvoliti marnuvati cyu pam yat na sprobi elegantnoyi obrobki pomilok Zamist cogo koristuvach buv bi peremishenij nazad u komandnij ryadok z povidomlennyam pro pomilku rozshirennya i vsi dani yaki potribno bulo dopovniti do fajlu buli bi vtracheni Rozcharuvannya bulo b bilshim yaksho b koristuvach zazdalegid pereviriv bi vilne misce na disku i jogo bulo b dostatno Navit yaksho mozhe buti dostatno vilnogo prostoru na disku toj fakt sho jogo ne bulo tam de potribno ne mozhna bulo pobachiti bez detalnogo analizu chisel z diskovogo katalogu Na dodatok do cogo majzhe vsi bez vinyatku koristuvachi DFS vikoristovuvali kaseti dlya zberigannya fajliv na yakih ne vinikala cya pomilka Perehid na disketi buv dosit dorogim ale vin zvilniv koristuvachiv vid nenadijnosti i vkraj nizkoyi shvidkosti roboti kasetnih sistem de onovlennya mozhe bez poperedzhennya privesti do vtrati danih z yih ostannih zmin Vpliv na produktivnistCej rozdil potrebuye dopovnennya Fragmentaciya fajlovoyi sistemi za prognozami stane bilsh problematichnoyu na novishih komp yuterah cherez zbilshennya riznici mizh shvidkistyu poslidovnogo dostupu i zatrimkoyu obertannya i menshogo chasu poshuku prodovzhennya na zhorstkih diskah spozhivchogo klasu na yakih zazvichaj i vstanovlyuyut fajlovi sistemi Cherez ce fragmentaciya ce vazhliva problema v doslidzhennyah ta dizajni suchasnih fajlovih sistem Strimuvannya fragmentaciyi zalezhit ne tilki vid vnutrishnogo formatu fajlovoyi sistemi na disku ale takozh znachnoyu miroyu vid yiyi realizaciyi U prostih testah produktivnosti fajlovoyi sistemi faktor fragmentaciyi chasto opuskayetsya cherez spravzhnye tak zvane starinnya fajlovoyi sistemi yake skladno zmodelyuvati Shvidshe za vse dlya prostoti porivnyannya bilshist testiv produktivnosti fajlovoyi sistemi chasto vikonuyut na porozhnih abo malo koristovanih fajlovih sistemah i ne divno sho rezultati mozhut silno vidriznyatisya v zalezhnosti vid harakteru yiyi vikoristannya v realnomu zhitti Fragmentaciya fajlovoyi sistemi maye znachno menshij vpliv na produktivnist tverdotilih nakopichuvachiv SSD cherez te sho na nih nemaye chasu mehanichnogo poshuku yak na nosiyah obertannya hocha dodatkovi neposlidovni operaciyi vvodu vivodu vplivayut na produktivnist sistemi i bagato arhitektur fajlovih sistem spozhivayut dodatkovi vnutrishni resursi koli nakopichuvach fragmentovanij Tipi fragmentaciyiFragmentaciya fajlovoyi sistemi mozhe z yavlyatisya na kilkoh rivnyah fragmentaciya okremih fajliv i yihnih metadanih fragmentaciya vilnogo prostoru yaka uskladnyuye neperervne rozmishennya novih fajliv pogirshennya znahodzhennya posilan mizh okremimi ale pov yazanimi fajlami Fragmentaciya fajliv Fragmentaciya okremih fajliv vinikaye koli cilij fajl rozdilyayetsya na bagato chastin yih nazivayut prodovzhennyami u vidpovidnih fajlovih sistemah Fajlovi sistemi dlya zhorstkih diskiv namagayutsya zberigati fajli neperervno ale ce ne zavzhdi mozhlivo bez znachnoyi vtrati produktivnosti Znaryaddya utiliti dlya perevirki fajlovoyi sistemi ta yiyi defragmentaciyi zazvichaj vidpovidayut koristuvachu pro fragmentaciyu fajliv u statistici vidsotka fragmentaciyi j inodi karti fajlovoyi sistemi Fragmentaciya vilnogo prostoru Fragmentaciya vilnogo nevidilenogo prostoru vinikaye koli ye kilka nevikoristanih oblastej fajlovoyi sistemi de mozhut buti zapisani fajli abo metadani Nebazhani vilni oblasti zazvichaj utvoryuyutsya pid chas vidalennya abo zmenshennya fajliv ale fajlova sistema takozh mozhe navmisno vstavlyati porozhni fragmenti bulbashki dlya togo shob polegshiti rozshirennya susidnih fajliv div zapobigannya fragmentaciyi nizhche Rozsiyuvannya fajliv Segmentaciya fajliv yaku takozh nazivayut fragmentaciyeyu pov yazanih fajliv abo fragmentaciyeyu rivnya programi uskladnennya poshuku posilan na nosiyi mizh pov yazanimi fajlami Na vidminu vid dvoh poperednih tipiv fragmentaciyi rozsiyuvannya fajliv ce mensh chitke ponyattya oskilki vono silno zalezhit vid harakteru dostupu do fajliv konkretnoyi programi Ce takozh robit ob yektivne i navit priblizne ocinyuvannya duzhe skladnim Prote mozhlivo ce najvazhlivishij tip fragmentaciyi oskilki yak pokazali doslidzhennya najchastishe vikoristovuvani fajli yak pravilo malogo rozmiru porivnyano z dostupnoyu propusknoyu zdatnistyu diska Dlya zapobigannya fragmentaciyi pov yazanih fajliv i pokrashennya poshuku za posilannyam u comu vipadku blizkist fajliv potribno robiti pripushennya j eksperimenti shodo povedinki program na okremo vzyatij fajlovij sistemi Dosit chasto pripuskayut sho vipravdano trimati mali fajli v odnomu katalozi razom i rozmistiti yih u prirodnij dlya fajlovoyi sistemi sposib U toj chas yak ce pripushennya chasto spravdzhuyetsya vono ne zavzhdi maye misce Napriklad programa mozhe zchituvati kilka riznih fajliv mozhlivo v riznih katalogah v tomu zh poryadku v yakomu voni buli zapisani Otzhe fajlova sistema yaka prosto zapisuye vsi fajli poslidovno mozhe pracyuvati shvidshe dlya danoyi programi Metodi pom yakshennya fragmentaciyiMayuchi kilka metodiv pozbuttya fragmentaciyi zazvichaj vidilyayut dvi kategoriyi primitivni ta metodi zvorotnoyi sili Ale cherez skladnist peredbachennya harakteru dostupu do fajliv ci algoritmi chasto mayut evristichnu prirodu i mozhut pogirshuvati produktivnist pri nespodivanih navantazhennyah Zapobigannya fragmentaciyi Primitivni metodi namagayutsya trimati fragmentaciyu na minimumi pid chas zapisu danih na disk Najprostishe dodavati dani do isnuyuchih fragmentiv de ce mozhlivo zamist vidilennya novih blokiv dlya novih fragmentiv Bilshist suchasnih operacijnih sistem namagayutsya napered vidiliti bilshi shmatki abo shmatki z riznih fragmentiv vilnogo prostoru prodovzhennya fajliv yaki chasto dopovnyuyutsya Ce perevazhno zapobigaye fragmentaciyi koli kilka fajliv odnochasno dopovnyuyutsya takim chinom zapobigayuchi yih silnomu perepletennyu Yaksho vidomij kincevij rozmir potribnogo fajlu mozhna napered vidiliti pam yat pid cilij fajl Napriklad fajl pidkachki Microsoft Windows mozhe dinamichno zminyuvati rozmir i tomu mozhe viyavitisya silno fragmentovanim Comu mozhna zapobigti vkazuyuchi odnakovij minimalnij i maksimalnij rozmir fajlu pidkachki i napered efektivno vidiliti pam yat pid ves fajl BitTorrent ta inshi peer to peer programi spilnogo vikoristannya fajliv obmezhuyut fragmentaciyu napered vidilyayuchi pam yat pid cilij fajl koli pochinayetsya jogo zavantazhennya Vidnosno novim metodom ye vidkladene vidilennya pam yati u XFS HFS and ZFS takij zhe metod nazivayetsya allocate on flush na reiser4 i ext4 Koli vikonuyetsya zapis rezervuyutsya bloki fajlovoyi sistemi ale sami fajli she ne zapisuyutsya Piznishe koli fajlova sistema zmushena zberigati zmini yak naslidok tisku pam yati chi provedennya tranzakciyi rozpodilyuvach matime bilshe informaciyi pro harakteristiki fajliv Bilshist fajlovih sistem yaki vikoristovuyut cej pidhid namagayutsya neperervno zapisati fajli v odnij papci Vvazhayuchi sho chitannya z odnoyi papki ye zagalnovzhivanim poshuk posilan pokrashuyetsya Reiser4 takozh proponuye rozmishuvati fajli u papci vidpovidno do hesh tablici papki tak sho koli otrimuyetsya dostup do fajliv u prirodnomu dlya fajlovoyi sistemi poryadku yak zapisano u readdir voni zavzhdi zchituyutsya poslidovno Defragmentaciya Defragmentaciyeyu ye metod zvorotnoyi diyi sho namagayetsya zmenshiti fragmentaciyu abo negativni efekti vid fragmentaciyi pislya togo yak vona vzhe vinikla Bagato fajlovih operacijnih sistem nadayut instrumenti dlya defragmentaciyi yaki namagayutsya perevporyadkuvati fragmenti fajliv i dekoli zmenshiti yih rozsiyanist tobto pokrashiti yihnyu sumizhnist zberigayuchi abo mali fajli v papkah chi derevi katalogiv abo navit poslidovnosti fajliv blizko odin bilya odnogo na disku Prikladi avtodefragmentaciyi sered fajlovih sistem Cej rozdil potrebuye dopovnennya Fajlova sistema postijno defragmentuye fajli menshi 20 MiB i rozdileni na 8 abo bilshe fragmentiv koli fajl vidkrivayetsya Zastarila na sogodni fajlova sistema Commodore Amiga Smart File System SFS defragmentuvala sebe koli vikoristovuvalasya Proces defragmentaciyi maye praktichno nezalezhni kroki krim miscya nad yakim vin pracyuye tomu vin mozhe buti mittyevo zupinenij chi pochatij Protyagom defragmentaciyi cilisnist danih ne porushuyetsya yak dlya zvichajnih tak i dlya metadanih Div takozhNosij danih Fajlova sistema Merezha zberigannya danih Fragmentaciya i defragmentaciyaPrimitkiDeyaki fajlovi sistemi taki yak NTFS abo ext2 mozhut pid chas inicializaciyi vidilyati dovgi porozhni regioni dlya specialnih potreb The practice of leaving the space occupied by deleted files largely undisturbed is why undelete programs were able to work they simply recovered the file whose name had been deleted from the directory but whose contents were still on disk http www 8bs com hints 083 txt Description of the can t extend error http 8bs com mag 1to4 basegd1 txt Possible data loss caused by the can t extend error Dr Mark H Kryder 3 kvitnya 2006 PDF Storage Networking World conference Seagate Technology Arhiv originalu PDF za 17 lipnya 2006 Procitovano 14 grudnya 2006 L W McVoy S R Kleiman Winter 1991 Proceedings of winter 91 Dallas Texas Sun Microsystems Inc s pages 33 43 Arhiv originalu PostScript za 21 lyutogo 2007 Procitovano 14 grudnya 2006 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite conference title Shablon Cite conference cite conference a pages maye zajvij tekst dovidka Keith Arnold Smith January 2001 PDF Harvard University Arhiv originalu PDF za 17 listopada 2004 Procitovano 14 grudnya 2006 John R Douceur William J Bolosky June 1999 A Large Scale Study of File System Contents Performance Evaluation Review Microsoft Research 27 1 59 70 doi 10 1145 301453 301480 Jeff Layton 29 bereznya 2009 Arhiv originalu za 27 travnya 2015 Procitovano 27 travnya 2015 Amit Singh May 2004 Mac OS X Internals Arhiv originalu za 18 listopada 2012 Procitovano 27 travnya 2015 Adam Sweeney Doug Doucette Wei Hu Curtis Anderson Mike Nishimoto Geoff Peck January 1996 PDF Proceedings of the USENIX 1996 Annual Technical Conference San Diego California Silicon Graphics Arhiv originalu PDF za 18 bereznya 2007 Procitovano 14 grudnya 2006 Hans Reiser 6 lyutogo 2006 A lecture given by the author Hans Reiser Arhiv originalu Google Video za 19 travnya 2011 Procitovano 14 grudnya 2006 Amit Singh 19 chervnya 2006 The HFS Plus File System Mac OS X Internals A Systems Approach Addison Wesley ISBN 0 321 27854 2