Փակել գովազդը

Անցյալ տարվա WWDC Apple-ի մշակողների համաշխարհային համաժողովում ներկայացրեց նոր APFS ֆայլային համակարգը. Թարմացումով iOS 10.3-ում Apple-ի էկոհամակարգի առաջին սարքերը կանցնեն դրան։

Ֆայլային համակարգը կառույց է, որն ապահովում է տվյալների պահեստավորում սկավառակի վրա և բոլոր աշխատանքները դրա հետ: Ներկայումս Apple-ը դրա համար օգտագործում է HFS+ համակարգը, որն արդեն գործարկվել է 1998 թվականին՝ փոխարինելով HFS-ին (Hierarchical File System) 1985 թվականից:

Այսպիսով, APFS-ը, որը նշանակում է Apple File System, պետք է փոխարինի այն համակարգը, որն ի սկզբանե ստեղծվել է ավելի քան երեսուն տարի առաջ, և դա պետք է կատարի Apple-ի բոլոր հարթակներում 2017 թվականին: Դրա զարգացումը սկսվել է ընդամենը երեք տարի առաջ, բայց Apple-ը փորձել է Replace HFS+-ը առնվազն 2006 թվականից:

Նախ, սակայն, ZFS-ի (Zettabyte ֆայլային համակարգ) կիրառման ջանքերը, հավանաբար, այս պահին ամենաճանաչված ֆայլային համակարգը, ձախողվեցին, որին հաջորդեցին երկու նախագծեր, որոնք մշակում էին իրենց լուծումները: Այսպիսով, APFS-ն ունի երկար պատմություն և շատ ակնկալիքներ: Այնուամենայնիվ, շատերը դեռևս անորոշ են իր էկոհամակարգում APFS-ն ընդունելու Apple-ի հավակնոտ ծրագրի վերաբերյալ՝ մատնանշելով այլ համակարգերից (հատկապես ZFS-ից) հայտնի առանձնահատկությունները, որոնք բացակայում են դրանում: Բայց այն, ինչ խոստանում է APFS-ը, դեռևս նշանակալից առաջընթաց է:

APFS

APFS-ը համակարգ է, որը նախատեսված է ժամանակակից պահեստավորման համար. իհարկե, այն կառուցված է հատուկ Apple-ի ապարատային և ծրագրային ապահովման համար, ուստի ենթադրվում է, որ այն լավ հարմարեցված է SSD-ների, մեծ հզորությունների և մեծ ֆայլերի համար: Օրինակ, այն բնիկորեն աջակցում է TRIM- ը և դա անում է անընդհատ, ինչը բարձր է պահում սկավառակի կատարողականը: HFS+-ի նկատմամբ հիմնական առանձնահատկություններն ու առավելություններն են՝ կլոնավորում, snapshots, տարածության փոխանակում, գաղտնագրում, անհաջողության պաշտպանություն և օգտագործված/ազատ տարածքի արագ հաշվարկ:

Կլոնավորումը փոխարինում է դասական պատճենմանը, երբ սկավառակի վրա ստեղծվում է տվյալների երկրորդ ֆայլ, որը նույնական է պատճենվածին: Փոխարենը, կլոնավորումը ստեղծում է միայն մետատվյալների կրկնօրինակը (տեղեկատվություն ֆայլի պարամետրերի մասին), և եթե կլոններից մեկը փոփոխվի, միայն փոփոխությունները կգրվեն սկավառակի վրա, այլ ոչ թե ամբողջ ֆայլը կրկին: Կլոնավորման առավելություններն են պահված սկավառակի տարածությունը և ֆայլի «պատճեն» ստեղծելու շատ ավելի արագ գործընթացը:

Իհարկե, այս գործընթացը աշխատում է միայն մեկ սկավառակի մեջ. երկու սկավառակների միջև պատճենելիս պետք է ստեղծվի բնօրինակ ֆայլի ամբողջական կրկնօրինակը թիրախային սկավառակի վրա: Կլոնների հնարավոր թերությունը կարող է լինել նրանց տարածքի կառավարումը, որտեղ ցանկացած մեծ ֆայլի կլոն ջնջելը գրեթե չի ազատի սկավառակի տարածություն:

Պատկերը ժամանակի որոշակի կետում սկավառակի վիճակի պատկերն է, որը թույլ կտա ֆայլերին շարունակել աշխատել դրա վրա՝ պահպանելով իրենց ձևը այնպես, ինչպես եղել է նկարի նկարման պահին: Սկավառակի վրա պահվում են միայն փոփոխությունները, կրկնօրինակ տվյալներ չեն ստեղծվում: Այսպիսով, սա պահեստային մեթոդ է, որն ավելի հուսալի է, քան այն, ինչ ներկայումս օգտագործում է Time Machine-ը:

Տարածության փոխանակումը հնարավորություն է տալիս մի քանիսին սկավառակի միջնորմներ կիսել նույն ֆիզիկական սկավառակի տարածությունը: Օրինակ, երբ HFS+ ֆայլային համակարգով սկավառակը բաժանված է երեք մասի, և դրանցից մեկի տարածքը սպառվում է (մինչ մյուսները տեղ ունեն), հնարավոր է պարզապես ջնջել հաջորդ բաժինը և դրա տեղը կցել այն, ինչ գործարկվել է: տարածությունից դուրս. AFPS-ը ցուցադրում է ամբողջ ազատ տարածությունը ամբողջ ֆիզիկական սկավառակի վրա բոլոր բաժինների համար:

Սա նշանակում է, որ միջնորմներ ստեղծելիս կարիք չկա գնահատել դրանց պահանջվող չափերը, քանի որ այն լիովին դինամիկ է՝ կախված տվյալ բաժանման պահանջվող ազատ տարածությունից։ Օրինակ, մենք ունենք 100 ԳԲ ընդհանուր հզորությամբ սկավառակ, որը բաժանված է երկու մասի, որտեղ մեկը լրացնում է 10 ԳԲ, իսկ մյուսը՝ 20 ԳԲ։ Այս դեպքում երկու բաժանմունքները ցույց կտան 70 ԳԲ ազատ տարածություն:

Իհարկե, սկավառակի կոդավորումն արդեն հասանելի է HFS+-ով, սակայն APFS-ն առաջարկում է իր շատ ավելի բարդ ձևը: Երկու տեսակի փոխարեն (առանց գաղտնագրման և մեկ բանալիով ամբողջ սկավառակի կոդավորումը) HFS+-ով, APFS-ն ի վիճակի է գաղտնագրել սկավառակը՝ օգտագործելով մի քանի բանալիներ յուրաքանչյուր ֆայլի համար և առանձին բանալի՝ մետատվյալների համար:

Անհաջողությունից պաշտպանությունը վերաբերում է այն ամենին, ինչ տեղի է ունենում սկավառակի վրա գրելու ընթացքում ձախողման դեպքում: Նման դեպքերում տվյալների կորուստը հաճախ տեղի է ունենում, հատկապես, երբ տվյալները վերագրվում են, քանի որ կան պահեր, երբ ջնջված և գրված տվյալները փոխանցման ընթացքում են և կորչում են հոսանքազրկման ժամանակ: APFS-ը խուսափում է այս խնդրից՝ օգտագործելով Copy-on-write (COW) մեթոդը, որի դեպքում հին տվյալները ուղղակիորեն չեն փոխարինվում նորերով և, հետևաբար, ձախողման դեպքում դրանք կորցնելու վտանգ չկա:

Այլ ժամանակակից ֆայլային համակարգերում առկա առանձնահատկությունները, որոնք APFS-ին (ներկայումս) զուրկ են, ներառում են սեղմում և բարդ ստուգում (մետատվյալների կրկնօրինակներ՝ բնօրինակի ամբողջականությունը ստուգելու համար. APFS-ն դա անում է, բայց ոչ օգտատիրոջ տվյալների համար): APFS-ին բացակայում է նաև տվյալների ավելորդությունը (կրկնօրինակները) (տես կլոնավորում), որը խնայում է սկավառակի տարածությունը, բայց անհնար է դարձնում տվյալների վերանորոգումը կոռուպցիայի դեպքում։ Ասվում է, որ այս կապակցությամբ Apple-ը գրավում է իր արտադրանքի մեջ տեղադրվող պահեստի որակը:

Օգտատերերը նախ կտեսնեն APFS iOS սարքերում, արդեն iOS 10.3-ին թարմացնելու ժամանակ: Հաջորդ ստույգ պլանը դեռ հայտնի չէ, բացառությամբ, որ 2018 թվականին Apple-ի ողջ էկոհամակարգը պետք է աշխատի APFS-ով, այսինքն՝ iOS, watchOS, tvOS և macOS սարքերով: Նոր ֆայլային համակարգը պետք է լինի ավելի արագ, ավելի հուսալի և ավելի ապահով՝ շնորհիվ օպտիմալացման:

Ռեսուրսներ: Apple, DTrace (2)
.