Hjemmeside » hvordan » Android er basert på Linux, men hva betyr det?

    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