În noul APFS au fost adăugate atât de multe caracteristici pe care le împrăștie ochii: optimizarea pentru Flash și SSD, protecția împotriva pierderii de date în caz de oprire de urgență din cauza creșterii numărului de operații atomice. suport încorporat pentru mai multe tipuri de criptare, timp de răspuns foarte redus, evaluare rapidă a dimensiunii fișierelor și folderelor - lista poate continua și continua. În acest articol, vom analiza patru, credem noi, cele mai interesante caracteristici ale noului sistem de fișiere.
În primul rând, va trebui să ne dăm seama, cu câțiva termeni-cheie. Operațiile atomice sunt operații care sunt efectuate într-un sistem de fișiere sau o bază de date indivizibil și nu pot fi simplificate. Operația atomică nu poate rămâne neterminată, dacă este întreruptă. Această operație este efectuată fie complet, fie nu este efectuată deloc. Se salvează fișierele atomice în condiții de siguranță compatibile cu POSIX, după cum urmează: când lucrăm cu aplicația și salvăm fișierul, datele din memorie sunt descărcate într-un fișier temporar de pe disc. Când aplicația este sigură că datele au fost descărcate complet și fără erori, aplicația cere sistemului de fișiere despre redenumire. Operația de redenumire este atomică, fie va fi executată complet, fie nu este executată deloc. La redenumire, apar următoarele: sistemul de fișiere transferă fișierul temporar în locația de salvare (de exemplu, din /var/tmp/Batcave_shopping.pages în
fedor / Documents / Batcave_shopping.pages), apoi șterge fișierul vechi.
Cu toate acestea, ce se întâmplă dacă nu stocăm fișierul, dosarul sau Bundle (de ex. Rtfd sau .app, de asemenea, în esența sa, un dosar)? Să presupunem că lucrăm cu un document
fedor / Documente / AlfredHappyBirthday.rtfd. Acesta este pachetul, avem text și câteva imagini în el. Când facem schimbări și le salvăm, aplicația suprascrie întregul pachet, nu doar textul sau imaginea modificată. Cerințele POSIX nu vă permit să redenumiți dosarul undeva unde există deja date, deci trebuie să recurgeți la trucuri. Documentul este mutat de la
fedor / Documents /, eliberând spațiu, apoi un fișier temporar din /var/tmp/AlfredHappyBirthday.rtfd este redenumit într-un spațiu gol. O astfel de operațiune este non-atomică și nesigură. Dacă apare o eroare de sistem sau calculatorul își pierde puterea în timpul operației, documentul se va pierde.
Evident, o astfel de soluție este nedorită. Prin urmare, APFS a introdus o nouă operație de salvare a dosarului sigur, incompatibile cu POSIX. Când o aplicație solicită salvarea unui dosar, fișierele temporare și permanente sunt schimbate. Acest lucru se face de sistemul de fișiere, iar această operație este atomică.
Clonarea și instantanee
Dacă aveți nevoie de o copie a unui fișier sau a unui dosar - faceți clic dreapta pe ele și selectați Duplicate. În HFS +, aceasta înseamnă că sistemul de fișiere citește toate datele și apoi le scrie în spațiu liber. Această abordare consumă în mod ineficient spațiu și în zadar încarcă discul și procesorul. În APFS, atunci când duplicați datele - prin intermediul aplicației Duplicate sau pur și simplu ⌘C, ⌘V - sistemul de fișiere copiază doar legătura către ele (așa-numitul link greu), iar conținutul nu este duplicat. Această operație se numește clonare. Datorită clonării, un duplicat de date sau un dosar apare aproape instantaneu și necesită un spațiu liber neglijabil. Dacă modificați originalul sau clona, sistemul de fișiere va înregistra modificările și va redirecționa corect linkul, iar partea originală a datelor va rămâne neatinsă. În APFS, operația de clonare este atomică.
Snapshots este un instantaneu specific al unui volum care stochează informații despre datele despre volumul respectiv la un moment dat. Cel mai simplu mod de a înțelege principiul muncii sale este prin exemplu. Să presupunem că avem un volum (de exemplu, o unitate flash) cu două prezentări. Creăm un Snapshot al acestei unități flash, conține două fișiere Joker.key și Riddler.key, următoarele blocuri de date aparțin fișierelor. date Sam Instantaneu de la o unitate flash nu conține - doar ce fișiere au fost pe ea la momentul a fost luată instantaneu și ceea ce au deținut unități. Particularitatea Snapshot-ului este că blocurile scrise în el sunt închise. Ele nu pot fi șterse, mutate sau suprascrise. Prin urmare, de exemplu, dacă vom face schimbări în Joker.key, și Riddler.key chiar elimina - blocurile de date originale rămân intacte. Deși această abordare ocupă un spațiu liber suplimentar, permite APFS să returneze aproape instantaneu volumul în timp până la crearea oricărei fotografii.
Distribuirea spațiului
Spatiul de partajare este o alta caracteristica foarte interesanta a APFS. Încă o dată, este mai ușor să o înțelegi prin exemplu. Să presupunem că aveți un laptop, are un SSD de 256 GB (se poate de bine să aveți un laptop) și doriți să instalați OS X El Capitan și o versiune beta a macOS Sierra pe ea. Din păcate, Apple încă nu vă permite să bootați sistemul de operare din volumul APFS (sau să îl utilizați pentru Time Machine, de pildă), deci trebuie să creați două partiții HFS +. Porniți Disk Utility și aveți o dilemă - cât de mult să creați partiții? Puteți rupe discul în jumătate, dar dacă nu aveți suficient spațiu pentru o muncă confortabilă în El Capitan? Sau, dimpotrivă, exagerați și aplicațiile de care aveți nevoie în Sierra nu se potrivesc?
APFS rezolvă această problemă cu ajutorul partajării spațiului. Pe o unitate cu volum APFS la nivel superior, este creat un container care conține toate volumele. Ele pot crește sau scădea în mod liber și dinamic într-un astfel de container, fără a cere utilizatorului să aleagă cât ar trebui să fie. Să ne întoarcem la laptopul ipotetic. Dacă utilizați APFS pentru ambele volume în loc de HFS +, ambele sisteme de operare ar raporta că 256 GB de spațiu este disponibil pentru fiecare. În acest caz, spațiul ocupat de fișierele unui sistem ar fi inaccesibil celuilalt. Această soluție simplifică foarte mult lucrul cu mai multe volume și vă permite să obțineți beneficii maxime din utilizarea lor fără mari dificultăți.
Migrarea din HFS +
În cele din urmă, cum putem migra la APFS? Procesul de mutare într-un sistem de fișiere este de obicei greu, lung și nu întotdeauna sigur. Trebuie să facem copii de rezervă pentru datele externe, să ștergem hard disk-ul calculatorului, să scriem un nou sistem de fișiere, să instalăm sistemul de operare, să restaurăm datele din copie și să sperăm că nimic nu a dispărut din locul său.
Din fericire, Apple a avut grijă de asta. Inginerii companiei au făcut o mulțime de lucruri în procesul de migrare. Procesul este compus aproape în întregime de operații atomice, dar cel mai important lucru - datele privind noul sistem de fișiere este înregistrat numai în spațiul gol de pe un volum HFS +. Deci, chiar dacă ceva nu merge bine, nu vă va afecta nici datele, nici structura sistemului de fișiere existent. Și, potrivit inginerilor Apple, toată migrarea durează doar câteva minute.