Mac OS X bol do voľného predaja uvedený v roku 2001, a za ten čas sa viditeľne zmenil. Pribudli nové vnútorné technológie, optimalizácie, zrýchlenie, ale hlavne funkcie prístupné priamo užívateľovi. Na nich sa doteraz zakladal marketing každej novej verzie operačného systému. Spomeňme si na Exposé pri Pantherovi, Spotlight a Dashboard pri Tigrovi a Stacks pri Leopardovi. Teraz sa Apple vydal novým smerom. Skončil s produkciou nových funkcií, a začal sa sústreďovať na kvalitu, ktorá sa v dnešnom svete propaguje ťažko. Pod lesklý kabátik začal nenápadne umiestňovať nové technológie a architektonické vylepšenia, ktoré by Snow Leopardovi mali umožniť znovu získať náskok pred konkurenciou. Ste zvedaví, aké triky má Apple v rukáve?
Ako každá verzia OS X, aj Snow Leopard bude (podľa Apple) rýchlejší, stabilnejší, a bude posúvať teoretické limity ešte ďalej. Snow Leopard obsahuje niekoľko konkrétnych technológií, ktoré spríjemnia život každému, aj keď o nich nebude vedieť.
QuickTime X
Technológia QuickTime je dnes veľmi komplexný balík služieb na prehrávanie multimédií. Nie je to len prehrávač, ako si mnohí predstavujú. Takmer každá aplikácia pracuje s knižnicami QuickTime-u. Od vzniku tejto technológie uplynulo veľa rokov, a postupným vývojom naberal množstvo kódu, ktorý síce pridával funkčnosť, ale systém v konečnom dôsledku spomalil. Od uvedenia v Systéme 6 v 1991 bol dramatickejšie zmenený až vo verzii 7 uvedenej pri príležitosti príchodu Mac OS X 10.4, ktoré tiež už prebehlo pomerne dávno. Vtedy pridal podporu pre nové kodeky, Core Graphic, Core Audio, Core Video a podporu pre Quartz Composer animácie, ale stále bola potrebná rozsiahla modernizácia.
Cesta pre pokračovanie vývoja sa našla paradoxne v iPhone. Aj keď je to prístroj s výkonným CPU, procesory v počítačoch sú rádovo výkonnejšie a pri snahe implementovať QuickTime sa narazilo na výkonnostné obmedzenia. Východiskom bolo odstrániť to, čo mobil nepotrebuje. Menovite podporu pre zastaralé a nepoužívané formáty a kód lepšie optimalizovať. Takto oklieštený QuickTime dosahuje oveľa lepšie výkony v prehrávaní moderných formátov. Spätnou implementáciou do počítačov zrazu vznikol nový QuickTime, ktorý bol omnoho lepší a modernejší. Samozrejme, Apple si nemohol dovoliť odstrihnúť staršie formáty, ktoré na rozdiel od iPhonu, počítač musí vedieť prehrať a tieto knižnice zostali. Ale pri prehrávaní bežných formátov, ako napríklad H.264 je zrýchlenie patrné. To je celý príbeh QuickTimu X.
Grand Central
Asi pre vás nie je novinka, ak uvediem, že v posledných rokoch nebol zaznamenaný radikálny nárast taktovacích frekvencií. Aby výrobcovia procesorov mohli aj naďalej predávať, východiskom bol nárast paralelizácie, a to nie len v pribúdajúcich vnútorných ALU a FPU jednotkách, ale rovno celých procesorových jadrách. Spracovávať jedno programové vlánko dvomi takýmito jadrami, ktoré sa svojou podstatou nelíšia od dvoch procesorov, je nemožné. Apple sa teda začal viac sústreďovať na pomoc vývojárom, ktorí takéto aplikácie bodú musieť programovať, čo vôbec nie je jednoduché. Pritom doba dual-core už končí, čoskoro budú, a už aj sú, v strednom segmente dostupné štvorjadrá a program Terascale Intelu ráta v budúcnosti až so stovkami jadier. To znamená teraflopy výkonu, ktoré nebude možné využiť súčasnými aplikáciami.
Grand Central je nový súbor technológií, ktoré sa s týmito nástrahami vysporiadajú. Umožnia operačnému systému inteligentnejšie distribuovať a prerozdeľovať dostupný výkon aplikáciam. Malo by byť tiež oveľa jednoduchšie multithreadové aplikácie písať, čo vývojari asi radi počujú. Základou filozofiou, ako docieliť zefektívnenie programov nie je ovplyvňovanie samotných programov, ale kernelu. Ten bude celistvé programové vlánka sám deliť na niečo, čo vzdielene pripomína packety v svete sietí, a rozposielať ich voľným procesorom. Systém sa bude prispôsobovať aktuálnym stavom, vyťaženiu a mnohým faktorom, s ktorými sa vývojár pobiť prakticky nemôže. Do akej miery sa tento prístup presadí ukáže len čas.
OpenCL
V modernom počítači sa nachádza moderný procesor s množstvom jadier a frekvenciou v GHz, ktorá dáva veľa výkonu. Ale ani CPU sa nevyrovná oveľa výkonnejšiemu čipu, ktorý sa nachádza v každom počítači a prakticky sa väčšinu času nepoužíva. Presne tak, je to výkon grafickej karty. Zatiaľ čo Core 2 Duo procesor je schopný dodať príjemných 20 Gflop výkonu, dnes už nepoužívaná grafiká karta ATI X1800 poskytuje 375 Gflop. Dôvodom je, že zatiaľ čo paralelizovať úlohy všeobecného zamerania, aké rieši CPU, je oveľa náročnejšie než paralelizovať úlohy spojené s grafickými výpočtami. Moderné grafické karty majú až niekoľko stoviek výpočtových jednotiek, čo je aj napriek nižšj taktovacej frekvencií markantný rozdiel.
Technológia OpenCL (Open Computing Language) dáva vývojárom možnosť tvoriť aplikácie tak, aby používali grafické karty na viac než len vykresľovanie obrázkov. Otvárajú sa možnosti viacúčelových výpočtov vykonávaných na doposiaľ úzko špecializovaných čipoch. Samozrejme, istý podiel na tom majú aj samotný výrobcovia grafických kariet, ak nie priam väčšinový. Nejedná sa ale o horúcu novinku, podobné pokusy už existujú, často si však vyžadovali špecifické ovládače a aj aplikácie, ktoré sa písali len veľmi ťažko. Z užívateľského hľadiska je dôležité, že mnohé náročné aplikácie budú využívať GPU a odľahčia tak hlavný procesor pre iné výpočty a nemusia sa zaťažovať žiadnymi ovládačmi. Vývojári zase môžu použiť náročnejšie efekty, presnejšie výpočty a v konečnom dôsledku tvoriť zaujímavejšie aplikácie.
LLVM kompilátor
Nenápadná skratka, ktorá v sebe urýva spojenie Low Level Virtual Machine kompilátor. Cesta LLVM sa začala v roku 2000 a v roku 2005 Apple začal do tohto projektu prispievať. Prvé ovocie tejto spolupráce bolo pretavené už v stávajúcom Leoparde, kde sa používa na softvérovú interpretáciu špecializovaných grafických úkonov spojených s OpenGL, pokiaľ ich nezvládajú integrované grafické čipy. Tento kompilátor totiž tvorí veľmi dobre optimalizovaný a rýchly kód, čo je v týchto oblastiach nevyhnutnosťou.
V súčasnosti sa v XCode 3.1 používa Apple GCC. Tento kompilátor je starý, ale kvalitný kompilátor overený časom s koreňmi v 80 rokoch, dnes bežne využívaný v mnohých operačných systémoch. Je schopný generovať aplikácie pre PowerPC, Intel i ARM procesory z kódu napísaného v C jazykoch.
Vďaka tomu, že Apple začal integrovať LLVM komponenty do GCC, vznikol nový kompilátor, ktorý kombinuje overené komponenty z GCC a pridáva k nim lepší optimalizátor a generátor kódu – vzniká LLVM-GCC. Výsledný kód je často rýchlejší o 20 až 30%. Čo je však ešte dôležitejšie, práve tento kompilátor hrá kľúčovú rolu pri paralelizácií, bez neho by Grand Central nepracoval ani zďaleka tak dobre.
ZFS
Apple oficiálne potvrdil, že Snow Leopard bude schopný zápisu a čítania (zatiaľ sa o bootovaní nehovorí) na disky so súborovým systémom spoločnosti Sun Microsystems. Aj keď súčasný HFS slúži bezpochyby dobre, ZFS (zettabyte file system) prináša mnoho funkcií, ktoré hlavne v serverovom segmente budú znamenať rýchlejšiu a bezpečnejšiu manipuláciu s veľkými objemami dát. Jedná sa o moderný 128-bitový súborový systém s dátumom uvedenia 14. september 2004 a tak v sebe integruje tie najmodernejšie technológie.
Už samotný princíp práce je dosť odlišný od bežných súborových systémov. V súčasnosti ponímame súborový systém tak, že je jednoducho umiestnený na najviac jednom disku, prípadne oddiele disku. Ak chceme použiť viac zariadení, je potrebný Volume Manager na tvorbu RAIDov. ZFS zavádza pojem storage pooling, ktorý si môžme predstaviť ako virtuálne diskové pole (zpool), zložené z virtuálnych zariadení vdevs. Vdevs (Virtual Devices) sú zase zložené z blokových zariadení, ako napríklad súborov, oddielov a diskov. Tieto blokové zariadenia je potom možné podľa potreby pouzívať paralelne, tak ako to poznáme v RAID riešeniach. Zápis sa rozkladá variabilne, podľa dostupných zariadený v zpool. Môžu sa vzájomne zrkadliť, alebo použiť na zvýšenie rýchlosti paralelným zápisom jednotlivých častí súborov. A to nie len v skupinách po dvoch, ale pokojne aj viacerých zariadení. Celý zpool môže nezávisle používať viac súborových systémov. Znie to komplikovane, ale je to jednoduchý a dômyslený systém. Možno vám pomôže ilustrácia prebratá zo stránok spoločnosti Sun:
Už bolo uvedené, že ZFS je 128-bitový FS, čo to v praxi znamená? V prvom rade možnosti používať veľkokapacitné disky a použiť priestor o akom sa výrobcom súčasných diskov ani nesnívalo, a čo je horšie z hľadiska budúcnosti, ani snívať nebude. Je síce odvážne tvrdiť, že niečo nikdy nepoužijeme a navždy to bude dosť, ako sa hovorilo napríklad o prvých 486 procesoroch, ale fakty hovoria o dostatočnom dimenzovaní. Aké?
„Populating 128-bit file systems would exceed the quantum limits of earth-based storage. You couldn’t fill a 128-bit storage pool without boiling the oceans.“ (web spoločnosti Sun)
Jednoducho nie je možné zaplniť 128-bitové pole dátami, pretože z kvantových zákonov vyplýva, že na to by bolo potrebné vyrobiť energiu, ktorá by stačila na vyparenie oceánu. Niektorý matematicky nadaný zvedavci to skutočne prepočítali a uznali že je to pravda. V spojitosti s tým si spomeňte, koľko vám trvá zovrieť vodu na čaj na rýchlovarnej konvici so spotrebou oveľa vyššou než bežný počítač.
Ale okrem nového prístupu a neobmedzených kapacít ponúka ZFS aj bežnému ľudu bližšie vymoženosti. Napríklad snapshoty. Vždy keď ZFS zapisuje nové dáta, bloky s pôvodnými dátami môžu byť obnovené, pretože vždy keď je to možné, alokujú sa nové bloky. Staré bloky, ktoré sa nezmenili, môžu byť zdieľané medzi FS a snapshotom. Môžu sa tiež vytvárať aj klony, pričom vzniknú nezávislé FS, ktoré budú zdieľať len nezmenené pôvodné bloky a zmeny si budú ukladať inde. Počet klonov je prakticky neobmedzený, rovnako ako počet snapshotov.
Praktická vlastnosť je aj možnosť používať rôznu veľkosť blokov, ktorá je zhora ohraničená na 128 KB. Neskôr je plánovaná aj automatická zmena veľkosti blokov podľa typu spracovávaných úloh. Ak totiž používate veľmi malé bloky, zápis veľkých súborov trvá veľmi dlho. Pri opačnej situácií je zápis rýchly, ale malé súbory ktoré nedosahujú veľkosť bloku zbytočne plytvajú miestom.
Pozitívnou vlastnosťou ZFS je aj ochrana dát. Automaticky sa tvoria kontrolné súčty, ktoré dovoľujú obnovenie poškodených údajov. Rovnako samočinné je aj vyhľadávanie a odstraňovanie vadných zariadení. V alfa štádiu sa nachádza šifrovanie celého súborového systému, momentálne sa však nepredpokladá, že bude dostatočne bezpečné pre komerčné použitie do uvedenia Snow Leoparda. Samozrejme ZFS toho poskytuje oveľa viac, viac než je možné popísať v jednom článku.
Nabudúce si povieme o čosi viac k (ne)podpore PowerPC architektúry, o 64-bit technológiach a Macoch s 32-bit Intel procesormi a mnoho iného.
Zdroje:
komentárov
Maroš – Velice zajímavé čtení, podané srozumitelnou formou. Díky!
trosku tam mas chyby. aj co sa tyka vynechanych hlasok , aj gramatickych chyb, ale inac pekne napisane.. jednoducho povedane zlozite veci.
Rovnez davam za clanek BOD! Prvni o SL, ktery me udrzel az do konce :-)
ktovie dokedy Apple vydrzi nazyvanie Mac osx podla velkých maciek,ktovie ako sa budu nazyvat potom
Ten princip se Storage pooly u ZFS je velmi podobný LVM u Linuxu. Kdyby také Mac OS podporoval LVM, bylo by to naprosto dokonalé. :-)
vcelku nechapem tomu zfs
Nazov „Snow Leopard“ ma sklamat, uz od Panthera cakam na nieco zaujimavejsie… Napr. OS X 10.7 Hyena :-)
Zdá sa, že Apple zase kráča správnym smerom a patrí medzi prvých na tej ceste.
Dobrý článok!
Hobitko: hyeny sa pravdepodobne nedočkáš nakoľko sa jedná o psovitú šelmu. A mimochodom, dúfam,že teraz je už každému jasné, že SL nebude ziadny ďalší platený ‚service pack‘ :)
Mha: To Vyhuhlanovi nevysvetlis.
Inac super clanok, perfektne rozpisane. A to som mal pocit, ze s tymi pocitacmi sa uz dalej moc pohnut neda a apple zasa dokazal, ze nemieni cakat na kadejake biotechnologie ako na Godota :)
ZFS a „Storage pool“: Maros to nevysvetlil dost jasne. Jedna sa o to, ze ked pridate disk do ZFS, kapacita sa rozsiri a stale vidite 1 disk. Ako keby ste pridali RAM.
Snapshoty ukladaju len zmeny v blokoch dat, nie cele data nanovo (ako Time Machine). Velmi jednoducho povedane, povedzme ze do textoveho dokumentu pridate 1 odstavec dat. Pri ukladani sa nevytvori cely dokument odznova, ale do dat sa prida len ten 1 odstavec a povodny subor bez odstavca je odlozeny ako snapshot, novy subor s odstavcom je len ten kusocek dat 1 odstavca, nie identicka kopia predchadzajuceho + odstavec.
To umozni teoreticky pouzivat Time Machine aj bez externeho disku (samozrejme, externy je bezpecnejsi).
Dalej, chyba: QuickTime je sice sada technologii, ale nie na prehravanie. Jedna sa o komplexnu multimedialnu architekturu na pracu s datami ako audio, video, parametricke zmeny (animacie), 3D, MIDI, viacstopove udaje, text atd. Bez QuickTime by nebola mozna cela Apple strategia Digital hub (iLife, iTunes, iPod, iPhone) a profi aplikacii (Final Cut Studio balik, Final Cut Server, Aperture, Quartz Composer). Bez QuickTime si neprehrate zvuk, neotvorite JPEG fotky z fotaku, neozstrihate video, nespracujete fotky v Aperture, neupravite fotky v Photoshope, nenahrate album v Digidesign ProTools alebo Logic Pro. Bez QuickTime prakticky pridete o vsetky moznosti Mac OS X pre pracu s mediami – nielen prehravanie.
QuickTime stoji za multimedialnymi moznostami Mac OS X a aplikacii. Nic porovnatelne a natolko integrovane ziadny iny system nema.
pekna mačička
jednoznačně díky, nejlepši web na cz i sk. A taky se mi nejvíc líbí graficky:) Tenhle článek je super.
Pekný článok. Teším sa na pokračovanie, súc majiteľ PPC stroja.
nazvy podla vsetkeho sa mi niekedy zdaju podla nemeckych tankov z druhej svetovej vojny, ale asi sa mylim(nahodou este davnejsie som cital recenziu volajakej strateickej hry z druhej svetovej vojny, kde bol prehlad tankov, neuveritelne ale sli poradi od pumy az k tigrovi)
no to je len taa perlicka
Vaše meno: k tým tankom, táto tradícia funguje v Nemecku doteraz, práve Leopard patrí medzi najlepšie a najmodernejšie tanky súčasnosti ak nie vôbec (samozrejme nie pôvodný ale jeho najmodernejšie modifikácie, samotný stroj je už dosť zastaralý).
Čo sa týka šeliem, tak ešte tu nebol Lion (taký OS X si neviem predstaviť) alebo Gepard (to už skorej aj keď po En je správne Cheetah ale to neznie príliš zvučne)…
Mac: Cheetah tu už bol :) Mac OS X v10.0 (Cheetah)
http://en.wikipedia.org/wiki/Mac_OS_X
Perfektní článek, v poslední době je mujmac.cz oproti těmto stránkám dost dole.
no tak toto bol velmi super clanok, dakujem za objasnenie celej situacie okolo snow leoparda… vedel som sice nieco ze to nebude taky „update“ ako tiger -> leopard, ale nevedel som vobec o com to bude a tento clanok mi to dokonale predviedol, tesim sa na to..
a inak, zda sa mi to alebo je to vazne tak, ze os x je jediny system, ktory po update bez rychlejsie aj na starsich strojoch ako ten predchadzajuci? :-) lebo bratrancovi na powerbooku G4 bezi leopard lepsie ako tiger..hmm :-) len tak dalej..;-)
a co sa tyka toho programovania pomocou quick time X, dufam ze sa toho chopi adobe, a konecne daju dokopy to CS, nech to frci rychlejsie ako na windowsoch :-)
fakt super clanok
Ten clanok bol tak na 5. Ale hviezdičiek…:D:D:D Je to supa prepracovane, thx Autorovi :-))))
je to najlepšia praca
dakujem za clanok….kvalitne a dobre napisane. A k tym nazvom OSX..aspon mne osobne je uplne jedno ci dalsia verzia-upgrade bude mat nazov leopard, lion, hyena, ….dolezite je ake vyhody prinesie pre uzivatelov!
pojdu tam hry s windowsnu ?