Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Gestione di Input\Output
>Dispositivi di Input\Output
Bus della memoria: collega il processore con la memoria centrale e la memoria cache
per separare il traffico di dati tra processore e memoria centrale che rallenterebbe
Bus di sistema: dispositivo con un alto transfer rate
Bus di espansione ISABUS PCI
dati
controllor
e
segnali
dati
I/O
segnali
Il controllo delle due attivit di I/O pu essere eseguito secondo differenti modalit:
I/O A CONTROLLO DI PROGRAMMA
NellI/O a controllo di programma il processore gestisce il trasferimento leggendo i registri
di stato del controllore per sapere quando pronto per ricevere o trasmettere dati, il
controllo avviene in un ciclo di attesa attivo.(accettabile per un sistema mono programmato, la
CPU non pu eseguire operazioni mentre continua a leggere il controllore)
I/O GUIDATO DALLE INTERRUZIONI
In questa maniera si pu ragionare in modo schematico: (lo svantaggio che il processore
continuamente interrotto)
1- Il processo prepara i dati di output
2- Attiva la periferica abilitandola ad eseguire interruzioni e si sospende mentre
aspetta che loperazione di I/O sia completata
3- La periferica dopo aver eseguito loperazione di I/O invia un segnale di interruzione
al processore
4- Il processore completa listruzione gi in esecuzione, riconosce il segnale di
interruzione e manda un segnale alla periferica per indicare che ha ricevuto il
segnale
5- Esegue la routine di gestione dellinterruzione.
Le azioni eseguite a questo livello, sono limitate alla formattazione dei dati e alla
trasformazione delle richieste nelle corrette chiamate al sistema operativo
SOFTWARE DI I/O INDIPENDENTE DAL DISPOSITIVO
Alcune funzioni molto importanti sono lo SPOOL e la bufferizzazione.
Lo SPOOL un sistema per gestire in un ambiente multi programmato laccesso ad unit
periferiche che non possono essere condivise da pi processi, opera un processo speciale
chiamato demone di spool e una directory speciale chiamata directory di spool.
Il demone di spool ha lo scopo di mettere in sequenza gli accessi e gli accessi alla directory
di spool fatto in modo concorrente dai processi.
Laltra operazione quella della bufferizzazione, (buffer di sistemaspazi di memoria dove
memorizzare temporaneamente i dati da trasferire).
La bufferizzazione utile per 2 motivi:
- Disaccoppiare
Disaccoppiare il processo che fa I/O e la periferica, senza bufferizzazione infatti
il processo che legge o scrive deve rimanere in attesa che loperazione di I/O sia
conclusa.
- Se il trasferimento avviene in un area del sistema operativo il processo in
attesa del completamento dell operazione di I/O pu essere rimosso dalla
memoria e spostato su disco senza problemi
Il principio di localit dice che se un processo ha richiesto un blocco in una
certa posizione prima o poi richieder il blocco nella posizione successiva.
SOFTWARE DI I/O DIPENDENTE DAI DISPOSITIVI
A questo punto gli ordini di Input/Output del livello superiore sono tradotti nella corretta
sequenza di istruzioni, le operazioni sono svolte dai driver dei dispositivi, ci sono due
tecniche per includere i driver:
-il link editor che non quasi pi utilizzata
-i driver sono collegati dinamicamente allesecuzione
Nel driver presente un metodo per memorizzare informazioni chiamato descrittore del
dispositivo, che memorizza:
- Informazioni sul controllore
- Informazioni sui dati da trasferire
- Informazioni per la gestione del trasferimento
CONTROLLO E SCHEDULAZIONE DEL DISPOSITIVO
A questo livello si gestiscono le interruzioni e si ha il controllo della schedulazione del
dispositivo.