Zamknij reklame

Podczas zeszłorocznej światowej konferencji programistów WWDC Apple wprowadził nowy system plików APFS. Z aktualizacją na iOS 10.3 przejdą na niego pierwsze urządzenia z ekosystemu Apple.

System plików to struktura zapewniająca przechowywanie danych na dysku i wszystko z nią współpracujące. Apple obecnie wykorzystuje w tym celu system HFS+, który został wdrożony już w 1998 roku, zastępując HFS (Hierarchical File System) z 1985 roku.

Zatem APFS, czyli Apple File System, ma zastąpić system, który pierwotnie powstał ponad trzydzieści lat temu i ma to zrobić na wszystkich platformach Apple w 2017 roku. Jego rozwój rozpoczął się dopiero niecałe trzy lata temu, ale Firma Apple próbowała zastąpić HFS+ co najmniej od 2006 roku.

Najpierw jednak próby przyjęcia ZFS (Zettabyte File System), prawdopodobnie najbardziej rozpoznawalnego obecnie systemu plików, zakończyły się niepowodzeniem, po czym dwa projekty opracowały własne rozwiązania. APFS ma więc długą historię i wiele oczekiwań. Jednak wielu nadal ma wątpliwości co do ambitnego planu Apple dotyczącego wdrożenia APFS w całym swoim ekosystemie, wskazując na funkcje znane z innych systemów (zwłaszcza ZFS), których w nim brakuje. Ale to, co obiecuje APFS, nadal stanowi znaczący krok naprzód.

APFS

APFS to system przeznaczony do nowoczesnych pamięci masowych – oczywiście zbudowany specjalnie pod sprzęt i oprogramowanie Apple, więc ma dobrze nadawać się do dysków SSD, dużych pojemności i dużych plików. Na przykład natywnie obsługuje TRIM i robi to stale, co utrzymuje wysoką wydajność dysku. Główne funkcje i zalety w porównaniu z HFS+ to: klonowanie, migawki, współdzielenie przestrzeni, szyfrowanie, ochrona przed przełączaniem awaryjnym i szybkie obliczanie używanej/wolnej przestrzeni.

Klonowanie zastępuje klasyczne kopiowanie, gdy na dysku tworzony jest drugi plik z danymi identyczny ze skopiowanym. Zamiast tego klonowanie tworzy jedynie duplikat metadanych (informacji o parametrach pliku), a jeśli jeden z klonów zostanie zmodyfikowany, na dysku zostaną zapisane tylko modyfikacje, a nie cały plik. Zaletami klonowania jest oszczędność miejsca na dysku oraz znacznie szybszy proces tworzenia „kopii” pliku.

Oczywiście proces ten działa tylko w obrębie jednego dysku - w przypadku kopiowania pomiędzy dwoma dyskami, na dysku docelowym musi zostać utworzony pełny duplikat oryginalnego pliku. Możliwą wadą klonów może być obsługa przestrzeni, w przypadku której usunięcie klonu dowolnego dużego pliku prawie nie zwalnia miejsca na dysku.

Migawka to obraz stanu dysku w określonym momencie, który pozwala plikom na dalszą pracę na nim, zachowując jednocześnie ich formę taką, jak w chwili wykonania migawki. Na dysku zapisywane są jedynie zmiany, nie powstają duplikaty danych. Jest to więc metoda tworzenia kopii zapasowych, która jest bardziej niezawodna niż obecnie stosowana metoda Time Machine.

Współdzielenie przestrzeni umożliwia kilka partycje dysku współdzielą tę samą przestrzeń dyskową fizyczną. Na przykład, gdy dysk z systemem plików HFS+ jest podzielony na trzy partycje i na jednej z nich skończy się miejsce (podczas gdy na pozostałych jest wolne miejsce), można po prostu usunąć następną partycję i dołączyć jej miejsce do tej, na której działała Za mało miejsca. AFPS wyświetla całe wolne miejsce na całym dysku fizycznym dla wszystkich partycji.

Oznacza to, że podczas tworzenia partycji nie ma potrzeby szacowania ich wymaganej wielkości, gdyż jest ona całkowicie dynamiczna w zależności od wymaganej ilości wolnego miejsca w danej partycji. Przykładowo mamy dysk o łącznej pojemności 100 GB podzielony na dwie partycje, gdzie jedna zajmuje 10 GB, a druga 20 GB. W takim przypadku obie partycje pokażą 70 GB wolnego miejsca.

Oczywiście szyfrowanie dysku jest już dostępne w HFS+, ale APFS oferuje jego znacznie bardziej złożoną formę. Zamiast dwóch typów (bez szyfrowania i szyfrowania całego dysku za pomocą jednego klucza) za pomocą HFS+, APFS jest w stanie zaszyfrować dysk przy użyciu wielu kluczy dla każdego pliku i osobnego klucza dla metadanych.

Ochrona przed awarią odnosi się do tego, co dzieje się w przypadku awarii podczas zapisu na dysk. W takich przypadkach często dochodzi do utraty danych, zwłaszcza podczas nadpisywania danych, ponieważ zdarzają się momenty, gdy zarówno dane kasowane, jak i zapisywane są w trakcie transmisji i giną po odłączeniu zasilania. APFS pozwala uniknąć tego problemu, stosując metodę kopiowania przy zapisie (COW), w której stare dane nie są bezpośrednio zastępowane nowymi, dzięki czemu nie ma ryzyka ich utraty w przypadku awarii.

Funkcje obecne w innych nowoczesnych systemach plików, których brakuje (obecnie) APFS, obejmują kompresję i złożone sumy kontrolne (duplikaty metadanych w celu sprawdzenia integralności oryginału - APFS to robi, ale nie dla danych użytkownika). W APFS brakuje także redundancji danych (duplikatów) (patrz klonowanie), co pozwala zaoszczędzić miejsce na dysku, ale uniemożliwia naprawę danych w przypadku ich uszkodzenia. W związku z tym mówi się, że Apple odwołuje się do jakości pamięci masowej instalowanej w swoich produktach.

Użytkownicy po raz pierwszy zobaczą APFS na urządzeniach z iOS, już podczas aktualizacji do iOS 10.3. Kolejny dokładny plan nie jest jeszcze znany, poza tym, że w 2018 roku cały ekosystem Apple’a powinien działać na APFS, czyli urządzeniach z iOS, watchOS, tvOS i macOS. Nowy system plików powinien być szybszy, bardziej niezawodny i bezpieczniejszy dzięki optymalizacji.

Źródła: Apple, DTrace (2)
.