iPhone OS 4.0 a multitasking? Ne tak docela!

Od včerejšího odpoledne jsou zahraniční servery plné bombastických titulků o iPhone OS čtvrté generace, Steve Jobs zkrátka umí dělat marketing. Ze sta novinek bylo představeno sedm, ne všechny jsou však takové, jaké se na první pohled zdály.

Asi největší novinkou a zradou zároveň je takzvaný multitasking, který běžně označuje běh více procesů (úloh) v jeden moment (nemusí platit z pohledu CPU) na jednom hardwarovém zařízení. Při klasickém multitaskingu běží vždy jedna úloha na popředí (například textový editor) a další spuštěné úlohy na pozadí (např. webový prohlížeč stahující soubor, aplikace provádějící složitý matematický výpočet aj.). Hlavní nevýhody tohoto řešení spočívají ve zvýšených nárocích na procesor, neboť se všechny úlohy střídavě dělí o jeho výpočetní čas a v nárocích na operační paměť, neboť každé spuštěné aplikaci systém alokuje vlastní kus paměti k exkluzivnímu použití. Důležité je i to, že celá obsluha aplikací je řešena na úrovni právě operačního systému.

iPhone OS 4.0 sice podporuje spouštění více aplikací zdánlivě zároveň, ale ty přitom již nadále ve skutečnosti na pozadí nepoběží. Běžnému uživateli to však vadit nemusí, z jeho pohledu se všechny „spuštěné“ aplikace stále chovají, jako by běžely. Technicky je celý proces řešen na úrovni API jako (lokální) doplnění notifikací, které jsou standardní vlastností iPhone OS od verze 3.0, novými možnostmi příjmu asynchronních externích událostí a reagování na ně. Těchto nových událostí má být celkem šest. Jediná služba, jež skutečně umožňí dočasný běh činnosti v pozadí, tak bude aplikace uskutečnující dokončení aktuálně vykonávané úlohy během ukončování aplikace.

Apple toto kompromisní řešení považuje pro mobilní telefony za optimální, neboť umožňuje z pohledu většiny uživatelů totéž, co klasický multitasking a zároveň výrazně šetří baterii (tradiční změna kontextu pochopitelně více vytěžuje procesor).

Apple pro podporu tohoto pseudomultitaskingu implementoval celkem sedm služeb, které mohou ostatní aplikace využívat. Jde o lokální notifikace časových událostí, přehrávání zvuku „na pozadí“, VoIP „v pozadí“, schopnost aplikace při přepínaní na jinou aplikaci uložit svůj aktuální stav a později ho zase obnovit a několik dalších funkcí. Jako demo byla prezentována například schopnost Skype, po přepnutí na pozadí udržovat uživatele dále ve stavu online a přijímat hovory či aplikace přehrávající na pozadí hudbu.

Uživatelské GUI tohoto zvláštního multitaskingu má na místě docku rolovatelný seznam s ikonami spuštěných aplikací, zobrazje se dvojitým klepnutím na „Home“.

Více také v článku: Apple chystá nový iPhone OS, možná přinese i multitasking.

Exit mobile version