APFS

From ICO wiki
Revision as of 16:57, 4 November 2017 by Mvorklae (talk | contribs) (Created page with "Apple File System is a 64-bit file system supporting over 9 quintillion files on a single volume. This state-of-the-art file system features cloning for files and directories,...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Apple File System is a 64-bit file system supporting over 9 quintillion files on a single volume. This state-of-the-art file system features cloning for files and directories, snapshots, space sharing, fast directory sizing, atomic safe-save primitives, and improved filesystem fundamentals, as well as a unique copy-on-write design that uses I/O coalescing to deliver maximum performance while ensuring data reliability.

Apple failisüsteem on 64-bitine failisüsteem, mis toetab üle 9 kvintiljoni (10^18) faili ühel kettajaol.

OMADUSED - kloonimine - kuvatõmmis - space sharing - krüpteering - fast directory sizing - atomic safe-save - COW

Kloon on pea hetkeline koopia failist või kataloogist. Kloonid võimaldavad operatsioonisüsteemil teha kiireid ja energiatõhusaid koopiaid sama kettajao ulatuse, hõivamata selleks lisaruumi. Andmete muudatused kirjutatakse mujale, ning muutmata plokke jagatakse. Muutused salvestatakse cloonitud faili deltadena, vähendades nii dokumendi koopiate ja versiooniuuenduste ruumikasutust.

Kettajao kuvatõmmis on teatud hetkes tehtud read-only tõmmis failisüsteemist. Operatsioonisüsteem kasutab tõmmiseid efektiivsemaks varukoopiate tegemiseks ning vajadusel muutuste tagasipööramiseks.

Ruumijagamine võimaldab erinevatel failisüsteemidel jagada ühist vaba kettaruumi. Erinevalt jäikadest partitsioneerimisskeemidest, mis eel-eraldavad kindla koguse ruumi kindlale failisüsteemile, suudavad APFS-vormindatud kettajaod kasvada ning kahaneda ilma kettajagude ringijagamiseta. APSF-i puhul on konteineri kettaruum jagatud kõigi kettajagude vahel. Vaikimisi teatab iga kettajagu APFS konteineris sama palju saadaolevat ruumi, kui on kokku konteineri vaba kettaruumi. Näiteks konteiner mahuga 100GB, mis sisaldab kettajagu A (mis kasutab 10GB) ja kettajagu B (mis kasutab 20GB), näitab mõlema kettajao puhul vaba ruumi 70GB (100GB-10GB-20GB). Konteiner saab vajadusel seadistada maksimaalse eraldatud ruumi kettajao jaoks, samuti ka reserveerida või garanteerida minimaalselt eraldatud ruumi kettajaole.

APFS toetab järgmisi krüpteeringuid: No encryption Single-key encryption Multi-key encryption with per-file keys for file data and a separate key for sensitive metadata Multi-key encryption ensures the integrity of user data. Even if someone were to compromise the physical security of the device and gain access to the device key, they still couldn't decrypt the user's files. Sõltuvalt kasutuselolevast raudvarast kasutatakse AES-XTS või AES-CBC (https://en.wikipedia.org/wiki/Disk_encryption_theory, https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation) krüpteerimisvõtet.

Apple File System uses a novel copy-on-write metadata scheme to ensure that updates to the file system are crash protected, without the write-twice overhead of journaling Tagamaks uuenduste kaitset crashide vastu, kasutatakse uudset copy-on-write metaandmete süsteemi, mis erineb nn journaling-tüüpi kahekordse kirjutamisega meetodist.

Apple File System supports sparse files, a more efficient way of representing empty blocks on disk.

With sparse files, storage is allocated only when actually needed. This allows the logical size of files to be greater than the physical space occupied on disk. APIs can query both the logical and physical size of sparse files, with functionality to seek through and rewind back to the beginnings of holes and data sections.

Tühjade plokkide efektiivsemaks kirjeldamiseks kasutatakse nn. hõredaid faile. Hõredate failide korral eraldatakse salvestusruum ainult siis, kui seda vajatakse. Sel moel saab failide loogiline suurus olla suurem kui füüsiliselt kasutatud kettaruum. APId