If-Koubou

Android se temelji na Linuxu, ali što to znači?

Android se temelji na Linuxu, ali što to znači? (Kako da)

Android se može temeljiti na Linuxu, ali se ne temelji na vrsti Linux sustava koji ste možda koristili na računalu. Ne možete pokrenuti Androidove aplikacije na tipičnim Linux distribucijama i ne možete pokrenuti Linux programe koje poznajete na Androidu.

Linux čini sastavni dio Androida, ali Google nije dodao sve tipične programe i knjižnice koje biste pronašli na Linux distribuciji kao što je Ubuntu. To čini sve razliku.

"Linux" vs Linux kernel

Velika razlika ovdje se svodi na ono što mislimo pod Linuxom. Ljudi koriste izraz "Linux" kako bi značili mnogo različitih stvari. U svom osnovnom, Linux znači Linux kernel. Kernel je osnovni dio bilo kojeg operativnog sustava.

Također se odnose na Linux distribucije kao jednostavno "Linux". Međutim, Linux distribucije nisu samo Linux kernel. Sadrže i mnoge druge dijelove softvera, kao što su GNU programi za ljuske, Xorg grafički poslužitelj, GNOME radna površina, Firefox web preglednik i tako dalje. Zbog toga neki ljudi misle da se pojam GNU / Linux treba koristiti za "Linux distribucije" poput Ubuntu, Mint, Debian, Fedora, Arch, openSUSE i drugih.

Android koristi Linux kernel ispod nape. Budući da je Linux otvoren, Googleovi razvojni programeri za Android mogu mijenjati Linux kernel kako bi odgovarali njihovim potrebama. Linux daje programerima Android unaprijed izgrađen, već održavan kernel operacijskog sustava kako bi se počelo, tako da ne moraju pisati vlastiti kernel. Tako se gradi mnogo različitih uređaja - na primjer, PlayStation 4 koristi kernel FreeBSD otvorenog izvora, a Xbox One koristi kernel Windows NT koji se nalazi u modernim verzijama sustava Windows.

Čak ćete vidjeti verziju Linux kernela koja se pokreće na vašem uređaju pod stavkom O telefonu ili O tabletu u postavkama Androida.

Razlike

Postoji rasprava o tome hoće li se Android kvalificirati kao "Linux distribucija". Koristi Linux kernel i drugi softver, ali ne uključuje mnogo Linuxovih distribucija softvera koje obično uključuju.

Kada pokrenete Android uređaj, Linux kernel se učitava baš kao i na Linux distribuciji. Međutim, velik dio drugog softvera je drugačiji. Android ne uključuje GNU C knjižnicu (glibc) koja se koristi na standardnim Linux distribucijama, niti uključuje sve GNU knjižnice koje biste pronašli na tipičnoj Linux distribuciji. Također ne uključuje X poslužitelj kao što je Xorg, tako da ne možete pokrenuti standardne grafičke Linux aplikacije.

Umjesto pokretanja tipičnih Linux aplikacija, Android koristi Dalvik virtualni stroj kako bi u osnovi pokrenuo aplikacije napisane u Javi. Ove aplikacije usmjerene su na uređaje Android i API za aplikacijski programski sučelje (API) pružaju umjesto da budu usmjereni na Linux općenito.

Zašto ne možete pokrenuti Desktop Linux softver na Androidu

Budući da Android nema grafički X poslužitelj ili sve standardne GNU knjižnice, ne možete jednostavno pokrenuti Linux aplikacije na Androidu. Morate pokrenuti aplikacije napisane posebno za Android.

Android ima ljusku poput one koju ćete naći na Linuxu. Ne možete ga pristupiti izvan okvira, ali možete instalirati aplikaciju kao što je Android Terminal Emulator da biste pristupili toj terminalnoj okolini.

Prema zadanim postavkama, ovdje ne možete mnogo učiniti. Terminal će i dalje funkcionirati u ograničenom okruženju pa ne možete dobiti punu ljusku korijena bez uklanjanja vašeg Android uređaja. Mnoge standardne naredbe koje su vam potrebne nisu dostupne - to je razlog zašto su korisnici koji korijeni njihov uređaj uglavnom instalirali aplikaciju BusyBox, koja instalira mnoge uslužne programe naredbenog retka. Ove uslužne programe koriste aplikacije za rad s korijenskim pristupom.

Zašto ne možete pokrenuti Android softver na radnoj površini Linux

Linux ne uključuje Dalvik virtualni stroj pa ne može pokrenuti Androidove aplikacije. Dalvik virtualni stroj i svi drugi Androidovi softver ne mogu se jednostavno baciti na stolni stol na Linuxu - trebali biste raditi više da biste Android aplikacije izlazili na prozor na standardnoj radnoj površini putem Xorg-a, na primjer. Teoretski, s dovoljno posla, programeri bi mogli raditi Dalvik na desktopu Linuxa tako da korisnici stolnih računala mogu pokrenuti Androidove aplikacije na svojim stolnim računalima. Sada uspavani Ubuntu za Android proizvod pokušao je učiniti nešto ovako, integrirajući Ubuntu i Android na telefon i dopuštajući tim Android aplikacijama da se pokreću na Ubuntu radnoj površini.

BlueStacks i drugi emulatori aplikacija za Android pokušavaju to učiniti za Windows i Mac. Pokreću Android na virtualnom hardveru u virtualnom stroju, omogućujući im da na radnoj površini pokreću aplikacije za Android - s kaznenom izvedbom. Ove se rješenja ipak nisu pokazale vrlo popularnima.

Googleov OS Chrome temelji se i na Linuxu. Poput Android, OS Chrome ne pruža standardni sustav X prozora pa standardne Linux aplikacije ne mogu se prikazivati ​​na OS-u Chrome. Za razliku od Androida, Chrome OS bliži se standardnim Linux distribucijama računala, tako da možete upotrijebiti način razvojnog programera za instalaciju nestalog Linux desktop softvera.

Slikovni kredit: fanti na Flickr-u, anatomiji i fiziologiji Androida