Google współpracuje z Qualcomm, aby ułatwić dostarczanie aktualizacji oprogramowania, umożliwiając 4 wersje systemu operacyjnego Android i 4 lata aktualizacji zabezpieczeń.
Ponad 3 lata temu Google ogłosił Projekt Treble, zasadnicza zmiana architektury Androida mająca na celu przyspieszenie aktualizacji oprogramowania. Architektura wprowadzona przez Project Treble pomogła producentom OEM przyspieszyć dostarczanie głównych rozwiązań Aktualizacje systemu operacyjnego Android i comiesięczne poprawki bezpieczeństwa miały niekorzystny wpływ na dostawców SoC, takich jak Qualcomm. W rzeczywistości Treble zwiększyło złożoność, a tym samym koszty inżynieryjne, związane z zapewnieniem obsługi aktualizacji systemu operacyjnego Android dla dowolnego chipsetu. Ograniczyło to długość wsparcia, jakie Qualcomm może zapewnić swoim SoC, ale to wkrótce się zmieni. Wszystkie układy SoC Snapdragon uruchamiane z systemem Android 11 lub nowszym — począwszy z Snapdragonem 888, Qualcomm będzie obsługiwać 3 aktualizacje wersji systemu operacyjnego Android (wersja premierowa + 3-literowe aktualizacje), a także 4-letnie aktualizacje zabezpieczeń. To dodatkowy rok niż poprzednio przewidziano dla swoich flagowych chipsetów z serii 800.
Dzisiejsze ogłoszenie jest znaczące, ale nie można go zrozumieć bez podstawowej wiedzy o tym, co Google próbował osiągnąć w ramach Project Treble 3 lata temu.
Firma Treble stworzyła podział na platformę systemu operacyjnego Android (w tym cały kod interfejsu użytkownika, interfejsy API i procesy systemowe, z których korzystają aplikacje interakcji) oraz specyficzne dla urządzenia oprogramowanie niskiego poziomu (w tym podstawowe jądro Linuksa i warstwy abstrakcji sprzętu, lub HAL). Oprogramowanie niskiego poziomu specyficzne dla urządzenia komunikuje się ze strukturą systemu operacyjnego Android poprzez dobrze zdefiniowany, stabilny interfejs dostawcy. Każda wersja systemu operacyjnego Android gwarantuje kompatybilność wsteczną z implementacją dostawcy, co Google zapewnia poprzez wykorzystanie zestawu testów dostawców (VTS), ustandaryzowanego zestawu testów zgodności. Oznacza to, że na przykład struktura systemu operacyjnego Android 11 jest wstecznie kompatybilna z implementacją dostawcy zaprojektowaną dla Androida 10. W rzeczywistości dla każdej nowej wersji Androida Google publikuje ogólne obrazy systemu (GSI), czyli obrazy systemów utworzone w źródłach, które są wstecznie kompatybilne z trzema ostatnimi wersjami wdrożeń dostawców. Kiedy producent OEM buduje nowe urządzenie z Androidem, może dowolnie modyfikować strukturę systemu operacyjnego Android, wprowadzając nowe zastrzeżone funkcje i interfejsy API, ale muszą zapewniać kompatybilność implementacji dostawcy urządzenia GSI.
Przede wszystkim w ten sposób Treble zmniejsza fragmentację i przyspiesza dostarczanie nowych aktualizacji systemu operacyjnego — podczas parowania platformy systemu operacyjnego Android (która jest otwarta źródłowego i dostarczane przez Google) oraz specyficzne dla urządzenia oprogramowanie niskiego poziomu (które często jest źródłem zamkniętym i dostarczane w ramach umów z dostawcami SoC) dzięki stabilnemu dostawcy interfejs. W idealnym przypadku oznacza to, że producenci OEM mogą spędzać mniej czasu na naprawianiu błędów sprzętowych, a więcej na przenoszeniu zmian na poziomie systemu do najnowszej wersji systemu operacyjnego Android. W rzeczywistości od czasu wprowadzenia Treble Google twierdzi, że producenci OEM przyjęli najnowszą wersję systemu operacyjnego Android znacznie szybciej niż wcześniej. „W momencie premiery Androida 11 było 667 milionów aktywnych użytkowników Androida 10, z czego 82% otrzymało wersję Androida 10 poprzez aktualizację OTA” – podaje Google.
Ponieważ każda nowa wersja Androida dodaje obsługę większej liczby funkcji sprzętowych (system operacyjny musi obsługiwać nowe funkcje nadążać za szybkim rozwojem branży mobilnej), Google musi w tym celu zaktualizować interfejs dostawcy uwolnienie. W ten sposób firma definiuje nowe wymagania HAL i zaleca nowe wersje jądra Linuksa, ale wymagają one jedynie urządzeń wodowanie z nową wersją systemu operacyjnego Android, aby faktycznie obsługiwać zmiany mające wpływ na dostawcę. Na przykład, jeśli Google zmodyfikuje HAL kamery Androida, aby obsługiwał wiele czujników tylnej kamery, tylko nowe urządzenia uruchamiane z nową wersją Androida muszą obsługuje zaktualizowaną warstwę HAL, podczas gdy starsze urządzenia dokonujące aktualizacji do nowej wersji mogą ponownie korzystać z implementacji starszego dostawcy bez nowej warstwy HAL kamery wymóg. Zmniejsza to koszty i złożoność – z punktu widzenia producenta OEM – wprowadzenia nowej wersji systemu operacyjnego Android na starsze urządzenie. Problem polega jednak na tym, że takie podejście wprowadza dodatkową złożoność dla dostawców SoC, takich jak Qualcomm, MediaTek i inni.
W wyniku tej zasady projektowania Qualcomm i inni dostawcy SoC muszą obsługiwać wiele kombinacji oprogramowania ramowego systemu operacyjnego Android i implementacji dostawców. Dostawca SoC, który obsługuje 3 generacje wersji systemu operacyjnego Android dla konkretnego chipsetu, musi obsługiwać 6 kombinacji oprogramowania struktury systemu operacyjnego i implementacji dostawcy. Dzieje się tak dlatego, że producenci OEM mogą uniknąć ponownego wykorzystania implementacji starszego dostawcy w celu ominięcia nowego jądra HAL i Linuksa wymagań dotyczących wersji, dostawcy SoC muszą upewnić się, że ich implementacje obsługują zarówno starą, jak i nową wersję wymagania. Nie mogą wybierać. Pomnóż to przez dziesiątki chipsetów, które dostawca SoC musi obsługiwać, a zobaczysz, jak Treble faktycznie zwiększyło ich złożoność.
Z tego powodu Qualcomm i inni dostawcy SoC zazwyczaj zapewniają maksymalnie 2 aktualizacje systemu operacyjnego i 3 lata aktualizacji zabezpieczeń dla konkretnego chipsetu. Chociaż nie znam dokładnych kosztów, zakładam, że dla dostawców SoC, takich jak Qualcomm, nie jest ekonomicznie wykonalne, aby wspierać chipsety znacznie dłużej. Widzieliśmy, że Qualcomm i inni dostawcy SoC czasami zapewniają dłuższe wsparcie, ale to wszystko zależy od zapotrzebowania ze strony producentów OEM żeby było ekonomicznie. Jeśli nie ma takiego zapotrzebowania, to na producentach OEM spoczywa większość kosztów rozwoju związanych z wprowadzeniem nowej wersji Androida – i to nie jest łatwe zadanie. Ale dzięki połączonym wysiłkom Google i Qualcomm ten ostatni będzie teraz obsługiwał 4 systemy operacyjne Android wersje i 4-letnie aktualizacje zabezpieczeń dla wybranych chipsetów Snapdragon, począwszy od Qualcomm Snapdragona 888.
Aby było to możliwe, Google rozszerzyło „zasadę braku działania wstecznego” Project Treble na SoC, a także na urządzenia. Oznacza to, że nowe wymagania dotyczące wersji jądra HAL i Linux nie będą działać wstecz w przypadku SoC. Na przykład SoC, który premiery z systemem Android 11 (takim jak Snapdragon 888) mogą ponownie wykorzystywać implementację tego samego dostawcy do obsługi systemu Android 12 do Androida 14. W ten sposób dostawcy SoC mogą opracować pojedynczy pakiet wsparcia płyty (BSP) dla konkretnego chipsetu w celu dystrybucji Producenci OEM, zamiast utrzymywać wiele wersji BSP, które muszą być aktualizowane z każdym nowym systemem Android uwolnienie. To radykalnie zmniejsza koszty inżynieryjne związane z obsługą Androida na konkretnym chipsecie, dając dostawcom SoC, takim jak Qualcomm, możliwość dłuższej obsługi swoich chipsetów.
Google współpracuje również z firmą Qualcomm, aby zapewnić, że ta ostatnia będzie ponownie wykorzystywać to samo oprogramowanie szkieletowe systemu operacyjnego w wielu Qualcomm chipsetów, co jeszcze bardziej zmniejsza liczbę kombinacji ram systemu operacyjnego i kombinacji dostawców, których wymaga Qualcomm wsparcie. Dostawcy SoC modyfikują obecnie kod struktury AOSP i budują własne wersje ogólnych obrazów systemów. Na przykład Qualcomm nazywa się QSSI, a MediaTek nazywa się MSSI. Teraz będzie można zagwarantować kompatybilność tych obrazów systemów specyficznych dla SoC z wieloma chipsetami, a także z oprogramowaniem starszych dostawców, podobnie jak AOSP GSI firmy Google.
Oczekuje się, że urządzenia z Qualcomm Snapdragon 888 zadebiutują już wkrótce, zaczynając od serii Xiaomi Mi 11 i Samsung Galaxy S21. Mamy nadzieję, że ogłoszenie Google i Qualcomm oznacza, że wszystkie urządzenia ze Snapdragonem 888 otrzymają 3-letni okres aktualizacji systemu operacyjnego Android i poprawek zabezpieczeń, ale nie ma gwarancji, że tak się stanie. Producenci OEM nadal muszą inwestować znaczne sumy w rozwój i dystrybucję nowych wersji systemu operacyjnego – ale jest to znacznie bardziej prawdopodobne teraz, gdy sam Qualcomm będzie obsługiwał 4 wersje systemu operacyjnego Android. Mamy nadzieję, że co najmniej jeden producent OEM skorzysta z dzisiejszego ogłoszenia i ogłosi rozszerzoną obsługę oprogramowania dla swoich przyszłych flagowych telefonów wyposażonych w procesor Snapdragon 888. Większość producentów OEM oferuje obecnie aktualizacje Androida tylko przez 2 lata, podczas gdy zarówno Samsung, jak i Google obiecują 3 lata. To wciąż zdecydowanie za mało w porównaniu z Apple i słusznie podnosino to wiele, wiele razy i nadal będzie się to powtarzać, dopóki różnica nie zostanie zmniejszona.
Jeśli chodzi o innych dostawców SoC, Google prowadzi z nimi rozmowy w sprawie zastosowania tej nowej zasady braku działania wstecz, aby oni również mogli zapewnić rozszerzone wsparcie oprogramowania dla swoich chipsetów. Nie mamy żadnego potwierdzenia od MediaTek ani innych dostawców SoC, ale nie widzimy powodu, dla którego nie mieliby zgodzić się z tym pomysłem – przynajmniej w przypadku nowych chipsetów. Według Google spodziewają się, że skorzystają z nich głównie nowo wprowadzone SoC zmian, więc nie spodziewaj się, że którekolwiek z Twoich obecnych urządzeń otrzyma rozszerzone wsparcie oprogramowania ze względu na dzisiejsze zmiany ogłoszenie.
Ten artykuł został zaktualizowany o 13:50 ET w dniu 16.12.2020 r. w celu zmiany słowa „urządzenia” w tytule na „chipety”, aby lepiej odzwierciedlić miejsce, w którym zmiany wejdą w życie. Dzięki uprzejmości Google dodano dodatkowe informacje do artykułu.
Ten artykuł został zaktualizowany o 14:10 czasu wschodniego, aby odzwierciedlić fakt, że Google i Qualcomm obiecują obsługę 4 urządzeń z systemem Android Wersje systemu operacyjnego — czyli wersja premierowa plus 3 lata aktualizacji systemu operacyjnego Android — zamiast 4 lat systemu operacyjnego aktualizacje. Qualcomm obiecuje jednak dostarczać aktualizacje zabezpieczeń przez 4 lata.