У рамках регулярного обслуговування Windows я дефрагментую свій жорсткий диск. Але чому фрагмент жорсткого диска в системах NTFS і FAT *? Очевидно ext * не робить, чому це? Чи варто також дефрагментацію USB-накопичувачів?
У рамках регулярного обслуговування Windows я дефрагментую свій жорсткий диск. Але чому фрагмент жорсткого диска в системах NTFS і FAT *? Очевидно ext * не робить, чому це? Чи варто також дефрагментацію USB-накопичувачів?
Відповіді:
Фрагментація - це не те питання, яке було 30 років тому. Тоді у вас були жорсткі диски, які були дещо швидшими, ніж дискети, і розміри пам'яті процесора, які були незначними. Тепер у вас є дуже швидкі диски та велика пам'ять процесора, а іноді і значна буферизація на жорсткому диску чи в контролері. Плюс розміри сектору збільшилися (або файли виділяються у більші блоки), так що більше даних по суті є суміжними.
Операційні системи також стали розумнішими. Тоді як DOS 1.x отримав би кожен сектор з диска, на який він посилався, сучасна ОС може бачити, що у вас відкритий файл для послідовного доступу, і може обґрунтовано передбачити, що ви будете отримувати додаткові сектори, коли ви будете споживати ті, що у вас зараз. Таким чином, він може «заздалегідь отримати» наступні кілька (десяток) секторів.
І тим більше, що часто краще, щоб файл не був суміжним. У (великій) системі, де файлова система поширюється на декілька дисків, фактично можна отримати доступ до файлу швидше, якщо він також "розповсюджений", оскільки декілька дисків можуть шукати файл одночасно.
Я дефрагментую кожні 2-3 роки, потрібен мій ящик чи ні.
[Я додам, що важливим є не стільки дефрагментація даних на диску, скільки свободне місце. FAT був жахливий у цьому - якщо ви не знешкоджені речі продовжували гірше і гірше, поки не було двох суміжних блоків вільного простору. Більшість інших схем можуть згуртовувати вільний простір та виділяти шматочки дещо «розумним» способом, так що фрагментація досягає певного порогу, а потім стабілізується, а не стає гіршим і гіршим.]
ВСЕ фрагмент файлових систем. ext та інші файлові системи Linux фрагментують менше через те, як вони розроблені - цитувати Вікіпедію щодо Посібника з адміністраторів мережевих мереж Linux :
Сучасна файлова система Linux мінімізує фрагментацію, зберігаючи всі блоки у файлі близько один до одного, навіть якщо вони не можуть зберігатися в послідовних секторах. Деякі файлові системи, наприклад ext3, ефективно виділяють вільний блок, найближчий до інших блоків у файлі. Тому не варто турбуватися про фрагментацію в системі Linux.
Зауважу, хоча у ext4 є дефрагментація в Інтернеті, тому з часом фрагментація є проблемою навіть у файлових системах Linux.
У файлових системах Windows свої кластери розміщені там, де є місце для їх розміщення, і дефрагменти пробігаються та замінюють їх. У Linux файли переважно розміщуються там, де є достатньо місця.
Зауважу, однак, Windows 7 має заплановані запуски дефрагментації, тому не потрібно вручну запускати дефрагментацію.
ext*
не дефрагментується, як йде далі. trac.transmissionbt.com/ticket/849 та h-online.com/open/features/… . ext*
мінімізує фрагментацію, зберігаючи суміжні дані у випадкових місцях на диску. Випадкові зсуви поширюють суміжні файли навколо диска і зменшують потребу в фрагментації файлу.