Stále rozšírenejším operačným systémom na mobilných telefónoch je Android, na ktorého by výučba systémov nemala zabudnúť. Predovšetkým preto, že je veľmi populárny a rad žiakov ho užíva alebo užívať bude, ale tiež preto, že je otvorený, mobilné a založený na Linuxe.
Výučba operačných systémov sa stále pomerne silno orientuje na MS Windows, čo je dané tým, že ide o dominantné operačný systém na platforme PC. Súčasne je ale treba si uvedomiť, že operačné systémy už dávno nie sú dominantou len stolných počítačov, ale že s nimi sa môžeme stretnúť aj u mobilných telefónov, Smart TV, tabletov a mnohých ďalších zariadení. V tomto kontexte už Windows nie sú ani zďaleka tak dominantným operačným systémom, ako by sa mohlo na prvý pohľad zdať.
Android je operačný systém určený pre mobilné telefóny, tablety a ďalšie prenosné zariadenia, ktorý sa teší stále väčšej obľube. Keďže je dnes nainštalovaný na viac než 50% predaných inteligentných telefónov, je veľmi pravdepodobné, že sa s ním žiaci stretnú. Či už na vlastnom mobilnom zariadení, u kamarátov či kdekoľvek inde. Ide tak o mimoriadne rozšírenú technológiu, ktorá si stredoškolskej kurze iste zaslúži primeranú pozornosť.
Z didaktického hľadiska si dovolíme ešte niekoľko poznámok, ktoré sa týkajú toho, prečo je práve Android vhodným témou do výučby. Prvým momentom môže byť jeho otvorenosť. Ide o open source aplikáciu, takže je dobre vidieť do toho, akým spôsobom funguje, aké sú jej vlastnosti, možnosti atp. S tým sa spája tiež skutočnosť, že je bezplatný (na PC je možné ho prevádzkovať v emulátora).
Druhou významnou vlastnosťou Androidu je, že vychádza z Linuxu a stavia na linuxovom jadre. Je teda možné ukázať základné charakteristiky tejto rodiny operačných systémov, a to pre žiakov veľmi intuitívnym a pohodlným spôsobom. Od inštalácie softvéru prostredníctvom Marketu alebo balíčkov (užíva sa balíčkovacieho systému APK), cez správu procesov až napríklad po užívateľské práva. Pre rad z nich bude zaujímavá diskusia o tzv. Root režimu, a pokiaľ ju pedagóg vhodne spojí s Linuxom, môže v tejto oblasti ukázať rad zaujímavých vecí z oblasti fungovania operačných systémov.
V neposlednom rade si myslím, že je pekné ukázať tiež to, ako môže byť operačný systém flexibilné, čo sa týka zariadení, na ktorých pracuje. Android si bez problémov poradí s tabletom, mobilným telefónom alebo napríklad šikovným televízorom. Na tomto mieste sa potom už sama ponúka diskusie ohľadom vstavaných operačných systémov a ich rozdielnosti vo funkčnosti.
Úvod
Na úvod by bolo dobré povedať, čo vlastne Android je, z čoho vychádza a pre čo je určený. Ide o operačný systém, ktorý je vyvíjaný od roku 2003. Od roku 2005 jeho vývoj iniciuje Google a v súčasnosti ide o najpoužívanejší operačný systém pre mobilné telefóny. Na rozdiel od bežných operačných systémov sa museli autori vysporiadať s celým radom špecifík. Bolo potrebné, aby operačný systém fungoval na takmer ľubovoľnom telefóne (nebol závislý na čipovej sade či iné hardvérové komponente), museli vziať do úvahy obmedzený výkon, ovládanie systému prstami na dotykovej obrazovke alebo kapacitu batérie.
Východiskom bolo linuxové jadro, ktoré umožnilo prenositeľnosť systému a do súčasnej doby si zachovalo rad špecifických rysov Linuxu. Ako príklad je možné uviesť systém zabezpečenia alebo prácu s balíčkami. V Androidu sa neinštalujú žiadne exe súbory. Každá aplikácia je zabalená do jedného balíka, ktorý je možné prostredníctvom markete (výnimočne aj inou cestou) nainštalovať. Operačný systém sa potom sám stará o aktualizácie, čo má za následok väčšiu bezpečnosť systému aj užívateľský komfort. Market slúži ako ponuka softvéru, takže užívateľ nemusí mať nejaké špeciálne znalosti, aby bol schopný nájsť a nainštalovať všetko, čo potrebuje. Automaticky sa tiež vykonáva inštalácia potrebných balíčkov alebo knižníc, ktoré sú potrebné k funkčnosti požadovanej aplikácie.
V rámci úvode je možné sa zmieniť o rôznych patentových sporoch, ktoré systém sprevádzajú, a to predovšetkým s Microsoftom, Applom a Oracle. Je dobré sa žiakov opýtať, aké majú so systémom skúsenosť, a viesť ich k komparáciu jednotlivých komponentov medzi im známymi operačnými systémami.
štruktúra systému
Na Androidu je z hľadiska operačného systému veľmi príjemné, že má silnú vrstevnatý štruktúru. Každá vrstva využíva služby len tej bezprostredne pod ňou a poskytuje funkcie tej priamo nad ňou. Vrstevnatý model je v informatike často používaný – či už v objektovo orientovanom programovaní, v ISO-OSI modelu počítačových sietí alebo tu u operačných systémov. Žiaci by si mali na ne zvyknúť ako na čosi prirodzeného a bežného. U Androidu je možné hovoriť o piatich jednotlivých vrstvách systému, ktoré si stručne popíšeme.
Najnižšia vrstvou je jadro operačného systému. To zaisťuje obsluhu hardvéru a prácu s generickými komponentmi. Využíva sa Linuxové jadro verzie 2.6, ktoré má na starosti správu procesov, procesorov, pamäte alebo napríklad systém ochrán. U tohto operačného systému je zaujímavé, že okrem to, že ide o softvér, obsahuje aj midleware, ktorý zabezpečuje komunikáciu s hardvérom. oproti
aj Linuxu nepodporuje celú GTK knižnicu a má vlastný systém pre grafické prostredie odlišné od X Window System.
Druhou vrstvou sú knižnice. Touto vrstvou sú v zásade garantované základné príkazy a vlastnosti operačného systému, ktoré môžu programátori využívať. Nájdeme tu integrovanú podporu multimédií, knižnicu webového prehliadača, knižnice pre vykresľovanie fontov či grafiky, LiteSQL databázu alebo klasickú libc knižnicu.
Android Runtime je tretia vrstva a obsahuje aplikačné virtuálny stroj zvaný Dalvík. V zásade funguje veľmi podobne ako JVM od Oracle. Aplikácie sú preložené do byte kódu, ktorý je potom na Dalvík spustený. Oproti JVM je Dalvík optimalizovaný pre mobilné aplikácie, takže sa snažia viac šetriť batériu a počíta s nižším výkonom hardvérových komponentov. Navyše obsahuje niektoré prvky, ako je lepšie podpora sietí. Až na dve výnimky (AWT a Swing, ktoré nahradil vlastnými) pracuje so všetkými bežným Javovými knižnicami. Beh aplikácií vo virtuálnom stroji má rad výhod – od jednoduché optimalizácia aplikácií len pre Davik (bez ohľadu na hardvér) cez bezpečnosť až napríklad po prenosnosť. Daní je pomalší beh a štart aplikácií, než keby ich obsluhovali komponenty jadra.
Vrstva Application framework je pre vývojárov zrejme najdôležitejšie. Jej úlohou je poskytovať prístup k službám, ktoré môžu byť použité priamo v aplikáciách, ako je napríklad používateľské rozhranie, upozorňovací stavový riadok, podpora aplikácie bežiace na pozadí atp. Táto vrstva tak ponúka napríklad predefinovanie tlačidlá, spracovanie textového poľa, riadenie cyklu aplikácií alebo možnosť pracovať s ďalšími súbormi.
Poslednou vrstvou je vrstva aplikačné. V tej beží jednotlivé aplikácie, napríklad tie, ktoré si užívateľ nainštaluje prostredníctvom Marketu alebo aj přednainstalované programy, ako je SMS či e-mailový klient, ovládanie nastavení, kalendár, webový prehliadač atp.
Základné komponenty aplikácií
Android je didakticky veľmi príjemný operačný systém tiež v tom, že v ňom možno ľahko ukázať základné stavebné kamene, z ktorých sú aplikácie v ňom bežiace vystavané. Activity zodpovedajú jednej obrazovke. Bežné aplikácie ich majú samozrejme viac a je možné sa medzi nimi prepínať. Systém vie s Activity inteligentne pracovať tak, aby minimalizoval nároky na procesor a pamäť v prípade prepínanie aplikácií.
Druhou komponentom aplikácie je Service, ktorá neponúka žiadne užívateľské prostredie, ale slúži pre beh aplikácií na pozadí, ktoré trvajú dlho, pristupujú k vzdialeným miestam alebo webovým službám. Content provider je aplikačné rozhranie pre zdieľanie dát medzi aplikáciami i vnútri aktivít. Umožňuje pracovať so súbormi, databázami a ďalšími dátami, ktoré jednotlivé aplikácie potrebujú. Posledný komponentom aplikácie je Broadcast reciever, teda reakcie a načúvanie na udalosti v systéme – napríklad oznámenie o príchode SMS správy, reakcia na slabú batériu atp. Všetky tieto komponenty musia byť pri každej aplikácie presne opísané.
Na väčšine škôl pravdepodobne nebude dochádzať k programovaniu programov pre Android, ale napriek tomu môže znalosť týchto komponentov pomôcť žiakom dobre pochopiť, akým spôsobom sú jednotlivé programy budované. Ak má vyučujúci čas, je možné si vybrať jednotlivé aplikácie a baviť sa s žiakmi o tom, čo sa v rámci ktoré komponenty v danej aplikácii deje.
záver
Operačný systém Android je veľmi vhodný pre výučbu operačných systémov, a to nielen v oblasti konkrétneho nastavenie a práca s jednotlivými prvkami, ale aj vo všeobecnej rovine. Žiaci sa môžu dobre zoznámiť s vrstevnatým modelom tvorby operačných systémov aj výstavby aplikácií podľa jednotlivých komponentov.
Autor: Michal Černý
preklad: Odin
Pozrite si články
Zobraziť všetky článkyNajnovšie články
- Čo je cieľová skupina 4. novembra 2024
- Čistenie fasád domov má aj hlbší význam než len krajší vzhľad budovy 12. septembra 2024
- Čo ovplyvňuje chuť vašej elektronickej cigarety? Ako si vybrať ten správny liquid 22. augusta 2024
- Oživujeme tradície: Drevené výrobky pre dnešnú dobu 31. júla 2024
- Zatepľovanie: Kľúč k úspore energie a komfortu vo vašom dome 31. júla 2024