Graphics Execution Manager
# Graphics Execution Manager

Il Graphics Execution Manager (GEM) è un software di sistema sviluppato da Intel, nell'inizio del maggio 2008, per la gestione della memoria dei driver per i chipset grafici. Il software è stato creato come un'alternativa, minimalista e più semplice da utilizzare, rispetto alla Translation Table Maps (TTM), gestore della memoria della Tungsten Graphics.

Sia GEM e TTM gestiscono la memoria grafica (ciò significa che comunicano con il Non-Uniform Memory Access (NUMA) sui moderni chipset grafici) e controllano il contesto di esecuzione per il codice realativo alla grafica. Essi permettono ad applicazioni multiple di condividere le risorse del supporto grafico senza la necessità di conservare e ripristinare l'intero stato della grafica tra i vari cambi effettuati. GEM assicura di non esserci conflitti tra la condivisione dei dati tra le applicazioni, gestendo la sincronizzazione della memoria. GEM usa molti sottosistemi del kernel per le sue operazioni e quindi ha una modestissima quantità di codice.

GEM è incluso nel kernel Linux dalla versione 2.6.28 per utilizzare i driver dell'hardware grafico di Intel I driver per l'ATI Radeon e i chipset VIA S3 utilizzano un "gestore TTM GEM-ifilizzato", il quale fornisce la stessa interfaccia come GEM, ma usa totalmente TTM GEM è anche progettato per essere compatibile con i kernel *BSD

Le API di GEM sono documentate nell'annuncio originale del software.

In ogni modo, GEM ha causato dei problemi per gli sviluppatori non-Intel e collisioni con l'attuale sviluppo di X.Org (in particolare DRI2 e la nuova architettura di accelerazione EXA, ha condotto alcuni sviluppatori ad utilizzare un "gestore TTM GEM-ifilizzato".

