Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.3. Struttura elenco dinamico

Il sistema operativo ha bisogno di un insieme di informazioni su ogni processore del sistema. Con Red Hat Enterprise Linux 5 questo set di informazioni veniva assegnato ad un array di dimensione fissa nella memoria. Le informazioni presenti su ogni processore venivano acquisite eseguendo una indicizzazione nel suddetto array. Questo metodo era veloce e semplice per i sistemi con pochi processori.
Tuttavia con l'aumentare del numero di processori nel sistema questo metodo genera un overhead molto elevato. Poichè l'array di dimensione fissa è una risorsa singola e condivisa, tale caratteristica può rappresentare una limitazione poichè il numero di processori che richiede un accesso aumenta col tempo.
Per risolvere questo problema Red Hat Enterprise Linux 6 utilizza una struttura dell'elenco dinamico per le informazioni del processore. Ciò permette una assegnazione dinamica dell'array usato per le informazioni del processore: in presenza di otto processori nel sistema, verranno create nell'elenco solo otto voci. In presenza di 2048 processori allora verranno create 2048 voci.
Una struttura dell'elenco dinamico permette un blocco di una porzione più piccola. Per esempio, se è necessario aggiornare contemporaneamente alcune informazioni per processori 6, 72, 183, 657, 931 e 1546, tale operazione può essere svolta con maggiore parallelismo. Situazioni come queste si verificano più frequentemente su sistemi più grandi ad elevate prestazioni rispetto a sistemi più piccoli.