Apple Mac OS X 10.6 "Snow Leopard" - Prima parte

Apple Mac OS X 10.6 "Snow Leopard" - Prima parte

Recensione di Andrea Bai pubblicato il 18 Settembre 2009 nel canale Apple

“Prima parte di una trattazione a due puntate inerente il nuovo sistema operativo di Apple, Mac OS X 10.6 Snow Leopard. In questa puntata ci concentreremo su due delle principali tecnologie del nuovo sistema operativo: Grand Central Dispatch e OpenCL”


GCD, segue

Le caratteristiche peculiari di GCD danno modo a programmatori e i sviluppatori di definire piccoli frammenti di lavoro che possono essere isolati e scorporati dal thread principale di un'applicazione, rendendola in questo modo più reattiva agli input dell'utente. Le applicazioni GCD-based permettono di ottenere una maggiore efficienza complessiva del sistema, grazie ad un codice complessivamente più contenuto, all'impiego di minor CPU time e memoria rispetto ai meccanismi tradizionali.

La programmazione basata su GCD consente di realizzare applicativi in grado di scalare in maniera dinamica a seconda dell'hardware sul quale vengono eseguiti. Di norma, quando uno sviluppatore si trova nelle condizioni di dover lavorare all'ottimizzazione di un programma multithread, incorre nella necessità di conoscere i dettagli dell'hardware sul quale opera la specifica applicazione e, affinché l'ottimizzazione sia davvero tale, è inoltre necessario che nessun altro programma sia in esecuzione. Se tale scenario può essere anche abbastanza comune negli ambiti di supercomputing, ciò non avviene in contesto desktop, dove spesso più applicativi, di varia natura, sono contemporaneamente in esecuzione. GCD, ricoprendo il ruolo di "supervisore" delle attività, riesce ad ovviare a questo problema: il programmatore è infatti messo nelle condizioni di strutturare il codice di un applicativo in una maniera che permetta di identificare tutte le opportunità di parallelizzazione disponibile e lasciando che sia il sistema operativo, grazie a GCD, a decidere l'adeguato grado di parallelismo con il quale eseguire un'applicazione, sulla base della piattaforma hardware esistente e sulla base della richiesta computazionale delle altre applicazioni in esecuzione. Questo meccanismo consente pertanto alle applicazioni e al sistema operativo di scalare in maniera efficente da uno a molti processori senza che sia necessaria una regolazione manuale delle applicazioni.

Grand Central Dispatch è in grado di apportare i benefici descritti sopra e al contempo permette di ridurre la complessità del codice che è necessario scrivere. Molti sviluppatori hanno constatato che l'adozione di GCD permette di migliorare in maniera sensibile la leggibilità del codice e, conseguentemente, la sua manutenzione e la correttezza del codice, precedentemente portato avanti con le tradizionali tecniche di programmazione multithreaded.

Strumenti di sviluppo GCD

Affinché gli sviluppatori possano sfruttare al meglio le caratteristiche di Grand Centra Dispatch, Apple mette a disposizione, direttamente all'interno del DVD di installazione di Snow Leopard, una serie di strumenti atti allo scopo come parte dell'ambiente di sviluppo Xcode.

Nello specifico è possibile disporre di una serie di strumenti di analisi che consentono di verificare l'efficienza di codice scritto per GCD grazie ad un monitoraggio in tempo reale relativo all'uso di blocchi e code mentre l'applicazione è mandata in esecuzione. Più nel dettaglio, gli strumenti di analisi forniti all'interno di Xcode permettono di tenere traccia del numero di volte che un blocco è stato eseguito, della durata di esecuzione di una particolare istanza di blocco e la latenza di una determinata coda.



Segue : OpenCL Pagina successiva
Pagina 1:Introduzione
Pagina 2:Grand Central Dispatch
Pagina 3:GCD, segue
Pagina 4:OpenCL

 
 
 

SOCIAL BOX

Consiglia Hardware Upgrade su Google