Search Header Logo
Sistemi Operativi - Gestione I/O

Sistemi Operativi - Gestione I/O

Assessment

Presentation

•

Computers

•

11th Grade

•

Practice Problem

•

Hard

Created by

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
media

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

media

8

Hardware di I/O

Trasmissione: il bus

media

​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
media

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
media

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?

1

Collegamenti fisici alle periferiche

2

Sistemi di scrittura sulle periferiche

3

Programmi che permettono l’interfacciamento delle periferiche

4

Canali di comunicazione con la CPU

15

Multiple Choice

Cosa si intende con porta?

1

Il dispositivo che permette di accedere all’interno del PC

2

Un sistema di connessione della periferica

3

Un dispositivo per effettuare la trasmissione dei segnali

4

Una interfaccia per le periferiche

16

Multiple Choice

Quale tra i seguenti NON rientra tra i bus standard?

1

ABUS

2

BBUS

3

CBUS

4

DBUS

17

Multiple Choice

Quale tra i seguenti NON rientra tra i registri di un'interfaccia?

1

AREG

2

CREG

3

DBUS

4

SREG

18

Multiple Choice

La porta è un componente del kernel del Sistema Operativo

1

Vero

2

Falso

19

Multiple Choice

Il DBUS è costituito dall'insieme di linee su cui viene indirizzato il dispositivo

1

Vero

2

Falso

20

Multiple Choice

Nell'Isolated I/O lo spazio degli indirizzi è diverso da quello della memoria centrale

1

Vero

2

Falso

21

Multiple Choice

Il sistema Memory-mapped I/O (indicare l'affermazione errata):

1

utilizza le istruzioni standard di trasferimento dati in memoria centrale

2

i registri sono connessi come le normali celle di memoria

3

è utilizzato ad esempio dalla scheda grafica

4

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
  1. il computer continu​a a leggere il bit busy del dispositivo finché non è = 0

    ​

  2. ​il processore specifica il comando da eseguire sulla periferica nel registro di controllo e setta il bit command-ready su 1

    ​

  3. il controller mette a 1 il bit busy ed esegue il comando

    ​

  4. ​tutti i dati vengono scambiati tramite una porta di lettura/scrittura

    ​

  5. ​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

  1. ​la CPU verifica lo stato delle linee di richiesta dopo l'esecuzione di ogni istruzione

  2. ​se il controller ha mandato un segnale INTREQ, allora salva PC e PSW e passa in modalità kernel

  3. il controllo passa alla specifica ​procedura di gestione dell'interrupt (Interrupt Service Routine) e context switch

  4. eseguite le operazioni di I/O viene ripristinato lo stato precedente all'interrupt ed eseguita l'istruzione contenuta nel Program Counter

28

Interrupt

Problemi

  1. ​identificare la periferica e attivare la specifica ISR

  2. ​stabilire un tempo limite per servire l'ISR

  3. ​se ci sono più richieste, introdurre livelli di priorità

  4. ​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

media

31

Riepilogo
media

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é?

  1. ​gestire la differenza di velocità tra produttore e consumatore dei dati

  2. ​gestire l'eventuale differenza di dimensione dei blocchi di dati

  3. ​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)

​

  1. Ogni processo ottiene subito l'accesso al dispositivo virtuale

  2. I dati vengono trasferiti al dispositivo virtuale e NON al dispositivo fisico

  3. 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

1

polling, scheduling, DMA

2

scheduling, interruzione, DMA

3

polling, interruzione, scheduling

4

polling, interruzione, DMA

38

Multiple Choice

Nell'attesa attiva (indicare l'affermazione errata):

1

avviene l'I/O a controllo di programma

2

avviene l'handshaking

3

abbiamo alta flessibilità e basso costo

4

la velocità è buona perché la effettua la CPU

39

Multiple Choice

Con IRQ si intende

1

Interrupt Request

2

Interrupt Request Query

3

Interrupt Ready Query

4

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?

1

Immediatamente

2

Al termine del ciclo di clock

3

Al termine del corrente ciclo di bus

4

Al termine dell'istruzione corrente

41

Multiple Choice

Nel polling tra gli svantaggi c'è lo scarso sfruttamento della CPU

1

Vero

2

Falso

42

Multiple Choice

Il polling è sconsigliato per la gestione del mouse

1

Vero

2

Falso

43

Multiple Choice

Con la gestione di un hard disk in polling si sprecherebbe il 40% del tempo CPU

1

Vero

2

Falso

44

Multiple Choice

Le interruzioni consentono una gestione sincrona dell'operazione di I/O

1

Vero

2

Falso

45

Multiple Choice

Nel DMA le istruzioni di I/O sono eseguite velocemente dalla CPU

1

Vero

2

Falso

46

Multiple Choice

L'I/O scheduling utilizza una coda per ogni processo

1

Vero

2

Falso

pattern-tertiary
Sistemi Operativi - Gestione I/O

By Giovanni Pedroncelli

Show answer

Auto Play

Slide 1 / 46

SLIDE