Google-ն աշխատում է Android-ում սովորական Linux միջուկ օգտագործելու վրա

Վերջին Linux Plumbers 2019 կոնֆերանսում Google-ը ասաց զարգացման մասին նախաձեռնություններ Linux-ի միջուկում մշակված փոփոխությունները հիմնական Linux միջուկին փոխանցելու վերաբերյալ միջուկի տարբերակը Android պլատֆորմի համար: Վերջնական նպատակն է թույլ տալ Android-ին օգտագործել մեկ ընդհանուր միջուկ՝ յուրաքանչյուր սարքի համար առանձին կառուցումներ պատրաստելու փոխարեն՝ հիմնված Android-ի հատուկ մասնաճյուղի վրա: Android ընդհանուր միջուկ. Այս նպատակն արդեն մասամբ իրականացվել է, և համաժողովում ցուցադրվել է Xiaomi Poco F1 Android սմարթֆոնը, որը հիմնված է սովորական չփոփոխված Linux միջուկի վրա։

Երբ նախագիծը պատրաստ լինի, վաճառողներին կառաջարկվի մատակարարել հիմնական միջուկը հիմնված Linux-ի հիմնական միջուկի վրա: Սարքավորումների աջակցության համար նախատեսված բաղադրիչները մատակարարների կողմից կտրամադրվեն միայն միջուկի լրացուցիչ մոդուլների տեսքով՝ առանց միջուկի վրա patches կիրառելու: Մոդուլները պետք է համատեղելի լինեն հիմնական միջուկի հետ միջուկի սիմվոլի անվան տարածքի մակարդակում: Հիմնական միջուկի վրա ազդող բոլոր փոփոխությունները կխթանվեն դեպի վերև: LTS մասնաճյուղերում սեփական մոդուլների հետ համատեղելիությունը պահպանելու համար առաջարկվում է պահպանել միջուկի API-ն և ABI-ը կայուն ձևով, որը կպահպանի մոդուլի համատեղելիությունը յուրաքանչյուր ընդհանուր միջուկի ճյուղի թարմացումներով:

Google-ն աշխատում է Android-ում սովորական Linux միջուկ օգտագործելու վրա

Մեկ տարվա ընթացքում այնպիսի առանձնահատկություններ, ինչպիսիք են PSI (Pressure Stall Information) ենթահամակարգը՝ տարբեր ռեսուրսների (CPU, հիշողություն, I/O) ստացման սպասման ժամանակի մասին տեղեկատվության վերլուծության համար և BinderFS կեղծ ֆայլային համակարգը միջգործընթացային հաղորդակցության համար։ Մեխանիզմը փոխանցվել է Linux-ի հիմնական միջուկին Android-ի միջուկի հրատարակությունից: Բինդեր և էներգաարդյունավետ առաջադրանքների ժամանակացույց EAS (Energy Aware Scheduling): Հետագայում Android-ը նախատեսվում է տեղափոխել հատուկ SchedTune ժամանակացույցից նոր UtilClamp ենթահամակարգ, որը մշակվել է ARM-ում՝ cgroups2-ի և ստանդարտ միջուկի մեխանիզմների հիման վրա։

Google-ն աշխատում է Android-ում սովորական Linux միջուկ օգտագործելու վրա

Հիշեցնենք, որ մինչ այժմ Android պլատֆորմի միջուկն անցել է պատրաստման մի քանի փուլ.

  • Հիմնվելով LTS հիմնական միջուկների վրա (3.18, 4.4, 4.9 և 4.14) ստեղծվել է «Android Common Kernel»-ի մասնաճյուղը, որին փոխանցվել են Android-ի հատուկ patches (նախկինում փոփոխությունների չափը հասնում էր մի քանի միլիոն տողի, բայց վերջերս. փոփոխությունները կրճատվել են մինչև մի քանի հազար տող կոդ):
  • Հիմնվելով «Android Common Kernel»-ի վրա, չիպեր արտադրողները, ինչպիսին է Qualcomm-ը, ձևավորեցին «SoC Kernel»-ը, որն իր մեջ ներառում էր հավելումներ՝ ապարատային ապահովման համար:
  • SoC Kernel-ի հիման վրա սարքերի արտադրողները ստեղծեցին Device Kernel-ը, որը ներառում էր փոփոխություններ՝ կապված լրացուցիչ սարքավորումների, էկրանների, տեսախցիկների, ձայնային համակարգերի և այլնի աջակցության հետ:

Google-ն աշխատում է Android-ում սովորական Linux միջուկ օգտագործելու վրա

Ըստ էության, յուրաքանչյուր սարք ուներ իր միջուկը, որը հնարավոր չէր օգտագործել այլ սարքերում։ Նման սխեման զգալիորեն բարդացնում է խոցելիությունը վերացնելու թարմացումների իրականացումը և միջուկի նոր ճյուղերի անցումը: Օրինակ, նորագույն Pixel 4 սմարթֆոնը, որը թողարկվել է հոկտեմբերին, առաքվում է Linux միջուկով 4.14, որը թողարկվել է երկու տարի առաջ: Մասամբ Google-ը փորձեց հեշտացնել սպասարկումը՝ խթանելով համակարգը Եռակի, թույլ տալով արտադրողներին ստեղծել ունիվերսալ ապարատային աջակցության բաղադրիչներ, որոնք կապված չեն Android-ի հատուկ տարբերակների և օգտագործված Linux միջուկի թողարկումների հետ: Treble-ը հնարավորություն է տալիս որպես հիմք օգտագործել Google-ի պատրաստի թարմացումները՝ դրանց մեջ ինտեգրելով կոնկրետ սարքի համար հատուկ բաղադրիչներ:


Source: opennet.ru

Добавить комментарий