2Sep

Android jest oparty na systemie Linux, ale co to znaczy?

Android może być oparty na systemie Linux, ale nie jest oparty na typie systemu Linux, który mógł być używany na komputerze. Nie możesz uruchamiać aplikacji na Androida w typowych dystrybucjach Linuksa i nie możesz uruchomić programów linuksowych, które znasz na Androida.

Linux stanowi główną część systemu Android, ale Google nie dodał wszystkich typowych programów i bibliotek, które można znaleźć w dystrybucji Linuksa, takich jak Ubuntu. To robi różnicę.

"Linux" kontra jądro Linux

Duża różnica polega na tym, co rozumiemy pod Linuksem. Ludzie używają terminu "Linux", co oznacza wiele różnych rzeczy. W najprostszym przypadku Linux oznacza jądro Linux. Jądro jest rdzeniem każdego systemu operacyjnego.

Odwołujemy się również do dystrybucji Linuksa po prostu "Linux". Jednak dystrybucje Linuksa to nie tylko jądro Linuksa. Zawierają wiele innych programów, takich jak narzędzia powłoki GNU, serwer graficzny Xorg, środowisko GNOME, przeglądarka internetowa Firefox i inne. Dlatego niektórzy ludzie uważają, że termin "GNU / Linux" powinien być używany dla "dystrybucji Linuksa" takich jak Ubuntu, Mint, Debian, Fedora, Arch, openSUSE i inne.

Android używa jądra systemu Linux pod maską.Ponieważ Linux jest open-source, programiści Google na Androida mogą modyfikować jądro systemu Linux zgodnie z ich potrzebami. Linux daje programiście systemu Android gotowe, już istniejące jądro systemu operacyjnego, aby mogli zacząć, więc nie muszą pisać własnego jądra. W ten sposób powstaje wiele różnych urządzeń - na przykład PlayStation 4 wykorzystuje otwarte jądro FreeBSD, podczas gdy Xbox One korzysta z jądra systemu Windows NT, które można znaleźć we współczesnych wersjach systemu Windows.

Pojawi się nawet wersja jądra systemu Linux uruchomiona na urządzeniu w sekcji Informacje o telefonie lub Informacje o tablecie w Ustawieniach Androida.

Różnice

Dyskutuje się, czy Android kwalifikuje się jako "dystrybucja Linuksa". Używa jądra Linux i innego oprogramowania, ale nie zawiera dużej części oprogramowania, które zwykle zawierają dystrybucje Linuksa.

Po uruchomieniu urządzenia z systemem Android jądro systemu Linux ładuje się tak, jak w dystrybucji Linuksa. Jednak wiele innych programów jest innych. Android nie zawiera biblioteki GNU C( glibc) używanej w standardowych dystrybucjach Linuksa, ani nie zawiera wszystkich bibliotek GNU, które można znaleźć w typowej dystrybucji Linuksa. Nie zawiera również serwera X, takiego jak Xorg, więc nie można uruchamiać standardowych graficznych aplikacji systemu Linux.

Zamiast uruchamiania typowych aplikacji dla systemu Linux, Android używa maszyny wirtualnej Dalvik do uruchamiania aplikacji napisanych w Javie. Te aplikacje są przeznaczone dla urządzeń z systemem Android, a interfejsy programowania aplikacji( API) zapewniają raczej ogólny system operacyjny niż system Linux.

Dlaczego nie można uruchamiać oprogramowania dla systemu Linux na platformie Android

Ponieważ system Android nie zawiera graficznego serwera X lub wszystkich standardowych bibliotek GNU, nie można po prostu uruchamiać aplikacji systemu Linux na systemie Android. Musisz uruchamiać aplikacje napisane specjalnie dla Androida.

Android ma powłokę podobną do tej, którą znajdziesz na Linuksie. Nie ma sposobu, aby uzyskać do niego dostęp natychmiast po zainstalowaniu, ale możesz zainstalować aplikację podobną do emulatora terminala systemu Android, aby uzyskać dostęp do tego środowiska terminalowego.

Domyślnie nie ma tu wiele do zrobienia. Terminal będzie nadal działać w ograniczonym środowisku, więc nie możesz uzyskać pełnej wersji root bez korzenia swojego urządzenia z Androidem. Wiele standardowych poleceń, których możesz potrzebować, nie jest dostępnych - dlatego ludzie, którzy rootują swoje urządzenia, zazwyczaj instalują aplikację BusyBox, która instaluje wiele narzędzi wiersza poleceń.Te aplikacje są używane przez aplikacje do robienia rzeczy z dostępem do roota.

Dlaczego nie można uruchamiać oprogramowania Android na komputerze stacjonarnym Linux

Linux nie zawiera maszyny wirtualnej Dalvik, więc nie może uruchamiać aplikacji dla systemu Android. Maszyna wirtualna Dalvik i całe inne oprogramowanie Androida nie może po prostu zostać przeniesione na komputer z Linuksem na komputerze - musisz wykonać więcej pracy, aby aplikacje na Androida wyświetlały się na oknach na standardowym komputerze, na przykład na Xorg. Teoretycznie, przy wystarczającej ilości pracy, programiści mogli sprawić, by Dalvik działał na komputerowym Linuxie, więc użytkownicy komputerów stacjonarnych mogliby uruchamiać aplikacje na Androida na swoich komputerach. Uśpiony już system Ubuntu dla Androida próbował zrobić coś takiego, integrując Ubuntu i Androida na telefonie i pozwalając tym aplikacjom na Androida działać na pulpicie Ubuntu.

BlueStacks i inne emulatory aplikacji dla systemu Android próbują to zrobić dla systemów Windows i Mac. Działają na urządzeniach wirtualnych na wirtualnej maszynie, dzięki czemu mogą uruchamiać aplikacje na Androida - z karą za wyniki - na pulpicie. Te rozwiązania nie okazały się jednak bardzo popularne.

System operacyjny Chrome firmy Google jest również oparty na systemie Linux. Podobnie jak Android, system operacyjny Chrome nie zapewnia standardowego systemu okien X, więc standardowe aplikacje dla systemu Linux nie mogą działać w systemie operacyjnym Chrome. W przeciwieństwie do Androida, system operacyjny Chrome jest bliżej standardowych dystrybucji Linuksa dla komputerów stacjonarnych, więc możesz użyć trybu programisty, aby zainstalować brakujące oprogramowanie dla systemu Linux.

Image Credit: ranti on Flickr, Anatomy and Physiology of Android