Apple File System (APFS)
64-Bit-Inodes, atomare Transaktionen, Zeitstempel in Nanosekunden, Klonen von Verzeichnissen, integrierte Verschlüsselung
Bei der gestrigen WWDC 2016-Präsentation zeigte Apple neue Versionen von macOS (Sierra) 10.12, iOS 10, tvOS 10, watchOS 3-Betriebssystemen, eine Swift Playgrounds-App zum Unterrichten von Kinderprogrammierung und neue Emojis.Es scheint nichts interessantes. Apple hat jedoch noch etwas Grundlegendes eingeführt. Die bedeutendste Entwicklung von allen, die in der Präsentation erwähnt wurde, ist das Dateisystem der neuen Generation Apple File System (APFS) im Betriebssystem macOS (Sierra) 10.12.Auf der Website für Entwickler wurde kurz nach der Präsentation eine Dokumentation mit den Hauptmerkmalen und einer Beschreibung des Dateisystems veröffentlicht, die die einzelnen Funktionen des leistungsstarken kostenlosen ZFS-Dateisystems wiederholt.Apple-Computer verwenden jetzt das HFS + -Dateisystem, eine erweiterte Version des HFS (Hierarchical File System, erstellt vor über 30 Jahren). Wie sein Vorgänger verwendet HFS + eine Baumstruktur namens B * -Baum, um die meisten Metadaten zu speichern. Daher der Name "hierarchisches Dateisystem".Die offizielle Einführung von HFS + erfolgte am 19. Januar 1998 zusammen mit MacOS 8.1. Seit 2002 implementiert das System Journaling, um die Zuverlässigkeit der Informationsspeicherung zu erhöhen. Da OS X 10.3 die Protokollierung standardmäßig aktiviert ist, kann jetzt zwischen Groß- und Kleinschreibung unterschieden werden.Bis OS X 10.7 haben die Entwickler HFS + weiterentwickelt und neue Funktionen für OS X auf Dateisystemebene implementiert. Fakt bleibt jedoch: HFS wurde ursprünglich während Disketten und rotierenden Festplatten entwickelt, als die Dateigröße in Kilobyte oder Megabyte gemessen wurde. Heutzutage arbeiten viele mit SSD-Laufwerken, auf denen Millionen von Dateien gespeichert sind - Gigabyte oder Terabyte an Daten. Das Dateisystem hat völlig andere Anforderungen. Anstatt den alten Code fertigzustellen, beschloss Apple schließlich, ein neues Dateisystem von Grund auf neu zu schreiben.Das APFS-Dateisystem der nächsten Generation befindet sich noch in der EntwicklervorschauDas heißt, es ist nicht geplant, in naher Zukunft den Masseneinsatz zu ermöglichen. Sie können das APFS-Volume derzeit weder als Startdiskette noch im Time Machine-Sicherungssystem, in Fusion Drive oder mit File Vault-Verschlüsselung verwenden. Es ist jedoch für ein reguläres Nicht-Boot-Volume möglich.Es gibt noch eine lange Verfeinerung und Prüfung, aber erst dann wird APFS für Jahrzehnte das Hauptdateisystem von Apple.Im Gegensatz zu HFS + unterscheidet APFS zunächst die Groß- und Kleinschreibung von Zeichen in den Namen von Dateien und Ordnern. Diese Funktion kann nicht deaktiviert werden. Dies sollte von jedem berücksichtigt werden, der sich für die Verwendung von APFS entscheidet.Im Prinzip empfiehlt Apple, zunächst mit APFS auf einem externen Laufwerk zu experimentieren, auf dem nichts Wichtiges gespeichert ist. Hierzu wird vorgeschlagen, das Dienstprogramm zu verwendenhdiutil .Hauptmerkmale
In der offiziellen Dokumentation sind die allgemeinen Merkmale des APFS-Dateisystems im Vergleich zu HFS + aufgeführt.Container und Bände
Ein Container ist das primäre Objekt zum Speichern von Daten in APFS. Container sind normalerweise genau die gleichen wie die GPU-Einträge (GUID Partition Table). Sie verfügen über ein eigenes Absturzschutz- und Speicherplatzzuweisungsschema. Jeder Container enthält ein oder mehrere Volumes oder Dateisysteme, von denen jedes einen eigenen Namespace hat , dh eine Reihe von Dateien und Verzeichnissen.APFS unterstützt Software-RAID nicht direkt, kann jedoch mit Apple RAID-Volumes verwendet werden, um Striping (RAID 0), Mirroring (RAID 1) und Verkettung (JBOD) zu unterstützen.64-Bit-Inodes
64-Bit-Inodes erhöhen den Namespace im Vergleich zu 32-Bit-Bezeichnern in HFS + erheblich. Das 64-Bit-APFS-Dateisystem unterstützt über 9 Billionen Dateien auf jedem Volume. Das sollte für alle reichen, wie Bill Gates sagte.Nanosekunden-Zeitstempel
APFS hat die Genauigkeit von Zeitstempeln (Zeitstempeln) signifikant erhöht. APFS unterstützt zeitstempelgenaues Zeitstempeln. Zum Vergleich wurden in HFS + Zeitstempel auf die nächste Sekunde gesetzt.Nanosekunden-Zeitstempel sind in modernen Dateisystemen sehr wichtig, da sie bei der Implementierung von Atomizität und atomaren Transaktionen helfen - eine der wichtigsten ACID-Anforderungen für ein Transaktionssystem (z. B. ein DBMS). Atomicity stellt sicher, dass keine Transaktion teilweise an das System gebunden wird. Entweder werden alle ihre Unteroperationen abgeschlossen sein oder keine wird abgeschlossen sein.Absturzsicherung
APFS implementiert ein innovatives Metadatenschema zum Kopieren beim Schreiben, das Apple als "Crash Protection" bezeichnet. Es stellt sicher, dass Änderungen am Dateisystem und an der Protokollierung synchron gehalten werden, wenn während der Aufzeichnung etwas passiert - beispielsweise geht die Stromversorgung verloren.
ZFS-Copy-on-Write-SchemaSparse Dateien
Eine Datei mit dem Attribut "sparse" nimmt den Inhalt von Blöcken mit null Byte an, die nicht auf dem Laufwerk gespeichert, sondern impliziert sind. HFS + hatte keine Unterstützung für Dateien mit geringer Dichte.Erweiterte Attribute
APFS verfügt über eine integrierte Unterstützung für erweiterte Dateiattribute, die in HFS + über die Attributdatei, dh über den B-Baum, implementiert wurden.Verschlüsselung
Apple behauptet, Verschlüsselung sei eine grundlegende Eigenschaft, die auf Dateisystemebene in APFS integriert ist. Für jedes Volume im APFS-Container wird eines der Verschlüsselungsmodelle installiert: ohne Verschlüsselung, Verschlüsselung mit einem Schlüssel, Verschlüsselung mit mehreren Schlüsseln. Im letzteren Fall werden einzelne Schlüssel zum Verschlüsseln von Dateien und Metadaten verwendet. Je nach Hardware verwendet APFS den AES-XTS- oder AES-CBC-Verschlüsselungsmodus.Klonen von Dateien und Verzeichnissen
Klonen - fast sofortiges Kopieren einer Datei oder eines Verzeichnisses, für das kein zusätzlicher Speicherplatz für die Datenspeicherung erforderlich ist. Wenn ein Klon geändert wird, zeichnet das Dateisystem nur Datenänderungen auf. Somit kann das neue Dateisystem viele Versionen großer Dateien speichern, wodurch weniger Speicherplatz benötigt wird.Schnappschüsse
Snapshots - schreibgeschützte "Snapshots" des Dateisystems im Volume. Das Betriebssystem kann Snapshots für ein effizienteres Sicherungsverfahren verwenden. Das heißt, endlich wird Time Machine gut (schnell) funktionieren.
Natürlich ist APFS in seinen Funktionen dem 128-Bit- ZFS-Dateisystem , das von Linux, FreeBSD und anderen freien Betriebssystemen unterstützt wird, deutlich unterlegen , aber seitens Apple ist dies ein Schritt in die richtige Richtung.Es ist seltsam, dass in der vorläufigen Dokumentation die von HFS + unterstützte Komprimierungsfunktion nicht erwähnt wird.Apple hatte lange versucht, ZFS auf OS X zu portieren. Es gab eine aktive Diskussion über die ZFS-Mailinglisten. Vorläufige Snapshots wurden für die nächste Version von OS X veröffentlicht. Später wurde OpenZFS für OS X (O3X) und MacZFX implementiert .Das ZFS-Dateisystem ist Open Source, und Apple könnte einige Ideen für das APFS-Dateisystem ausleihen. Die Open Source-Implementierung für APFS ist noch nicht fertig. Apple plant, das dokumentierte und das APFS-Format 2017 zu veröffentlichen.Die erste formelle Sitzung findet heute Abend auf der WWDC statt, wo den Entwicklern die neuen Funktionen von APFS genauer gezeigt werden.Source: https://habr.com/ru/post/de395253/
All Articles