Główna » jak » Android jest oparty na systemie Linux, ale co to znaczy?

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

    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ę.

    "Linux" a jądro Linux

    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 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 tak dalej. 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 innych.

    Android używa jądra Linux pod maską. Ponieważ Linux jest open-source, programiści Androida Google mogli modyfikować jądro systemu Linux zgodnie z ich potrzebami. Linux daje programiście systemu Android gotowe, już działające jądro systemu operacyjnego, aby 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 wykorzystuje jądro Windows NT znalezione w nowoczesnych wersjach systemu Windows.

    Możesz nawet zobaczyć wersję jądra systemu Linux uruchomioną na urządzeniu w sekcji Informacje o telefonie lub Informacje o tablecie w Ustawieniach Androida.

    Różnice

    Trochę debat na temat tego, czy Android kwalifikuje się jako "dystrybucja Linuksa". Używa jądra Linux i innego oprogramowania, ale nie zawiera dużej części oprogramowania..

    Po uruchomieniu urządzenia z systemem Android jądro systemu Linux ładuje się tak samo, 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 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.

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

    Ponieważ Android nie zawiera graficznego serwera X lub wszystkich standardowych bibliotek GNU, nie można po prostu uruchamiać aplikacji 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 terminali.

    Domyślnie nie ma tu wiele możliwości. 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żesz uruchomić oprogramowania Android na Linuksie?

    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 mogą być po prostu przeniesione na komputer z Linuksem na komputerze - musisz wykonać więcej pracy, aby aplikacje na Androida wyświetlały się w oknie 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 Linuksie, 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, pozwalając im 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 oferuje 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 do zainstalowania brakującego oprogramowania dla Linuksa.

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