Cztery najciekawsze funkcje nowego systemu plików Apple
- Bezpieczne kopiowanie podczas zapisu
- Klonowanie i migawki
- Współdzielenie przestrzeni
- Migracja z HFS +
W ostatnim WWDC Apple wprowadził nowy system plików - Apple File System lub APFS. Chociaż HFS + jest używany we wszystkich produktach Apple (i będzie używany przez co najmniej kolejny rok, wydanie APFS zaplanowano na 2017 r.), Wymagania nowoczesnych systemów plików HFS + nie są spełnione. Ma ponad 30 lat, została stworzona na czasy, kiedy dyskietki i dyski twarde były uważane za ostatnie słowo technologii. Aby korzystać z HFS + w iOS, tvOS i watchOS, Apple musiało dodać całkowicie funkcjonalność innych firm, która nie jest obsługiwana na MacOS: na przykład szyfrowanie dla każdego pojedynczego pliku.
Nowy APFS dodał tak wiele funkcji, że oczy są rozłożone: optymalizacja dla Flasha i SSD, ochrona przed utratą danych w przypadku awaryjnego wyłączenia poprzez zwiększenie liczby operacje atomowe , wbudowana obsługa wielu typów szyfrowania, znacznie skrócony czas reakcji, szybkie oszacowanie rozmiaru plików i folderów - lista jest długa. W tym artykule przyjrzymy się czterem, naszym zdaniem, najciekawszym funkcjom nowego systemu plików.
Bezpieczne kopiowanie podczas zapisu
Na początek będziemy musieli poradzić sobie z kilkoma kluczowymi terminami. Operacje atomowe to operacje wykonywane nierozłącznie w systemie plików lub bazie danych i nie można ich uprościć. Operacja atomowa nie może pozostać niedokończona, jeśli zostanie przerwana. Taka operacja jest wykonywana całkowicie lub wcale. Kompatybilny z POSIX Bezpieczne zapisywanie plików atomowych odbywa się w następujący sposób - kiedy pracujemy z aplikacją i zapisujemy plik, dane z pamięci są usuwane do pliku tymczasowego na dysku. Gdy aplikacja jest przekonana, że dane zostały całkowicie rozładowane i bez błędów, aplikacja żąda zmiany nazwy systemu plików. Operacja zmiany nazwy jest atomowa, będzie całkowicie zakończona lub w ogóle nie zostanie wykonana. Podczas zmiany nazwy następuje: system plików przenosi plik tymczasowy do lokalizacji zapisu (powiedzmy z /var/tmp/Batcave_shopping.pages do ~ fedor / Documents / Batcave_shopping.pages), a następnie usuwa stary plik.
Obrazy tutaj i poniżej: WWDC 2016 - Sesja 701 - Przedstawiamy Apple File System
Co jednak zrobić, jeśli nie zapisujemy pliku, ale folderu lub pakietu (na przykład .rtfd lub .app, także w istocie, folderu)? Załóżmy, że pracujemy z dokumentem ~ fedor / Documents / AlfredHappyBirthday.rtfd. To jest pakiet, mamy w nim tekst i kilka obrazów. Kiedy dokonujemy zmian i zapisujemy je, aplikacja nadpisuje cały Pakiet, a nie tylko zmodyfikowany tekst lub obraz. Wymagania POSIX nie pozwalają na zmianę nazwy folderu gdzieś, gdzie dane są już dostępne, więc musisz uciekać się do sztuczek. Dokument jest przenoszony z ~ fedor / Documents /, zwalniając miejsce, a następnie plik tymczasowy z /var/tmp/AlfredHappyBirthday.rtfd zmienia nazwę na puste miejsce. Taka operacja jest nieatomowa i niebezpieczna. Jeśli wystąpi błąd systemu lub komputer straci zasilanie podczas operacji, dokument zostanie utracony.
Oczywiście takie rozwiązanie jest niepożądane. Dlatego w APFS została wprowadzona nowa, niezgodna z POSIX operacja zapisywania bezpiecznego folderu. Gdy aplikacja żąda zapisania folderu, pliki tymczasowe i trwałe są zamieniane. Jest to wykonywane przez system plików, a taka operacja jest atomowa.
Jest to bezpieczna funkcja Copy-on-write - jedna z najważniejszych innowacji w APFS.
Klonowanie i migawki
Jeśli potrzebujesz kopii pliku lub folderu, kliknij go prawym przyciskiem myszy i wybierz opcję Powiel. W HFS + oznacza to, że system plików odczytuje wszystkie dane, a następnie zapisuje je w wolnym miejscu. Takie podejście nieefektywnie pochłania przestrzeń i na próżno ładuje dysk i procesor. W APFS, gdy duplikujesz dane - poprzez Duplikat lub po prostu ⌘C, ⌘V - system plików kopiuje tylko link do nich (tzw. twarde łącze ), a treść nie jest powielana. Taka operacja nazywa się klonowaniem . Dzięki klonowaniu zduplikowane dane lub folder pojawiają się niemal natychmiast i zajmują niewielką ilość wolnego miejsca. Jeśli wprowadzisz zmiany w oryginale lub klonie, system plików zapisze zmiany i odpowiednio przekieruje łącze, a oryginalna część danych pozostanie nienaruszona. W APFS operacja klonowania jest atomowa.
Migawki to specyficzny obraz woluminu, który przechowuje informacje o danych w tym wolumenie w określonym momencie. Przykładem jest najprostszy sposób zrozumienia zasady jego pracy. Załóżmy, że mamy wolumin (powiedzmy, dysk flash) z dwiema prezentacjami. Tworzymy migawkę tego dysku flash, zawiera on: dwa pliki Joker.key i Riddler.key, pliki należą do następujących bloków danych. Sama migawka nie zawiera danych z dysku flash - tylko to, jakie pliki znajdowały się na nim w momencie wykonania migawki i które bloki należały do nich. Migawka funkcji polega na tym, że zapisane w niej bloki są zamknięte. Nie można ich usunąć, przenieść ani zastąpić. Dlatego na przykład, jeśli dokonamy zmian w Joker.key, a Riddler.key zostanie całkowicie usunięty, oryginalne bloki danych pozostaną nienaruszone. Chociaż to podejście zajmuje dodatkowe wolne miejsce, umożliwia APFS niemal natychmiastowy powrót woluminu w czasie do czasu wykonania jakiejkolwiek migawki.
Współdzielenie przestrzeni
Dzielenie się przestrzenią to kolejna bardzo interesująca funkcja APFS. Jeszcze raz najprostszym sposobem na zrozumienie tego jest przykład. Załóżmy, że masz laptopa, zainstalowany w nim dysk SSD o pojemności 256 GB (może być tak, że faktycznie masz taki laptop) i chcesz na nim zainstalować OS X El Capitan i wersję beta macOS Sierra. Niestety, Apple nie pozwala jeszcze na uruchomienie systemu operacyjnego z woluminu APFS (lub użycie go dla Time Machine), więc musisz utworzyć dwie partycje HFS +. Uruchamiasz Narzędzie dyskowe i stajesz przed dylematem - ile woluminu potrzebują partycje? Możesz po prostu rozbić dysk na pół, ale co jeśli nie masz wystarczająco dużo miejsca na wygodną pracę w El Capitan? Albo, przeciwnie, przesadzisz, a aplikacje, których potrzebujesz w Sierra, nie pasują?
APFS rozwiązuje ten problem dzięki udostępnianiu przestrzeni. Na dysku z woluminami APFS do poziomu tworzony jest kontener zawierający wszystkie woluminy. Mogą swobodnie i dynamicznie zwiększać lub zmniejszać w obrębie takiego kontenera, nie wymagając od użytkownika wyboru, jaka powinna być objętość. Wróćmy do naszego hipotetycznego laptopa. Gdyby zamiast HFS + używać APFS dla obu woluminów, oba systemy operacyjne zgłosiłyby, że 256 GB miejsca jest dostępne dla każdego. W tym przypadku przestrzeń zajmowana przez pliki jednego systemu byłaby niedostępna dla innego. To rozwiązanie znacznie upraszcza pracę z kilkoma tomami i pozwala uzyskać maksymalne korzyści z ich użytkowania bez większych trudności.
Migracja z HFS +
Wreszcie, jak możemy migrować do APFS? Proces przełączania na system plików jest zwykle trudny, długi i nie zawsze bezpieczny. Musisz wykonać kopię zapasową danych na nośniku zewnętrznym, wymazać dysk twardy komputera, zapisać nowy system plików, zainstalować system operacyjny, przywrócić dane z kopii i mieć nadzieję, że nic nie zniknęło z jego miejsca.
Na szczęście Apple zajęło się tym. Inżynierowie firmy wykonali wiele pracy w procesie migracji. Proces składa się prawie wyłącznie z operacji atomowych, ale najważniejsze jest to, że dane w nowym systemie plików są zapisywane tylko w pustym miejscu na woluminie HFS +. Tak więc nawet jeśli coś pójdzie nie tak, nie zaszkodzi to ani twoim danym, ani strukturze istniejącego systemu plików. A według inżynierów Apple cała migracja zajmuje tylko kilka minut.
Tutaj kończymy. Udało nam się mówić tylko o czterech funkcjach, ale w APFS jest ich znacznie więcej. Jeśli chcesz zanurzyć się w szczegóły, oficjalna dokumentacja zawiera wszystkie szczegóły. Nowy system plików, jak wspomniano powyżej, nie może być używany na dysku rozruchowym ani we Time Machine i nie będzie obsługiwany w systemie OS X Yosemite i nowszych. Oficjalne wydanie APFS zaplanowano na 2017 rok.
Uruchamiasz Narzędzie dyskowe i stajesz przed dylematem - ile woluminu potrzebują partycje?Możesz po prostu rozbić dysk na pół, ale co jeśli nie masz wystarczająco dużo miejsca na wygodną pracę w El Capitan?
Albo, przeciwnie, przesadzisz, a aplikacje, których potrzebujesz w Sierra, nie pasują?