Do niedawna niewiele wiedzieliśmy o systemie operacyjnym Google Fuchsia. Po raz pierwszy pojawił się na GitHub w 2016 roku bez oficjalnego ogłoszenia, szybko pojawiły się teorie o tym, co to może być.
Kilka dni temu pojawiła się wiadomość, że Google uruchomił witrynę projektu z informacjami o systemie operacyjnym Fuchsia, który jest rozwijany w firmie od wielu lat.
Witryna zawiera wybór dostępnej dokumentacji oraz linki do tekstów źródłowych komponentów systemu operacyjnego, w tym mikrojądra Zircon.
Dokumentacja obejmuje rozwój Fuchsia i aplikacje dla systemu operacyjnego, tworzy system z kodu źródłowego, opisu głównych komponentów i frameworków.
I nie wiadomo skąd Google postanawia wydobyć Fuchsię na światło dzienne
Po kilku latach wewnętrznego rozwoju w projekcie Fuchsia, gdzie było to praktycznie tajemnicą poliszynela, skoro programiści Google nic o nim nie wspominali i praktycznie zaprzeczali jego istnieniu, Google podjął decyzję o opublikowaniu projektu.
Należy pamiętać, że w ramach projektu Fuchsia opracowywany jest uniwersalny system operacyjny, który może działać na każdym typie urządzenia, od stacji roboczych i smartfonów po urządzenia wbudowane i konsumenckie.
Rozwój prowadzony jest z uwzględnieniem doświadczenia w tworzeniu platformy Android oraz z uwzględnieniem niedociągnięć w zakresie skalowalności i bezpieczeństwa.
O fuksji
Fuksja opracował własny interfejs GUI Armadillo napisany w Dart przy użyciu frameworka Flutter.
Projekt rozwijasz również framework Peridot UI, menedżer pakietów Fargo, standardowa biblioteka libc, system renderowania Escher, sterownik Magma Vulkan, menedżer scenic composite, MinFS, MemFS, ThinFS (FAT w języku Go) i Blobfs, a także menedżer sekcji FVM.
Aby zagwarantować kompatybilność Linuksa w kolorze fuksji, zaproponowano bibliotekę Machina, Umożliwia uruchamianie aplikacji Linuksa na specjalnej izolowanej maszynie wirtualnej utworzonej przy użyciu jądra Zircon opartego na hiperwizorze i specyfikacji Virtio, analogicznie do zorganizowanego sposobu uruchamiania aplikacji Linuksa w systemie operacyjnym Chrome.
Ze względów bezpieczeństwa zaproponowano zaawansowany system izolacji piaskownicy, w którym nowe procesy nie mają dostępu do obiektów jądra, nie mogą przydzielać pamięci i nie mogą wykonywać kodu, a używany jest system przestrzeni nazw, który określa dostępne uprawnienia dostępu do zasobów.
Z drugiej strony, nowa witryna projektu została odsłonięta że programiści Fuchsia OS pracują nad zadaniami w celu rozwiązania różnych problemów, gdzie w zależności od tego Fuchsia oferuje dwa rdzenie, a także szereg warstw.
- Warstwa granatu jest zaimplementowana na wierzchu cyrkonu i jest odpowiedzialna za sterowniki urządzeń
- Warstwa Topaz zapewnia interfejs do tworzenia wtyczek.
LK
LK zapewnia rdzeń dla systemów z ograniczonym rozmiarem pamięci RAM i niską wydajnością procesora, które są powszechnie używane w rozwiązaniach zintegrowanych. Jądro LK jest oparte na projekcie littlekernel i może być uważane za otwartą alternatywę dla systemów takich jak FreeRTOS i ThreadX.
Cyrkon
Cyrkon to w pełni funkcjonalny mikrojądro, które koncentruje się na aplikacjach na dość wydajnych urządzeniach, takich jak smartfony i komputery osobiste.
Rdzeń z cyrkonu został zaprojektowany jako uzupełnienie LK z wdrożeniem dodatkowych koncepcji.
Np. Zircon obsługuje procesy, ale LK nie, ale implementacja procesów w Zircon obejmuje komponenty LK do pracy z pamięcią i wątkami. Zircon obsługuje również brakujące możliwości LK, takie jak poziom użytkownika, system obsługi obiektów i model bezpieczeństwa oparty na możliwościach.
Jeśli chcesz poznać witrynę projektu, możesz to zrobić, kontaktując się z do poniższego łącza.