ChromeOS to system operacyjny oparty na Linuksie zaprojektowany przez Google
Kilka dni temu Deweloperzy ChromeOS opublikowali informacje nt nowa praca, na której zaczęli się skupiać, czyli laCROS (akronim dla Linuksa i Chrome OS), który ma na celu oddzielenie przeglądarki Chrome od menedżera okien i interfejsu użytkownika systemu.
Od początku w systemie operacyjnym Chrome przeglądarka internetowa, menedżer okien, ekran logowania i systemowy interfejs użytkownika są zaimplementowane w jednym pliku wykonywalnym.
Ten ruch pozwala nie łączyć aktualizacji Chrome z aktualizacją systemu i aktualizuj go analogicznie do przeglądarki w normalnym systemie operacyjnym.
Przeglądarka lacros-chrome to zwykła kompilacja Chrome dla systemu Linux z rozszerzoną obsługą Wayland, ponieważ system operacyjny Chrome ma implementację serwera Wayland o nazwie egzosfera. Jest używany przez ARC (do uruchamiania aplikacji na Androida) i Crostini (do uruchamiania aplikacji na Linuksa). Do generowania i przetwarzania zdarzeń wejściowych lacros-chrome wykorzystuje warstwę ozonową, która abstrahuje interakcję z podsystemem graficznym, który wykorzystuje backend z obsługą klienta Wayland.
Celem projektu LaCROS jest rozdzielenie przeglądarki i elementów interfejsu systemu na dwa różne pliki binarne: ash-chrome (interfejs) i lacros-chrome (przeglądarka).
W ten sposób szukają programiści Chrome że podczas rozdzielania składników czy można je opracować osobno i mieć własny cykl wydawniczy, to znaczy, że nowa wersja systemu nie będzie wydawana co 4 tygodnie, jak to miało miejsce (to w odniesieniu do cyklu wydawniczego Chrome/Chromium) i że tylko przeglądarka otrzymuje odpowiednią aktualizację i inne komponenty systemu są aktualizowane w razie potrzeby.
Podstawowym podejściem jest zmiana nazwy istniejącego pliku binarnego na ash-chrome przy minimalnych zmianach. Następnie bierzemy plik binarny linux-chrome, poprawiamy jego zgodność z Waylandem, sprawiamy, że działa jak przeglądarka internetowa w systemie operacyjnym Chrome i wysyłamy go jako plik binarny lacros-chrome. Pozwala to na niezależne wydawanie dwóch plików binarnych, przy pewnym koszcie wydajności/zasobów. Limit API będzie początkowo półstabilny: będzie tolerował 1-2 kamienie milowe odchylenia od wydania. W przyszłości możemy pozwolić na większą stronniczość.
Oba pliki binarne są zbudowane z repozytorium chromium git. Jednak pliki binarne mogą być budowane w różnych wersjach. Na przykład wersja lacros utworzona z gałęzi M-101 może działać na wersji ash utworzonej z gałęzi M-100.
Z drugiej strony wspomina się również, że rozdzielając elementy, dąży się do tego, aby raporty i korekty błędów były obsługiwane oddzielnie bo np. mówi się, że:
- Błędy Lacros należy zgłaszać w OS=Lacros
- Błędy w pliku binarnym ash-chrome, które dotyczą tylko ash-chrome, powinny być oznaczone jako OS=Chrome.
- Błędy w pliku binarnym lacros-chrome, które dotyczą tylko lacros-chrome, powinny być oznaczone jako OS=Lacros.
- Błędy w pliku binarnym ash-chrome, które mają wpływ na lacros-chrome, powinny być oznaczone tagami OS=Chrome i OS=Lacros. Nie powinny one blokować uwalniania popiołu chromu w krótkim okresie, ale powinny blokować uwalnianie popiołu chromu w perspektywie długoterminowej.
Na koniec należy o tym wspomnieć LaCROS ma być domyślnie włączony dla niektórych modeli Chromebooków od czasu wydania ChromeOS 116 (chociaż wzmianka w dokumentacji, że trzeba ustawić eksperymentalne flagi, aby włączyć Lacros, została usunięta).
Ponieważ niektórzy użytkownicy Chromebooków wspominali, że mają w systemie dwie przeglądarki, jedną Chrome i drugą LaCROS, które są zasadniczo takie same (Chrome) z tą różnicą, że nie są zbudowane w ten sam sposób, ponieważ jak wspomniano ChromeOS ma zintegrowaną przeglądarkę ChromeOS (czyli są jednym i tym samym elementem), podczas gdy LaCROS to samodzielna wersja Chrome na Linuksa (czyli dodatkowy element systemu).
Jeżeli jesteś chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły poniżej link