Concetti Chiave
- Il Sistema Operativo gestisce l'Input/Output inserendo i dati in ingresso in un buffer di sistema.
- La doppia bufferizzazione migliora l'efficienza delle operazioni di Input/Output, allocando due buffer al processo.
- Il software di I/O maschera i dettagli del controllore delle periferiche attraverso i device driver.
- I device driver sono sviluppati dai costruttori delle periferiche e gestiscono le operazioni specifiche dei dispositivi.
- I driver possono essere collegati al Sistema Operativo tramite il LINK EDITOR o durante l'esecuzione.
Operazioni di Input/Output
L'operazione di Input/Output avviene nel seguente modo: un blocco di dati in ingresso è posto nel buffer di sistema.Successivamente,il Sistema Operativo trasferisce un'altro blocco nel buffer di sistema.Questa strategia,è attivata dal S.O. sulla base del principio di località per cui,il processo prima o poi richiederà il blocco posto nella posizione successiva. Avvengono due trasferimenti:Trasferimento del disco al Sistema Operativo e trasferimento dal Sistema Operativo al processo utente. Esiste un modo diverso di allocare i buffer di sistema che migliora l'efficienza delle operazioni di Input/Output: al processo sono allocati due buffer di sistema invece di esserne allocato uno solo(doppia bufferizzazione)--> questo aumenta il grado di indipendenza tra gli Input/Output fisici che avvengono tra dispositivo e buffer di sistema,e I/O logici tra buffer e spazio del processo.
Il software di I/O dipendente dai dispositivi ha lo scopo di nascondere al proprio interno i dettagli di funzionamento del controllore di una specifica periferica.Le operazioni sono svolte da moduli software detti device driver o driver dei dispositivi. Sono sviluppati e distribuiti dai costruttori dei dispositivi periferici stessi.
Due tecniche per includere i driver dei dispositivi nel S.O.: il codice dei driver è collegato con le altre parti del S.O. mediante il LINK EDITOR,oppure i driver sono collegati al momento dell'esecuzione.