Перш за все, запис з вікіпедії є досить повним щодо цього.
Я спробую пояснити раціональність, що стоїть за розділенням, окрім аргументів резервного копіювання / організації, які вже надані в інших відповідях, аргументувати, що з точки зору продуктивності, єдиною перевагою при розділенні є мінімізація фрагментації.
ОС повинні робити припущення щодо того, як користувач використовує та зберігає її дані. Проблему можна звести до наступного:
Припустимо, у вас є шматок пам'яті, скажімо, 256B, який ви можете уявити як 256 коробок у послідовності.
|_|_|_|_|...|_|
Тепер ви хочете зберегти 3 файли, один із 64, інший із 64, другий із 128 коробками: чи слід їх виділяти?
1: | 64 | 64 | 128 | or
2: | 64 | 128 | 64 | ?
Це залежить ... від того, які шматки будуть зберігатися тривалий час чи ні, і які найімовірніші шматки будуть збережені після вилучення одного з фрагментів.
Уявіть, що 2 шматки з 64 видаляються з диска, при наступній операції зберігається новий шматок 128. У прикладі 1 ви можете зберігати 128 відразу, але у другому прикладі спочатку потрібно перемістити збережений фрагмент 128 до кордону, і лише після цього ви можете додати новий шматок.
Тепер уявіть це, але з усіма видами різних розмірів, збереженими нетривіальним способом (тобто не всі 4B спочатку, потім усі 8B тощо) на гігантському диску (розмір ГБ). Це, як відомо, є дуже важкою проблемою.
ОС вирішує цю проблему за допомогою евристики. Він не робить оптимальної стратегії, але використовує деякі евристики, щоб розмістити шматки в потрібних місцях. Важливою інформацією є те, наскільки часто розміщуються шматки, які зберігає користувач / ОС, оскільки вони надають деяку апріорну інформацію про наступні фрагменти, звідки ОС може намагатися відгадати.
Розбиття диска ефективно повідомляє ОС, що до цього розділу належить певна область диска. Це означає, що не буде більше однієї послідовності з 256 коробок, а двох послідовностей з 128 коробок (розділи A і B). ОС більше не буде приймати припущення, куди його поставити: ви самі вирішуєте, який корінь у вашому каталозі ви виберете (рукою розмахуючи).
Чому це може покращити продуктивність?
Один типовий приклад - коли у вас є два різних режими поведінки під час використання ОС. Наприклад, різниця між:
- щодня використовуючи ОС, яка має багато запису і стирання в пам'яті, і
- коли ви зберігаєте важкі файли, такі як відео чи альбоми, які ви не сильно змінюєте.
Розбиття файлів може підвищити продуктивність, коли ви використовуєте ОС щодня одним способом, а ви використовуєте інший розділ, щоб просто зберігати важкі файли, які ви змінюєте лише дуже рідко протягом життя ОС.
Оскільки ваша поведінка є послідовною у кожному розділі, ОС, швидше за все, покращить її розподіл, мінімізуючи фрагментацію.
Тепер, чи це стосується нормальних випадків користувачів чи ні, я б сказав «ні», тому що хто розробляє стратегії розподілу, розумні, і евристика продумана для цих випадків.
Для серверів та інших систем це може змінити значення, але перейдіть до цього після профілювання .
EDIT для включення SSD
Я розумію, що ця проблема не залежить від того, говоримо ми про SSD або жорсткі диски. Проблема дуже фундаментальна в тому сенсі, що вона вимагає лише заповнення обмеженого простору предметами непостійного розміру, які постійно додаються та видаляються.