2Sep
Android is mogelijk gebaseerd op Linux, maar het is niet gebaseerd op het type Linux-systeem dat je mogelijk op je pc hebt gebruikt. U kunt geen Android-apps uitvoeren op standaard Linux-distributies en u kunt de Linux-programma's die u kent op Android niet uitvoeren.
Linux vormt het kerndeel van Android, maar Google heeft niet alle typische software en bibliotheken toegevoegd die je zou vinden op een Linux-distributie zoals Ubuntu. Dit maakt het verschil.
"Linux" versus de Linux Kernel
Het grote verschil komt hier neer op wat we bedoelen met Linux. Mensen gebruiken de term "Linux" om veel verschillende dingen te betekenen. In de basis betekent Linux de Linux-kernel. Een kernel is het kerngedeelte van elk besturingssysteem.
We verwijzen ook naar Linux-distributies als eenvoudigweg "Linux". Linux-distributies zijn echter niet alleen de Linux-kernel. Ze bevatten vele andere stukjes software, zoals de GNU shell-hulpprogramma's, Xorg grafische server, GNOME-bureaublad, Firefox-webbrowser, enzovoort. Dat is waarom sommige mensen denken dat de term GNU / Linux moet worden gebruikt voor "Linux-distributies" zoals Ubuntu, Mint, Debian, Fedora, Arch, openSUSE en anderen.
Android maakt gebruik van de Linux-kernel onder de motorkap. Omdat Linux open source is, kunnen de Android-ontwikkelaars van Google de Linux-kernel aanpassen aan hun behoeften. Linux geeft de Android-ontwikkelaars een vooraf gebouwde, reeds onderhouden kernel van het besturingssysteem om mee te beginnen, zodat ze hun eigen kernel niet hoeven te schrijven. Op deze manier worden veel verschillende apparaten gebouwd - bijvoorbeeld, de PlayStation 4 gebruikt de opensource FreeBSD-kernel, terwijl de Xbox One de Windows NT-kernel gebruikt die te vinden is in moderne versies van Windows.
Je ziet zelfs de Linux-kernelversie op je apparaat staan onder Over de telefoon of Over de tablet in Instellingen van Android.
De verschillen
Er is enige discussie over of Android kwalificeert als een "Linux-distributie". Het maakt gebruik van de Linux-kernel en andere software, maar het omvat niet veel van de Linux-distributies die Linux normaal gebruikt.
Wanneer je een Android-apparaat opstart, laadt de Linux-kernel precies zoals op een Linux-distributie. Veel van de andere software is echter anders. Android bevat niet de GNU C-bibliotheek( glibc) die wordt gebruikt op standaard Linux-distributies, en omvat ook niet alle GNU-bibliotheken die u zou vinden op een typische Linux-distributie. Het bevat ook geen X-server zoals Xorg, dus je kunt geen standaard grafische Linux-applicaties uitvoeren.
In plaats van gewone Linux-toepassingen uit te voeren, gebruikt Android de virtuele Dalvik-machine om in essentie toepassingen te laten draaien die in Java zijn geschreven. Deze applicaties zijn gericht op Android-apparaten en de API's( Application Programming Interfaces) die API's bieden in plaats van dat ze in het algemeen op Linux zijn gericht.
Waarom u Desktop Linux Software niet op Android kunt gebruiken
Omdat Android geen grafische X-server of alle standaard GNU-bibliotheken bevat, kunt u niet gewoon Linux-toepassingen op Android uitvoeren. U moet applicaties uitvoeren die speciaal zijn geschreven voor Android.
Android heeft een shell zoals die je zult vinden op Linux. Er is geen manier om dit out-of-the-box te openen, maar u kunt een app zoals Android Terminal Emulator installeren om toegang te krijgen tot deze terminalomgeving.
Standaard kun je hier niet veel doen. De terminal zal nog steeds in een beperkte omgeving worden uitgevoerd, dus je kunt geen volledige rootshell verkrijgen zonder je Android-apparaat te rooten. Veel standaardcommando's die u mogelijk nodig hebt, zijn niet beschikbaar - daarom installeren mensen die hun apparaat rooten over het algemeen de BusyBox-toepassing, die veel opdrachtregelhulpprogramma's installeert. Deze hulpprogramma's worden door applicaties gebruikt om dingen te doen met hun root-toegang.
Waarom u geen Android-software op Desktop Linux kunt uitvoeren
Linux bevat niet de virtuele Dalvik-machine, dus het kan geen Android-apps uitvoeren. De virtuele Dalvik-machine en alle andere Android-software kunnen niet zomaar op een Linux-desktopcomputer worden neergezet - je zou meer werk moeten doen om Android-apps bijvoorbeeld via Xorg naar een venster op een standaarddesktop te laten uitvoeren. Theoretisch, met voldoende werk, konden ontwikkelaars Dalvik op desktop Linux laten draaien, zodat desktop Linux-gebruikers Android-apps op hun pc's konden draaien. Het nu slapende Ubuntu voor Android-product probeerde zoiets te doen, het integreerde Ubuntu en Android op een telefoon en stond die Android-apps toe om op Ubuntu's bureaublad te draaien.
BlueStacks en andere Android-app-emulators proberen dit voor Windows en Mac te doen. Ze draaien Android op virtuele hardware in een virtuele machine, waardoor ze Android-apps kunnen uitvoeren - met een prestatievergoeding - op je bureaublad. Deze oplossingen zijn echter nog niet erg populair gebleken.
Het Chrome OS van Google is ook gebaseerd op Linux. Net als Android biedt Chrome OS geen standaard X-venstersysteem, dus standaard Linux-toepassingen kunnen niet op Chrome OS worden uitgevoerd. In tegenstelling tot Android bevindt Chrome OS zich dichter bij de standaard Linux-distributies op desktopniveau, zodat u de ontwikkelaarsmodus kunt gebruiken om de ontbrekende Linux-desktopsoftware te installeren.
Image Credit: ranti op Flickr, Anatomy and Physiology of Android