APFS
APFS (Apple File System)
Autor: Madis Võrklaev AK21 10163348
Apple failisüsteem on 64-bitine failisüsteem, mis toetab üle 9 kvintiljoni (10^18) faili ühel kettajaol.[1] Ta on optimeeritud SSD- ja välkmäluseadmetele, kuid töötab ka traditsioonilistel pöörlevatel kõvaketastel.[2]
Omadused
Kloonimine (Clones)
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.
Kuvatõmmis (Snapshots)
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 (Space Sharing)
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.
Krüpteerimine (Encrypting)
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.
Kirjutamisel kopeerimine (Copy-On-Write)
Tagamaks uuenduste kaitset crashide vastu, kasutatakse uudset copy-on-write metaandmete süsteemi, mis erineb nn journaling-tüüpi kahekordse kirjutamisega meetodist.
Hõredad failid (Sparse files)
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 saavad päringuid esitada nii hõredate failide loogilise kui füüsilise suuruse kohta, olles võimelised auke ning andmesektsioone läbi vaatama ja tagasi kerima.
Kiire kataloogimahu arvutus (Fast Directory Sizing)
APFS võimaldab kiirelt arvutada kogu kataloogihierarhia poolt hõivatud mälumahu. Fast Directory Sizing (FDS) arvutab kasutatud mahu hetkel, kui sisu luuakse või eemaldatakse. See on sobilik kataloogidele, mis sisaldavad palju faile. FDS ei sobi kataloogidele, nagu /tmp, kus on palju ajutisi faile. FDS-i saab lubada tühjadele kataloogidele. Kataloogid, mis juba sisaldavad faile ning teisi katalooge, tuleb FDS-i kasutamiseks liigutada eelnevalt FDS-i võimekusega kataloogi.
Atomic Safe-Save
Atomic Safe-Save funktsioon teostab failide ümbernimetamist üheainsa operatsioonina. Seega kasutaja vaatenurgast operatsoioon kas lõpetati edukalt või seda ei teostatud üldse.