Hjemmeside » hvordan » Android er baseret på Linux, men hvad betyder det?

    Android er baseret på Linux, men hvad betyder det?

    Android kan være baseret på Linux, men det er ikke baseret på den type Linux-system, du måske har brugt på din pc. Du kan ikke køre Android-apps på typiske Linux-distributioner, og du kan ikke køre Linux-programmerne, du er bekendt med på Android.

    Linux udgør kernen i Android, men Google har ikke tilføjet alle de typiske software og biblioteker, du ville finde på en Linux-distribution som Ubuntu. Dette gør hele forskellen.

    "Linux" vs Linux-kernen

    Den store forskel her kommer ned på hvad vi mener ved Linux. Folk bruger udtrykket "Linux" til at betyde mange forskellige ting. Linux er den mest grundlæggende, Linux-kerne. En kerne er kernen i ethvert operativsystem.

    Vi henviser også til Linux-distributioner som blot "Linux". Linux-distributioner er ikke kun Linux-kernen. De indeholder mange andre softwarestykker, som f.eks. GNU-shell-værktøjerne, Xorgs grafiske server, GNOME-skrivebordet, Firefox-browseren og så videre. Derfor mener nogle mennesker, at udtrykket GNU / Linux skal bruges til "Linux-distributioner" som Ubuntu, Mint, Debian, Fedora, Arch, openSUSE og andre.

    Android bruger Linux-kernen under emhætten. Da Linux er open-source, kunne Googles Android-udviklere ændre Linux-kernen for at passe deres behov. Linux giver Android-udviklerne en forudbygget, allerede vedligeholdt operativsystemkerne til at begynde med, så de ikke behøver at skrive deres egen kerne. Sådan fungerer mange forskellige enheder - for eksempel bruger PlayStation 4 FreeBSD-kernen i open source, mens Xbox One bruger Windows NT-kernen, der findes i moderne versioner af Windows.

    Du kan endda se, at Linux-kerneversionen kører på din enhed under Om telefon eller Om tablet i Android Indstillinger.

    Forskellene

    Der er en debat om, hvorvidt Android kvalificerer sig som en "Linux distribution". Den bruger Linux-kernen og anden software, men omfatter ikke meget af software Linux-distributionerne normalt.

    Når du starter en Android-enhed, lader Linux-kernen ligesom i Linux-distributionen. Men meget af den anden software er anderledes. Android omfatter ikke GNU C Library (glibc), der bruges på standard Linux-distributioner, og indeholder heller ikke alle de GNU-biblioteker, du ville finde på en typisk Linux-distribution. Det indeholder heller ikke en X-server som Xorg, så du kan ikke køre standard grafiske Linux-applikationer.

    I stedet for at køre typiske Linux-applikationer bruger Android den virtuelle Dalvik-maskine til at køre programmer, der er skrevet i Java. Disse applikationer er målrettet mod Android-enheder, og applikationsprogrammeringsgrænsefladerne (API'er) Android giver snarere end at blive målrettet mod Linux generelt.

    Hvorfor kan du ikke køre Desktop Linux-software på Android

    Fordi Android ikke indeholder en grafisk X-server eller alle standard GNU-biblioteker, kan du ikke bare køre Linux-applikationer på Android. Du skal køre programmer skrevet specifikt til Android.

    Android har en shell som den, du finder på Linux. Der er ingen mulighed for at få adgang til det uden for boksen, men du kan installere en app som Android Terminal Emulator for at få adgang til denne terminalmiljø.

    Som standard er der ikke meget du kan gøre her. Terminalen kører stadig i et begrænset miljø, så du kan ikke få en fuld rodskal uden at rote din Android-enhed. Mange standardkommandoer du muligvis ikke er tilgængelige - derfor installerer folk, der driver deres enhed, generelt BusyBox-applikationen, som installerer mange kommandolinjeværktøjer. Disse værktøjer bruges af applikationer til at gøre ting med deres rodadgang.

    Hvorfor kan du ikke køre Android-software på Desktop Linux

    Linux inkluderer ikke den virtuelle Dalvik-maskine, så den kan ikke køre Android-apps. Dalviks virtuelle maskine og alle Android's anden software kan ikke simpelthen vælges på en stationær Linux-maskine - du skal gøre mere for at få Android apps til at udgive til et vindue på et standard skrivebord via Xorg. Teoretisk set kunne udviklerne med tilstrækkeligt arbejde gøre Dalvik kørende på stationær Linux, så desktop Linux-brugere kunne køre Android-apps på deres desktops. Den nu sovende Ubuntu for Android-produkt forsøgte at gøre noget som dette, integrere Ubuntu og Android på en telefon og lade disse Android apps køre på Ubuntu's desktop.

    BlueStacks og andre Android app emulatorer forsøger at gøre dette til Windows og Mac. De kører Android på virtuel hardware i en virtuel maskine, så de kan køre Android apps - med en præstations straf - på dit skrivebord. Disse løsninger har dog ikke vist sig at være meget populære.


    Googles Chrome OS er også baseret på Linux. Ligesom Android leverer Chrome OS ikke et standard X-vindues system, så standard Linux-applikationer kan ikke køre på Chrome OS. I modsætning til Android er Chrome OS tættere på standard desktop Linux-distributioner, så du kan bruge udviklertilstand til at installere den manglende Linux-desktop software.

    Billedkredit: Ranti på Flickr, Anatomi og Fysiologi af Android