lunedì 22 marzo 2010

GESTIONE DELLE PERIFERICHE

I SISTEMI DI I/O
di Riccardo Di Maggio
^^^^^^^^^^^^^^^^
Il sistema di i/o è formato da un insieme di componenti (chiamate porte) che permettono il trasferimento delle informazioni dal mondo esterno al mondo interno e viceversa.
Per mondo esterno si intende l’insieme degli equipaggiamenti periferici del calcolatore (video, stampante, mouse, dischi ecc.). Tale sistema può essere composto da semplici bus con alcuni controllori, a cui sono collegate delle periferiche, che sono direttamente gestiti dalla CPU. Può essere invece un vero e proprio processore di I/O (chiamato canale) che gestisce tutta la comunicazione tra il mondo esterno e il calcolatore, liberando così la CPU da questo compito.
Le periferiche vengono chiamate così proprio perché si trovano alla periferia di un calcolatore anche se spesso sono indispensabili al suo funzionamento.

MEMORIE AUSILIARIE
Le memorie ausiliarie sono le cosiddette memorie “aggiunte”, che non fanno parte integrante della macchina stessa. Esse sono in grado di conservare le informazioni e i dati in modo permanente, poiché vengono usate per scrivere i dati e reperirli successivamente, sono viste come periferiche di input e/o periferiche di output (I/O).
Queste memorie sono molto meno costose della memoria centrale e sono più lente. Per questo motivo sono utilizzate per mantenere le informazioni che non servono continuamente e vi si fa accesso solo al momento dell’uso. Queste memorie sono di diverso tipo, più o meno veloci e più o meno costose.
Relativamente al tipo di accesso, si parla di acceso diretto quando è possibile accedere direttamente a un dato conoscendone la sua locazione nella memoria; l’accesso è invece detto sequenziale quando per accedere a un certo dato bisogna prima far scorrere tutti i dati che lo precedono.
In base al tipo di supporto di memorizzazione usato si possono invece suddividere le memorie in magnetiche e ottiche. Le prime sfruttano le proprietà che alcuni materiali hanno di magnetizzarsi in un senso o in un altro, permettendo così di distinguere due stati (zero e uno). Le seconde invece sfruttano la proprietà che ha la luce del laser di riflettersi in modo differente attraverso i materiali per poter individuare anche in questo caso due stati (zero e uno).
Vi è poi un altro tipo di supporto, ormai non più usato ma diffusissimo parecchi anni fa, che è stato il primo mezzo utilizzato per memorizzare in modo permanente le informazioni: la scheda perforata. Anche se obsoleto come mezzo, i concetti su cui si basa la memorizzazione delle informazioni sono in parte gli stessi utilizzati da molti dei supporti magnetici attuali.
Va inoltre precisato che, anche se dal punto di vista funzionale ogni memoria di massa può essere vista come un unico dispositivo, bisogna in realtà distinguere tra mezzo di supporto delle informazioni e strumento per la lettura e scrittura delle stesse (driver). La carta è il mezzo per conservare le informazioni, la penna è la periferica che permette di scriverci sopra, mentre gli occhi sono le periferiche per la lettura. In seguito viene descritto, per ogni tipo di memoria, sia il supporto utilizzato sia la periferica ( o le periferiche) in grado di utilizzarlo.
LE PERIFERICHE
Le periferiche sono divise essenzialmente in periferiche di input e periferiche di output a seconda che vengano utilizzate per far entrare dati nell’elaboratore o per farli uscire. Esistono inoltre periferiche di input/output, cioè utilizzabili sia per l’input sia per l’output. Le periferiche di memorizzazione ad esempio possono essere viste anche come periferiche di input/output (ad esempio i nastri o i dischi). Esistono invece periferiche specifiche per le funzioni di input, altre per quelle di output, e altre ancora per entrambe.
Queste periferiche servono per permettere all’uomo di colloquiare con il calcolatore utilizzando modalità più semplici per l’uomo stesso al posto del linguaggio della macchina formato da zeri e uno.
GESTIONE DELLE PERIFERICHE
Il collegamento tra unità centrale e periferiche avviene generalmente tramite interfacce. Il sistema mette a disposizione un’area (buffer o registro dati) destinata a parcheggiare i dati provenienti dall’elaboratore e diretti verso la periferica e viceversa; tale area serve per garantire l’indipendenza tra i tempi di lavoro delle varie componenti che hanno caratteristiche diverse. Poiché i tempi di elaborazione della CPU sono notevolmente superiori rispetto a quelli di una periferica, è necessario realizzare un meccanismo di sincronizzazione per evitare situazioni di errore.
Lo scopo del registro dati è quello di rendere asincrono il modo di operare delle periferiche rispetto al modo di operare dell’elaboratore.
Per realizzare l’operazione di scrittura la CPU pone i dati da stampare o da visualizzare nel buffer che la periferica è in grado di prelevare secondo i suoi tempi di lavoro. È necessario che queste operazioni siano sincronizzate: la CPU non può inserire dati nel buffer se questo è già pieno e d’altro canto la periferica potrà prelevarli soltanto se il buffer non è vuoto.
PERIFERICHE VIRTUALI
Le periferiche sono generalmente dedicate, di volta in volta, a un singolo processo in esecuzione, costituendo di fatto un “collo di bottiglia” per l’efficienza del sistema, se ad esempio è assegnata a un processo, tutti gli altri che la richiedono dovranno attendere la conclusione del processo in esecuzione per poter avanzare. Per ovviare a questo problema, alle periferiche reali vengono associate delle aree su disco che costituiscono delle periferiche virtuali.
L’operazione di scrittura sulla stampante corrisponde a un’operazione di scrittura sul disco che, essendo una periferica condivisa, può essere ripartita fra i vari processi. Quando termina il processo che ha utilizzato la periferica virtuale, tutte le informazioni presenti sul disco possono essere trasferite, senza interruzione, sulla periferica reale. La tecnica di associazione fra periferiche virtuali e periferiche reali viene chiamata tecnica di spool (Simultaneous Peripheral Operation On Line) o spooling; la periferica virtuale è detta disco di spool.

Nessun commento:

Posta un commento