Fler kostnadsfria rapporter finns på etn.se/expert. |
Den grundläggande idén i Android är inte ny – att köra användarprogram under operativsystemet Linux. Men både vad gäller Java och Linux har Google på flera platser skruvat ihop egna alternativa lösningar. Java körs inte i en ”riktig” Javamaskin.
Dalvik benämns ofta slarvigt som en Javamaskin, men detta är alltså felaktigt då Dalvik inte alls kör Javas bytekod utan sin egen variant, så kallad dexkod. Den interna layouten skiljer sig också på flera punkter. Dalvik är en registermaskin, det vill säga som de flesta moderna cpu:er, medan Javamaskiner är stackbaserade.Så skriver Robert Niemi i rapporten.
Vad gäller Linux har Google bland annat tagit fram en egna GPL-fria versioner av standardbibliotek. Och så använder man en alternativ teknik kallad Binder för processer att kommunicera med varandra.
Den kommer ursprungligen från ett gammalt OS som heter BeOS, men har även funnits i olika former för andra OS. Binder är i mångt och mycket en objektorienterad kommunikationskanal, likt COM eller CORBA. I Androids tappning är dock Binder mycket mindre generell och istället specialanpassad för just denna plattform.Hela Robert Niemis tekniska rapport kan tankas hem här, kostnadsfritt (pdf, 385 kbyte).
Rapporten är en uppdaterad version av en artikel som publicerades i magasinet Elektroniktidningen nummer 4 2009.