Android er basert på Linux, men hva betyr det?
Android kan være basert på Linux, men det er ikke basert på hvilken type Linux-system du kanskje har brukt på PCen. Du kan ikke kjøre Android-apper på typiske Linux-distribusjoner, og du kan ikke kjøre Linux-programmene du er kjent med på Android.
Linux utgjør kjernen i Android, men Google har ikke lagt til all den typiske programvaren og bibliotekene du vil finne på en Linux-distribusjon som Ubuntu. Dette gjør hele forskjellen.
"Linux" vs Linux-kjernen
Den store forskjellen her kommer ned til hva vi mener med Linux. Folk bruker begrepet "Linux" for å bety mange forskjellige ting. Linux er den mest grunnleggende, Linux-kjernen. En kjerne er kjernen i et hvilket som helst operativsystem.
Vi refererer også til Linux-distribusjoner som bare "Linux". Linux-distribusjoner er imidlertid ikke bare Linux-kjernen. De inneholder mange andre stykker programvare, for eksempel GNU-shellverktøyene, Xorgs grafiske server, GNOME-skrivebordet, Firefox-nettleseren og så videre. Derfor mener noen at begrepet GNU / Linux skal brukes til "Linux-distribusjoner" som Ubuntu, Mint, Debian, Fedora, Arch, openSUSE og andre.
Android bruker Linux-kjernen under hetten. Fordi Linux er åpen kildekode, kan Googles Android-utviklere endre Linux-kjernen for å dekke deres behov. Linux gir Android-utviklerne en pre-built, allerede vedlikeholdt operativsystemkjerne til å begynne med, slik at de ikke trenger å skrive sin egen kjernelengde. Slik fungerer mange forskjellige enheter - for eksempel bruker PlayStation 4 FreeBSD-kjernen i åpen kildekode, mens Xbox One bruker Windows NT-kjernen som finnes i moderne versjoner av Windows.
Du ser til og med Linux-kjerneversjonen som kjører på enheten din under Om telefon eller Om nettbrett i Android-innstillingene.
Forskjellene
Det er litt diskusjon om hvorvidt Android kvalifiserer som en "Linux-distribusjon." Den bruker Linux-kjernen og annen programvare, men det inkluderer ikke mye av programvaren Linux-distribusjoner inkluderer normalt.
Når du starter en Android-enhet, laster Linux-kjernen akkurat som den ville på en Linux-distribusjon. Men mye av den andre programvaren er forskjellig. Android inkluderer ikke GNU C-biblioteket (glibc) som brukes på standard Linux-distribusjoner, og inkluderer heller ikke alle GNU-bibliotekene du vil finne på en typisk Linux-distribusjon. Det inkluderer heller ikke en X-server som Xorg, så du kan ikke kjøre standard grafiske Linux-applikasjoner.
I stedet for å kjøre typiske Linux-applikasjoner, bruker Android den virtuelle Dalvik-maskinen til å kjøre programmer som er skrevet i Java. Disse applikasjonene er rettet mot Android-enheter, og applikasjonsprogrammeringsgrensesnittene (APIer) Android gir snarere enn å være målrettet mot Linux generelt.
Hvorfor kan du ikke kjøre Desktop Linux-programvare på Android
Fordi Android ikke inneholder en grafisk X-server eller alle de vanlige GNU-bibliotekene, kan du ikke bare kjøre Linux-applikasjoner på Android. Du må kjøre programmer skrevet spesielt for Android.
Android har et skall som det du finner på Linux. Det er ingen måte å få tilgang til det utenom boksen, men du kan installere en app som Android Terminal Emulator for å få tilgang til dette terminalmiljøet.
Som standard er det ikke mye du kan gjøre her. Terminalen vil fortsatt kjøre i et begrenset miljø, slik at du ikke kan få et fullt rotskall uten å rote din Android-enhet. Mange standardkommandoer du kanskje trenger, er ikke tilgjengelige - det er derfor folk som roter deres enhet, installerer vanligvis BusyBox-programmet, som installerer mange kommandolinjeverktøy. Disse verktøyene brukes av programmer for å gjøre ting med roten tilgang.
Hvorfor kan du ikke kjøre Android-programvare på Desktop Linux
Linux inkluderer ikke den virtuelle Dalvik-maskinen, så den kan ikke kjøre Android-apper. Den virtuelle Dalvik-maskinen og alle Android-programvarene kan ikke bare løses på en Linux-maskin på skrivebordet. Du må gjøre mer arbeid for å lage Android-apper til et vindu på et standard skrivebord via Xorg. Teoretisk, med nok arbeid, kunne utviklere få Dalvik til å kjøre på desktop Linux, slik at Linux-brukere på skrivebordet kunne kjøre Android-apper på sine skrivebord. Det nå sovende Ubuntu for Android-produktet forsøkte å gjøre noe slikt, integrere Ubuntu og Android på en telefon og la de Android-appene kjøre på Ubuntu's skrivebord.
BlueStacks og andre Android app emulatorer forsøker å gjøre dette for Windows og Mac. De kjører Android på virtuell maskinvare i en virtuell maskin, slik at de kan kjøre Android-apper - med en ytelsesstraff - på skrivebordet. Disse løsningene har imidlertid ikke vist seg å være veldig populære.
Googles Chrome OS er også basert på Linux. Som Android gir Chrome OS ikke et standard X-vindusystem, slik at standard Linux-applikasjoner ikke kan kjøre på Chrome OS. I motsetning til Android er Chrome OS nærmere standard Linux-distribusjoner, slik at du kan bruke utviklingsmodus til å installere den manglende Linux-skrivebordsprogramvaren.
Bilde Kreditt: Ranti på Flickr, Anatomi og Fysiologi av Android