android är baserad på Linux, men vad betyder det?

Android kan baseras på Linux, men det är inte beroende på vilken typ av Linux-system du kan ha använt på din dator. Du kan inte köra Android-appar på typiska Linux-distributioner och du kan inte köra Linux-program du är bekant med på Android.

Linux utgör kärnan i Android, men Google har inte lagt alla typiska program och bibliotek du skulle hitta på en Linux-distribution som Ubuntu. Detta gör hela skillnaden.

Den stora skillnaden här handlar om vad vi menar med Linux. Människor använder termen “Linux” att betyda många olika saker. I sin mest grundläggande betyder Linux Linux-kärnan. En kärna är kärnan i alla operativsystem.

Vi hänvisar också till Linux-distributioner som helt enkelt “Linux”. Men Linux-distributioner är inte bara Linux-kärnan. De innehåller många andra delar av programvara, såsom GNU skal verktyg, Xorg grafisk server, GNOME-skrivbordet, Firefox webbläsare, och så vidare. Det är därför vissa människor tror termen GNU / Linux bör användas för “Linux-distributioner” som Ubuntu, Mint, Debian, Fedora, Arch, openSUSE och andra.

Android använder Linuxkärnan under huven. Eftersom Linux är öppen källkod, kan Googles Android-utvecklare modifiera Linux-kärnan för att passa deras behov. Linux ger Android utvecklare en färdiga, redan underhållna operativsystemets kärna att börja med så att de inte behöver skriva sin egen kärna. Detta är hur många olika enheter byggs – till exempel PlayStation 4 använder öppen källkod FreeBSD kärna, medan Xbox Man använder Windows NT-kärnan finns i moderna versioner av Windows.

Du kommer även se Linux-kärnan version som körs på enheten under Om telefonen eller om tabletten i Android Inställningar.

Det finns en debatt om huruvida Android betecknas som en “Linux-distribution.” Den använder Linux-kärnan och andra program, men det omfattar inte mycket av programvaran Linux-distributioner inkluderar normalt.

När du startar en Android-enhet, Linux-kärnan laddar precis som det skulle på en Linux-distribution. Det är dock en stor del av annan programvara annorlunda. Android inkluderar inte GNU C-bibliotek (glibc) som används på vanliga Linux-distributioner, inte heller inkluderar det alla GNU bibliotek du skulle hitta på en typisk Linux-distribution. Det kommer också omfattar inte en X-server som Xorg, så att du kan inte köra vanliga grafiska Linux-program.

Snarare än att köra typiska Linux-tillämpningar använder Android Dalvik virtuell maskin väsentligen köra applikationer skrivna i Java. Dessa program är inriktade på Android-enheter och gränssnitten programmerings (API) Android ger i stället för att inriktas på Linux i allmänhet.

Eftersom Android inte innehåller en grafisk X-server eller alla de vanliga GNU bibliotek, kan du inte bara köra Linux-tillämpningar på Android. Du måste köra applikationer skrivna speciellt för Android.

Android har en skal som den du hittar på Linux. Det finns inget sätt att få tillgång till den out-of-the-box, men du kan installera en app som Android terminalemulator för att få tillgång till denna terminal miljö.

Som standard finns det inte mycket du kan göra här. Terminalen kommer fortfarande köra i en begränsad miljö, så att du kan inte få en fullständig rot skal utan böka din Android-enhet. Många vanliga kommandon du kan behöva finns inte – det är därför människor som utrota sina enheter installeras i allmänhet BusyBox ansökan, som installerar många kommandoradsverktyg. Dessa verktyg används av program för att göra saker med sin root-access.

Linux inkluderar inte den virtuella maskinen Dalvik, så det kan inte köra Android-appar. Den virtuella maskinen Dalvik och alla Android annan programvara kan inte bara släppas på en stationär Linux maskin – du måste göra mer för att göra Android-appar utgång till ett fönster på en vanlig stationär genom Xorg, till exempel. Teoretiskt, med tillräckligt med arbete, kan utvecklare göra Dalvik körs på skrivbordet Linux så stationära Linux-användare kan köra Android-appar på sina skrivbord. Den nu vilande Ubuntu för Android produkt försökt göra något sådant, att integrera Ubuntu och Android på en telefon och låta dessa Android-appar för att köras på Ubuntus skrivbord.

Bluestacks och andra Android app emulatorer försöker att göra detta för Windows och Mac. De kör Android på virtuell hårdvara i en virtuell maskin, så att de kan köra Android-appar – med en prestandaförlust – på skrivbordet. Dessa lösningar har inte visat sig vara mycket populärt, men.

Googles Chrome OS är också baserad på Linux. Som Android, inte Chrome OS inte en vanlig X Window System, så vanliga Linux-program kan inte köras på Chrome OS. Till skillnad från Android, är Chrome OS närmare standard Desktop Linux distributioner så att du kan använda utvecklarläget för att installera den saknade Linux programvara.

Image Credit: ranti på Flickr, anatomi och fysiologi av Android

På grund av pris somliga köpte Chrome att köra Linux använder utvecklarläget men jag är inte säker på resultatet är lika bra som på en vanlig bärbar dator. Det är synd eftersom Chrome OS är alltför begränsad.

Uttalandet görs

Det är därför vissa människor tror termen GNU / Linux bör användas för “Linux-distributioner” som Ubuntu, Mint, Debian, Fedora, Arch, openSUSE och andra.

Jag tycker att det är intressant att GNU på http://www.gnu.org/home.html decries specificly några (om inte alla) av dessa distributioner som inte gratis som GNU var tänkt.

Inte alla Android-appar använder Dalvik körmiljön. Det är därför vissa (Dalvik) program skulle köra på min gamla Velocity Micro Cruz T301 tablett (MIPS CPU), men “native” appar (skriven för ARM miljö, inte Dalvik / Java) skulle inte installera.

Svart päls minskar djurutnyttjandegraden från skyddsrum, svarta katter antas med en hastighet tre gånger mindre än vita katter.