iPhone (ne)podporuje multitasking – stále
Když si vzpomenu na svůj blogpost, který také vyšel na serveru superapple.cz, no se zlou jsem se potázal. Kritiku jsem schytal zleva, zprava, no, naštěstí ne zpředu. No a hle, pár měsíců poté, iPhone 4 pár kilomentrů od vchodových dveři, pročítám si diskuze, blogy, fansites .. a dyť se vlastně nic nezměnilo.
Autorem tohoto příspěvku je Štěpán Ryšavý – oMicrone.net, jehož příspěvky můžete najít na blogu aj:gou.
Co to je multitasking?
Protože asi hlavně v tomto byl největší kámen úrazu, rád bych vysvětlil, co je v mých očích multitasking a jak se to projevuje. Takže teď bych sem sice mohl zkopírovat kusy z diskuzí a vlastního textu, ale je teprv krátce po půlnoci, tak se nebudu flákat.
Osobně rozlišuji tyto druhy:
- pravý multitasking
- ajťácký multitasking
- lidský multitasking
Pravý multitasking
Každý počítač je schopný v jednom cyklu zpracovávat pouze tolik vláken, kolik má jader. Takže dokonce pokud někomu na systému běží 48 procesů, aplikací nebo služeb, tak jde jen o to, jak je operační systém a řadič uspořádá do fronty, ve které budou zpracované. Jedna po druhé. Každopádně pokud máte netbook s Atomem, iPad, normální mobil nebo počítač z doby, kdy Pentium 4 HT bylo vrcholem doby, tak váš stroj multitasking v pravém slova smyslu neumí.
Že i na staré plečce šlo přehrávat hudbu, mít puštěný prohlížeč a v něm 4 reklamy ve flashi, tak šlo pouze o to, že to byly tak nenáročné operace, že jste nestihli zaznamenat, že přehrávač hudby zpracoval kus mp3 a na několik cyklů šel poslušně do fronty, než udělá svůj loop flash v prohlížeči, hodiny v OS a podobné malichernosti.
Já vím, že si na to málokdo vzpomene, ale hrát Doom a přitom mít puštěný winamp moc dobře nešlo, protože Doom vytížil jádro na maximum a winamp jen škytal. Pokud dnes dám export v Lightroom z 8MB Rawu s 5-20 úpravami do 800kB JPEGu, Lightroom vytíží obě jádra a i ta hudba mi sem tam škytne. I ty další procesy.
Ač se mi to říká těžce, mám tedy jen duotasking.
Ajťácký multitasking
No ale protože to se blbě prodává, a lidé se kvůli tomu nehádají, a výkon jednoho jádra (bez ohledu, zda single nebo multicore) šel dostatečně kupředu, tak se vytvořil mýtus multitaskingu, jak je znám všem ajťákům, kteří ho cpou do hlavy marketérům a ti obchodákům a ti klientům a těm to je z půlky jedno, protože na stránky vlastního webu se dostanou zadáním adresy do vyhledávacího okna na seznamu.
Ajťácký multitasking je výsledkem dostatečné rychlosti jádra vyřešil úkol. Díky tomu mi „svítí“ Finder, Safari, Mail, iTunes, Adium, iCal, Twitter, Growl (pro uživatele Windows – Průzkumník, Internet Explorer, Outlook, Media Player, ICQ 8, Outlook, … ti IT-vzdělaní odpustí) a to nemám puštěné na zdroje náročné Adobe aplikace.
Systém se tváří, že najednou tohle všechno funguje najednou. Což samozřejmě tak na první i druhý pohled je, ale jen dokud nepustíte nějakou na zdroje nenažranou aplikaci. Například pokud spustíte Photoshop, a zároveň Flash a InDesign, tak můžete jít na otevřít okno do vedlejšího pokoje. Pokud je spustíte až po sobě, tak to bude rychlejší. Až dokud nenecháte Photoshop zmenšovat 200MB fotky v Batch procesu a do toho přidávat plochu v Illustrátoru a kompilovat ve Flashi. Každopádně tohle každému vždy připomene, že ajťácký multitasking je jen mýtus.
Lidský multitasking
A co my? Lidé (obyčejní i neobyčejní)? No, i přes hrozivé množství neuronů v našem těle, tak osobně v této otázce zastávám názor jednoho hlavního jádra a periferních obslužných a údržbových jader. Tedy něco jako CPU/GPU. K této úvaze mě vede jednoduchý fakt, který jsem si uvědomil dnes, když jsem viděl zajímavý dualscreen od Toshiba. Koncept to je zajímavý, nepopírám. Vlastně se stydím, měl jsem si to uvědomit už u prototypu Courier od MS. Dyť já nejsem schopný vnímat oba displaye najednou.
Jako správný ajťák mám 3 obrazovky. 17″ notebook zajišťuje 1920×1080, 24″ monitor to samé, a pak ještě 6m plátno o 720p. No jo, jenže já opravdu nemám ani šajnu, co se děje na té druhé obrazovce, když se dívám na tu první. Natož kdo dal gól (nebo že už fotbal skončil). Při sledování něžnějšího pohlaví jsem ale došel ke stejnému názoru, pouze s tím rozdílem, že mají rychlejší řadič a lepší podprůrná jádra, takže dokážou rychleji přepínat a to jim dává pocit „multitaskingu“.
Každopádně jádro, které mimochodem nazýváme vědomí, je pouhý single core. Pokusíte-li se ho zatížit, bude se soustředit pouze na jednu činnost. Pokud přidáte další vjem, pokusí se tento vecpat do vědomí. Pokud jste žena, je vjem běžněji vpuštěn, v rámci schopností zpracován a jedete dál v původní činnosti. Pokud jste muž, je vjem ve frontě („cos po mě chtěla, miláčku“ 2 hodiny poté) a dokud nebude zpracován hlavní úkol, tak prostě čeká.
Sice bych mohl pokračovat, ale předpokládám, že chápete, tak si zde dovolím jen jednu drobnou poznámku: pokud budete vjem tlačit a nutit, aby byl zpracován, dostaví se stres (u mužů, protože to není efektivní způsob práce jejich jádra) a kolaps (u žen – hodně narychlo udělaných věcí často nechá hodně fragmentovaný život).
Hurá na iPhone
Moje úvaha vychází z axiomů definovaného výše. Pokud ji chcete rozporovat, musíte rozporovat definované axiomy.
iPhone všech generací (včetně poslední, tedy iPhone 4) stejně jako žádný mobil na světě nepodporuje pravý multitasking.*
* pokud existuje nějaký dual-core mobil, tímto se mu omlouvám
Přestože jsem to dal do zvýrazněného odstavce a tučně, asi to už nikoho nepřekvapí. Podle Axiomu 1 to dává smysl. Tato skutečnost platí pro všechny mně známé mobily. Ať se marketing postaví na hlavu a klidně tvrdí, že chodí se sněhulákem do solária.
iPhone minimálně od 3G verze podporuje ajťácký multitasking, pouze mu dává jistá omezení s ohledem na výkon jádra.
Verze 4 má již dostatečně silné jádro, že umožní všem aplikacím se připojit pomocí event/listener principu na systémový loop a jeho 7 hlavních okruhů (z nichž jeden nebo dva fungují na streamovém principu, ne stavovém).
Proč je i s 1GHz (odhad podle A4 čipu) jádrem ajťácký multitasking omezený na 7 prinpipů a není aplikacím dáno právo běžet na pozadí plnohodnotně, má velmi jednoduchou odpověď.
Instant Everything. Power to the leader.
Neboli Apple nedovolil, aby neaktivní aplikace plnohodnotně žrala výkon procesoru hlavnímu procesu. Ale povolil ji se připojit na nízkonákladové operace, které budou mít minimální vliv na výkon hlavního procesu. Přičemž platí, že uspání aplikace a její probuzení při plném využití jádra pro tyto operace je časově efektivnější než uspávání na pozadí (neřkuli jaké by to bylo při běhu jiných procesů).
Pokud nechám na pozadí běžet aplikace, budou mě obírat o výkon jádra. Pokud ho nevyužívám naplno, budou zvyšovat jeho zátěž. Pokud ho využívám naplno, budou snižovat výkon všech aktivních tasků. Čím víc výkonu požaduji po jádru, tím větší je jeho náročnost na baterku. No a ta je omezená, té daleko rychleji dojde šťáva.
Zde si dovolím jednu malou odbočku – spekulaci:
iPhone a „Flash vs JS“
Z výše uvedeného logicky plyne, proč flash nemůže být na iPhonu. Když se podíváte na Macu do Activity Monitoru, tak při běhu Safari je pro Flash vyčleněný samostatný thread, který ke všemu běží na druhém jádře než Safari (proč asi). No a protože i v iOS4 je Safari, tak Flash by byl v rámci bezpečnosti a stability v jiném threadu, tedy jako další aplikace. No ale protože se nevejde ani do jednoho ze sedmi okruhů definovaných Apple, není možné ho použít (stejně jako Adium na pozadí). Oproti tomu JS engine je přímou součástí webkitu, tedy aplikace Safari, tedy součástí aktivní aplikace. Je to tak triviální vysvětlení, že to i může být pravda.
Jinak ten důvod, proč Apple nepovolil appky z CS5 Flashe je jednoduchý, iOS4. Vzhledem k neochotě Adobe vydávat aplikace pro Mac nebo i jen záplaty pro chyby, jak dlouho bude Adobe trvat, než změní kompiler na iOS4? Nejsmutnější je, že jsem flashař a chtěl jsem si appku vytvořit.
Lidský multitasking a iPhone
A tak se nakonec dostávám k tomu hlavnímu. Že se nic nezměnilo. Z toho nejdůležitějšího pohledu, tedy uživatelského. iPhone vytvořil dokonalou iluzi multitaskingu, vše funguje (bude fungovat, po pár drobných změnách a rekompilaci na iOS4) tak, že máte pocit, že přecházíte mezi aplikacemi.
Vše se děje okamžitě, ukládá se stav opuštění, a po obnovení se v tom stavu začíná. Díky 512 RAM zůstane aplikace nahraná v operační paměti, dokud pro ni bude místo, pokud by bylo nutné ho uvolnit, automaticky se zavře nejdříve „ukončená“ aplikace. Data se neztratí, protože jsou uložena stejně jako při stavu „quit“. Zde vycházím z článku What is Fast App Switching?, aby nedošlo k pocitu, že si tu něco cucám z prstu.
Takže pokud proti sobě postavíme uživatele a iPhone (iOS4), máme zde proti sobě dva single core systémy, které se nepřetěžují a vyhovují si .. :)
Já teda od mobilu očekávám hlavně to, že bude vykonávat to málo, co po něm žádám a v ten okamžik naplno. Teď pominu to, že se děsím toho, že bych měl na pozadí neustále puštěné ICQ (v noci, na dovolené), které by mi mimochodem neustále shazovalo Adium a naopak.
Pokud vyjdu ze stejného příkladu, který jsem popisoval v minulém článku, tak budu mít neustále stejný dojem. Můj mozek mi jako single core vytváří iluzi multitaskingu, protože zvládá přepínat mezi vědomými činnostmi velmi rychle. iPhone tuto iluzi podporuje, ale přitom nabízí neustále onen maximální výkon, který po něj vyžaduju. Nárůst výkonu umožňuje vytvoření cache pro poslední otevřené aplikace, takže se vyhnu loading procesu a budu hned na místě určení. Tedy ještě rychleji, což pro mě, jakožto uživatele, bude jen přínosem.
Asi krátké shrnutí na konec:
Dokud nebude představen core-duo procesor s optimálním poměrem výkon/cena/spotřeba, pravý multitasking v mobilu nebude .. ať to bude Android, iOS4, WM7, MeeGo, nebo cokoli jiné. Pokud chcete „plnohodnotný“ běh aplikace na pozadí (jako je encodování blu-ray do DivX, batch proces pro konverzi všech skladem v MP3 do AAC, flash a aby každá appka měla svůj tunel na net – prostě aby si aplikace mezi sebou kradly výkon), nepořizujte si iPhone (ale quadcore). Pokud chcete maximum výkonu věnovat aplikaci, se kterou právě pracujete, a tedy mít pocit, že mobil dělá pro vaši aktuální potřebu maximum, kupte si iPhone. Nebudete zklamáni a budete mít díky souladu mezi lidskou a iPhone verzí multitaskingu pocit, že máte v ruce neskutečné dělo.
Pingback: Jablickari.cz
Pane, jste totálně nevzdělaný blábalil, který tady míchá hrušky s jabkama. Tipnul bych si, že se živíte marketingem a fušujete do práce grafikům.
Pane, jste totálně nevzdělaný blábalil, který tady míchá hrušky s jabkama. Tipnul bych si, že se živíte marketingem a fušujete do práce grafikům.
Pokud chcete bezproblémově logovat svoji GPS polohu, zatímco třeba čtete webové stránky, nepořizujte si iPhone. Pokud chcete psát SMS, zatímco se na pozadí stahuje nějaká webová stránka, nepořizujte si iPhone. Pokud chcete, aby si webový prohlížeč při přepnutí na pozadí pamatoval skutečné stavy (třeba v AJAXu), místo toto, aby jen znovu otevřel danou adresu a neúspěšně se pokusil vyřešit její requesty, nepořizujte si iPhone. Pokud si chcete přepnout video na chvíli do pozadí a poslouchat z něj jen zvukovou stopu (třeba když chcete poslat SMS, nebo třeba udělat fotku), nepořizujte si iPhone.
IMHO je vidět, že autor o multitaskingu skutečně moc neví a hodně se řídí dojmy. Patrně to nebude programátor (pokud ano, tak potěš koště) ani informatik. Zejména první dvě dělení fungují jen v případě, že programy potřebují plných 100% procesorového času (což v reálu nenastane ani u toho encodingu videa, minimálně se čeká na přístupy do paměti).
Pokud chcete bezproblémově logovat svoji GPS polohu, zatímco třeba čtete webové stránky, nepořizujte si iPhone. Pokud chcete psát SMS, zatímco se na pozadí stahuje nějaká webová stránka, nepořizujte si iPhone. Pokud chcete, aby si webový prohlížeč při přepnutí na pozadí pamatoval skutečné stavy (třeba v AJAXu), místo toto, aby jen znovu otevřel danou adresu a neúspěšně se pokusil vyřešit její requesty, nepořizujte si iPhone. Pokud si chcete přepnout video na chvíli do pozadí a poslouchat z něj jen zvukovou stopu (třeba když chcete poslat SMS, nebo třeba udělat fotku), nepořizujte si iPhone.
IMHO je vidět, že autor o multitaskingu skutečně moc neví a hodně se řídí dojmy. Patrně to nebude programátor (pokud ano, tak potěš koště) ani informatik. Zejména první dvě dělení fungují jen v případě, že programy potřebují plných 100% procesorového času (což v reálu nenastane ani u toho encodingu videa, minimálně se čeká na přístupy do paměti).
Omlouvam se,
ale tenhle clanek je desnej blabol. Chapu, ze se autor snazil popsat multitasking bez pouzivani cizich slov a technickych vyrazu (kooperativni/preemptivni multitasking, paralellism a pod.), ale vysledek je k smichu.
Pro lidi, ktere opravdu zajima, jak veci funguji, doporucuji tyto clanky na wikipedii:
http://cs.wikipedia.org/wiki/Multitasking
http://cs.wikipedia.org/wiki/Preempce_(informatika)
Omlouvam se,
ale tenhle clanek je desnej blabol. Chapu, ze se autor snazil popsat multitasking bez pouzivani cizich slov a technickych vyrazu (kooperativni/preemptivni multitasking, paralellism a pod.), ale vysledek je k smichu.
Pro lidi, ktere opravdu zajima, jak veci funguji, doporucuji tyto clanky na wikipedii:
http://cs.wikipedia.org/wiki/Multitasking
http://cs.wikipedia.org/wiki/Preempce_(informatika)
Díky za odkaz na další Mac zdroj.
Karle pobavil si.
Díky za odkaz na další Mac zdroj.
Karle pobavil si.
@Karel:
Já teda lidi jako nevím, ale to opravdu od mobilu očekáváme věci typu odepisovat na sms se zapnutým videem na pozadí?
Pokud mám dobré informace, tak v iOS 4, nahrávání stránky na pozadí funguje, gps poloha na pozadí funguje, stránky si pamatuje i můj iPad a stařičký iPhone, v případě, že jich nemám otevřených 9… to bude záležet asi na přidělené paměti pro ukládání. U hudby funguje vše výše uvedené…. takže proč vymýšlet opravdu situace, které využije 0.05% uživatelů? Já být výrobcem, tak pracuju pro 95% uživatelských requests… to je totiž základní filosofie úspěchu a podnikání: vyrábět to, co chtějí lidé, ne to co chci já… a kdo toto pochopí, mám vyhráno a Apple je jedna z mála firem, která toto nejen chápe, ale tuto filosofii i realizuje :-)
@Karel:
Já teda lidi jako nevím, ale to opravdu od mobilu očekáváme věci typu odepisovat na sms se zapnutým videem na pozadí?
Pokud mám dobré informace, tak v iOS 4, nahrávání stránky na pozadí funguje, gps poloha na pozadí funguje, stránky si pamatuje i můj iPad a stařičký iPhone, v případě, že jich nemám otevřených 9… to bude záležet asi na přidělené paměti pro ukládání. U hudby funguje vše výše uvedené…. takže proč vymýšlet opravdu situace, které využije 0.05% uživatelů? Já být výrobcem, tak pracuju pro 95% uživatelských requests… to je totiž základní filosofie úspěchu a podnikání: vyrábět to, co chtějí lidé, ne to co chci já… a kdo toto pochopí, mám vyhráno a Apple je jedna z mála firem, která toto nejen chápe, ale tuto filosofii i realizuje :-)
Tak článek pěkný, úsměvný, ale imho o ničem.
Já bych tady Karlovi jeho myšlenku nebral, každý máme na mobil své požadavky. Také bych párkrát využil funkce o kterých Karel psal, ale mám li si vybrat mezi iP s dobrým výkonem a slušnou výdrží který neumí přehrávat video v pozadí a iP který umí v pozadí vše, ale je pomalý a vydrží sotva den, tak volím original.
Souhlasím s Denisem. Firmy by měli dělat produkty pro zákazníky a ne pro „trh“. Apple taky mohl nabušit svůj iP funkcemi, ale pak by stejně jako ostatní splynul v šedi, neměl by moc co inovavovat a jeho telefon by trpěl stejnými neodostatky jako ostatní.
Tak článek pěkný, úsměvný, ale imho o ničem.
Já bych tady Karlovi jeho myšlenku nebral, každý máme na mobil své požadavky. Také bych párkrát využil funkce o kterých Karel psal, ale mám li si vybrat mezi iP s dobrým výkonem a slušnou výdrží který neumí přehrávat video v pozadí a iP který umí v pozadí vše, ale je pomalý a vydrží sotva den, tak volím original.
Souhlasím s Denisem. Firmy by měli dělat produkty pro zákazníky a ne pro „trh“. Apple taky mohl nabušit svůj iP funkcemi, ale pak by stejně jako ostatní splynul v šedi, neměl by moc co inovavovat a jeho telefon by trpěl stejnými neodostatky jako ostatní.
Moje zkušenost z pseudomultitaskingem na iOS4 a 3GS je tristní. Co předtím běhalo svižně, se občas najednou zpomalí, přepínání, vykreslování a dokonce jsem zažil poskakování přehrávání mp3 při editaci sms. Raději bych zase tenhle typ multitaskingu zrušil, škoda že v nastavení nelze vypnout.
Moje zkušenost z pseudomultitaskingem na iOS4 a 3GS je tristní. Co předtím běhalo svižně, se občas najednou zpomalí, přepínání, vykreslování a dokonce jsem zažil poskakování přehrávání mp3 při editaci sms. Raději bych zase tenhle typ multitaskingu zrušil, škoda že v nastavení nelze vypnout.
dobrej članek…
dobrej članek…
„:-8 Ty kokso.“ Co to tu dělá? To je hovadina, jsem zděšen. Po pár odstavcích jsem to vzdal, tohle je prostě úplně mimo. Autor vůbec neví, o čem píše, motá různé termíny (které sice spolu částečně souvisejí) dohromady a vyvozuje s nich opravdu úsměvné závěry.
Mimochodem termín core-duo procesor je opravdu šťavnatý.
Ale vlastně bych měl autora pochválit, to že se někdo nebojí psát o něčem, čemu vůbec nerozumí a ještě takto mě docela pobavilo.
„:-8 Ty kokso.“ Co to tu dělá? To je hovadina, jsem zděšen. Po pár odstavcích jsem to vzdal, tohle je prostě úplně mimo. Autor vůbec neví, o čem píše, motá různé termíny (které sice spolu částečně souvisejí) dohromady a vyvozuje s nich opravdu úsměvné závěry.
Mimochodem termín core-duo procesor je opravdu šťavnatý.
Ale vlastně bych měl autora pochválit, to že se někdo nebojí psát o něčem, čemu vůbec nerozumí a ještě takto mě docela pobavilo.
Pingback: Tweets that mention » iPhone (ne)podporuje multitasking – stále -- Topsy.com
Chválím autora. Článek je pochopitelný, ale hlavně ukazuje, (teda diskuse to ukazuje) proč je tolik vtipů o Ajťácích a proč je jich hromada neschopných či nepoužitelných v normálním životě :)))
Chválím autora. Článek je pochopitelný, ale hlavně ukazuje, (teda diskuse to ukazuje) proč je tolik vtipů o Ajťácích a proč je jich hromada neschopných či nepoužitelných v normálním životě :)))
@MartensPh: Bohuzel s tebou musim souhlasit.
@MartensPh: Bohuzel s tebou musim souhlasit.
Clanek je sice hrozna slatanina, ale aspon to pobavi.
Clanek je sice hrozna slatanina, ale aspon to pobavi.
Autor asi nemá zcela jasno, co je to multitasking a zavádí zde jakési nové „naivní“ pojmy. Zdá se, že by si měl doplnit vzdělání.
Nebo je to populárně „nevědecký“ článek pro nepoučené? Pak je ovšem těžce matete. Toho vašeho pravého multitaskingu nikdy nepůjde dosáhnout, protože Vám za 5 minut vyrobím aplikaci, která bude mít vždy minimálně o jedno vlákno více, než Vy budete mít jader.
Jinak vašemu serveru fandím. Velice rád ho čtu, ale toto mi nedělejte. Nebo mé nadšení opadne. (To není výhružka, ale věštba :-)
Autor asi nemá zcela jasno, co je to multitasking a zavádí zde jakési nové „naivní“ pojmy. Zdá se, že by si měl doplnit vzdělání.
Nebo je to populárně „nevědecký“ článek pro nepoučené? Pak je ovšem těžce matete. Toho vašeho pravého multitaskingu nikdy nepůjde dosáhnout, protože Vám za 5 minut vyrobím aplikaci, která bude mít vždy minimálně o jedno vlákno více, než Vy budete mít jader.
Jinak vašemu serveru fandím. Velice rád ho čtu, ale toto mi nedělejte. Nebo mé nadšení opadne. (To není výhružka, ale věštba :-)
nuda, smazte ten blabol
nuda, smazte ten blabol
Nebudu se připojoveta ke kritikum ale mně na iPhonu stačí jedno abych řek že OS4 multitasking nepřináší pro mně nic. Když spustim navigaci a když jí nepotřebuju tak jí nevypnu ale vyskočim hlavnim tlačítkem. Tak její další start trvá stejně dlouho (cca 15-20 vteřin). Tudíž akorát po dobu svý neaktivity zabírala jenom paměť ale přínos je 0 protože úplně vyplý aplikace se taky ukládaj a znovu nahrávaj v posledně používanym stavu. Rozdíl teda nepozoruju.
Nebudu se připojoveta ke kritikum ale mně na iPhonu stačí jedno abych řek že OS4 multitasking nepřináší pro mně nic. Když spustim navigaci a když jí nepotřebuju tak jí nevypnu ale vyskočim hlavnim tlačítkem. Tak její další start trvá stejně dlouho (cca 15-20 vteřin). Tudíž akorát po dobu svý neaktivity zabírala jenom paměť ale přínos je 0 protože úplně vyplý aplikace se taky ukládaj a znovu nahrávaj v posledně používanym stavu. Rozdíl teda nepozoruju.
Velmi zajímavý článek. :) Jednak je z diskuze vidět, že si autor článek obhajuje (soudě podle počtu reakcí na komentáře čtenářů :D), jednak bych chtěl podotknout, že zejména „lidský mustitasking“ je jen snůškou autorovy fantazie a jde o nesmysly. Je vidět, že autor nestudoval psychologii ani žádný příbuzný obor, protože odborník by něco takového nemohl vypustit z úst.
Místo šálku ranní kávy, šálek ranní moči. Za mne tenhle článek nula, sorry :-(
Velmi zajímavý článek. :) Jednak je z diskuze vidět, že si autor článek obhajuje (soudě podle počtu reakcí na komentáře čtenářů :D), jednak bych chtěl podotknout, že zejména „lidský mustitasking“ je jen snůškou autorovy fantazie a jde o nesmysly. Je vidět, že autor nestudoval psychologii ani žádný příbuzný obor, protože odborník by něco takového nemohl vypustit z úst.
Místo šálku ranní kávy, šálek ranní moči. Za mne tenhle článek nula, sorry :-(
Výborné čtení před obědem, děkuji za ně!
Výborné čtení před obědem, děkuji za ně!
Spravny lidsky multitasking je, kdyz mate 2 baby v posteli a ani jedna si neni vedoma toho, ze jsou tam 2 :D
Spravny lidsky multitasking je, kdyz mate 2 baby v posteli a ani jedna si neni vedoma toho, ze jsou tam 2 :D
Väčšiu somarinu som dlho nečítal. Vydržal som tak prvý odstavec. Odkaz autorovi: robte to, v čom ste úspešný. Ale rozhodne už nikdy nepíšte Apple články :))
Väčšiu somarinu som dlho nečítal. Vydržal som tak prvý odstavec. Odkaz autorovi: robte to, v čom ste úspešný. Ale rozhodne už nikdy nepíšte Apple články :))
Autor si dost zasadne myli pojmy s dojmami. To co nazyva pravym multitaskingom, multitaskingom nieje vobec. Ked budete mat na kazdu ulohu zvlast procesor (jadro), tak nepotrebujete multitasking. Lebo na kazdom jadre vam pobezi prave jedna (single) uloha (task).
Multitasking je sposob ako moze viac uloh vyuzivat spolocne zdroje (napr. procesor, pamat …). Tento pojem vznikol v dobe ked sa frekvencie procesorov pocitali v jednotkach alebo max desiatkach MHz a viac ako jeden procesor bol v maloktorom pocitaci a pismenko M sa za velkostou pamate objavilo naozaj len na velmi drahych pocitatoch. Multitasking je prave o tom ako vykonavat viacej uloh na mensom pocte zdrojov. Priklad 20 uloh na dvoch procesoroch. Na to potrebujete multitasking. Na beh 20 uloh na 20 procesoroch ziaden multitasking nepotrebujete lebo pre kazdu ulohu mate aj procesor, takze nepotrebuje nic zdielat.
Tento sposob zdielania (Multitasking) vznikol preto, ze pocitac potrebovalo vyuzivat viac ludi naraz. Napr. ked niekto zapisoval program do pocitaca tak na nom nikto iny robit nemohol, lenze nacitat znak z klavesnice trvalo procesoru relativne kratko a zvysok casu aj tak nemal co robit, lebo cakal na stlacenie dalsej klavesy. A kedze pocitace boli drahe tak proste niekoho napadlo, ze ten procesor by na to stlacenei klavesy cakat nemusel a mohol by zatial robit nieco ine, napriklad cakat na stlacenie klavesy na dalsej klavesnici ;) alebo nieco pocitat. Pravdaze taky vypocet ale spotreboval vsetok cas procesoru, takze trebalo vymysliet ako mu ten cas zobrat a pouzit ho na nacitanie vstupu ineho pouzivatela. Odobratie tohoto casu nemalo ziaden meratelny vplyv na rychlost vypoctu, lebo obsluha vstupu od nejakeho ineho pouzivatela bola radovo menej narocnejsia ako ten vypocet.
Multitasking sa rozdeluje prave podla toho akym sposobom prebieha to zdielanie obmedzenych zdrojov, ci sa uloha spolupracuje na zdielani a vzdava sa zdroja sama (kooperativny) alebo je jej vykonavanie prerusene (preemptivny). To pre odbornejsiu verejnost asi dva najznamejsie sposoby. Pravdaze existuje ich viacej modifikacii ci uz kvoli real-time alebo implementacnym dovodom.
iOS pravdaze Multitasking (konkretne pre iPhone, iPad, iPod, spracovanie viacerych uloh na jednom procesore) plne podporuje dokonca aj s podporou real-time.
Co vsak iOS nepodporuje je beh aplikacii (len pre uplnost jedna aplikacia moze kludne bezat ako viac uloh) tretich stran na pozadi (teda ked nedochadza k interakcii medzi pouzivatelom a aplikaciou z toho dovodu, ze na to niesu pristupne pre nu zdroje (display, dotykova cast displaya …) lebo ich pouziva ina aplikacia alebo su zamknute.
Apple to robi z dovodu, ze ked takato aplikacia bezi, tak potrebuje byt v pamati a tej tak vela iPhone nema. Vela rozumej vela pre dnesne aplikacie. Navyse ak aplikacia len necaka ale aj nieco robi tak spotrebovava energiu, teda tu spotrebovava procesor, ktory danu aplikaciu vykonava. Pri telefonoch a podobnych mobilnych zariadeniach sa pri dimenzovani CPU a baterie nejak uz pocita s tym, ze po 99% casu nebude procesor robit nic. Ak nie este viac ako 99%.
Lenze su pripady kedy potrebujete aby nieco vykonavala aj uloha, ktora nema prave pristup k displeju. Take ulohy bezali uz na prvej verzi iPhone 2G, ale bol to vyhradne kod applu. Nic take si nemohla dovolit aplikacia tretej strany. Napr. ste mohli telefonovat a pozerat si stranku na webe cez wifi ( na 3G verzii aj cez mobilnu siet, pri 2G to neumoznuje samotna technologia) alebo hladat v adresari. Alebo pocuvat hudbu pri zamknutom telefone.
Lenze taketo potreby vznikli aj pre aplikacie stretich stran, napr. ste sa chceli prehrabavat v kontaktoch alebo poznamkach aj pocas voip hovoru.
Preto Apple vytvoril subor API pre taketo pripady a umoznil beh casti aplikacii aj na pozadi. Neumoznil uplne lubovolny beh ale z pohladu applu opodstateny.
Napr. pustit si film a hrat hru by bola blbost (ale pustit si hudbu a hrat hru mozete). Umoznil tak v 99% potrebnych pripadov beh na pozadi a zamedzil plytvaniu pamatou a casom procesora (a tym aj vybijanim baterie).
Navyse pre aplikacie umoznil rychle ulozenie a nasledne nacitanie stavu aplikacie. Napr. ked sa hrate hru a a pride vam voip hovor tak hra nepotrebuje bezat dalej ked ju nehrate, ale namiesto toho si svoj aktualny stav ulozi, uvolni pamat a procesor. Vy tak mozete prebrat hovor pocas neho sa pozriet do poznamok a po skonceni hovoru alebo aj pocas hovoru sa vratit a pokracovat v hre bez toho aby ste ju spustali od zaciatku.
Problem predosleho clanku je to, ze autor pouzil ako laik odborny pojem, ktory ale ma dlhe roky svoj odborny vyznam iny ako ho teraz chape laik novinar. Co je vsak ale u novinarov pomerne bezna prax.
Autor si dost zasadne myli pojmy s dojmami. To co nazyva pravym multitaskingom, multitaskingom nieje vobec. Ked budete mat na kazdu ulohu zvlast procesor (jadro), tak nepotrebujete multitasking. Lebo na kazdom jadre vam pobezi prave jedna (single) uloha (task).
Multitasking je sposob ako moze viac uloh vyuzivat spolocne zdroje (napr. procesor, pamat …). Tento pojem vznikol v dobe ked sa frekvencie procesorov pocitali v jednotkach alebo max desiatkach MHz a viac ako jeden procesor bol v maloktorom pocitaci a pismenko M sa za velkostou pamate objavilo naozaj len na velmi drahych pocitatoch. Multitasking je prave o tom ako vykonavat viacej uloh na mensom pocte zdrojov. Priklad 20 uloh na dvoch procesoroch. Na to potrebujete multitasking. Na beh 20 uloh na 20 procesoroch ziaden multitasking nepotrebujete lebo pre kazdu ulohu mate aj procesor, takze nepotrebuje nic zdielat.
Tento sposob zdielania (Multitasking) vznikol preto, ze pocitac potrebovalo vyuzivat viac ludi naraz. Napr. ked niekto zapisoval program do pocitaca tak na nom nikto iny robit nemohol, lenze nacitat znak z klavesnice trvalo procesoru relativne kratko a zvysok casu aj tak nemal co robit, lebo cakal na stlacenie dalsej klavesy. A kedze pocitace boli drahe tak proste niekoho napadlo, ze ten procesor by na to stlacenei klavesy cakat nemusel a mohol by zatial robit nieco ine, napriklad cakat na stlacenie klavesy na dalsej klavesnici ;) alebo nieco pocitat. Pravdaze taky vypocet ale spotreboval vsetok cas procesoru, takze trebalo vymysliet ako mu ten cas zobrat a pouzit ho na nacitanie vstupu ineho pouzivatela. Odobratie tohoto casu nemalo ziaden meratelny vplyv na rychlost vypoctu, lebo obsluha vstupu od nejakeho ineho pouzivatela bola radovo menej narocnejsia ako ten vypocet.
Multitasking sa rozdeluje prave podla toho akym sposobom prebieha to zdielanie obmedzenych zdrojov, ci sa uloha spolupracuje na zdielani a vzdava sa zdroja sama (kooperativny) alebo je jej vykonavanie prerusene (preemptivny). To pre odbornejsiu verejnost asi dva najznamejsie sposoby. Pravdaze existuje ich viacej modifikacii ci uz kvoli real-time alebo implementacnym dovodom.
iOS pravdaze Multitasking (konkretne pre iPhone, iPad, iPod, spracovanie viacerych uloh na jednom procesore) plne podporuje dokonca aj s podporou real-time.
Co vsak iOS nepodporuje je beh aplikacii (len pre uplnost jedna aplikacia moze kludne bezat ako viac uloh) tretich stran na pozadi (teda ked nedochadza k interakcii medzi pouzivatelom a aplikaciou z toho dovodu, ze na to niesu pristupne pre nu zdroje (display, dotykova cast displaya …) lebo ich pouziva ina aplikacia alebo su zamknute.
Apple to robi z dovodu, ze ked takato aplikacia bezi, tak potrebuje byt v pamati a tej tak vela iPhone nema. Vela rozumej vela pre dnesne aplikacie. Navyse ak aplikacia len necaka ale aj nieco robi tak spotrebovava energiu, teda tu spotrebovava procesor, ktory danu aplikaciu vykonava. Pri telefonoch a podobnych mobilnych zariadeniach sa pri dimenzovani CPU a baterie nejak uz pocita s tym, ze po 99% casu nebude procesor robit nic. Ak nie este viac ako 99%.
Lenze su pripady kedy potrebujete aby nieco vykonavala aj uloha, ktora nema prave pristup k displeju. Take ulohy bezali uz na prvej verzi iPhone 2G, ale bol to vyhradne kod applu. Nic take si nemohla dovolit aplikacia tretej strany. Napr. ste mohli telefonovat a pozerat si stranku na webe cez wifi ( na 3G verzii aj cez mobilnu siet, pri 2G to neumoznuje samotna technologia) alebo hladat v adresari. Alebo pocuvat hudbu pri zamknutom telefone.
Lenze taketo potreby vznikli aj pre aplikacie stretich stran, napr. ste sa chceli prehrabavat v kontaktoch alebo poznamkach aj pocas voip hovoru.
Preto Apple vytvoril subor API pre taketo pripady a umoznil beh casti aplikacii aj na pozadi. Neumoznil uplne lubovolny beh ale z pohladu applu opodstateny.
Napr. pustit si film a hrat hru by bola blbost (ale pustit si hudbu a hrat hru mozete). Umoznil tak v 99% potrebnych pripadov beh na pozadi a zamedzil plytvaniu pamatou a casom procesora (a tym aj vybijanim baterie).
Navyse pre aplikacie umoznil rychle ulozenie a nasledne nacitanie stavu aplikacie. Napr. ked sa hrate hru a a pride vam voip hovor tak hra nepotrebuje bezat dalej ked ju nehrate, ale namiesto toho si svoj aktualny stav ulozi, uvolni pamat a procesor. Vy tak mozete prebrat hovor pocas neho sa pozriet do poznamok a po skonceni hovoru alebo aj pocas hovoru sa vratit a pokracovat v hre bez toho aby ste ju spustali od zaciatku.
Problem predosleho clanku je to, ze autor pouzil ako laik odborny pojem, ktory ale ma dlhe roky svoj odborny vyznam iny ako ho teraz chape laik novinar. Co je vsak ale u novinarov pomerne bezna prax.
Ach jo, ty komentare jsou opravdu ubohe. Pisete tady, jak je to otresny clanek ale 99% z vas by nenapsalo lepsi, pokud by neco napsalo. Ze by typicka ceska povaha?
Ach jo, ty komentare jsou opravdu ubohe. Pisete tady, jak je to otresny clanek ale 99% z vas by nenapsalo lepsi, pokud by neco napsalo. Ze by typicka ceska povaha?
@MartensPh: DFU restore, pomaha to … Mel jsem s 3GS spoustu problemu a chtel sem se vratit na 4.0GM ale pak jsem se konecne naucil co je to DFU restore a od te doby mi iP slape tak jak ma :)
@MartensPh: DFU restore, pomaha to … Mel jsem s 3GS spoustu problemu a chtel sem se vratit na 4.0GM ale pak jsem se konecne naucil co je to DFU restore a od te doby mi iP slape tak jak ma :)
Je to dobrý článok, škoda že to mnoho „odborníkov“ nepochopilo.
http://sk.wikipedia.org/wiki/Koncepcia_Johna_von_Neumanna
Je to dobrý článok, škoda že to mnoho „odborníkov“ nepochopilo.
http://sk.wikipedia.org/wiki/Koncepcia_Johna_von_Neumanna