Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Kód platformy Android byl odstraněn z jádra. Co to znamená?

Že Android není Linux, to už jsme četli mnohokrát. Pravdou je, že v jeho srdci Linux sedí, Je upravený, je trochu jiný, ale je tam. Jak moc to jde dohromady s Linuxem, jakého známe, těžko rozhodneme, ale jedno víme, to, co se děje v jádře Androida, resp. androidího Linuxu, vystupuje mimo zaběhnuté koleje vývoje Linuxu a nedělá to dobrotu.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Je tu Android, je open, pojďme vyvíjet

Přesně 5. listopadu 2007 se Google nechal slyšet, že plánuje během krátké doby uvolnit nový operační systém postavený na Linuxu s názvem Android. Měl být upravený pro běh na mobilních zařízeních. Byla to vcelku velká událost. Prakticky první linuxový operační systém, který měl potenciál dostat se dál než jeho předchůdci a navíc tu bylo jedno obrovské plus, vývoj aplikací měl probíhat v Javě, celý operační systém měl být open source a to ještě pod velmi volnou licencí Apache free-software and open-source license.

Znělo to jako vynikající nápad a Google asi o měsíc později uvolnil SDK pro celou platformu. To obsahovalo všechno, co bylo potřeba pro vývoj, od emulátoru po moduly do Eclipse. Když bylo vše pro vývoj uvolněno, začali se pomalu hrnout vývojáři aplikací. Aby tuto fázi Google urychlil, vyhlásil v této době soutěž, ve které se hrálo celkově o 10 000 000 USD. Ty byly rozděleny mezi vývojáře vítězných aplikací. Došlo tedy k tomu, že na Android existovalo již několik stovek aplikací, aniž by uživatelé nebo vývojáři dostali telefon do ruky. To se ale brzy změnilo. Přesně 23. září byl uvolněn Android 1.0 včetně SDK a na konci roku už mohli první uživatelé získat telefon s novým Androidem.

Od té doby se Android posunul až na verzi 2.1. Ve většině dnešních telefonů ale najdeme verze 1.5 a 1.6.

Jak se Android začal rozšiřovat, tak ho začalo zkoumat i víc lidí a začaly se objevovat články na téma „Android není Linux“.

Linux sice ano, ale …

Co to tedy Android je? Googlu se podařilo vytvořit linuxový operační systém přesně na míru mobilním zařízením, a to primárně telefonům, resp. čemukoli do kapsy. Dnes už se dá snad sehnat s Androidem i mikrovlnka, takže to už rozhodně není operační systém pouze telefony. Každopádně Google vzal linuxové jádro, trochu ho učesal a upravil a doplnil ho o základní nástroje, javovský virtual machine Dalvik a nakonec i o vlastní API a na něj navazující uživatelské prostředí.

Právě Java a jednotné API je „killer feature“ operačního systému Android. Když se podíváte na dnešní linuxový desktop, je tu konkurenční boj hlavně mezi GTK a Qt a na nich postavenými desktopovými prostředími. Není na tom nic špatného, ale rozhodně se to nehodí pro mobilní platformu, kam je potřeba co nejrychleji nahnat co nejvíce firem a vývojářů. Google měl toto v rukou a rozhodl se tak, aby se Android rozšířil a to všechno na úkor svobody ve výběru API. To je zpětně kompatibilní se staršími verzemi a dává vývojářům nástroj, kterým mohou přistupovat k hardwaru telefonu i k jeho funkcím a funkcím celého Androida. Když vývojář něco napíše pro Androida, pojede to na všech telefonech, na kterých je minimálně ta verze systému, na kterou to vývojář napsal. V reálném světě to není vždycky ideální, protože jsou malé rozdíly mezi jednotlivými výrobci. U čistého Androida se to ale dá říct.

Možná se ptáte, proč Google nepoužil třeba Qt nebo GTK. Na to je jednoduchá odpověď. Obojí se stará prakticky jen o vykreslování oken, grafiky a maximálně ještě o přístup k databázi. Androidí API ale pokrývá přístup k síti, Bluetooth, senzoru přiblížení, senzoru polohy či světla, GPS nebo přes něj můžete vytvořit aplikaci, jejíž vzhled bude závislý na nastavení zbytku telefonu a v neposlední řadě můžete přistupovat i k samotným funkcím systému Android. Tohle nemohlo nabídnout žádné existující API a když se podíváme, že Android má ještě velmi dobrou bezpečnostní politiku, tak zjistíme, že se vytvoření nového API vyplatilo.

Jenže…

 K čemu hlavní větev? Máme svoji!

… zde narážíme na problém, o kterém se rozepsal jeden z jaderných vývojářů, Greg Kroah-Hartman. Jak jste se mohli dočíst v naší včerejší zprávičce, Greg má obavy o budoucnost Androida, co se týče zařazení do hlavní větve jádra.

Android, bohužel, pracuje se specifickými úpravami a háčky linuxového jádra, které jsou neslučitelné s aktuálním linuxovým jádrem. Podle jeho slov není Android jen pár ovladačů a jinak standardní jádro jaké si stáhneme z kernel.org, ale obsahuje dost zásadní změny jako speciální lock type a háčky nutné pro speciální bezpečnostní model. Tyto změny se neslučují se stavem v jakém Android je a nejhorší je, že ovladače napsané pro jádro Androida nemohou být zahrnuty v hlavní větvi linuxového jádra, protože jsou závislé na těchto zásadních odlišenostech.

Před výrobci stojí volba a to vést vývoj ovladačů pro obě větve nebo se soustředí jen na Androida. Otázkou samozřejmě je, co jim přinese posílání patchů jinam než do Androida. Odpověď je jednoduchá, krom dobrého pocitu a podpory jejich hardwaru v normálním linuxovém systému prakticky nic.

Rozuzlení

Co z toho všeho tedy plyne? Google si syslí vývoj u sebe. Kód je k dispozici, takže se o spojení někdy někdo třeba pokusí, ale bez podpory od samotného Googlu k tomu pravděpodobně nedojde. Google bude svoji práci zakládat na aktuálním vývoji hlavní větve jádra a bude udržovat jen patche specifické pro Androida. Uživatelé proto nepřijdou o Linux jako takový, zvlášť když si uvědomíme, jak nákladný by mohl být kompletní fork. Google ví, že vývojáři v Linuxu udělají spoustu práce a byla by škoda té práce nevyužít.

TIB2012

       

Situace proto není tak špatná, jak by se mohla zdát a krom svrbění u žaludku nás to jako uživatele nějak trápit nebude. Je klidně možné, že se časem obě větve změní společně s tím, jak půjde vývoj Androida a Linuxu dál, resp. někdo najde způsob, jak to udělat čistě, aby mohly být změny zahrnuty do jádra jen jako nenápadná volba „Android“.

Dosavadní kód Androida, který se nacházel v hlavní větvi jádra, resp. ve větvi staging, byl odstraněn. Bylo to z důvodu, že už ho nikdo nevyvíjel a nemělo smysl ho tam nechávat. Zdaleka nešlo o všechny změny, takže jeho použitelnost byla prakticky nulová.

Adam Štrauch

Adam Štrauch

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.

Školení: IP v 6 na Linuxu

Tento krátký kurz je určený speciálně pro zkušené správce sítí IPv4, kteří se chtějí seznámit s nastupujícím internetovým protokolem IPv6.

Platforma: Linux

  • Adresace
  • Link-local adresy
  • Dynamické přidělování adres
  • a další

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,61

Přehled názorů

google prerasta alebo...?
snehuliak 5. 2. 2010 00:48
Nový
└ 
Re: google prerasta alebo...?
get kedlubned h0vad 5. 2. 2010 19:17
Nový
dodatok
snehuliak 5. 2. 2010 01:05
Nový
├ 
Re: dodatok
Golem Faust de Santis 5. 2. 2010 06:58
Nový
│
└ 
Re: dodatok
treebeard 5. 2. 2010 19:44
Nový
├ 
Re: dodatok
Posledni kometar 5. 2. 2010 10:17
Nový
└ 
Re: dodatok
benghi 8. 2. 2010 22:30
Nový
Podobnosť?
Dc 5. 2. 2010 01:36
Nový
└ 
Re: Podobnosť?
Jozef Remen 5. 2. 2010 19:54
Nový
 
└ 
Re: Podobnosť?
Palo 5. 2. 2010 21:59
Nový
 
 
└ 
Re: Podobnosť?
Jozef Remen 5. 2. 2010 22:47
Nový
 
 
 
└ 
Re: Podobnosť?
Lol Phirae 5. 2. 2010 22:51
Nový
 
 
 
 
├ 
Re: Podobnosť?
. 6. 2. 2010 00:36
Nový
 
 
 
 
└ 
Re: Podobnosť?
Jozef Remen 6. 2. 2010 07:46
Nový
 
 
 
 
 
└ 
Re: Podobnosť?
l. 7. 2. 2010 11:56
Nový
novy kernel
rwerqrq 5. 2. 2010 05:52
Nový
Nazev clanku
JardaP . 5. 2. 2010 09:43
Nový
├ 
Re: Nazev clanku
Roger 5. 2. 2010 11:16
Nový
└ 
Re: Nazev clanku
Přezdívka 5. 2. 2010 12:11
Nový
 
└ 
Re: Nazev clanku
. 6. 2. 2010 00:37
Nový
OSS :-)
mat 5. 2. 2010 11:04
Nový
├ 
Re: OSS :-)
gabo 5. 2. 2010 11:17
Nový
├ 
Re: OSS :-)
adsfsafadfs 5. 2. 2010 12:00
Nový
│
└ 
Re: OSS :-)
robert+ 6. 2. 2010 23:07
Nový
│
 
└ 
Re: OSS :-)
asdfasdf 7. 2. 2010 18:08
Nový
├ 
Re: OSS :-)
JardaP . 5. 2. 2010 13:43
Nový
├ 
Re: OSS :-)
SB 5. 2. 2010 14:34
Nový
└ 
Re: OSS :-)
Me 5. 2. 2010 17:24
Nový
bednarovina
balki 5. 2. 2010 12:09
Nový
└ 
Re: bednarovina
snehuliak 6. 2. 2010 13:05
Nový
Hezká automatická oprava...
._. 5. 2. 2010 12:48
Nový
└ 
Re: Hezká automatická oprava...
Lol Phirae 5. 2. 2010 13:19
Nový
 
├ 
Re: Hezká automatická oprava...
jos 5. 2. 2010 15:36
Nový
 
│
└ 
Re: Hezká automatická oprava...
Jirka P 5. 2. 2010 16:03
Nový
 
└ 
Re: Hezká automatická oprava...
prezdivka 5. 2. 2010 16:06
Nový
 
 
└ 
Re: Hezká automatická oprava...
Lol Phirae 5. 2. 2010 16:15
Nový
Kernel
Fantomas 5. 2. 2010 12:54
Nový
└ 
Re: Kernel
mka 5. 2. 2010 16:25
Nový
Pořád ale lepší než drátem do oka
lzap 5. 2. 2010 13:32
Nový
mmmm
Laco 5. 2. 2010 13:46
Nový
├ 
Re: mmmm
JardaP . 5. 2. 2010 15:07
Nový
└ 
Re: mmmm
Lol Phirae 5. 2. 2010 15:09
Nový
 
└ 
Re: mmmm
l. 7. 2. 2010 12:03
Nový
dotaz qt
qt 5. 2. 2010 21:33
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem