Android Pliiga FS

Kiel virtuala dosiersistemo en Android permesas multe pli rapidajn ludajn komencojn

Pliiga Dosiersistemo de Google

Google laboris pri nova speco de dosiersistemo, kiu permesas plenumi duumaĵojn antaŭ ol kompleta pakaĵo estis ŝarĝita. Prenante la disvolviĝon de Android-programoj kiel ekzemplon, vi nun devas atendi, ke la tuta duuma estos transdonita al la emulilo aŭ al via vera testaparato por elpurigado. Pliiga Dosiersistemo draste mallongigas ĉi tiun prokraston, permesante la plenumon de la duuma, antaŭ ol la tuta pako estis transdonita. Ĉi tio sonas ege kompleksa, kaj jen tio, sed ni ankoraŭ povas rigardi ĝin por pli bone kompreni, kio plej probable estos defaŭlta trajto en Android 12 kaj pli posta.

Virtuala Dosiersistemo nomata "incfs"

La virtuala dosiersistema solvo de Google, kiu en sia unua ripeto estos uzata ekskluzive por APK-oj kaj AAB-oj ŝarĝitaj de la Play Store, estas tavolo, kiu sidas sur la vera dosiersistemo. Por pli bone ilustri la arkitekturon, mi uzas iujn lumbildojn kreitajn de Google por teknika parolado. Vi povas trovi la ligon en la aldono ĉe la fino de ĉi tiu paĝo.

Image ee3856bcadf8

Image 8372e503efa4

Revenante al la temo, la Pliiga Dosiersistemo de Google povas esti pensata kiel kaŝmemoro, kie la kreitaj entoj rekte referencas dosierojn en la reala dosiersistemo. La kodo mem estas profunde enigita en la operaciumon kiel kerna modulo - kio ŝajnas logika pro sia malaltnivela lokado en la ĝenerala arkitekturo.

Avantaĝo de virtuala dosiersistemo

La avantaĝo de tia virtuala FS estas, ke vi ne estas ligita al la limoj de vera dosiersistemo, kie la legado kaj posta plenumo de programo kutime povas okazi nur se la kompleta pakaĵo disponeblas - de la unua ĝis la lasta Bajto. Kun la "Incremental Filesystem", ĉi tiu limigo estas teknike malplenigita. Tamen kun tia potenca trajto venas granda aro de kompleksaj aspektoj konsiderindaj.

Prenante ĝin de Google-inĝeniero, granda defio estas la ĝusta uzado de skribaj operacioj. La virtuala dosiersistemo havas sian propran staton pri pritraktataj legaĵoj, sed tamen devas konservi la datuman integrecon de la ŝarĝitaj dosieroj.

Image b66896f09bca

La defio estas pritraktita per kreado de laŭmenda indekso en la "incfs". Ĉiu reala dosiero rekte rilatas al ento en la virtuala dosiersistemo, eĉ kiam la originala dosiero renomiĝas.

Image f14b7aa11bdd

Ankoraŭ unu mallongigon nomatan "ioctl"

Ĉi tiu mallongigo signifas "eniga / eliga kontrolo" kaj kondukas al la kreo de tia indeksa dosiero en la Incrementa Dosiera Sistemo de Google. "Ioctl" devenas de la operaciumo kaj ĝia teknika klarigo ne atingas ĉi tiun artikolon. Se vi volas legi pli, ankaŭ estas ligo en la aldono.

Ankaŭ sufiĉe interesa: "incfs" havas enkonstruitan registradan mekanismon. Ĉi tiu funkcio estos uzata por determini la realan mondan agadon de ĝia efektivigo por pliaj plibonigoj.

Praktika uzado

La komenco de ĉi tiu funkcio okazis en majo 2019, kiam iuj inĝenieroj de Google komencis fari ŝanĝojn al la Linukso-kerno. Meti ĝin tie permesis al ili simple uzi ĝin en la Projekto pri Malferma Fonto de Android (AOSP), la malfermfonteca parto de Android kaj la ĉefa fundamento de ĉi tiu operaciumo, ĉar AOSP estas konstruita ankaŭ sur la Linukso-Kerno.

Linuksaj kontribuantoj ne estis tiom feliĉaj, ĉar similaj aliroj al plibonigo de dosiersistemo jam estis faritaj, kiel FUSE aŭ OverlayFS. Tamen laŭ la perspektivo de Guglo, tiuj efektivigoj ne sufiĉe sukcesis sur malaltaj Android-aparatoj. Ĉi tio kondukis al la disvolviĝo de la Pliiga Dosiersistemo.

Por la unua ripeto, ĝi estos uzata por ludoj elŝutitaj de la Play Store ekde Android 12 por mallongigi la tempon necesan por lanĉi la ludon. Ĉi tiu vere bonega trajto supozas la Pliigan Dosiersistemon, sed ankaŭ iom da logiko en Android por determini kiel akute komenci tiujn ludojn frue - sen iuj ŝanĝoj de la programisto, laŭ Google.