Google გეგმავს 2023 წლიდან Android-ში Linux-ის ბირთვის ფუნქციების განვითარების მოდელზე გადართვას „პირველი ნაკადის ზემოთ“. წაიკითხეთ მეტი ინფორმაციისთვის.
როდესაც ხედავთ სიტყვებს "Android" და "ფრაგმენტაცია" ერთსა და იმავე წინადადებაში, თქვენი გონება მაშინვე გადახტება ანდროიდის ვერსიის განაწილების სქემა. არის რამდენიმე ერთეული, რომლებზეც ადამიანების უმეტესობა თითს იშვერს, როცა ჩივის, რომ Android OS განახლებები ნელა ვრცელდება მთელს მსოფლიოში, მაგრამ Google-ს მხოლოდ იმდენი შეუძლია გააკეთოს. ძალა OEM-ები განახლებების უფრო სწრაფად განვითარებისა და გავრცელების მიზნით. თუმცა, რისი გაკეთებაც Google-ს შეუძლია, არის შემცირდეს განვითარების დრო და, შესაბამისად, განახლებების გამოქვეყნების ღირებულება.
პირველი მნიშვნელოვანი ინიციატივა Google-ის გრძელვადიან პროექტში განვითარების ტვირთის შესამცირებლად არის პროექტი Treble. გამოცხადდა Android 8.0 Oreo-სთან ერთად 2017 წელს, Project Treble-მ მოახდინა Android-ის მოდულირება OS-ის ჩარჩოს გამყიდველის იმპლემენტაციისგან (HALs და მოწყობილობისთვის სპეციფიკური Linux kernel fork) გამოყოფით. ამან გაუადვილა Android OEM-ებს თავიანთი OS-ების გადაყენება უახლესი AOSP ჩარჩოს თავზე, რადგან მათ შეეძლოთ უახლესი ვერსიის ჩატვირთვა გამყიდველებისგან განახლებული კოდის საჭიროების გარეშე. შედეგად, OEM-ებს შეეძლოთ უფრო სწრაფად მოამზადონ თავიანთი Android ჩანგლები, ვიდრე ადრე, და გაფართოებით, უფრო სწრაფად გაავრცელონ ძირითადი OS განახლებები.
Google-ის გეგმების შემდეგი ნაბიჯი იყო Android-ის ძირითადი კომპონენტებისთვის განახლებების მიწოდების გამარტივება. ამ ინიციატივას Google-მა უწოდა პროექტის მთავარი ხაზი როდესაც მან გააცნო ის Android 10-თან ერთად 2019 წელს. Google-მა არსებითად აიღო კონტროლი OS-ის ძირითად კომპონენტებზე და აუკრძალა OEM-ებს მათი შეცვლა. შემდეგ მათ შექმნეს მიწოდების მექანიზმი Google Play-ს მეშვეობით, რათა მათ შეეძლოთ დისტანციურად გაავრცელონ განახლებები ამ ძირითადი კომპონენტებისთვის ისე, რომ დაელოდონ OEM-ებს, რომ თავად გამოიყენონ პატჩები. Mainline მნიშვნელოვნად გააუმჯობესა, რამდენად სწრაფად იღებენ მოწყობილობები OS- ის მნიშვნელოვანი კომპონენტების განახლებულ ვერსიებს, რაც თავის მხრივ აუმჯობესებს მთლიანად Android ეკოსისტემის უსაფრთხოებას.
მაგრამ ის, რაც შემდეგი იქნება, კიდევ უფრო მნიშვნელოვანია და, სავარაუდოდ, Google-ის გრძელვადიანი სტრატეგიის ყველაზე მნიშვნელოვანი ნაწილია. როდესაც ადრე აღვნიშნეთ, თუ როგორ მოახდინა Treble-მ ანდროიდის მოდულირება, OS-ის ჩარჩოს გამოყოფით გამყიდველის დანერგვა, ჩვენ ჩავრთეთ "მოწყობილობისთვის სპეციფიკური Linux kernel fork", როგორც ამ გამყიდველის ნაწილი კოდი. ვინც იცნობს Linux-ს დესკტოპებზე, ამოიცნობს პრობლემას: რატომ არის ის დახურული წყაროს გამყიდველის კოდით? პრობლემა ის არის, რომ სანამ Android მოწყობილობები იგზავნება Linux-ის ბირთვით, ეს ბირთვი ახასიათებს ა ბევრი ხის გარეთ არსებული კოდიდან.
როგორ მივედით იქ? პრობლემა, როგორც ასახულია Google-ის პროგრამული უზრუნველყოფის ინჟინერმა ტოდ კიოსმა წლევანდელი Linux Plumbers კონფერენცია (მეშვეობით ArsTechnica), იმიტომ, რომ ძირითადი Linux-ის ბირთვი რამდენჯერმე იშლება, სანამ ის Android მოწყობილობაზე გაიგზავნება. Google ანაწილებს Linux-ის თითოეულ ბირთვს "Android საერთო ბირთვი" ფილიალი, რომელიც ყურადღებით ადევნებს თვალს მთავარ გამოშვებას, მაგრამ ამატებს Android-ის სპეციფიკურ პატჩებს. SoC გამყიდველები, როგორიცაა Qualcomm, MediaTek და Samsung, შემდეგ ჩანგალი რომ ბირთვი თითოეული SoC-სთვის, რომელსაც ისინი ქმნიან. შემდეგ OEM-ები იღებენ ამ SoC-ს სპეციფიკურ ბირთვს და ამატებენ დამატებით პატჩებს, რათა განახორციელონ მხარდაჭერა კონკრეტული ტექნიკისთვის, რომლის გაგზავნაც სურთ.
ამ ცვლილებების გამო, "მოწყობილობაზე გაშვებული კოდის დაახლოებით 50% არის ხის გარეთ არსებული კოდი (არა ლინუქსის ან AOSP საერთო ბირთვებიდან)“, იტყობინება Google. ამ მოწყობილობებზე ხის გარეთ არსებული კოდების დიდი რაოდენობა ხდის გაერთიანებას ზემოთ დინებაში ცვლილებების ხანგრძლივ და რთულ პროცესად. ეს საზიანოა მოწყობილობის უსაფრთხოებისთვის, რადგან OEM-ებმა მეტი უნდა იმუშაონ Linux-ის ბირთვში აღმოჩენილი დაუცველობების პატჩების დასანერგად. გარდა ამისა, ეს ტოვებს Android მოწყობილობების უმეტესობას წლების წინანდელ ბირთვის გამოშვებებზე, რაც იმას ნიშნავს, რომ ისინი გამოტოვებენ Linux-ის ბირთვის ახალ ფუნქციებს.
ამ პრობლემის გადასაჭრელად, Google მუშაობს Android Generic Kernel Image-ზე (GKI), რომელიც არსებითად არის ბირთვი, რომელიც შედგენილია პირდაპირ ACK ფილიალიდან. GKI იზოლირებს SoC გამყიდველისა და OEM პერსონალიზაციას დანამატების მოდულებზე, რაც გამორიცხავს ხის კოდს და საშუალებას აძლევს Google-ს ბირთვის განახლებები პირდაპირ საბოლოო მომხმარებელს მიაწოდოს. ერთ წელზე მეტი ხნის განმავლობაში, Google მუშაობს GKI განახლებების მიწოდების გზაზე Play Store-ის მეშვეობით, Mainline მოდულის გამოყენებით.
ჩვენი წყაროების თანახმად, მოწყობილობები, რომლებიც იხსნება Android 12 და Linux kernel 5.10-ით გაგზავნილმა უნდა განათავსოს Google-ის ხელმოწერილი ჩატვირთვის სურათი. Google არის ძალიან საკუთარი პიქსელი 6 სერია გამოვა Android 12-ით და გაიგზავნება Linux kernel 5.10-ით, ასე რომ, ეს ორი ტელეფონი შეიძლება იყოს პირველი მასობრივი ბაზრის მოწყობილობა GKI-ით.
გარდა ამისა, Google-ის Todd Kjos-მა გამოავლინა, რომ კომპანია გეგმავს გადავიდეს „პირველი დინების“ განვითარების მოდელზე Linux-ის ბირთვის ახალი ფუნქციებისთვის. ეს Google-ს დაეხმარება, უზრუნველყოს, რომ ახალი კოდი პირველ რიგში მოხვდება Linux-ის ძირითად ბირთვში, რაც შეამცირებს მომავალ ტექნიკურ ვალს, რომელიც დაგროვდება უფრო მეტი ხის კოდის დაშვების შედეგად Android მოწყობილობებზე.
ამ კვირაში Linux Plumbers კონფერენციაზე კიოსმა თქვა, „რადგან ხის გარეთ არსებული მოდულები ნამდვილად მნიშვნელოვანია ჩვენი გამოყენების შემთხვევაში, ჩვენ ველით, რომ ყოველთვის გვექნება ექსპორტის ნაკრები და ზოგიერთი რამ, რომელიც განსხვავებულია ან დამატებით. ზემო დინებაში, მაგრამ მთელი ეს პროექტი მრავალწლიანი პროექტია, რომელიც მუშაობს იმისთვის, რომ მოვიშოროთ რაც შეიძლება მეტი ხის ნაკვეთები და რაც შეიძლება მეტი გავაერთიანოთ დინების ზემოთ“. Google მიზნად ისახავს დაასრულოს თავისი მუშაობა არსებული ფუნქციების ზემორეგულაციისკენ და გამყიდველის ცვლილებების იზოლირებაზე 2022 წლის ბოლოსთვის და, 2023 წლიდან, კომპანია გეგმავს ამ "პირველი დინების" განვითარების მოდელის გამოყენებას, რათა თავიდან აიცილოს მსგავსი პრობლემები მომავალი.