v nejhorsim prejdou na brouky, a maji vystarano :-)
PS: nekdy bych si docela (jako dlouholety Linuxak) MacOS vyzkousel, ale v zadne i-netove kavarne jsem to nevidel, a v mem okoli maji vsichni nevim proc WXP :)
Jste-li Pražák, můžete zajít do některého z předváděcích obchodů Tauera; posadí vás k 30ti palcovému LCDčku připojenému na dual G5 Powermac a nechají vás si hrát :) Podívejte se na tauer.cz, tam je víc informací.
...a co treba v ostrave. taky jako linuxaka me laka vyzkouseni MacOS X a celeho maca :-)
nevite nekdo, kde v ostrave by se to dalo prubnout? (obchod, predvadecka, inet kavarna, ...)
Ano je to tak, článek měl původně vyjít o něco dřív, tedy ještě před vydáním Tigera. O Tigerovi se v dalších dílech bude psát taky, ale objektivně vzato, rozdíly mezi Mac OS X 10.3 a 10.4 nejsou nijak obrovské... jedná se spíše o evoluci než o revoluci.
"objektivně vzato" ... asi jak pro koho tam jsou a nejsou rozdily :) tech nekolik problemu co jsem mel u Panthera, Tiger vyresil ... takze ja to povazuju za velky skok kupredu,
pocinaje rychlosti bootovani systemu a celkove prostredi, az po klavesnici,automator,quicktime,sit...
Rozdílů ve vývojářských nástrojích a v systémovém API je ohromné množství a většinou jsou absolutně úžasné. Jenom nejsou zajímavé z uživatelského pohledu. Tigerovi se hodlám v tomto seriálu ještě věnovat, všechno přijde :)
"objektivně vzato" ... asi jak pro koho tam jsou a nejsou rozdily :) tech nekolik problemu co jsem mel u Panthera, Tiger vyresil ... takze ja to povazuju za velky skok kupredu,
pocinaje rychlosti bootovani systemu a celkove prostredi, az po klavesnici,automator,quicktime,sit...
mac os 7 mel multitasking, ten mel uz mac os 6. bez nej by mac nebyl macem. problem byla nechranena pamet a multitasking nebyl preemptivni. Vysledkem bylo, ze system se choval uzasne a nabizel plny komfort multitaskingu - dokud v nem bezely jen slusne vychovane a dobre napsane aplikace. Jakakoliv spatne napsana aplikace mohla system uplne shodit nebo alespon zatuhnout a pokud mel clovek zvyk instalovat kdejaky freeware, padalo mu to nekolikrat denne.
ano, presne jako na widlich 9x. az na to ze pokud se clovek opravdu drzel kvalitniho sw od apple adobe atd, tak se system choval velice stabilne a nebyly zadne problemy. widlim nejak nepomohlo ani to nejlepsi zachazeni.
Tak ujasnění:
Starý Mac OS (Classic) měl featuru zvanou Multi-Finder. Finder v těchto verzích MacOS sloužil nejen jako správce souborů, ale také jako systémová komponenta prakticky na všechno, která mimochodem řešila i Multi Tasking. Systém ho neuměl. Uměla ho aplikace Finder. Je to jako kdyby se v Linuxu Multitasking řešil někde na úrovni Konqueroru, nebo kwin/metacity. Je prava že pozdější verze Mac OS už měly nějaké hybridní řešení které teoreticky zvládalo i nějakou tu správu paměti, ale rozhodně to bylo sotva na úrovni Windows 95.
Windows 95/98 mají pokud vím DOSový kernel a multitasking mají čistě kooperativní. Widlím ale tolik nerozumím, rád se nechám poučit ;)
O Mac OS jsem nic nepsal, koneckoncu o nich nic nevim (ale s NeXTSTEPem a OpenSTEPem jsem tu cest mel).
> Windows 95/98 mají pokud vím DOSový kernel a multitasking mají čistě kooperativni.
Ne, tohle plati o Windows 3.x (jak u 2.x nevim, take nejsem expert). Windows 95/98 jiz maji normalni, preemptivni multitasking. Byl to opravdu vyrazny rozdil, pamatuji si to sam. I kdyz ja uz v te dobe prechazel na UNIX a Linux :-)
Pro vice informaci doporucji (jako obvykle) google.
Ve windows 95 sice bezela kazda 32bitova aplikace ve svem adresovem prostoru s preemptivnim multitaskingem, ale 16bitove aplikace bezeli stale vsechny v jednom adresovem prostoru ... a nedivil bych se, kdyby i jako jedna uloha (z hlediska toho preemptivniho multitaskingu).
To je sice pravda, ale pokud vim totez plati pro OS X (stare aplikace bezi v emulovanem prostredi v kooperativnim multitaskingu).
Ono totiz protiz je v tom, ze 16-bitove aplikace s tim kooperativnim multitaskingem pocitaji, takze treba sdileji pamet pres normalni segmentove far pointery.
Presneji receno, aplikace pocitaji se spolecnym adresovym prostorem a sdileji pamet pres far pointery a pocitaji s kooperativnim multitaskingem a proto si do te sdilene pameti lezou bez zamykani.
Ad Expose. Je to funkce, ktera jistym zpusobem nahrazuje (a nejen to) taskbar. Ja osobne ji pouzivam tak, ze pri zajeti mysi do spodniho praveho rohu obrazovky se obrazovka jakoby oddaly (funguje to s akceleraci, takze velmi svizne a plynule) a v ten okamzik pred sebou uvidim vsechny otevrena okna ve zmensene podobe. Jakmile mysi na nektere z nich najedu, tak mi \'kamera\'/obrazovka najede primo na nej. Uzasny je tento efekt pri drag&drop operaci, protoze dovoluje prenaset objekt z jednoho i maximalizovaneho do druheho tez maximalizovaneho okna. Expose vyuziva podobneho efektu i pro dalsi funkce (napr. zobrazeni plochy, kdy Vam okna jakoby uleti do stran), mnou popsany je ale nejdulezitejsi. Expose je silne navykove a ja jen lituji, ze neco podobneho nemam ve firme na svych KDEckach. Je treba ale opet zduranit, ze pokud by Mac OS X nevyuzival grafickou akceleraci, nebylo by Expose pouzitelne. No, je to tezke popsat slovy, doufam, ze jsem Vam to alespon trochu priblizil.
Take jsem navyknul v MAC OS X na fuknci Expose. Doma mam WIN XP a nasel jsem si docela slusny programek, ktery je i docela rychly :-). Jmenuje se Winplosion a myslim ze docela obstojne napodobuje Expose.
Exposé rozhodně nenahrazuje Taskbar. Copak vám zobrazuje minimalizovaná okna? Mně ne.
Ve vašich KDE máte zase virtuální desktopy s náhledy a MNOHEM užitečnější taskbar než ta, sice hezká, parodie v Mac OS X.
Nesouhlasím... jsem toho názoru, že Dock je mnohem promyšlenější koncept než jakýkoliv taskbar ve windows nebo Linuxu. Vychází z koncepce že se zobrazuje vždycky jenom jedna instance okna; ostatně proč by se měly v docku zobrazovat okna která vidíte na obrazovce, když se k nim chci dostat použiji exposé nebo kliknu na ikonku aplikace (taky v docku). Když si okno chci schovat na "později" strčím ho do docku a mimochodem v jeho zmenšenině na Docku vidím co se v něm děje (třeba video). Virtuální plochy Mac OS X umí za pomoci geniálního open source programu quick silver a musím říct že je zvládá minimálně stejně dobře jako KDE.
Problém Mac OS X je právě jeho odlišná koncepce... když přecházíte z jiného systému, musíte prostě přijít bez předsudků a jakoby se všechno naučit znovu, protože celý systém je prostě jiný. Nicméně zvyknout se dá za jedno odpoledne, zatímco na ovládání Windows si lidi musí zvykat daleko déle (z hlediska běžného uživatele nedávají Windows prakticky žádný smysl).
"Dock je mnohem promyšlenější ..." a proto si půlka vývojářské konference nějakou formu Menu a druhá půlka si menu dělá z desktopu. Dock - to je především chaos. V docku se mi kombinuje menu z taskbarem a tím, že jeho prostor je relativně omezen (ne každý má 30" Apple Cinema), tak je tam bez ladu a skladu všechno. Po čase najít něco v docku znamená 2-3 přejetí myší nad dockem, abych našel správnou ikonu. Zobrazování minimalizovaného okna je jenom marketingová feature bez praktického využití.
Zbytek příspěvku jjsou slátaniny, které uslyšíte na jakémkoliv fóru uživatelů toho "jejich" OS/programu.
Na to se prostě nedá říct nic co by nezačalo flamewar. Předností Maců vždy bylo, je a bude jednoduché a intuitivní ovládání. Dock se vám může nelíbit svou koncepcí, nicméně faktem zůstává že pro běžného uživatele je to ideální nástroj. Doporučuji přečíst Aqua Usability guidelines které jsou k dostání na developer.apple.com, celý koncept je tam poměrně logicky vysvětlen.
Reakce typu "to jsou žvásty" si prosím odpusťte, to můžu říct i já a nikam se pak nedostaneme.
Expose plne taskbar nenahrazuje, ja psal jistym zpusobem. Nicmene, koncept taskbaru je absolutne nesmyslny, protoze rozlisuje mezi spustenou a nespustenou aplikaci (vy v nem nemate ty nespustene? ;-), coz mne jako uzivatele nemusi vubec zajimat. V tomhle je dock (ne ted nemluvim o Expose) daleko kozistentnejsi. Proc mam mit na liste jednu ikonu firefoxu v quick launch a druhou jako spusteny direfox. Neni to snad jedno?
Připadá mi šíleně nepravděpodobné nebo přehnané, že by soukromá firma zahodila 3 roky práce týmu 400 programátorů. Navíc Apple ani v té době neměl víc než 20% trhu... Takové plýtvání... určitě to není přehnané?
to je ukázka kvalitního managementu - minimalizovat ztráty zahozením projektu
firmy které toto neumí, fungují tak, že si všichni namlouvají jak je jejich projekt skvělý, jak se maličko zdržel, ale prodávat se bude hned příští pololetí. a tak se poplácávají po zádech až ke krachu.
V prvni casti clanku je napsano ze Apple byl kontaktovan firmou NeXTStep nabizejici system NeXT - ale nebylo to naopak? Firma NeXT a system NeXTStep? Jinak dekuji za slibne vypadajici zacatek serialu.
Mělo by to tak být. S. Jobs založil NeXT jako trucfirmu proti zvolení zástupce kravatovaných do čela Applu (John Sculley) a při té příležitosti se nechal slyšet, že do roka a do dne dodá na trh nový počítač s novým OS. Už si nevzpomínám, jestli dodržel termín (:), ale "The Cube" s NeXTStepem byla tenkrát docela bomba (pár vlastností, co si tak pamatuju: Klávesnice, myš, tiskárna, všechno propojené jedním optickým kabelem, paměťové médium - 256MB výměnný opto-magnetický disk, ost. ta tiskárna byl laser, pro potřeby škol dodáváno bez tisk. kvůli ceně; displej: 1536x1024, 4 odstíny šedi na 17" obrazovce Sony Trinitron atd.)
Skoda ze jste nezminit nejlepsi husarsky kousek v dejinach OS pesonalnich pocitacu.
Kdyz Apple prechazel z platformy CPU Motorola 68040 na CPU PowerPC musel prepsat cely OS.
Coz se samozrejme nedalo stihnout ... Takze prvni Apple PowerMac prichazely k zakaznikum s malinkou casti OS napsanou pro PowerPC a s emulatorem CPU 68040 a teprve jak prichazeli patche tak se casti OS napsane pro motorolu nahrazovali temi nativnimi pro PowerPC.
Proste vam bylo jedno jestli aplikace je napsana pro 68040 nebo PowerPC, bezela.
Ztrata vykonu pri emulaci zakazniky netrapila, protoze emulovany program byl stale rychlejsi nez na puvodnim stroji ;-)
Ono s tim Palmem je to taky takovy podobny PC versus Mac. Paralel by se dalo najit spousty. Par z nich:
nejvetsi trh-USA
zmineny prechod platformy Dragonball -> ARM
nikdy nemel poradnej multitasking a nikomu to nevadilo;) - jak je to multitaskingem v OS 5.0 mi nikdo poradne nerekl a nevysvetlil jak to ten realplayer dela;)
uzivatele se platformy drzi kvuli softwaru a snadnemu pouzivani
os je designovan pro snadne ovladani palmu, nikoli pro ozdobu
Palm vyvijel Palm OS Cobalt, ktery mnel mit preemptivni multitasking, hi-res rozhrani atd. Proste prevratne zmeny. Pred nakou dobou oznamil ze hodle postavit svy palmy na linuxu. Je jasne ze, z toho vznikne podobny hybrid jako Mac OS.
Takze ze by se historie opakovala?
Nicmene v jedny paralele se to rozchazi a tou je cena. Mac byl vzdy ,,ten drahej"
multitasking na PalmOS je robeny podobne ako pod MSDosom, cize obdoba TSR (s nejakou malou podporou OS). Ono, PalmOS je v skutocnosti multitaskovy, len prepinanie taskov je vyvolane uzivatelom :-).
Genialne je nepouzitie koncepcie "spustania programu", program jednoducho je ulozeny v operacnej pamati a nie je rozdiel medzi spustenim a prepnutim (az na tie externe pamatove karty).
Ale na druhej strane, programuje sa pod tym znacne komplikovane.
Je to OT, ale kdyz uz jsme u paralel s Palmem: Stare 68k procesory v Palmech byly zjednodusene 68k procesory z prvnich Macu. Palm OS navic adoptoval filosofii prostredku (resources) pro strukturovane ulozeni dat a typu a tvurcu (types and creator) pro typy souboru a asociaci s aplikacemi, API Palm OS jako se napadne podoba staremu macovskemu API atd. A mohl bych pokracovat. Hlavne doufam, ze se Palmu povede ten prerod, co ted planuji, stejne jako se to povedlo Apple. Jinak totiz zahynou jedine pouzitelne handheldy., resp. jedine handheldy, ktere se ovladaji natolik dobre, ze vyhovuji i zhyckanym Macarum;).
No jestli pod PalmOS programujete, tak je docela zvlastni ze o nem mate tak nespravne predstavy nebo to velmi nesikovne popisujete.
Nevim o nicem co by v PalmOS pripominalo TSR programy v dosu a melo resit multitasking. Na preruseni se nikdo nenavesuje. Rezidentni jsou sice svym zpusobem vsechny programy protoze jsou v RAM nebo ROM a jsou schopny bezet 'in place' ale s TSR to fakt nema spolecneho nic. V jednu chvili je 'spusten' pouze jeden program ve smyslu ze se mu v pameti inicializuje datovy segment s globalnimi promennymi a patri mu UI thread.
Mozna maji s TSR neco spolecneho tzv. 'hacky' ktere patchuji API systemu aby ponekud upravily funkcnost, ale ani tam nejde o multitasking a neni to bezny zpusob programovani pod PalmOS.
Koncepce 'spusteni programu' samozrejme pouzita je. Klikne se v launcheru na ikonu a program je spusten a bezi hlavni funkce PilotMain() se smyckou zprav. Zadne 'prepnuti' neexistuje. Ze je zvykem ze si aplikace pred ukoncenim sama zapamatuje svuj stav a po startu se ho snazi obnovit a vypadat stejne je vec jina a nemusi to tak byt pokud se programatorovi nechce.
Jinak jeste poznamka k nemultitaskingu OS. Jadro PalmOS (mikrokernel od firmy Kadak) je uz od uplneho zacatku preemptivne multitaskove. Vyuziva ho vsak pouze system nebo systemove aplikace v ROM pro programatory z licencnich duvodu nikdy nebylo zverejneno API ale funguje. Program Hotsync si treba v palmu spousti novy thread ktery komunikuje s PC. I debugger nebo TCP/IP stack maji svoje thready. Je na internetu i programek s ukazkou jak muze program spustit sam sebe jeste jednou na pozadi (zdrojak mam doma a asi bych nasel i bookmark na nej). Samozrejme je to nepodporovane ale bezi to treba na OS 3.5 stejne jako 5.0. Omezeni je ze funkce UI (prace s okny, smycka zprav) jdou volat jenom z jednoho hlavniho UI threadu v systemu jinak hrozi deadlocky a pady systemu. Celkovy pocet threadu je velmi omezeny (u OS<5 myslim v radu jednotek).
V OS 5.0 uz neni Kadak kernel ale znovu napsany preemptivni kernel v ARM kodu, ktery opet interne podporuje vice vlaken (o procesech nema u PalmOS cenu mluvit protoze je jeden adresovy prostor a programy se do pameti odnikud nenacitaji). Real player nedela nic zvlastniho. Pro prehravani zvuku je v jadru OS5 thread ktery k tomu jde konecne oficialne pouzit. Co je na nem zvlastniho je akorat to ze je to ARM nativni aplikace s ARM nativnima sdilenyma knihovnama, kterou pro OS5 oficialne take vytvorit nejde.
Proste u Palm/PalmSource drzi hodne informaci o OS pod poklickou jenom pro sebe a pro par vyvolenych a taji je i pred beznymi vyvojari tretich stran. Uplny opak open source. Ani Microsoft myslim tak nehazi klacky pod nohy vlastnim vyvojarum jako Palm. Tezko rict jestli to je umysl nebo neschopnost. Asi kombinace obojiho :)
Jeste by jsem se zeptal na ten multitasking v palmu, napr aplikace Chatopus si klidne bezi na pozadi, udrzuje spojeni pres TCP/IP a ceka na prichozi zpravu, pak si ji klidne oznami a je jedno ze mam zrovna spusteny jiny program v kterem pracuji, nebo ze jsemalm "vypnul - uspal" zapne vybraci a zacne blikat led.
Jestli tohle neni multitasking tak uz co ? a pokud tohle nestaci tak jaky uz by kdo chtel ???
No jestli je to multitasking, tak to co jsi popsal je urcite multitasking kooperativni, protoze tak uplne jedno co mas za spusteny program to neni. Tyhle veci se dejou jenom kdyz ten hlavni program bezi ve smycce zprav. Kdyby neco delal nebo vytuhl tak nic blikat nebude, prichozi zprava se neukaze a dokonce se palm ani nemusi dat vypnout vypinacim tlacitkem.
Co ma PalmOS misto praveho multitaskingu jsou tzv 'notifikace' cili i nebezici program (chatopus,datebook,..) se muze systemu prihlasit ze chce byt upozornen pokud se stane urcita akce (prijdou data do urciteho TCP socketu, aktualni cas je x, ..) a pokud se system dostane k procesoru skrz hlavni smycku zprav hlavniho programu, posle notifikace registrovanym programum. Ten hlavni program zustane porad v pameti a ty co byly registrovane ke konkretni udalosti jsou zavolane se specialnim kodem ze jde o notifikaci a at si rychle udelaji co chteji. Pak se to zpet vrati do smycky zprav hlavniho programu a tomu jenom muze byt divne ze funkce SysHandleEvent nebo EvtWaitForEvent nebo jak se jmenuje trvala nejak dyl nez normalne :)
pojdem kusok OT:
zda sa ze palmom kusok rozumies :) nevedel by si ma (a urcite aj inych zaujemcov) nasmerovat na nejake zaujimave weby s problematikou vyvoja app pre palm ? dakujem.
gcc toolchain pro palmos je tady http://prc-tools.sourceforge.net/
a je zahrnuty i v relativne novem vyvojovem prostredi zdarma zalozenem na eclipse http://www.palmos.com/dev/tools/dev_suite.html K stazeni je myslim nutna registrace. Obsahuje ale vsechno nutne (compiler, SDK - dokumentace, zdrojaky vestavenych aplikaci, emulatory pro OS <=4.x, simulatory pro OS>=5.x). Pro OS<=4 byly i zdrojaky velke casti OS (bez kadak kernelu) ale to uz bohuzel stahnout nejde. Pry je to 'docasne' zruseno.
Pokud myslis, ze cena MACa je vyšší, tak si prosim připočti k ceně PC cenu OS (WIN ci kvalitni UNIX s podporou), cenu dalsiho softwareu jako OFFICE a pod. Dale by sis mel uvedomit, ze rychlost procesoru PowerPC neodpovida vykonově stejné rychlosti Intel platformy, PowerPC jsou při stejné rychlosti řádově dvakrát výkonnější, ostatně AMD to má stejné, ale pro "marketing" uvádí také rychlost procesorů jako rychlost odpovídající částěčně Inteláckým procesorům. 2800+, 3000+ apod. Intel používá k výpočtům v jádře kolem 15 kroků/na jeden výpočet, IBM PowerPC stačí pouze 8 kroků. Celkově by se dalo polemizovat i o dalších hlodech. Ostatně podobnou srovnávací analýzu nedávno provedli mezi Dellem a Applem a odpovídající modely Appleu (nejen mezi stolními počítači ale také notebooky) byly vždy levnější.
Hmm, zkusil jsem už ve čtvrtek a musím zkonstatovat, že se stále má kam vyvýjet. Pokud je zapnuto používání XComposite, znatelně se zpomalí vykreslování oken při běžné práci, pokud XComposite nevyužívá, aktualizují se screenshoty pouze při přesunutí okna do popředí, takže je většinou snímek, který Komposé ukazuje, značně neaktuální. Což je podle mě v případě programu určeného pro rychlé vyhledávání oken docela problém. :-/
Snad se to časem zlepší...
s tou aktualizaci stavu okna to trochu vazne, to je pravda. Ale kde presne se aktivuje XComposite to nevim (vim jen, ze to umi nejake pruhlednosti), muzete to prosim upresnit?
A pak to zapnout v nastavení Komposé, je tam na to škrtbox. Ale po osobní zkušenosti (ve shodě s FAQ na stránkách Komposé) upozorňuji, že rychlost pak není zrovna uspokojivá.