Mac OS X Snow Leopard, nový systém od Apple a jeho nové technológie – čo nám prinesie?

Mac_OS_X_boxes

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?

Snow Leopard 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.

QuickTime icon

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

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.

OpenCL

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:

ZFS súborový systém, schéma

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:

Viac článkov na tému

Partneri

MacBlog newsletter
Inzercia