17.10.20223 min

Maciej OlanickiRedakcja Bulldogjob

KataOS – nowy system operacyjny Google napisany w Rust

Sprawdź, czym jest KataOS – nowy system opracowany przez Google w dużej mierze z użyciem Rusta i bez użycia jądra Linux.

KataOS – nowy system operacyjny Google napisany w Rust

Google słynie z miłości do uśmiercania swoich produktów – zapewne wielu już widziało witryny stanowiące cmentarzysko porzuconych produktów i usług: serwisów społecznościowych, komunikatorów czy usług internetowych, które – choć często lubiane przez samych użytkowników – nie przetrwały próby czasu i surowych kalkulacji. Jedną z kategorii oprogramowania, w których Google pozostaje aktywne, są systemy operacyjne, czego właśnie dowiedziono po raz kolejny.


Systemy operacyjne Google

Korporacja rozwijała dotąd w dużej mierzenie niezależnie od siebie przynajmniej cztery systemy operacyjne. Rzecz jasna najważniejszy z nich jest Android, który dawno już wykroczył poza ramy urządzeń mobilnych i znajdziemy go dziś m.in. na telewizorach, komputerach pokładowych samochodów, urządzeniach wearables, czytnikach e-booków. Słowem – trudno wskazać klasę urządzeń, na których ktoś nie próbował instalować Androida. Nie brakuje zresztą głosów, że Android jest dziś rozciągnięty za zbyt dużą liczbę różnego rodzaju sprzętów, nie zawsze będąc na to gotowym z developerskiego punktu widzenia.

Jest też ChromeOS – system ciekawy i innowacyjny, który jednak nie zdobył nad Wisłą większego uznania. Na jądrze Linux zbudowano powłokę bazującą na mechanizmie otwierania nowej karty w Chrome i pomysł wyewoluował tak sprawnie, że dziś można już tam uruchamiać aplikacje z Androida, uruchomić Ubuntu, a wkrótce – zapewne w konsekwencji cięć finansowych, które uśmierciły usługę Google Stadia – będzie można na ChromeOS-ie również pograć, oczywiście dzięki streamingowi.

Google dysponuje także systemem FuchsiaOS, który trafił już zresztą na pierwsze urządzenia automatyki domowej. Jest to o tyle novum, że bazuje na autorskim mikrokernelu, a nie – jak wcześniejsze dwa przykłady – na jądrze Linux. Fuksja zdaje się jednak poletkiem eksperymentalnym, gdzie opracowywane są funkcje, które trafiają później do innych produktów Google jako modyfikacje Androida. Zapomnieć nie można także o gLinux, czyli bazującej na Debianie dystrybucji Linuksa wykorzystywanej na potrzeby wewnętrzne korporacji.


KataOS – nowy system operacyjny Google

Do listy opracowywanych w Mountain View systemów operacyjnych można już dopisać kolejny – KataOS rozwijany pod nazwą Project Sparrow. I wiemy już o nim całkiem sporo – ma to być system kierowany na systemy wbudowane o ściśle ograniczonych zespołach sprzętowych, urządzenia Internetu Rzeczy, a dokładniej te urządzenia, na których uruchamiane są aplikacje wykorzystujące uczenie maszynowe. Pomysł zrodził się z potrzeby – według zespołu Google Research dotychczas stosowane w tej klasie urządzeń systemy operacyjne oferują zbyt niski poziom bezpieczeństwa. KataOS ma to zmienić.

Jak Google ma zamiar tego dokonać? Między innymi za sprawą wyboru odpowiedniego jądra systemowego. Zamiast Linuksa zastosowano tutaj mikrokernel seL4, który właśnie bezpieczeństwo traktuje priorytetowo. Nie jest to bynajmniej oprogramowanie autorskie, lecz opensource’owy kernel rozwijany przez niezależną fundację, którego największą zaletą ma być implementacja, w której matematycznie dowiedziono pełną zgodność ze specyfikacją. Skutkuje to tym, że seL4 ma być pierwszym mikrokernelem, w którym bezpieczeństwo jest gwarantowane dowodem matematycznym.

Z użyciem frameworka CAmkES Google udało się opracować komponenty systemu, dzięki którym nie ma logicznej możliwości, aby aplikacje naruszyły bezpieczeństwo jądra systemowego. Cała implementacja niemal w całości napisana została w języku Rust. W Ruście opracowane zostały także stosowane w KataOS frameworki, rootserver i wszelkie modyfikacje jądra seL4 pochodzące od Google: moduły pozwalające na alokację sterty, zapis logów czy obsługę komunikatów kernel panic.

Cześć kodu KataOS jest już dostępna na GitHubie wraz z początkową dokumentacją. Choć na razie Google celuje przede wszystkim w architekturę ARM, to jednak pewne jest już, że KataOS będzie mógł być także uruchamiany na systemach wbudowanych wykorzystujących architekturę RISC-V. Google zapowiada także, że docelowo całe przedsięwzięcie, łącznie ze sprzętem, będzie ogólnodostępne na wolnych licencjach. 

<p>Loading...</p>