Po pierwsze, wpis w Wikipedii jest pod tym względem dość kompletny.
Spróbuję wyjaśnić uzasadnienie podziału na partycje oprócz argumentów dotyczących tworzenia kopii zapasowych / organizacji podanych już w innych odpowiedziach, aby argumentować, że z punktu widzenia wydajności jedyną zaletą partycjonowania jest minimalizacja fragmentacji.
Systemy operacyjne muszą przyjmować założenia, w jaki sposób użytkownik wykorzystuje i przechowuje swoje dane. Problem można sprowadzić do następujących kwestii:
Załóżmy, że masz fragment pamięci, powiedzmy 256B, który możesz sobie wyobrazić jako 256 pól w sekwencji.
|_|_|_|_|...|_|
Teraz chcesz przechowywać 3 pliki, jeden z 64, drugi z 64, inny ze 128 skrzynkami: czy powinieneś je przydzielić?
1: | 64 | 64 | 128 | or
2: | 64 | 128 | 64 | ?
To zależy ... od tego, które fragmenty będą przechowywane przez długi czas, i jakie najbardziej prawdopodobne fragmenty zostaną zapisane po usunięciu jednego z nich.
Wyobraź sobie, że 2 fragmenty 64 są usuwane z dysku w następnej operacji zapisywany jest nowy fragment 128. W przykładzie 1 możesz od razu zapisać 128, ale w drugim przykładzie najpierw musisz przenieść zapisaną porcję 128 do granicy, a dopiero potem możesz dodać nową porcję.
Teraz wyobraź sobie to, ale z wszelkiego rodzaju różnymi rozmiarami, zapisanymi w nie-trywialny sposób (tj. Nie wszystkie najpierw 4B, potem wszystkie 8B itp.) Na gigantycznym dysku (rozmiar GB). Jest to znany jako bardzo trudny problem.
System operacyjny rozwiązuje ten problem za pomocą heurystyki. Nie tworzy optymalnej strategii, ale wykorzystuje heurystykę, aby umieścić porcje we właściwych miejscach. Jedną ważną informacją jest to, jak często fragmenty są zapisywane przez użytkownika / system operacyjny, ponieważ zapewnia pewne informacje a priori na temat kolejnych fragmentów, z których system operacyjny może zgadywać.
Partycjonowanie dysku skutecznie informuje system operacyjny, że określony region dysku należy do tej partycji. Oznacza to, że nie będzie już jednej sekwencji 256 pól, ale dwie sekwencje po 128 pól (strefa A i B). System operacyjny nie będzie już zakładał, gdzie go umieścić: to Ty decydujesz, który katalog główny wybierzesz (mówienie machając ręką).
Dlaczego może poprawić wydajność?
Jednym z typowych przykładów są dwa różne zachowania podczas korzystania z systemu operacyjnego. Na przykład różnica między:
- używając systemu operacyjnego codziennie, który ma dużo zapisu i wymazywania w pamięci, oraz
- gdy przechowujesz ciężkie pliki, takie jak filmy lub albumy, których nie zmieniasz bardzo.
Partycjonowanie może poprawić wydajność, jeśli używasz systemu operacyjnego codziennie w jeden sposób, a drugiej partycji używasz tylko do przechowywania ciężkich plików, które zmieniasz bardzo rzadko podczas życia systemu operacyjnego.
Ponieważ Twoje zachowanie jest spójne w obrębie każdej partycji, system operacyjny prawdopodobnie poprawi alokację, minimalizując w ten sposób fragmentację.
Teraz, niezależnie od tego, czy jest to istotne czy nie w przypadku zwykłych przypadków użytkowników, powiedziałbym „nie”, ponieważ kto opracowuje strategie alokacji, jest inteligentny, a heurystyka jest rozważana w tych przypadkach.
W przypadku serwerów i innych systemów może to mieć znaczenie, ale skorzystaj z niego po profilowaniu .
EDYCJA w celu włączenia SSD
Rozumiem, że ten problem jest niezależny od tego, czy mówimy o dyskach SSD, czy dyskach twardych. Problem jest bardzo podstawowy w tym sensie, że wymaga jedynie wypełnienia skończonej przestrzeni elementami o stałej wielkości, które są ciągle dodawane i usuwane.