2Sep

Android är baserat på Linux, men vad betyder det?

click fraud protection

Android kan baseras på Linux, men det är inte baserat på vilken typ av Linux-system du kanske har använt på datorn. Du kan inte köra Android-appar på typiska Linux-distributioner och du kan inte köra Linux-programmen du är bekant med på Android.

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

"Linux" vs Linux-kärnan

Den stora skillnaden här kommer ner till vad vi menar med Linux. Människor använder termen "Linux" för att betyda många olika saker. Linux baserar sig på grundläggande Linux, Linux-kärnan. En kärna är kärnan i vilket operativsystem som helst.

Vi hänvisar också till Linux-distributioner som bara "Linux". Linux-distributioner är dock inte bara Linuxkärnan. De innehåller många andra mjukvaror, som GNU-skalverktygen, Xorgs grafiska server, GNOME-skrivbord, Firefox-webbläsare och så vidare. Därför tycker vissa att termen GNU / Linux ska användas för "Linux-distributioner" som Ubuntu, Mint, Debian, Fedora, Arch, openSUSE och andra.

instagram viewer

Android använder Linux-kärnan under huven. Eftersom Linux är öppen källkod kan Googles Android-utvecklare ändra Linux-kärnan så att de passar deras behov. Linux ger Android-utvecklarna en förbyggd, redan underhållen operativsystemkärna till att börja med, så att de inte behöver skriva sin egen kärna. Det här är det sätt på vilket många olika enheter är byggda - till exempel använder PlayStation 4 FreeBSD-kärnan i öppen källkod, medan Xbox One använder Windows NT-kärnan som finns i moderna versioner av Windows.

Du ser även Linux-kärnversionen som körs på din enhet under Om telefon eller Om tablet i Android Inställningar.

Skillnaderna

Det finns en del debatt om huruvida Android kvalificerar sig som en "Linux-distribution". Den använder Linux-kärnan och annan programvara, men innehåller inte mycket av programvaran Linux-distributioner innehåller normalt.

När du startar en Android-enhet laddas Linux-kärnan precis som den skulle på en Linux-distribution. Men mycket av den andra mjukvaran är annorlunda. Android innehåller inte GNU C-biblioteket( glibc) som används på standard Linux-distributioner, och innehåller inte heller alla GNU-bibliotek som du hittar på en vanlig Linux-distribution. Det innehåller inte heller en X-server som Xorg, så du kan inte köra standard grafiska Linux-applikationer.

I stället för att köra typiska Linux-applikationer använder Android Dalviks virtuella maskin för att i huvudsak driva applikationer skrivna i Java. Dessa applikationer riktar sig till Android-enheter och applikationsprogrammeringsgränssnittet( API) Android ger snarare än att vara riktade mot Linux i allmänhet.

Varför kan du inte köra Desktop Linux-programvara på Android

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

Android har ett skal som det du hittar på Linux. Det finns inget sätt att komma åt det utan att göra det, men du kan installera en app som Android Terminal Emulator för att få tillgång till den här terminala miljön.

Som standard finns det inte mycket du kan göra här. Terminalen kommer fortfarande att köras i en begränsad miljö, så du kan inte få ett fullständigt rotskal utan att rotera din Android-enhet. Många standardkommandon du kanske behöver är inte tillgängliga - det är därför som folk som rotar sin enhet, installerar BusyBox-applikationen, som installerar många kommandoradsverktyg. Dessa verktyg används av applikationer för att göra saker med deras root access.

Varför kan du inte köra Android-programvara på skrivbordet Linux

Linux innehåller inte den virtuella Dalvik-maskinen, så den kan inte köras i Android-appar. Dalviks virtuella maskin och alla andra Android-programvaror kan inte helt enkelt släppas på en stationär Linux-maskin - du måste göra mer arbete för att göra Android-appar till ett fönster på ett vanligt skrivbord via Xorg. Teoretiskt sett kan utvecklarna med tillräckligt arbete göra Dalvik köra på stationär Linux, så att stationära Linux-användare kan köra Android-appar på sina stationära datorer. Den nu vilande Ubuntu for Android-produkten försökte göra något så här, integrera Ubuntu och Android på en telefon och låta dessa Android-appar köras på Ubuntus skrivbord.

BlueStacks och andra Android app emulatorer försöker göra det för Windows och Mac. De kör Android på virtuell maskinvara i en virtuell maskin, så att de kan köra Android-appar - med en prestationsstraff - på skrivbordet. Dessa lösningar har dock inte visat sig vara mycket populära.

Googles Chrome OS är också baserat på Linux. Liksom Android, tillhandahåller Chrome OS inte ett standard X-fönster, så standard Linux-applikationer kan inte köras på Chrome OS.Till skillnad från Android är Chrome OS närmare standard Linux-distribueringar, så att du kan använda utvecklarläget för att installera den saknade Linux-skrivbordsprogramvaran.

Image Credit: Ranti på Flickr, Anatomi och Physiology av Android