Domů > Odborné články > Gymnaziální vzdělávání > Operační systém Android
Odborný článek

Operační systém Android

13. 5. 2012 Gymnaziální vzdělávání
Autor
RNDr. Michal Černý Ph.D.

Anotace

Stále rozšířenějším operačním systémem na mobilních telefonech je Android, na kterého by výuka systémů neměla zapomenout. Předně proto, že je velice populární a řada žáků jej užívá nebo užívat bude, ale také proto, že je otevřený, mobilní a založený na Linuxu.

Výuka operačních systémů se stále poměrně silně orientuje na MS Windows, což je dáno tím, že jde o dominantní operační systém na platformě PC. Současně je ale třeba si uvědomit, že operační systémy již dávno nejsou dominantou jen stolních počítačů, ale že s nimi se můžeme setkat také u mobilních telefonů, Smart TV, tabletů a řady dalších zařízení. V tomto kontextu již Windows nejsou ani zdaleka tak dominantním operačním systémem, jak by se mohlo na první pohled zdát.

Android je operační systém určený pro mobilní telefony, tablety a další přenosná zařízení, který se těší stále větší oblibě. Jelikož je dnes nainstalován na více než 50 % prodaných chytrých telefonů, je velmi pravděpodobné, že se s ním žáci setkají. Ať již na vlastním mobilním zařízení, u kamarádů či kdekoli jinde. Jde tak o mimořádně rozšířenou technologii, která si v gymnaziálním kurzu jistě zaslouží přiměřenou pozornost.

Z didaktického hlediska si dovolíme ještě několik poznámek, které se týkají toho, proč je právě Android vhodným tématem do výuky. Prvním momentem může být jeho otevřenost. Jde o open source aplikaci, takže je dobře vidět do toho, jakým způsobem funguje, jaké jsou její vlastnosti, možnosti atp. S tím se pojí také skutečnost, že je bezplatný (na PC je možné jej provozovat v emulátoru).

Druhou významnou vlastností Androidu je, že vychází z Linuxu a staví na linuxovém jádře. Je tedy možné ukázat základní charakteristiky této rodiny operačních systémů, a to pro žáky velice intuitivním a pohodlným způsobem. Od instalace softwaru prostřednictvím Marketu či balíčků (užívá se balíčkovacího systému APK), přes správu procesů až třeba po uživatelská práva. Pro řadu z nich bude zajímavá diskuse o tzv. Root režimu, a pokud ji pedagog vhodně spojí s Linuxem, může v této oblasti ukázat řadu zajímavých věcí z oblasti fungování operačních systémů. 

V neposlední řadě si myslím, že je pěkné ukázat také to, jak může být operační systém flexibilní, co se týče zařízení, na kterých pracuje. Android si bez potíží poradí s tabletem, mobilním telefonem nebo třeba chytrým televizorem. Na tomto místě se pak již sama nabízí diskuse ohledně vestavěných operačních systémů a jejich rozdílnosti ve funkčnosti.

Úvod

Na úvod by bylo dobré říci, co vlastně Android je, z čeho vychází a pro co je určený. Jde o operační systém, který je vyvíjen od roku 2003. Počínaje rokem 2005 jeho vývoj iniciuje Google a v současné době jde o nejpoužívanější operační systém pro mobilní telefony. Na rozdíl od běžných operačních systémů se museli autoři vypořádat s celou řadou specifik. Bylo třeba, aby operační systém fungoval na téměř libovolném telefonu (nebyl závislý na čipové sadě či jiné hardwarové komponentě), museli vzít v úvahu omezený výkon, ovládání systému prsty na dotykové obrazovce nebo kapacitu baterie.

Východiskem bylo linuxové jádro, které umožnilo přenositelnost systému a do současné doby si zachovalo řadu specifických rysů Linuxu. Jako příklad je možné uvést systém zabezpečení nebo práci s balíčky. V Androidu se neinstalují žádné exe soubory. Každá aplikace je zabalena do jednoho balíčku, který je možné prostřednictvím marketu (výjimečně i jinou cestou) nainstalovat. Operační systém se pak sám stará o aktualizace, což má za následek větší bezpečnost systému i uživatelský komfort. Market slouží jako nabídka softwaru, takže uživatel nemusí mít nějaké speciální znalosti, aby byl schopen najít a nainstalovat vše, co potřebuje. Automaticky se také provádí instalace potřebných balíčků či knihoven, které jsou třeba k funkčnosti požadované aplikace. 

V rámci úvodu je možné se zmínit o různých patentových sporech, které systém provázejí, a to především s Microsoftem, Applem a Oracle. Je dobré se žáků zeptat, jaké mají se systémem zkušenost, a vést je ke komparaci jednotlivých komponent mezi jim známými operačními systémy.

Struktura systému

Na Androidu je z hlediska operačního systému velice příjemné, že má silnou vrstevnou strukturu. Každá vrstva využívá služeb jen té bezprostředně pod ní a poskytuje funkce té přímo nad ní. Vrstevnatý model je v informatice často používaný – ať již v objektově orientovaném programování, v ISO-OSI modelu počítačových sítí nebo zde u operačních systémů. Žáci by si na něj měli zvyknout jako na cosi přirozeného a běžného. U Androidu je možné hovořit o pěti jednotlivých vrstvách systému, které si stručně popíšeme.

Nejnižší vrstvou je jádro operačního systému. To zajišťuje obsluhu hardwaru a práci s generickými komponentami. Využívá se Linuxové jádro verze 2.6, které má na starosti správu procesů, procesorů, paměti nebo třeba systém ochran. U tohoto operačního systému je zajímavé, že mimo to, že jde o software, obsahuje také midleware, který zajišťuje komunikaci s hardwarem. Oproti Linuxu nepodporuje celou GTK knihovnu a má vlastní systém pro grafické prostředí odlišné od X Windows System.

Druhou vrstvou jsou knihovny. Touto vrstvou jsou v zásadě garantovány základní příkazy a vlastnosti operačního systému, které mohou programátoři využívat. Nalezneme zde integrovanou podporu multimédií, knihovnu webového prohlížeče, knihovny pro vykreslování fontů či grafiky, LiteSQL databázi nebo klasickou libc knihovnu.

Android Runtime je třetí vrstva a obsahuje aplikační virtuální stroj zvaný Dalvik. V zásadě funguje velice podobně jako JVM od Oracle. Aplikace jsou překládány do byte kódu, který je pak na Dalvik spuštěn. Oproti JVM je Dalvik optimalizovaný pro mobilní aplikace, takže se snaží více šetřit baterii a počítá s nižším výkonem hardwarových komponent. Navíc obsahuje některé prvky, jako je lepší podpora sítí. Až na dvě výjimky (AWT a Swing, které nahradil vlastními) pracuje se všemi běžným Javovými knihovnami. Běh aplikací ve virtuálním stroji má řadu výhod – od snadné optimalizace aplikací jen pro Davik (bez ohledu na hardware) přes bezpečnost až třeba po přenositelnost. Daní je pomalejší běh a start aplikací, než kdyby je obsluhovaly komponenty jádra.

Vrstva Application framework je pro vývojáře zřejmě nejdůležitější. Jejím úkolem je poskytovat přístup ke službám, které mohou být použity přímo v aplikacích, jako je například uživatelské rozhraní, upozorňovací stavový řádek, podpora aplikace běžící na pozadí atp. Tato vrstva tak nabízí například předefinovaná tlačítka, zpracování textového pole, řízení cyklu aplikací nebo možnost pracovat s dalšími soubory.

Poslední vrstvou je vrstva aplikační. V té běží jednotlivé aplikace, například ty, které si uživatel nainstaluje prostřednictvím Marketu nebo i přednainstalované programy, jako je SMS či e-mailový klient, ovládání nastavení, kalendář, webový prohlížeč atp.

Základní komponenty aplikací

Android je didakticky velice příjemný operační systém také v tom, že v něm lze snadno ukázat základní stavební kameny, ze kterých jsou aplikace v něm běžící vystavěny. Activity odpovídají jedné obrazovce. Běžné aplikace jich mají samozřejmě více a je možné se mezi nimi přepínat. Systém umí s Activity inteligentně pracovat tak, aby minimalizoval nároky na procesor a paměť v případě přepínání aplikací.

Druhou komponentou aplikace je Service, která nenabízí žádné uživatelské prostředí, ale slouží pro běh aplikací na pozadí, které trvají dlouho, přistupují ke vzdáleným místům nebo webovým službám. Content provider je aplikační rozhraní pro sdílení dat mezi aplikacemi i uvnitř aktivit. Umožňuje pracovat se soubory, databázemi a dalšími daty, které jednotlivé aplikace potřebují. Poslední komponentou aplikace je Broadcast reciever, tedy reakce a naslouchání na události v systému – například oznámení o příchodu SMS zprávy, reakce na slabou baterii atp. Všechny tyto komponenty musejí být u každé aplikace přesně popsány. 

Na většině škol pravděpodobně nebude docházet k programování programů pro Android, ale přesto může znalost těchto komponent pomoci žákům dobře pochopit, jakým způsobem jsou jednotlivé programy budovány. Jestliže má vyučující čas, je možné si vybrat jednotlivé aplikace a bavit se s žáky o tom, co se v rámci které komponenty v dané aplikaci děje.

Závěr

Operační systém Android je velice vhodný pro výuku operačních systémů, a to nejen v oblasti konkrétního nastavení a práce s jednotlivými prvky, ale také v obecné rovině. Žáci se mohou dobře seznámit s vrstevnatým modelem tvorby operačních systémů i výstavby aplikací dle jednotlivých komponent.

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Autor
RNDr. Michal Černý Ph.D.

Hodnocení od recenzenta

Tým RVP.CZ
13. 5. 2012
Myslím si, že autor pro mne koná velmi záslužnou práci. Jsem bohužel docela pamětník, vycházím z minulých zkušeností a on mě směřujete do budoucnosti. Podíváme-li se na současnou nabídku trhu a přesměrovaný zájem studentů k mobilním prostředkům, tak je jasné, kterým směrem se vývoj hardwaru a softwaru hýbe. Stolní počítače se možná brzy stanou opět pracovní záležitostí. Pozice univerzálního multimediálního PC (hitu prvního desetiletí tohoto století) postupně zaujímají mobilní prostředky zábavného a praktického charakteru s odlišným operačním systémem a zcela jinou funkční filozofií.

Hodnocení od uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Zařazení do seriálu:

Článek pro obor:

Informatika a informační a komunikační technologie