

Sistemi Operativi - Gestione I/O
Presentation
•
Computers
•
11th Grade
•
Practice Problem
•
Hard
Giovanni Pedroncelli
Used 3+ times
FREE Resource
28 Slides • 18 Questions
1
Sistemi Operativi - Gestione I/O
By Giovanni Pedroncelli
2
Gestione I/O
SO = Interfaccia tra utenti e dispositivi di Input/Output
Tanti dispositivi I/O --> sottosistema I/O suddiviso in driver (uno per ciascuna periferica), programmi che consentono al SO di scambiare informazioni con i dispositivi hardware collegati
I driver rendono uniforme la gestione di ogni dispositivo da parte delle applicazioni e del SO
3
Obiettivi dei driver
nascondere i dettagli di ciascun dispositivo
distinguere dispositivi fisici (routine di basso livello) da dispositivi logici (canali -> funzioni di alto livello)
associare un dispositivo fisico a uno logico
consentire ai processi di interagire con i dispositivi logici
4
Dispositivi I/O
di ingresso e puntamento
di memorizzazione
di collegamento
multimediali
5
Caratteristiche Dispositivi I/O
6
Problematiche comuni
sistema I/O condiviso --> gestione concorrenza
equità nell'accesso alla periferica --> ottimizzazione throughput
gestione delle interruzioni
verifica permessi di accesso ai singoli dispositivi
procedure specifiche complesse per gestire le operazioni di basso livello
7
Hardware di I/O
Comunicazione: la porta
8
Hardware di I/O
Trasmissione: il bus
Un bus fisico
Tre bus logici:
ABUS
DBUS
CBUS
9
Hardware di I/O
Interfaccia: il controller
Componenti elettronici che possono operare su una porta, un bus o una periferica --> adattamento logico ed elettrico tra periferiche e calcolatore
Tre registri:
SREG
CREG
DREG
10
Hardware di I/O
11
Indirizzamento I/O
Isolated I/O
Spazio degli indirizzi dei registri del controller diverso da quello della memoria centrale
Apposite istruzioni I/O per manipolare i registri a cui sono associati specifici indirizzi di 8/16 bit
12
Indirizzamento I/O
13
Indirizzamento I/O
Memory-mapped I/O
La CPU esegue le richieste di I/O utilizzando le istruzioni standard di trasferimento dati in memoria centrale
Registri <--> Memoria centrale
Spazio di indirizzamento ridotto per la memoria e possibilità di utilizzare istruzioni e modi di indirizzamento utilizzabili già per la memoria
14
Multiple Choice
Cosa sono i driver?
Collegamenti fisici alle periferiche
Sistemi di scrittura sulle periferiche
Programmi che permettono l’interfacciamento delle periferiche
Canali di comunicazione con la CPU
15
Multiple Choice
Cosa si intende con porta?
Il dispositivo che permette di accedere all’interno del PC
Un sistema di connessione della periferica
Un dispositivo per effettuare la trasmissione dei segnali
Una interfaccia per le periferiche
16
Multiple Choice
Quale tra i seguenti NON rientra tra i bus standard?
ABUS
BBUS
CBUS
DBUS
17
Multiple Choice
Quale tra i seguenti NON rientra tra i registri di un'interfaccia?
AREG
CREG
DBUS
SREG
18
Multiple Choice
La porta è un componente del kernel del Sistema Operativo
Vero
Falso
19
Multiple Choice
Il DBUS è costituito dall'insieme di linee su cui viene indirizzato il dispositivo
Vero
Falso
20
Multiple Choice
Nell'Isolated I/O lo spazio degli indirizzi è diverso da quello della memoria centrale
Vero
Falso
21
Multiple Choice
Il sistema Memory-mapped I/O (indicare l'affermazione errata):
utilizza le istruzioni standard di trasferimento dati in memoria centrale
i registri sono connessi come le normali celle di memoria
è utilizzato ad esempio dalla scheda grafica
non influisce sullo spazio di indirizzamento per la memoria
22
Protocolli di comunicazione
Comunicazione tra controller e driver
Bilanciare costo/prestazioni
Prestazioni:
tempo di reazione
velocità trasferimento dei dati
efficienza nell'uso della CPU
23
Attesa attiva: polling
I/O a controllo di programma: la CPU inizia, dirige e termina le operazioni I/O
Il processore interroga periodicamente tutte le periferiche per capire se ci sono dati da leggere o se è possibile scrivere su di esse (polling)
Interazione tra protocollo e controller attraverso handshaking
24
Attesa attiva: polling
il computer continua a leggere il bit busy del dispositivo finché non è = 0
il processore specifica il comando da eseguire sulla periferica nel registro di controllo e setta il bit command-ready su 1
il controller mette a 1 il bit busy ed esegue il comando
tutti i dati vengono scambiati tramite una porta di lettura/scrittura
terminata l'esecuzione, vengono azzerati entrambi i bit
25
Attesa attiva: polling
Vantaggi: semplicità, flessibilità e basso costo. Utilizzabile per sistemi piccoli
Svantaggi: scarso sfruttamento della CPU, gestione dispositivi demandata alla CPU --> spreca tantissimo tempo per il polling, tempo di risposta altissimi
Esempio: processore a 500 MHz e 400 cicli di clock per il polling
Mouse: polling 30 volte/secondo --> (30*400)/(500*106)=0.002%
Hard disk: blocchi di 16 byte a 8 MB/s --> ((8/16)*400)/(500*106) = 40%
26
Interrupt
La procedura di lettura è eseguita solo quando la periferica è pronta --> non si perde tempo con il busy waiting
La periferica avverte il processore di essere disponibile inviando un segnale di interrupt
Gestione asincrona delle operazioni di I/O: la CPU risponde alla richiesta di interruzione sospendendo il processo che stava eseguendo
27
Interrupt con linee di richiesta
Uno dei metodi di rilevazione di interrupt
la CPU verifica lo stato delle linee di richiesta dopo l'esecuzione di ogni istruzione
se il controller ha mandato un segnale INTREQ, allora salva PC e PSW e passa in modalità kernel
il controllo passa alla specifica procedura di gestione dell'interrupt (Interrupt Service Routine) e context switch
eseguite le operazioni di I/O viene ripristinato lo stato precedente all'interrupt ed eseguita l'istruzione contenuta nel Program Counter
28
Interrupt
Problemi
identificare la periferica e attivare la specifica ISR
stabilire un tempo limite per servire l'ISR
se ci sono più richieste, introdurre livelli di priorità
che cosa succede se si riceve interrupt mentre si serve un'altra ISR?
Vantaggi: più efficiente del polling e gestione trasparente
Svantaggi: overhead CPU dovuto anche ai tempi di context switch
29
Direct Memory Access - DMA
Modalità efficiente per periferiche che scambiano grandi quantità di dati (HD)
Interfaccia diretta tra periferica e memoria centrale attraverso il DMA Controller (DMAC) che trasferisce direttamente dati tra periferica e memoria centrale usando il bus e invia interrupt a trasferimento completato
Velocità di trasferimento non più vincolata al tempo di risposta della CPU
Istruzioni di I/O NON eseguite dalla CPU
30
Struttura del DMAC
indirizzo base: indirizzo di memoria in cui trasferire dati
porta periferica: indirizzo porta dove leggere/scrivere dati
lunghezza: del blocco di dati
controllo: campi codici errore e di inizio/fine trasferimento
dato: registro tampone, opzionale
31
Riepilogo
32
Altri servizi del sottosistema I/O
I/O Scheduling
Trovare un ordine efficiente di gestione delle chiamate di I/O migliorando le prestazioni globali del sistema --> una coda per ogni processo e si sceglie quale richiesta soddisfare (in base a priorità e durata operazione)
33
Altri servizi del sottosistema I/O
Buffering
Alcune aree di memoria (buffer) in cui memorizzare temporaneamente i dati prima di trasferirli ai processi (in caso di input) o ai dispositivi (in caso di output)
Perché?
gestire la differenza di velocità tra produttore e consumatore dei dati
gestire l'eventuale differenza di dimensione dei blocchi di dati
semantica della copia: copia dei dati su dispositivo = copia dei dati presenti in memoria
34
Altri servizi del sottosistema I/O
Caching
Cache = zona di memoria veloce che conserva copie dei dati recentemente utilizzati --> la CPU evita un altro accesso alla memoria secondaria
Cache vs Buffer
Nella cache c'è una copia dell'informazione, nel buffer c'è l'unica istanza dell'informazione
35
Altri servizi del sottosistema I/O
Spooling (Simultaneous Peripheral Operation On Line)
Spool = buffer su memoria di massa per dispositivi di output non condivisibili
Assegnare a ogni processo che richiede di usare il dispositivo di I/O un dispositivo virtuale (file su disco)
36
Altri servizi del sottosistema I/O
Spooling (Simultaneous Peripheral Operation On Line)
Ogni processo ottiene subito l'accesso al dispositivo virtuale
I dati vengono trasferiti al dispositivo virtuale e NON al dispositivo fisico
Quando il processo chiude il dispositivo virtuale, il file viene inserito in coda tra quelli che saranno serviti, uno alla volta, dal dispositivo fisico
Lo spooler è un processo di sistema, l'unico programma che ha accesso diretto alla periferica e gestisce la coda di attesa dei processi
37
Multiple Choice
I protocolli di comunicazione con il controller sono
polling, scheduling, DMA
scheduling, interruzione, DMA
polling, interruzione, scheduling
polling, interruzione, DMA
38
Multiple Choice
Nell'attesa attiva (indicare l'affermazione errata):
avviene l'I/O a controllo di programma
avviene l'handshaking
abbiamo alta flessibilità e basso costo
la velocità è buona perché la effettua la CPU
39
Multiple Choice
Con IRQ si intende
Interrupt Request
Interrupt Request Query
Interrupt Ready Query
Internal Request
40
Multiple Choice
Un processore riceve una richiesta di interruzione: quando parte il processo che porta all’attivazione della relativa procedura di servizio dell’interruzione?
Immediatamente
Al termine del ciclo di clock
Al termine del corrente ciclo di bus
Al termine dell'istruzione corrente
41
Multiple Choice
Nel polling tra gli svantaggi c'è lo scarso sfruttamento della CPU
Vero
Falso
42
Multiple Choice
Il polling è sconsigliato per la gestione del mouse
Vero
Falso
43
Multiple Choice
Con la gestione di un hard disk in polling si sprecherebbe il 40% del tempo CPU
Vero
Falso
44
Multiple Choice
Le interruzioni consentono una gestione sincrona dell'operazione di I/O
Vero
Falso
45
Multiple Choice
Nel DMA le istruzioni di I/O sono eseguite velocemente dalla CPU
Vero
Falso
46
Multiple Choice
L'I/O scheduling utilizza una coda per ogni processo
Vero
Falso
Sistemi Operativi - Gestione I/O
By Giovanni Pedroncelli
Show answer
Auto Play
Slide 1 / 46
SLIDE
Similar Resources on Wayground
41 questions
Дүниежүзі тарихы Марафон 2-күн 2
Presentation
•
11th Grade
38 questions
REDES E INTERNET
Presentation
•
10th Grade
40 questions
Definizione del modello E-R
Presentation
•
11th Grade
43 questions
i Thread
Presentation
•
11th Grade
39 questions
MODULE 04 - THS NGUYỄN THỊ KIM THÁI - BÀI HỌC
Presentation
•
KG
43 questions
The Roaring Twenties
Presentation
•
11th Grade
41 questions
Дүниежүзі тарихы Марафон 2-күн 1
Presentation
•
11th Grade
37 questions
Q1L2W2D1 - Rules of Netiquette
Presentation
•
11th Grade
Popular Resources on Wayground
10 questions
Factors 4th grade
Quiz
•
4th Grade
10 questions
Cinco de Mayo Trivia Questions
Interactive video
•
3rd - 5th Grade
13 questions
Cinco de mayo
Interactive video
•
6th - 8th Grade
20 questions
Math Review
Quiz
•
3rd Grade
20 questions
Main Idea and Details
Quiz
•
5th Grade
20 questions
Context Clues
Quiz
•
6th Grade
20 questions
Inferences
Quiz
•
4th Grade
19 questions
Classifying Quadrilaterals
Quiz
•
3rd Grade