Rodzina systemów plików ext2 / ext3 / ext4 nie wymaga defragmentacji.
Jaki projekt podstawowy pomaga temu systemowi plików nie ulegać fragmentacji?
Rodzina systemów plików ext2 / ext3 / ext4 nie wymaga defragmentacji.
Jaki projekt podstawowy pomaga temu systemowi plików nie ulegać fragmentacji?
Odpowiedzi:
Jednym ze sposobów, w jaki system plików ext4 utrzymuje kontrolę fragmentacji, jest proces opóźnionego przydzielania (domyślny tryb przydzielania ext4).
Opóźniony przydział polega na odłożeniu mapowania nowo zapisanych bloków danych pliku na bloki dyskowe w systemie plików do czasu zapisu.
Działa to poprzez przydzielenie większości bloków do pliku w tym samym czasie, gdy znana jest całkowita liczba bloków (lub przynajmniej boisko) w każdym pliku. Pozwala to alokatorowi bloków ( mballoc
wspomnianemu w odpowiedzi MMK) na lepszą pracę polegającą na znalezieniu odpowiedniej wielkości wolnego miejsca do umieszczenia pliku.
W systemie plików ext3 dla każdego bloku znajduje się alokator bloków dla dysku, więc jest całkiem możliwe, że fragmentacja może wystąpić.
Jednak w systemie plików ext4 istnieje wieloblokowy alokator, który może opóźnić zapisywanie bloków na dysku, dzięki czemu może on przydzielić kilka bloków na raz na jednym fragmencie dysku, aby umożliwić ciągły zapis - i tak dalej, jest mniej prawdopodobne, że fragmentacja może wystąpić (wciąż jest to możliwe, tylko mniej prawdopodobne)
Przynajmniej dla Ext2 (i wydaje mi się, że Ext3, choć jestem mniej pewien), w formacie / strukturze na dysku nie ma nic, co mogłoby zapobiec defragmentacji.
Brak potrzeby defragmentacji pozostanie na poziomie implementacji, który będzie różny w zależności od systemu operacyjnego. Oznacza to, że w zależności od implementacji plik w Ext2 może być fragmentowany.
Jeśli unikniesz fragmentacji, będzie to prawdopodobnie spowodowane opóźnionym przydzielaniem fizycznych bloków. Oznacza to, że na pewnym poziomie implementacji system plików będzie buforować dane (i uzyskiwać do nich dostęp za pomocą logicznego numeru bloku) do czasu zapisania / zatwierdzenia na dysku. Kiedy dane są ostatecznie zapisywane na dysku, należy przypisać bloki fizyczne. Algorytm alokacji może (ale nie musi) przydzielać szereg ciągłych dostępnych fizycznych bloków dla danych.
Mam nadzieję że to pomoże.