2Sep
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. Det gør hele forskellen.
"Linux" vs Linux Kernel
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 grundlæggende, Linux-kernen. 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, 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 indeholder ikke meget af softwaren, Linux-distributioner omfatter 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 Dalvik virtuelle maskine til i det væsentlige at køre programmer 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 du ikke kan 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 måde at få adgang til det uden for boksen, men du kan installere en app som Android Terminal Emulator for at få adgang til dette terminal miljø.
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 du ikke kan køre Android-software på stationær 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 blive droppet på en stationær Linux-maskine - du skal gøre mere arbejde for at gøre Android apps output til et vindue på et standard skrivebord via Xorg. Teoretisk set kunne udviklerne med tilstrækkeligt arbejde gøre Dalvik kørende på stationære 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