Početna » kako da » Android temelji se na Linuxu, ali što to znači?

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

    Android može biti baziran na Linuxu, ali nije zasnovan na tipu 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 Linuxove programe s Androidom.

    Linux čini jezgreni dio Androida, ali Google nije dodao sve tipične programe i knjižnice koje bi se nalazili na Linux distribuciji poput Ubuntua. To čini razliku.

    “Linux” u odnosu na Linux kernel

    Velika razlika ovdje se svodi na ono što podrazumijevamo pod Linuxom. Ljudi koriste izraz "Linux" u značenju mnogo različitih stvari. Na najosnovnijem, Linux znači Linux kernel. Jezgra je osnovni dio svakog operativnog sustava.

    Također, Linux distribucije nazivamo jednostavno "Linuxom". Međutim, Linux distribucije nisu samo Linux kernel. Oni sadrže mnoge druge dijelove softvera, kao što su uslužni programi za GNU shell, Xorg grafički poslužitelj, GNOME desktop, Firefox web preglednik, i tako dalje. Zato neki ljudi misle da bi termin GNU / Linux trebao biti korišten za “Linux distribucije” poput Ubuntua, Minta, Debiana, Fedore, Archa, OpenSUSEa i drugih..

    Android koristi Linux kernel ispod haube. Budući da je Linux otvorenog koda, Googleovi programeri Androida mogli bi izmijeniti Linux kernel kako bi odgovarao njihovim potrebama. Linux daje Android programerima unaprijed izgrađeni, već održavani kernel operativnog sustava kako ne bi morali napisati vlastiti kernel. Tako je izgrađeno mnogo različitih uređaja - na primjer, PlayStation 4 koristi open-source FreeBSD kernel, dok Xbox One koristi kernel Windows NT koji se nalazi u modernim verzijama sustava Windows..

    Čak ćete vidjeti i verziju Linux kernela koja se izvodi na uređaju u odjeljku O telefonu ili O tabletu u postavkama Androida.

    Razlike

    Postoji neka rasprava o tome smatra li se Android "Linux distribucijom". Koristi Linux kernel i drugi softver, ali ne uključuje mnogo softvera koji Linux distribucija obično uključuje.

    Kada pokrenete Android uređaj, Linux kernel se učitava kao i kod Linux distribucije. Međutim, veći dio drugog softvera je drugačiji. Android ne uključuje knjižnicu GNU C (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 da bi u osnovi pokrenuo aplikacije napisane na Javi. Te su aplikacije usmjerene na uređaje sa sustavom Android i sučelja za programiranje aplikacija (API-je) koje Android pruža, a ne ciljano na Linux općenito.

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

    Budući da Android ne uključuje 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 postoji način da mu se pristupi izvan okvira, ali možete instalirati aplikaciju kao što je Android Terminal Emulator da biste pristupili ovom terminalnom okruženju.

    Prema zadanim postavkama ovdje ne možete mnogo učiniti. Terminal će i dalje raditi u ograničenom okruženju, tako da ne možete dobiti punu korijensku ljusku bez korijenja vašeg Android uređaja. Mnoge standardne naredbe koje vam mogu zatrebati nisu dostupne - zato ljudi koji rootiraju svoj uređaj općenito instaliraju aplikaciju BusyBox, koja instalira mnoge uslužne programe naredbenog retka. Ovi programi koriste aplikacije za obavljanje poslova s ​​korijenskim pristupom.

    Zašto ne možete pokrenuti Android softver na Desktop Linuxu

    Linux ne uključuje virtualni stroj Dalvik, tako da ne može pokrenuti Android aplikacije. Virtualni stroj Dalvik i svi drugi Androidovi programi ne mogu se jednostavno baciti na desktop Linux stroj - morat ćete više raditi kako bi Android aplikacije izašle u prozor na standardnoj radnoj površini putem Xorga, na primjer. Teoretski, s dovoljno posla, programeri bi mogli Dalvik pokrenuti na desktop Linuxu, tako da korisnici Linuxa na stolnim računalima mogu pokrenuti Android aplikacije. Sada već uspavani Ubuntu za Android proizvod je pokušao učiniti nešto poput ovoga, integrirajući Ubuntu i Android na telefon i dopuštajući tim Android aplikacijama da rade na Ubuntuovoj radnoj površini..

    BlueStacks i drugi emulatori Android aplikacija pokušavaju to učiniti za Windows i Mac. Oni pokreću Android na virtualnom hardveru u virtualnom stroju, dopuštajući im da pokreću Androidove aplikacije - uz izvođenje kazne - na radnoj površini. Ta se rješenja ipak nisu pokazala vrlo popularnima.


    Googleov OS Chrome također se temelji na Linuxu. Kao i Android, OS Chrome ne nudi standardni sustav X-prozora, pa se standardne Linux aplikacije ne mogu pokrenuti na OS-u Chrome. Za razliku od Androida, Chrome OS je bliži standardnim distribucijama Linuxa na stolnom računalu tako da možete koristiti način rada za razvojne programere za instaliranje nedostajućeg softvera za Linux.

    Kredit za slike: ranti na Flickru, anatomiji i fiziologiji Androida