Android põhineb Linuxil, kuid mida see tähendab?
Android võib põhineda Linuxil, kuid see ei põhine Linuxi süsteemil, mida olete arvutis kasutanud. Te ei saa käivitada Android-rakendusi tüüpilistel Linuxi distributsioonidel ja te ei saa käivitada Android-i tuttavaid Linuxi programme.
Linux moodustab Androidi põhiosa, kuid Google ei ole lisanud kõiki tavalisi tarkvara ja raamatukogusid, mida leiad Linuxi levitamisel nagu Ubuntu. See muudab kogu vahe.
“Linux” vs Linuxi kernel
Suur erinevus siin on see, mida me Linuxi all mõtleme. Inimesed kasutavad terminit „Linux”, et tähendada palju erinevaid asju. Kõige tavalisem on Linux Linuxi tuuma. Kernel on mis tahes operatsioonisüsteemi põhiosa.
Me nimetame Linuxi levitusi ka lihtsalt „Linuxiks“. Kuid Linuxi levitamised ei ole ainult Linuxi tuum. Need sisaldavad paljusid muid tarkvara, nagu GNU shell utilities, Xorg graafiline server, GNOME töölaud, Firefoxi veebibrauser jne. Sellepärast arvavad mõned inimesed, et terminit "GNU / Linux" tuleks kasutada "Linuxi distributsioonide" jaoks, nagu Ubuntu, Mint, Debian, Fedora, Arch, openSUSE ja teised.
Android kasutab Linuxi tuuma kapoti all. Kuna Linux on avatud lähtekoodiga, võivad Google'i Android-arendajad muuta Linuxi tuuma vastavalt nende vajadustele. Linux annab Android-arendajatele juba ehitatud, juba hooldatud operatsioonisüsteemi kerneli, et nad ei peaks oma kerneli kirjutama. Nii on ehitatud palju erinevaid seadmeid - näiteks PlayStation 4 kasutab avatud lähtekoodiga FreeBSD tuuma, samas kui Xbox One kasutab Windows NT kerneli, mis leidub Windowsi kaasaegsetes versioonides.
Sa näed isegi seadmes Linuxi kerneli versiooni, mis asub Androidi seadete jaotises Teave telefoni kohta või Teave tahvelarvuti kohta.
Erinevused
On mõningane arutelu selle üle, kas Android kvalifitseerub Linuxi levitamiseks. See kasutab Linuxi tuuma ja muud tarkvara, kuid see ei sisalda palju Linuxi levitusi, mis tavaliselt sisaldavad.
Kui käivitate Android-seadme, laadib Linuxi kernel nagu Linuxi levitamisel. Kuid suur osa teisest tarkvarast on teistsugune. Android ei sisalda GNU C raamatukogu (glibc), mida kasutatakse tavalistes Linuxi distributsioonides, ega ka kõiki GNU raamatukogusid, mida leiad tüüpilisest Linuxi levitamisest. Samuti ei sisalda see X serverit nagu Xorg, nii et te ei saa kasutada standardseid graafilisi Linuxi rakendusi.
Selle asemel, et kasutada tavalisi Linuxi rakendusi, kasutab Android Dalvik virtuaalmasinat, et sisuliselt käivitada Java-kirjutisi. Need rakendused on suunatud Android-seadmetele ja rakenduste programmeerimisliidesed (API-d), mida Android pakub, mitte Linuxile üldiselt.
Miks te ei saa töölaua Linuxi tarkvara Androidis kasutada
Kuna Android ei sisalda graafilist X-serveri ega kõiki standardseid GNU raamatukogusid, ei saa te lihtsalt Linuxi rakendusi käivitada. Peate käivitama spetsiaalselt Androidile kirjutatud rakendusi.
Androidil on nagu shell, mis leiad Linuxist. Sellele ei pääse juurde, kuid saate installida sellist rakendust nagu Android Terminal Emulator, et pääseda ligi sellele terminalikeskkonnale.
Vaikimisi ei saa siin palju teha. Terminal töötab endiselt piiratud keskkonnas, nii et te ei saa täisjuurt ilma Android-seadet juurdumata. Paljud standardsed käsud, mida te vajate, ei ole saadaval - sellepärast paigaldavad inimesed, kes oma seadet juurivad, üldjuhul installima rakenduse BusyBox, mis installib palju käsurea utiliite. Rakendused kasutavad neid utiliite juurjuurdepääsu tegemiseks.
Miks te ei saa Android'i tarkvara töölaual Linuxis käivitada
Linux ei sisalda Dalviku virtuaalmasinat, nii et see ei saa Android-rakendusi käivitada. Dalviku virtuaalarvutit ja kogu Androidi muud tarkvara ei saa lihtsalt lauaarvutile maha panna - peate tegema rohkem tööd, et muuta Android-rakendused näiteks Xorgi kaudu standardse töölaua aknasse. Teoreetiliselt saavad arendajad piisavalt tööd teha Dalvik töölaual Linuxis, nii et lauaarvutite Linuxi kasutajad saaksid oma töölauale Android-rakendusi käivitada. Nüüd seisvate Ubuntu Android-toodete jaoks üritas ta teha midagi sellist, integreerides Ubuntu ja Android telefoni ning võimaldades neil Android-rakendustel töötada Ubuntu töölaual.
BlueStacks ja teised Android-rakenduste emulaatorid püüavad seda teha nii Windowsi kui Maci puhul. Nad töötavad virtuaalses masinas Androidiga virtuaalses masinas, võimaldades neil töötada töölaual Android-rakendusi, millel on jõudluskaristus. Need lahendused ei ole siiski väga populaarsed.
Google'i Chrome OS põhineb ka Linuxil. Sarnaselt Androidiga ei paku Chrome OS standardse X-aknasüsteemi, nii et standardseid Linuxi rakendusi ei saa Chrome OS-is kasutada. Erinevalt Androidist on Chrome OS standardse töölaua Linuxi distributsioonile lähemal, nii et saate kasutada arendaja režiimi puuduva Linuxi töölaua tarkvara installimiseks.
Pildi krediit: ranti Flickri, Androidi anatoomia ja füsioloogia kohta