Grand Central Dispatch technológia

Az Apple a macOS 10.6 "Snow Leopard" rendszerében mutatta be a Grand Central Dispatch technológiát, amely révén még hatékonyabbá válik a Mac operációs rendszer működése a többmagos és többprocesszoros hardvereken. A Grand Central Dispatch további előnye, hogy jelentős terhet vesz le a programozók válláról, és a gyengén optimalizált alkalmazásokból is képes nagyobb teljesítményt kicsikarni, amennyiben a programozók alkalmazzák a tudását, felhasználják az Apple fejlesztéseit.

A Grand Central Dispatch technológia lényege, hogy a folyamatok és végrehajtásuk egy részét alkalmazás szintről operációs rendszer szintre emeli, ezáltal kevesebb kódból kell állnia egy programnak, és nem kell odafigyelni az egyidejű műveletek végrehajtásának optimalizálására az alkalmazásokon belül. A Grand Central Dispatch révén a folyamatok egy részét a rendszer kezeli, amely az erőforrásokhoz való hozzáférést is irányítja, és a végeredmény jobb teljesítmény lesz. Jó példa erre a Final Cut Pro X, az Apple professzionális videóvágó szoftvere, amely masszívan épít a technológiára olyan kényelmi szolgáltatások elérése érdekében, mint a háttérben renderelés, amely révén nincsen zavaró ablak az előtérben, és a program használható aközben, hogy éppen nagy teljesítményigénnyel videót kódol.

A Grand Central Dispatch programozói oldalról a C programnyelv bővítményeiből áll, és tartalmaz egy új API-t, illetve egy programmotort. Bár a Grand Central Dispatch alapötlete a többmagos processzorokon végzett műveletek optimalizálása volt, megold egy másik problémát is, mégpedig az egymástól független műveletek hatékony feldolgozásának kérdéskörét.

A Grand Central Dispatch technológia négy alap fogalomra épül: blokk objektumok (informálisan blokkok), feldolgozási sorok, szinkronizálás, esemény források.

A blokk objektumok a C programnyelv bővítményei, így részei az Objective-C és a C++ nyelveknek is, amelyek révén a programozók önmagukat tartalmazó munka egységeket hozhatnak létre. Az Apple az MIT licenciája alapján dolgozta ki a Block Objects paramétereket.

A feldolgozási sorokban a programozók azt határozhatják meg, hogy egyes műveletek egyidejűek vagy sorban történjenek-e. A Grand Central Dispatch alapból FIFO elven működik, azaz érkezési sorrendben dolgozza fel és küldi ki a műveleteket az alkalmazásoknak, ám nem várja meg, amíg egy művelet végrehajtása megtörténik, hanem amint szabad processzor magot érzékel, továbbküldi a feladatot a szabad erőforrásnak. (Amennyiben egy processzor mag nincsen teljes mértékben kihasználva, az Intel újabb processzorai képesek virtuálisan további magokat létrehozni, növelve a végrehajtások gyorsaságát.)

A Grand Central Dispatch technológiát az Apple a macOS operációs rendszer után az iOS 4 mobil rendszerébe is beépítette, hiszen egy ideje már a mobil eszközökben is kétmagos processzorok dolgoznak.

Cocoa környezet a macOS operációs rendszerben…

Források: Apple Developer Library

 



 


     Keresés a lap tartalmában a Google motorja segítségével: