System 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ę.
Duża różnica tutaj sprowadza się do tego, 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 jako "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 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.
Możesz nawet zobaczyć wersję jądra Linuksa uruchomioną na urządzeniu w sekcji Informacje o telefonie lub Informacje o tablecie w Ustawieniach Androida.
Dyskutuje się o tym, 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 przypadku 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 korzysta z maszyny wirtualnej Dalvik, aby zasadniczo uruchamiać aplikacje napisane w języku Java. Te aplikacje są przeznaczone dla urządzeń z systemem Android, a interfejsy programowania aplikacji (API) zapewniają raczej ogólny system operacyjny niż system Linux.
Ponieważ Android nie zawiera graficznego serwera X lub wszystkich standardowych bibliotek GNU, nie można po prostu uruchamiać aplikacji dla systemu Linux na Androidzie. 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ę, taką jak Emulator terminala systemu Android, aby uzyskać dostęp do tego środowiska terminala.
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.
Linux nie zawiera maszyny wirtualnej Dalvik, więc nie może uruchamiać aplikacji na Androida. 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 na Androida próbują to zrobić dla 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 Google również opiera się 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