Direct Rendering Manager: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
LauBot (discussione | contributi)
m Bot: passaggio degli url da HTTP a HTTPS
Smatteo499 (discussione | contributi)
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(Una versione intermedia di un altro utente non mostrate)
Riga 10:
 
# Il DMA ([[Direct Memory Access]]) o accesso diretto alla memoria.
# Il [[gestore della memoria]] dell'AGP ([[Accelerated Graphics Port]]).
# Il blocco delle risorse.
# L'accesso sicuro all'hardware.
Riga 22:
 
==== La mutua esclusione ====
Il DRM si occupa di far entrare in modalità sequenziale tutti quei processi che potrebbero voler accedere all'hardware grafico. Tuttavia il DRM non evita soltanto che due processi tentino di scrivere dati nel dispositivo in contemporanea, ma anche che un processo possa leggere dei dati inconsistentiincoerenti da esso.
È da notare che non tutti i programmi richiedono un accesso diretto, ad esempio molti programmi 2D passano per un gestore intermediario.
=== Politiche di sicurezza ===
Il DRM gestisce anche le politiche di sicurezza quando un determinato processo non ha i privilegi necessari per mappare le regioni di memoria dell'hardware grafico su /dev/mem.
Il DRM permette ad un processo [[client]] di mappare delle zone di memoria del dispositivo video con alcune restrizioni:
 
*Il client può mappare solo le regioni di memoria che gli appartengono, questo forza il client ad obbedire alle politiche di sicurezza che gli vengono imposte dal server X (come xauth un'applicazione che si occupa delle [[Autorizzazioni X Window]]).
*Il client può solo mappare le regioni se riesce ad accedere a /dev/drm, quindi l'amministratore può decidere se permettere ad un certo utente di accedere alle funzioni di rendering diretto. Per fare ciò un utente deve far parte di un gruppo specificato nel file di configurazioni XF86Config.
*Il client può solo mappare le regioni che il server X gli permette di mappare, infatti oltre a bloccare le zone che non gli appartengono direttamente, il server può decidere di restringere l'accesso a certe zone di memoria, ad esempio rendendole di sola lettura, in modo da poterci inserire dei [[dati sensibili]] (come ad esempio i dati relativi all'avvio del DMA).
 
==== Accesso ai dati ====