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. 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 2. 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. Compressione e decodifica possono impegnare notevolmente la CPU 2. Priorità delle operazioni multimediali per garantire i vincoli temporali (scheduling) 3. Efficienza del file system 4. 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 9 COMPRESSIONE
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 11 KERNEL MULTIMEDIALI
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. Best-effort service il sistema cerca di fare del proprio meglio ma senza alcuna garanzia di QoS 2. Soft QoS consente di definire priorità su diversi flussi di traffico, ma non fornisce alcuna garanzia relativamente alla QoS 3. 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! negoziazione basata sulla velocità di trasmissione! Di solito i sistemi operativi usano algoritmi per il controllo di ammissibilità! 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 T 0 la testina si trova sul cilindro 51 e si muove in direzione di n. di cilindro crescente Giorgio Giacinto 2009 Sistemi Operativi 21 GESTIONE DELLA RETE
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