Diamo un’occhiata al file /proc/ioports/. Al suo interno vediamo ogni

dispositivo e il suo corrispondente e univoco spazio in memoria. Una

cosa sono gli interrupts, ma una volta che il dispositivo ha inviato

l’interrupt alla CPU questa deve mediare il trasferimento di dati tra la

periferica e la memoria. e questo e’ lo scopo delle

IOPORTS.Fornire ad un Device un range di memoria in cui possa

essere assegnato e poi la CPU trasferisce e mette in atto una

mediazione in termini di trasferimento di dati dal device alla memoria.

Ognuno di questi indirizzi posti in memoria non e’ e non e’ possibile

poterlo condividere con altri dispositivi per funzionare correttamente.

Se cosi non fosse ci sarebbe un malfunzionamento dell’intero

sistema

In alcuni sistemi piu’ recenti,invece di usare le ioports viene usato

DMA ( cat /proc/dma dove possono esserci piu’ dispositivi e il

vantaggio con questo sistema e’ che non si affatica la cpu.

Infatti con DMA possiamo assegnare la memoria direttamente ai

dispositivi e bypassare la mediazione della CPU. Quindi sara’ il

dispositivo che scrive e legge direttamente dalla memoria che gli e’

stata assegnata.