FreeBSD doplnil podporu pro Grand Central Dispatch - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Seriály

Více seriálů



Software

FreeBSD doplnil podporu pro Grand Central Dispatch

21. října 2009, 00.00 | Technologie Grand Central Dispatch dovolující pod Snow Leopardem snazší vývoj aplikací pro vícejádrové procesory byla přenesena pod operační systém FreeBSD.

Mac OS X 10.6 Snow Leopard sice nepřinesl příliš mnoho viditelných novinek, ale v jeho nitru se nachází několik důležitých nových technologií, jež by měly pomoci vylepšit využití moderního hardwaru.

Jednou z nich je technologie Grand Central Dispatch (GCD), která se snaží usnadnit vývoj aplikací účinně využívajících vícejádrové a víceprocesorové stroje. (Z programátorského hlediska to nedávno na MůjMacu podrobněji popsal Ondřej Čada).

Apple si však tuto technologii nenechal jen pro sebe, v září část kódu potřebného pro její podporu uvolnil jako otevřený software. Toho se velice brzy chopil vývojový tým pracující na operačním systému FreeBSD a nyní již technologii CGD přenesl pod svůj systém.

Přenos Grand Central Dispatch pod FreeBSD nebyl snadný

Časnou ukázku přenosu kódu Applu tým FreeBSD předvedl už několik dní po jeho zveřejnění na EuroBSDConu 2009 v Cambridgi, standardní součástí FreeBSD se však podpora GCD stane až po vydání verze 8.1 (teď se chystá verze 8.0, takže GCD se dostane teprve do její první aktualizace).

Přenos GCD na jiné operační systémy je přitom poměrně obtížný, protože narozdíl od jiných otevřených softwarových balíků vyšší úrovně vyžaduje integraci přímo do kernelu (jádra systému, jež spravuje procesy, paměť a ovladače hardwaru).

Unixový software sice obvykle bývá mezi Mac OS X, Linuxem a variantami systémů BSD přenosný docela dobře, jenže právě jejich kernely se dost podstatně liší, a to ztěžuje přenos do nich integrovaných technologií jako je GCD.

Mac OS X používá hybridní jádro vycházející jednak z jádra Mach, jednak z jádra BSD (toto hybridní jádro zdědil od systému NeXTSTEP, z něhož pochází), proto přenos technologie GCD pod FreeBSD vyžadoval její přizpůsobení konvečnějšímu BSD jádru bez vrstvy Mach a použití semaforů POSIXu namísto semaforů Machu.

Otevírá se cesta pro přenos Grand Central Dispatch na další unixové systémy

Přenos GCD pod FreeBSD by proto měl usnadnit přenos na další operační systémy s konvenčním unixovým jádrem jako jsou OpenBSD, NetBSD, Linux či Solaris.

Technologie GCD ovšem vyžaduje vedle podpory v jádru systému také úpravu kompilátoru, to však již není zdaleka tak složité, díky tomu, že Apple pracuje na kompilátoru Clang a virtuálním stroji LLVM a FreeBSD rychle přidal jejich podporu.

Přenos GCD na jiné operační systémy pomůže zvýšit její přitažlivost pro další vývojáře, zejména v oblasti vědeckotechnických aplikací a pravděpodobně posílí zájem o ostatní nové otevřené technologie Applu, například o OpenCL (od počátku navrhovaný jako otevřený standard) a též o výše zmíněné kompilátorové nástroje Clang a LLVM.

Jistě, přenos CGD a dalších nových technologií Snow Leoparda na jiné unixové operační systémy si ještě vyžádá další čas a práci (ani implementace GCD pod FreeBSD není úplně hotová) a určitě bude třeba vyřešit mnohé problémy, ale časem by to mohlo přinést zajímavé výsledky, zejména možnost přenosu vícevláknových aplikací mezi všemi podporovanými platformami, mimo jiné by tak bylo možné pod Mac OS X zpětně přenášet aplikace vyvinuté třeba pro Linux či FreeBSD.

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

Poslat článek

Nyní máte možnost poslat odkaz článku svým přátelům:

Váš e-mail:

(Není povinný)

E-mail adresáta:

Odkaz článku:

Vzkaz:

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

Nejčtenější články
Nejlépe hodnocené články
Apple kurzy

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: