sistemi operativi - Dipartimento di ingegneria elettrica ed elettronica

Transcript

sistemi operativi - Dipartimento di ingegneria elettrica ed elettronica
Università degli Studi di Cagliari
Corso di Laurea Specialistica in Ingegneria Elettronica
SISTEMI OPERATIVI
SISTEMI A ORIENTAMENTO SPECIFICO
I SISTEMI MULTIMEDIALI
Obiettivi
!
!
Identificare le caratteristiche peculiari
dell’elaborazione di dati multimediali
Passare in rassegna le funzionalità dei sistemi
operativi per applicazioni multimediali
!
!
!
CPU scheduling
disk scheduling
Gestione del file system e della rete
Giorgio Giacinto 2009
Sistemi Operativi
2
Cosa si intende per
multimediale?
!
Esempi di dati multimediali
!
!
!
brani audio o video (ad es., MP3, MPEG, ecc.)
live webcast
I dati multimediali possono essere inviati a
!
!
PC (desktop, laptop, ecc.)
dispositivi portatili (PDA, smartphone, ecc.)
Giorgio Giacinto 2009
Sistemi Operativi
3
Trasmissione di dati
multimediali
!
!
I dati multimediali sono memorizzati nel file
system come qualunque altro file di dati
Specificità nell’accesso ai dati multimediali
!
!
vincolo temporale
Per esempio, un filmato deve essere mostrato ad
una velocità pari a 24-30 frame al secondo
!
!
Occorre garantire il trasferimento dati ad una velocità
che ne consenta la corretta visualizzazione
Si parla di dati a trasmissione continua quando
sono definiti vincoli sulle velocità di trasferimento
Giorgio Giacinto 2009
Sistemi Operativi
4
Streaming
!
!
È la trasmissione di file multimediali da un
server a un client (di solito attraverso una
connessione di rete)
Due tipologie di streaming
1.
2.
Progressive download
il client avvia la riproduzione del file multimediale
non appena inizia la ricezione dei dati. Al termine
il file rimane memorizzato nel client
Real-time streaming
Il file è trasmesso al client ma non viene
memorizzato nel client
Giorgio Giacinto 2009
Sistemi Operativi
5
Real-time Streaming
!
Due tipologie
Live streaming
trasmissione di eventi “in diretta”,
simultaneamente al loro svolgimento
non sono disponibili funzioni di posizionamento
all’interno del flusso
Streaming “on-demand”
trasmissione di flussi multimediali registrati come
film, lezioni, ecc.
sono disponibili funzioni di posizionamento all’interno
del flusso
Giorgio Giacinto 2009
Sistemi Operativi
6
Caratteristiche dei sistemi
multimediali
!
Le dimensioni dei file con contenuti multimediali
possono essere molto elevate
!
I dati multimediali a trasmissione continua
possono richiedere velocità di trasferimento
elevate
!
Le applicazioni multimediali possono risentire
negativamente di ritardi di temporizzazione
durante la riproduzione
Giorgio Giacinto 2009
Sistemi Operativi
7
Aspetti relativi al sistema
operativo
!
Deve garantire la qualità della riproduzione
(QoS - Quality of Service)
1.
2.
3.
4.
Compressione e decodifica possono impegnare
notevolmente la CPU
Priorità delle operazioni multimediali per
garantire i vincoli temporali (scheduling)
Efficienza del file system
Larghezza di banda delle connessioni di rete,
latenza e jitter ridotti
Giorgio Giacinto 2009
Sistemi Operativi
8
Parametri per la definizione di
QoS
!
!
!
Throughput
quantità di lavoro completata in un dato intervallo di
tempo (di solito, frequenza di richiesta dei dati)
Delay
intervallo di tempo fra la ricezione di una richiesta e il
suo soddisfacimento
Jitter
ritardo durante la riproduzione di un flusso multimediale
!
!
uso del buffering
Reliability
modalità di trattamento degli errori di trasmissione e di
elaborazione di flussi continui
Giorgio Giacinto 2009
Sistemi Operativi
COMPRESSIONE
9
Compressione dei dati
!
!
I dati multimediali sono di solito memorizzati e trasmessi
in formati compatti, al fine di ridurre lo spazio di
memorizzazione e la velocità di trasmissione
Compressione MPEG
1.
MPEG-1
352 X 240 @ 30 frame/secondo
2.
MPEG-2
Compressione per DVD e TV ad alta definizione (HDTV)
3.
MPEG-4
Per la trasmissione audio, video e animazioni. Consente la
trasmissione su connessioni molto lente (56 Kbps)
Giorgio Giacinto 2009
Sistemi Operativi
KERNEL MULTIMEDIALI
11
Processi periodici
!
!
Sono processi che richiedono dati a intervalli di
tempo costanti
Impongono un vincolo di tempo reale
Se i dati non vengono consegnati al processo
entro la scadenza stabilita, possono essere
scartati
!
!
Ad esempio, se un video ha una frequenza di 30
frame/sec, il sistema operativo deve garantire la
consegna dei fotogrammi al processo al più con
periodicità 3,34 centesimi di secondo
Giorgio Giacinto 2009
Sistemi Operativi
13
Requisiti dei kernel
multimediali
!
Si distinguono tre livelli di QoS
1.
2.
3.
Best-effort service
il sistema cerca di fare del proprio meglio ma
senza alcuna garanzia di QoS
Soft QoS
consente di definire priorità su diversi flussi di
traffico, ma non fornisce alcuna garanzia
relativamente alla QoS
Hard QoS
garantisce i requisiti di QoS
Giorgio Giacinto 2009
Sistemi Operativi
14
Ipervalutazione delle risorse
!
Molti sistemi operativi d’uso comune adottano
una politica best effort nell’ipotesi che le risorse
di sistema siano in generale sovrabbondanti
rispetto alle reali esigenze
!
!
Nel caso in cui l’utente sperimenti un
decadimento della QoS, sarà sua cura rimuovere
processi dal sistema
I sistemi dedicati per applicazioni multimediali
adottano invece una politica hard QoS
Giorgio Giacinto 2009
Sistemi Operativi
15
Ulteriori aspetti relativi alla QoS
!
La QoS può essere negoziata fra il client e il
server
!
!
Di solito i sistemi operativi usano algoritmi per il
controllo di ammissibilità
!
!
negoziazione basata sulla velocità di trasmissione
una richiesta viene servita solo se il server ha
risorse sufficienti per soddisfarla.
Uso dei semafori per gestire la prenotazione e
l’uso delle risorse
Giorgio Giacinto 2009
Sistemi Operativi
16
Risorse di un file server
Giorgio Giacinto 2009
Sistemi Operativi
17
CPU Scheduling
!
I sistemi multimediali utilizzano algoritmi di
scheduling hard realtime
!
!
assicurano l’esecuzione dei task critici entro le
scadenze prestabilite
La maggior parte degli algoritmi di scheduling
della CPU hard realtime sono basati su priorità
statiche
!
Le priorità non si modificano nel tempo
Giorgio Giacinto 2009
Sistemi Operativi
18
Scheduling del disco
!
Gli algoritmi di scheduling del disco devono
essere ottimizzati per soddisfare
!
!
!
Le scadenze temporali
Le frequenze di trasferimento dei dati continui
Due algoritmi principali
!
!
Earliest-Deadline-First (EDF) Scheduling
SCAN-EDF Scheduling
Giorgio Giacinto 2009
Sistemi Operativi
19
Scheduling EDF e SCAN-EDF
!
Scheduling EDF
!
La coda di richieste è ordinata in base alla
scadenza della richiesta (tempo limite entro il
quale deve essere soddisfatta)
!
!
Questo ordinamento può causare parecchi movimenti
della testina che provocano un incremento della
latenza
Scheduling SCAN-EDF
!
Le richieste con scadenza simile sono ordinate
secondo la politica SCAN
Giorgio Giacinto 2009
Sistemi Operativi
20
Esempio
scheduling SCAN-EDF
Le scadenze sono in ms
Accorpiamo scadenze che
ricadono in una finestra di 100 ms
All’istante T0
• la testina si trova sul cilindro 51
• e si muove in direzione di n. di
cilindro crescente
Giorgio Giacinto 2009
Sistemi Operativi
GESTIONE DELLA RETE
21
Problemi legati alla
trasmissione in rete
!
!
!
La rete Internet non fornisce supporto al
soddisfacimento di requisiti QoS
Esiste il protocollo RTP (Real Time protocol) per
la trasmissione audio e video in tempo reale, ma
non fornisce garanzie relativamente a QoS
Occorre sincronizzare client e server in modo da
ovviare agli inevitabili ritardi
Giorgio Giacinto 2009
Sistemi Operativi
23
Trasmissione dati Client-Server
1.
Unicast
il server trasferisce i dati un client per volta
attraverso connessioni separate
2.
Broadcast
il server trasferisce il contenuto a tutti i client, a
prescindere che ne abbiano fatto richiesta o no
3.
Multicast
il server trasferisce il contenuto solo al gruppo
di client che ne ha fatto richiesta
Giorgio Giacinto 2009
Sistemi Operativi
24
Streaming attraverso un server
web standard
Giorgio Giacinto 2009
Sistemi Operativi
25
Real Time Streaming Protocol
RTSP
!
Il protocollo HTTP è senza stato
!
!
operazioni di pausa, riavvolgimento del contenuto
multimediale non possono essere gestite
Il protocollo RTSP è invece un protocollo con
memoria dello stato ed è utilizzato dai media
server
!
!
!
Microsoft Windows Media Services
Apple QuickTime
VLC…
NOTA: i filmati flv (Flash Video) non sono trasmessi in
streaming ma sfruttano HTTP e download progressivo
Giorgio Giacinto 2009
Sistemi Operativi
26
RTSP
Giorgio Giacinto 2009
Sistemi Operativi
27
Macchina a stati del protocollo
RTSP
!
Transizioni fra gli stati
! SETUP - il server alloca le risorse per una sessione con un client
! PLAY - il server trasmette il flusso ad una sessione client
! PAUSE - il server sospende la trasmissione
! TEARDOWN - il server interrompe la connessione e rilascia le
risorse inizialmente allocate per quella sessione
Giorgio Giacinto 2009
Sistemi Operativi
28