2Sep

Android temelji na Linuxu, ampak kaj to pomeni?

Android lahko temelji na Linuxu, vendar ne temelji na vrsti sistema Linux, ki ste ga morda uporabljali na vašem računalniku. Ne morete zagnati Android aplikacij na tipičnih Linux distribucijah in ne morete zagnati programov Linux, ki ste jih poznali v Androidu.

Linux predstavlja osnovni del Androida, Google pa ni dodal vseh tipičnih programov in knjižnic, ki jih boste našli na distribuciji Linuxa, kot je Ubuntu. To naredi vse razlike.

"Linux" v primerjavi z jedrom Linuxa

Velika razlika pri tem se nanaša na Linux. Ljudje uporabljajo izraz "Linux", ki pomenijo veliko različnih stvari. Linux je najbolj osnovno, Linux pomeni jedro Linuxa. Jedro je jedro operacijskega sistema.

Govorimo tudi o distribuciji Linuxa kot preprosto "Linuxu". Vendar distribucije Linuxa niso le jedro Linuxa. Vsebujejo številne druge dele programske opreme, kot so pripomočki GNU za lupine, grafični strežnik Xorg, namizni računalnik GNOME, spletni brskalnik Firefox in tako naprej. Zato nekateri menijo, da bi moral biti izraz GNU / Linux uporabljen za "distribucije Linuxa", kot so Ubuntu, Mint, Debian, Fedora, Arch, openSUSE in drugi.

Android uporablja jedro Linux pod pokrovom. Ker je Linux odprtokodni, so lahko Googlovi razvijalci Android spremenili jedro Linuxa, da bi ustrezal njihovim potrebam. Linux daje razvijalcem Android predhodno zgrajeno, že vzdrževano jedro operacijskega sistema, da se začne, tako da jim ni treba napisati lastnega jedra. Tako je narejeno veliko različnih naprav - na primer, PlayStation 4 uporablja jedro FreeBSD-ja z odprtokodnim vira, medtem ko Xbox One uporablja jedro operacijskega sistema Windows NT v sodobnih različicah sistema Windows.

Videli boste tudi različico jedra Linuxa, ki se izvaja v vaši napravi, v razdelku O telefonu ali O tabličnem računalniku v nastavitvah za Android.

Razlike

Razpravlja se o tem, ali Android izpolnjuje pogoje za "distribucijo Linuxa". Uporablja jedro Linuxa in drugo programsko opremo, vendar ne vključuje večine programske opreme, ki običajno vključuje distribucije Linuxa.

Ko zaženete napravo Android, se jedro Linux naloži tako, kot bi bilo na distribuciji Linuxa. Vendar pa je večina druge programske opreme drugačna. Android ne vključuje knjižnice GNU C( glibc), ki se uporablja pri standardnih distribucijah Linuxa, niti ne vsebuje vseh knjižnic GNU, ki bi jih našli pri tipični distribuciji Linuxa. Prav tako ne vsebuje strežnika X, kot je Xorg, zato ne morete zagnati standardnih grafičnih aplikacij Linuxa.

Namesto da bi uporabljal tipične Linux aplikacije, Android uporablja virtualni računalnik Dalvik, da v bistvu izvaja programe, napisane v Java. Te aplikacije so usmerjene v naprave Android in programski vmesniki( API-ji), ki jih ponuja Android, namesto da bi bili osredotočeni na Linux na splošno.

Zakaj ne morete zagnati namizne programske opreme Linux v sistemu Android

Ker v Androidu ni grafičnega strežnika X ali vseh standardnih knjižnic GNU, ne morete preprosto zagnati aplikacij Linux v sistemu Android. Predložiti morate aplikacije, napisane posebej za Android.

Android ima lupino, podobno tisti, ki jo najdete na Linuxu. Ni mogoče dostopati do njega zunaj okna, vendar lahko za dostop do tega terminalskega okolja namestite aplikacijo, kot je Android Terminal Emulator.

Privzeto vam tukaj ni veliko. Terminal bo še vedno deloval v omejenem okolju, zato ne morete pridobiti polne korenske lupine brez korenenja naprave Android. Mnogi standardni ukazi, ki jih morda potrebujete, niso na voljo - zato ljudje, ki zagrevajo svojo napravo, na splošno namestijo aplikacijo BusyBox, ki namesti številne pripomočke v ukazni vrstici. Te pripomočke uporabljajo aplikacije za izvajanje stvari z njihovim dostopom do korenin.

Zakaj ne morete zagnati Android programske opreme v namiznem Linuxu

Linux ne vključuje virtualnega računalnika Dalvik, zato ne more zagnati aplikacij za Android. Dalvikov virtualni stroj in celotno drugo programsko opremo Androida ni mogoče preprosto izpustiti na namizno napravo Linux - več bi morali storiti, da bi na primer na primer aplikacije Xorg izpisali aplikacije Android v okno na standardnem namizju. Teoretično, z dovolj dela, lahko razvijalci dal Dalvik na namizje Linux, tako da so namizni uporabniki Linuxa lahko zagnali aplikacije Android na svojih namiznih računalnikov. Zdaj ni uspel Ubuntu za Android izdelek poskušal narediti nekaj takega, integrirajo Ubuntu in Android v telefon in omogočajo, da te aplikacije za Android delujejo na namizju Ubuntu.

BlueStacks in drugi emulatorji aplikacij za Android poskušajo to narediti za Windows in Mac. V virtualnem računalniku tečejo Android na navidezni strojni opremi, ki jim omogoča, da na namizju delujejo aplikacije Android - s kaznijo uspešnosti. Vendar se te rešitve niso izkazale za zelo priljubljene.

Googleovi Chrome OS temelji tudi na Linuxu. Tako kot Android, Chrome OS ne zagotavlja standardnega sistema za okna X, zato standardne aplikacije Linux ne more delovati v sistemu Chrome OS.Za razliko od Androida, je Chrome OS bližje standardnim namiznim distribucijam Linuxa, tako da lahko uporabite način za razvijalce, da namestite manjkajočo namizno programsko opremo za Linux.

Image Credit: ranti na Flickr, Anatomija in fiziologija Android