Tutte le componenti non facenti parte dell’unità centrale , unità di I/O,
memorie di massa, dispositivi come stampanti, scanner ed in generale
tutte le apparecchiature che si possono mettere in comunicazione con
un computer si indicano con il nome di periferiche.
LE PIU COMUNI
•
•
tastiera
dispositivi di puntamento:
–
mouse
–
–
–
–
trackball
penna ottica
tavoletta grafica
joystick
•
•
mouse ottico
memorie di massa:
–
–
–
–
–
–
–
–
hard disk
floppy disk drive
lettori di dischi ottici (CD, DVD, Blu-ray Disc)
lettori di memory card e pen-drive USB
microdrive
nuclei di ferrite
unità a nastro
unità a dischi removibili
•
unità IOMEGA
–
–
–
–
•
monitor:
–
–
–
•
monitor CRT (a tubo catodico)
monitor LCD (a cristalli liquidi)
monitor al plasma
stampanti:
–
–
–
–
–
–
•
unità a dischi Bernoulli
unità a dischi Zip
unità a dischi Jaz
unità a dischi Rev
plotter
stampante ad aghi
stampante a getto d'inchiostro
stampante a margherita
stampante laser
stampante termica
altri dispositivi di input-output:
–
–
–
–
modem
router
print server
scanner d'immagini
Il collegamento tra un computer e le sue periferiche avviene mediante le
apparecchiature che si chiamano interfacce. Un interfaccia è in sostanza una scheda di
circuiti elettrici che, inserita nella struttura di un computer, permette di eseguire il
trasferimento di informazioni dal computer alle periferiche o viceversa. Il collegamento
è realizzato tramite le porte di I/O accessibili all’esterno. Le piu usate sono:
• Porta Seriale (1 bit per volta)
•Porta Parallela (bit carattere trasmessi contemporaneamente)
•USB(Universal Serial Bus)”fino a 127 dispositivi in sequenza su stessa porta” “PnP”
Per realizzare la completa indipendenza tra le operazioni di I/O e le attività della CPU il
sistema di elaborazione usa i bus di I/O, canali di comunicazione specializzati per
eseguire autonomamente trasferimenti tra le periferiche e la memoria centrale. I
tradizionali bus d I/O non sono abbastanza veloci per trasferire applicazioni di tipo
multimediale, quindi si usa un bus locale(local bus) in grado di operare a velocità più
elevate. Il bus locale esclude le periferiche dal dal bus di I/O e le connette ad altre unità
del sistema di elaborazione, CPU e memoria centrale, o alle memorie dedicate.
OBBIETTIVO PRINCIPALE del sistema operativo per la gestione delle periferiche è:
 controllare l’esecuzione delle operazioni per conto dei processi
 assegnare i dispositivi ai processi che li richiedono con una politica di schedulazione
 Nascondere al programmatore i dettagli delle interfacce hardware dei dispositivi;
Omogeneizzare la gestione di dispositivi diversi;
 Gestire i malfunzionamenti che si possono verificare durante un trasferimento di dati;
controllare l’esecuzione delle operazioni per conto dei processi
Le operazioni di I/O richieste da un processo si solito vengono eseguite da processori
dedicati mentre il processo è in attesa e il processore sta eseguendo un altro programma.
Per fare in modo che un dispositivo possa ricevere o inviare dati mentre il processo è in
attesa si usano dei buffer e per la sincronizzazione i segnali di interruzione. Quando il
programma deve eseguire una operazione di I/O genera una interruzione di tipo software
per richiedere un servizio al sistema operativo; il processore avvia l’operazione e, in attesa
che la periferica la completi,può dedicarsi ad altre operazioni; quando la periferica ha
concluso l’operazione genera un interruzione per avvertire il processore.
Per ogni operazione di I/O il sistema operativo riserva un area di memoria
“tampone”(buffer), per contenere i dati oggetto del trasferimento.
Motivazioni:
Differenza di velocità tra processo e periferica: disaccoppiamento
Quantità di dati da trasferire(es. dispositivi a blocchi): il processo può richiedere il
trasferimento di una quantità di informazioni inferiore a quella del blocco.
lettura
dispositivo
buffer
copia
Sistema
Operativo
Buffer: area tampone
U-Buf: area tampone nella memoria virtuale del processo applicativo
U- buf
Processo
 assegnare i dispositivi ai processi che li richiedono con una politica di schedulazione
ESISTE UN PRECISO ALGORITMO DI SCHEDULAZIONE. PUO AVVENIRE IN MODO:
 SERIALE, LA PERIFERICA VIENE ASSEGNATA IN MODO DEDICATO A UN PROCESSORE
PER TUTTA LA DURATA, QUINDI LA PERIFERICA E’ OCCUPATA PER TUTTA LA DURATA
DEL PROCESSO ANCHE SE UTILIZZATA PER PICCOLI INTERVALLI DI TEMPO(STAMPANTI)
 CONDIVISA, LA PERIFERICA E’ ASSEGNATA A PIU PROCESSI IN MODO DINAMICO PER
IL TEMPO NECESSARIO AD EFFETTUARE L’OPERAZIONE I/O(HD).
HARD DISK
LE POLITICHE DI SCHEDULAZIONE HARD DISK CERCANO DI MINIMIZZARE I TEMPI DI
SEEEK(SPOSTAMENTO TESTINA) E SONO:
 FCFS (FIRST COME FIRST SERVED)
SSTF(SHORTEST SEEK TIME FIRST) SERVE LA PIU VICINA
SCAN(TEMPO MINORE MA IN DIREZIONE DELLA TESTINA)
C-SCAN(CIRCULAR SCAN) UNA VOLTA ALL’ESTREMITA TORNA INIZIO IN CERCHIO
PER LE PERIFERICHE USATE IN MODO DEDICATO(STAMPANTI), PUO ESSERE SIMILATA
L’ALLOCAZIONE CONDIVISA CON UNA TECNICA DI COLLOCAZIONE A PERIFERICHE VIRTUALI.
L’OPERAZIONE DI I/O NON HA EFFETTO REALMENTE SULLA PERIFERICA MA SU UN AREA DI
DISCO CHE SIMULA LA PERIFERICA(FILE DI SPOOL).
IL COLLEGAMENTO TRA PERIFERICA VIRTUALE E REALE VIENE FATTO DAI PROGRAMMI DI
SPOOL(SIMULTANEOUS PERIPHERAL OPERATIONS ON LINE) CHE SI OCCUPANO DEL
TRASFERIMENTO DA E VERSO LA PERIFERICA DI OGNI FILE DI SPOOL POSTO IN CODA.
SE PIU PROCESSI RICHIEDONO LA STAMPANTE AD OGNUNO SI ASSOCIA UN FILE SU DISCO
IN CUI SI MEMORIZZANO DI VOLTA IN VOLTA LE INFORMAZIONI DA STAMPARE. SOLO
QUANDO UN PROCESSO E TERMINATO IL FILE DI SPOOL PUO ESSERE MANDATO ALLA
STAMPANTE E CANCELLATO. SE LA STAMPANTE E OCCUPATA IL FILE VIENE POSTO IN CODA
DI STAMPA.
PROCESSO 1
OUTPUT 1
PROCESSO 2
OUTPUT 2
PROCESSO 3
OUTPUT 3
3
2
1
STAMPANTE
Omogeneizzare la gestione di dispositivi diversi;
Vengono usati dei programmi, driver, che fanno da intermediari tra
le operazioni Ad alto livello richieste dai programmi e l’invio dei
segnali elettrici all’hardware. Per velocizzare gli accessi si puo
usare un disco virtuale, che combina il dispositivo fisico e un area di
memoria ram usata come cache. Questo metodo crea problemi con la
caduta della corrrente.
Gestire i malfunzionamenti che si possono verificare durante un trasferimento di dati
TIPOLOGIE DI GUASTI
• Eventi eccezionali (es. mancanza di carta sulla stampante );
• Guasti transitori (es. disturbi elettromagnetici durante un trasferimento dati);
• Guasti permanenti (es. rottura di una testina di lettura/scrittura di un disco).
Tipi di gestione degli eventi anomali:
Ø Risoluzione del problema (mascheramento dell’evento anomalo);
Ø Gestione parziale e propagazione a livello applicativo;
• Tipi di eventi anomali:
Ø Eventi propagati dal livello inferiore (es. guasto HW permanente;
Ø Eventi generati a questo livello (es. tentativo di accesso a un dispositivo inesistente).
Scarica

document