1 dalis pokalbio su Francisco Franco, Franco branduolio ir kitų programų, skirtų daugeliui skirtingų įrenginių, kūrėju.
Neseniai turėjau malonumą pakalbinti žmogų už vieno populiariausių Android branduolių, Franco branduolio. Šiuo metu branduolį galima naudoti daugelyje skirtingų įrenginių, įskaitant įvairius „Nexus“ ir „OnePlus“ įrenginius bei „Google Pixel“ / „Pixel XL“.
Šioje dalyje kalbame apie Francisco Franco kelionę į branduolio kūrimą ir jo nuomonę apie pokyčius, kuriuos „Android“ patyrė bėgant metams.
Aš esu Adamas Conway'us, čia per XDA, norėdamas pakalbinti Francisco Franco, Franco branduolio kūrėją! Ar norite prisistatyti?
Žinoma, mano vardas yra Francisco, kaip ką tik sakėte, ir manau, kad XDA naudoju jau 1 milijoną metų! Darydavo visokius dalykus. branduoliai, programėlės, ir pastaruoju metu aš šiek tiek daugiau atsipalaiduoju branduoliais, nes po kurio laiko tai pavargsta, bet vis tiek dirbu visa jėga daugumoje savo įrenginių.
Gerai, todėl manau, kad daugelis žmonių būtų susipažinę su jūsų darbu, bet daugelis žmonių nebūtų susipažinę su tikru asmeniu, dirbančiu už darbą. Taigi, manau, ar tikrai turite kokios nors ankstesnės patirties prieš branduolius? Kaip bet koks informatikos laipsnis ar kažkas panašaus iš anksto?
Aš visada aistringai mėgau kompiuterius, kaip, manau, bet kuris vaikas augdamas. Kai man sukako 18 metų, nusprendžiau stoti į universitetą kaip ir visi kiti, ir manau, kad mokiausi kompiuterių mokslai ar kažkas panašaus, bet maždaug po metų supratau, kad tai ne tai, ką aš iš tikrųjų myliu apie. Po tų metų mano lūkesčiai pradėjo mažėti, nes visa tai buvo kalbos ir jokių veiksmų, o aš taip pradėjau jausti nuobodulį – ne todėl, kad būčiau geresnis už bet ką kitą, buvau tiesiog vidutinis, o tikrosios disciplinos nebuvo tiksliai ko norėjau. Taigi aš kalbėjausi su savo tėvais, ir jie suprato, kad aš nesu tuo labai patenkintas. Per 2010 m. Kalėdas gavau pirmąjį „Android“ telefoną. LG P500, tai nebrangus telefonas, labai pigus, bet žinojau, kad jame veikia Linux, o mano mėgstamiausia disciplina universitete buvo kompiuterių architektūra ar panašiai, operacinės sistemos. Mes mokėmės šiek tiek apvalkalo ir šiek tiek kalbėjome apie Linux branduolį ir ką buvo branduolio dalis ir visas branduolio ryšys, ir tikroji operacinė sistema, ir tai buvo žavinga už mane. Ir tada aš kartu su draugu pradėjau perdaryti Linux branduolį savo senam nešiojamam kompiuteriui. Tai darydami savo nešiojamuosius kompiuterius sudužome 100 kartų, bet per šį procesą išmokome. Ir tada aš pradėjau žaisti su savo LG ir, manau, pirmas dalykas, kurį padariau, buvo pabandyti padidinti našumą, nes tas įrenginys iš tikrųjų buvo gana šlykštus. Taigi geriausias dalykas, kurį galėjau padaryti, buvo tiesiog peržiūrėti standartinius „Linux“ branduolio parametrus atminties valdymas ir kita, ir tiesiog pabandykite rasti ką nors šiek tiek geresnio nei jau buvo ten. Tada man buvo šiek tiek smagu.
Manau, kad anksčiau to nesakiau ankstesniuose interviu, bet tada tas įrenginys naudojo seną failų sistemą, pavadintą YAFFS – tai reiškia dar vieną blykstę. Failų sistema, bet ji buvo gana lėta, kai bandėme prijungti kaip RAM palaikomą apsikeitimo diską, todėl nepamenu konkrečių dalykų, bet darėme įvairius eksperimentavome su tuo ir mes sumontavome „Dalvik“ ant RAM atminties, kurią reikėjo atkurti kiekvieną kartą perkraunant, nes, kaip žinote, RAM išnyksta kiekvieną kartą. laikas, kai paleidžiame iš naujo. Tačiau tai gerokai pagreitino programų atidarymą ir etalonų vykdymą, todėl buvome patenkinti. Taigi po to pradėjau gilintis ir bandžiau kompiliuoti LG branduolio šaltinius įrenginiui, ir padariau visokių blogų sprendimai ir visokios klaidos – „Wi-Fi“ tinklas, bet koks – viskas, ką tik galite įsivaizduoti iš nieko neturinčio patirtį. Buvo smagu, daug išmokau. Spėju, kad po metų ar šešių mėnesių buvau šiek tiek labiau susikaupęs ir šiek tiek geriau žinojau, ką turiu gauti, kad atsisiųsčiau. To mes visi norime dienos pabaigoje. Po to man pavyko gauti šiek tiek aukų ir pereiti prie kitų įrenginių. Spėju, kad „Nexus S“, tada „Galaxy Nexus“ ir po to laikotarpio man pavyko gauti pirmąją programą. Spėju, kad man labai pasisekė ir aš galėjau finansuoti sau naujų prietaisų pirkimą, ir viskas išaugo iš ten. Taigi galvoju, kad galų gale esu viską skolingas, nepasakyčiau, kad XDA platforma kad XDA mums suteikia.
Ir bendruomenė, esanti už to, ir visa kita.
Taip taip, aš turiu galvoje platformą, tai yra bendruomenė ir tikrieji forumai. Visiems, kurie klausosi, tai nėra mokamas rėmėjas ar kažkas, man nemoka už tai, kad tai pasakyčiau, tai tiesiog tiesa!
Nėra vaizdo, žmonės nemato, kad ginklas nukreiptas į galvą, viskas gerai.
Hahaha, taip, bet kažkas pasakys, kad man moka už tai, kad tai pasakyčiau, todėl aš tiesiog pasakysiu! Bet taip, taip, tai buvo nuostabi platforma man kurti šaunius dalykus, daug išmokti, visko išmokau dažniausiai darydamas klaidas, o mokydamasis vis tiek susiduriu su problemomis. Aš sunaikinau savo „Xiaomi Redmi Note 3“, įkrovos įkroviklis tiesiog sunaikintas. Taigi turiu vėl prijungti jį prie savo Windows kompiuterio, kuris sėdi ten, ir turiu iš naujo viską atnaujinti, ir jis čia stovi kokius tris mėnesius. Aš sulaukiu visų neapykantos, kad nekreipiu dėmesio į tą įrenginį, todėl vis tiek darau [klaidas], net ir po tiek metų vis dar yra ko išmokti, ir man labai pasisekė, kad perėjau šią kelionę ir tai buvo nuostabu.
Na, manau, žiūrint, kaip pradėjote nuo... Ar tai buvo LG P500?
Taip taip.
Prieš kiek metų tai buvo? Nes tai turėjo būti apie pradines „Android“ versijas, tiesa? Aplink Froyo ar panašiai?
Taip, jis buvo išsiųstas kartu su Froyo ir po kelių mėnesių buvo atnaujintas į Gingerbread. Tas prietaisas, manau, buvo 2010 m., 2011 m. pradžia, tikriausiai anksčiau. Žinau, kad mano paskyra XDA buvo sukurta 2010 m. gruodžio mėn., tačiau įrenginį turėjau iš anksto. Taigi manau, kad maždaug tuo metu, taip.
Kaip nuo to laiko pasikeitė „Android“ našumas? Kaip pasikeitė jūsų branduolių rašymas tada ir rašymas dabar? Ir manau, kokia jūsų nuomonė apie pokyčius.
Kalbant apie branduolį, manau, kad mes tobulėjome kartu su tikruoju „Linux“ branduoliu ir visais pakeitimais, kurių „Android“ komanda iš tikrųjų norėjo. įdiegti tam tikram „Android“ leidimui, todėl jie diktuoja didžiąją dalį specialių branduolio funkcijų, atsižvelgdami į tai, ko jie nori Siusti. Bet manau, kad tikrasis našumas, daugiau branduolių iš tikrųjų labai padeda, nes tada neturėjote jokio realaus būdo perkelkite šią giją (sic) arba įsivaizduokite tinklo užklausas per foninę giją arba bent jau realiu laiku sriegimas. Manau, kad tai buvo didžiausias pokytis per daugelį metų, nes atsirado daugiau būdų paskirstyti savo darbą, o ne „Android“ tiesiog sulėtėjo, nes visi bando paimti tą šiek tiek procesoriaus dalies. Labiau už viską manau, kad daugiagyslis ir tikras kelių gijų palaikomas Linux. Maniau, kad tai buvo didžiausias pokytis.
O, gerai, kokia jūsų nuomonė apie HMP vs EAS? Nes akivaizdu, kad EAS yra tik naujas ir naudojamas tik keliuose įrenginiuose – pavyzdžiui, jūs naudojate „Google Pixel“, tiesa?
Taip, šiuo metu naudoju Galaxy S8, bet turiu ir Pixel. Nežinau abiejų taip [daug] detalių, tai tik skirtingi diegimai, kaip kelių grupių įrenginys turėtų veikti, atsižvelgiant į tai, kas tam tikru metu vyksta įrenginyje. Paleisti dvi skirtingas grupes su dviem skirtingomis energijos sąnaudomis yra gana sunku. Turite pateisinti lūkesčius, kad užduotys judės aukštyn ir žemyn, yra delsos, o HMP buvo pirmasis realus tikra kelių grupių ARM architektūra, nes jei gerai pamenu, prieš HMP dar nenaudojant realiame pasaulyje, Samsung turėjo pradinį įgyvendinimas, kai naudojote pirmuosius keturis branduolius, pvz., mažos galios branduolius, arba keturis didelio našumo branduolius, bet jie niekada neveikė tuo pačiu metu. Tačiau vėliau naudojant HMP branduoliai buvo paruošti naudoti bet kuriuo metu, o užduotys tiesiog perkeltos iš vienos grupės į kitą ir atvirkščiai, ir tai veikė iš planuotojo neturėjote tiek informacijos, kad parodytumėte tai valdytojui, kad iš tikrųjų nuspręstumėte, koks dažnis bus naudojamas tuo metu. konkretų laiką, todėl turėjai susidoroti, pavyzdžiui, bandyti suprasti, kas vyksta per [apie] 20 sekundžių, tada pagal tai, kas ten įvyko, nuspręsi, ką daryti daryti. EAS, tai daugiau [apie] suprasti, kas nutiks ateityje, ir priimti sprendimą realiuoju laiku, remiantis kiekvienos šerdies išvesties galia, o tada yra daugybė skaičiavimų ir sudėtingų dalykų fone
Kaip energijos modeliai ir taip toliau, kad visa tai būtų paremta.
Taip, manau, taip, tai gana sudėtinga, aš nežinau visos specifikos, aš perskaičiau daugybę dokumentų, bet tai gana sudėtinga ir tai nėra tik jungiklio įjungimas ir paruošimas naudoti. Aš dažnai gaunu šį klausimą, ar galite įdiegti EAS XYZ telefone. Mano atsakymai visada yra „Tai nėra rankenėlės pasukimas, taip nėra, prireikė visos „Google“ darbuotojų ir „Linaro“ vaikinų komandos, kad ją įgyvendintų tai ir jūs turite perkelti daiktus, daryti daiktus, išbandyti dalykus ir tai tiesiog per daug darbo aklas" ir… taip. Sunku.
Taigi jūs turite tiksliai žinoti, ką darote, ar tai nėra vieno žmogaus darbas?
Taip, jūs turite žinoti, ką darote, bet kas gali pasirinkti pataisas ir jas sujungti, tačiau reikia iš tikrųjų išbandyti ir įsitikinti, kad jis veikia tinkamai ir jums reikės tinkamo įrenginio aptikti kiekvieno komponento energijos suvartojimą, o branduolyje yra daugybė lentelių, kuriose galite įrašyti kiekvieno branduolio galią, ir pagal tai kodas nuspręs, ką daryti. daryti. Tai gana sudėtinga. Nemanau, kad tai yra aiškus visų problemų sprendimas, bet tai tikrai geriausias, kurį šiuo metu turime.
Taigi jūs matote tai kaip patobulinimą?
Taip, žinoma, mylių mylių mylių atstumu. Tai neabejotinas HMP ar bet kurios kitos architektūros patobulinimas, nes jei galite suprasti, kas nutiks ateityje, galėsite reaguoti daug greičiau į bet kokį prašymą ar bet ką, kas vyksta įrenginyje, todėl „Google Pixel“ yra toks greitas ir sklandus, nes viskas vyksta beveik realiu laiku. Tai perkelia dažnius aukštyn ir žemyn, o tai yra lengviausias būdas pasiekti našumo lūkesčius.
Manau, kad jei ateityje EAS bus priimta daugiau, kaip manote, kad tai paveiks jūsų branduolių vystymąsi? Ar vis dar pasiliktumėte prie HMP, ar pasirinktumėte jau išleistus energijos modelius? Pavyzdžiui, „OnePlus 3“ [ROM kūrėjai] pakartotinai naudoja energijos modelį iš „Google Pixel for EAS“. Ar galėtumėte pamatyti save darant kažką panašaus?
Tikriausiai to nedarysiu, jei iš pradžių įrenginys nebus pristatytas su EAS, greičiausiai jo neįdiegsiu jokiu būdu ar forma, nes kaip sakiau, tai gana ilgas procesas ir niekas XDA nežino geriau nei visi šie inžinieriai, todėl, manau, mes tiesiog bandome vaidinti Dievą.
Kalbant apie ateitį su „Android“ ir branduoliais, kokia jūsų nuomonė apie neseniai išleistą „Android Oreo“? Ar manote, kad pokyčiai yra geri? Ar peržiūrėjote kokius nors naujus branduolio įsipareigojimus?
„Nexus 6P“ ir „Nexus 5X“ branduolio pusėje nebuvo tiek daug pakeitimų, čia ir ten buvo atlikti nedideli pataisymai. „Google Pixel“ jie kartojo EAS diegimą ir praleido šiek tiek laiko tobulindami segtuvų skyrių, nes dabar segtuvas kartu su „Project“ Treble, tai tarsi skirtingų paketų padalijimas, todėl jie turi pereiti per 50 ar 100 skirtingų pataisų, kad pagerintų rišiklį ir būtų padalintas į skirtingus procesus. Išskyrus tai, tai buvo tiesiog įprastas darbas dideliam leidimui. Kai yra naujos platformos leidimas, jūs paprastai per daug nesijaučiate su branduoliu, nes branduolys, jums iš tikrųjų reikia daug kokybės užtikrinimo, jei kartais pakeičiate vieną dalyką, girdite, kad tai paveikia kažką kitą posistemis. Paprastai jie taip elgiasi, todėl tarp platformos atnaujinimų jūs neturite branduolio versijos smūgio. Tai tiesiog daug darbo. Paprastai tai neapsimoka, bet taip, tai daugiausia buvo segtuvai, šiek tiek planavimo priemonės ir įprasti saugos pataisymai. Perėjau jas visas, bet man tikrai niekas neatėjo į galvą. Mano dėmesys buvo nukreiptas tik į segtuvą.
Ak, gerai, taigi tik standartiniai dalykai.
Taip, jie gana sudėtingi ir neklauskite manęs konkretaus!
Tai visiškai kita tema, kokia jūsų nuomonė apie F2FS prieš ext4? Kadangi pamatysite, kad daugelis žmonių sakys, kad F2FS yra nestabilus ir sukelia problemų,Man tiesiog įdomu, ką tu manai apie tai.
Nežinau ir [apie] specifiką, nes failų sistemos gana kietos, čia ir ten yra daug judančių dalių. Tiesiog pacituosiu Google inžinierių, kuris sako, kad remiantis jų testu F2FS neveikia greičiau nei ext4, be to, kai jie išbandė Google Pixel dalykus, F2FS nepalaikė... Manau, kad tai buvo failų bloko šifravimas, o ext4 palaiko tai. Taigi vien tai reiškia – tiesiog išmeskite. Turite galvoti apie du dalykus: prie ext4 jau 20 metų dirbama su daug labai protingų inžinierių iš skirtingų kompanijų ir jie žino, ką daro. F2FS, jei gerai pamenu, įdiegė Samsung. Tai gana nauja failų sistema, todėl tokiems sudėtingiems dalykams kaip ir reikia laiko tobulėti ir kartoti gali matyti iš Apple failų sistemos, kuri ką tik buvo išleista iOS, ir jie ketina daryti tą patį su Mac OS. Viskas užtrunka, jums reikia didžiulės komandos, kad tai padarytumėte teisingai. Aš labai palaikau „jei jis veikia, neliesk jo“ ir tai, ką dabar turime – tai veikia, ir nemanau, kad tai sukelia našumo problemų, todėl nematau priežasties. netvarka su juo.
Ak gerai, tai pakankamai sąžininga! Kaip apie SDCardFS perjungiama iš FUSE? Kokia būtų jūsų nuomonė apie tai?
Taip atsitiko, nes senesnė FUSE failų sistema buvo vienas iš blogiausių dalykų, nutikusių „Android“. Veikimas buvo siaubingas, tarp branduolio ir vartotojo erdvės buvo daug sistemos skambučių, o dabar naudojant SDCardFS tai daroma tinkamai. Tai yra įprasta failų sistema, skirta su tuo susidoroti, aš vėl nežinau specifikos, nes tai labai sudėtingas dalykas, bet ką aš Skaityti, matyti ir girdėti iš skirtingų „Android“ komandos podcast'ų, iš esmės buvo išspręstos visos senosios problemos sistema. Tai buvo gana baisu, pasirodymas buvo siaubingas.
Peržiūrėkite 2 dalį paspaudę šį mygtuką!