inf207 sistemas operacionais multimidia 2t2010...

52
INF INF-207 207 Sistemas Computacionais Sistemas Computacionais para Processamento Multimídia para Processamento Multimídia Sistemas Multimídia Sistemas Multimídia Sistemas Multimídia Sistemas Multimídia Aula 03 Aula 03 – Sistemas Operacionais Mutimídia Sistemas Operacionais Mutimídia 2° ° ° ° °Q-2010 2010 Prof. Roberto Jacobe Prof. Roberto Jacobe ([email protected]) Prof. Marcelo Z. do Nascimento Prof. Marcelo Z. do Nascimento ([email protected])

Transcript of inf207 sistemas operacionais multimidia 2t2010...

Page 1: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

INFINF--207207

Sistemas ComputacionaisSistemas Computacionais

para Processamento Multimídiapara Processamento Multimídia

Sistemas MultimídiaSistemas MultimídiaSistemas MultimídiaSistemas MultimídiaAula 03 Aula 03 –– Sistemas Operacionais MutimídiaSistemas Operacionais Mutimídia

22°°°°°°°°QQ--20102010

Prof. Roberto Jacobe Prof. Roberto Jacobe ([email protected])

Prof. Marcelo Z. do NascimentoProf. Marcelo Z. do Nascimento (([email protected])

Page 2: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Roteiro

• Multimídia

• Aspectos de SO

• Escalonamento de processos

• Paradigmas de arquivos multimídia• Paradigmas de arquivos multimídia

• Estratégia de organização de arquivos

• Caching

• Escalonamento de Disco para multimídia

• Leituras Sugeridas

Page 3: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Entrega de mídia

• Dados de multimídia são armazenados no sistema de arquivos exatamento como qualquer outros dados;

• Arquivo precisa ser acessado em uma taxa específica diferente de um arquivo comum;– Exemplo: “taxa” =>vídeo =>imagens->24-30 quadros/seg.– Exemplo: “taxa” =>vídeo =>imagens->24-30 quadros/seg.

• Então, dados de vídeo multimídia devem entregar a uma taxa a qual garanta => 24-30 quadros/segundo;

• Dados de mídia continuo => são dados com requisito de taxa associado.

Page 4: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Streaming

• Streaming é a entrega de um arquivo multimídia armazenado em um servidor remoto para um cliente por meio de uma conexão de rede:

• Dados multimídia continuo ao vivo =>streaming.

• Há 2 tipos diferentes de streaming:• Há 2 tipos diferentes de streaming:• Download progressivo – um arquivo de mídia é baixado e armazenado no sistema de arquivos local do cliente. O cliente é capaz de reproduzir sem recebê-lo por completo.

• Ex. Clipes de vídeo.• Download de tempo real – o arquivo multimídia é enviado ao cliente, mas é apenas reproduzido – não é armazenado.

• Ex. Rádio e TV.

Page 5: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Streaming Tempo Real

• Sistemas permitem que o cliente passe por diferentes pontos no stream;

• Dois tipos de streaming de tempo real estão disponíveis: • (1) streaming ao vivo – usado para disponibilizar um evento ao vivo enquanto está ocorrendo.vivo enquanto está ocorrendo.

• Exemplo: programa de rádio pela Internet;

• (2) streaming por demanda- usado para disponibilizar stream de mídia como filme, arquivos de leitura, etc.

• Os eventos não são direcionados em tempo real.• Exemplo: (semelhante) ver um filme em um aparelho de DVD.

Page 6: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Características de um sistema multimídia

• Em geral, podem ter as seguintes características:

• Um arquivo de multimídia podem ser muito grande;• Podem exigir vários terabytes de armazenamento (HDTV);

• A mídia contínua pode exigir taxas de dados muito alta; alta;

• Exemplo: imagem de 800x600 – 24 bits;

• Exige 11.520.000 bits de dados;

• Largura de banda de 345 Mbps.

• Aplicações são sensíveis a atraso de tempo durante a

reprodução;

Page 7: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Aspectos de SO

• O sistema operacional deve garantir uma taxa de dados especifica e requisição de tempo de mídia continua;

• Tais requisições são conhecidas como requisições de qualidade de serviço (QoS);

• Entre os parâmetros estão:• Entre os parâmetros estão:– Largura de banda média;

– Perda de bit;

– Atraso máximo e mínimo;

• Uma das formas de garantir QoS de serviço é reservar a capacidade antecipada de recursos como CPU, buffer de memória e capacidade de tranferência de disco.

Page 8: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Requisitos dos Kernel de Multimídia

Existem três níveis de QoS:

(1) Serviço de melhor esforço: o sistema faz a tentativa do melhor esforço para satisfazer a requisitos porém não há garantia.

(2) QoS flexível: trata diferentes tipos de tráfego de diferente maneira dando a certo tráfego streams de prioridade maior do que outros.

(3) QoS rídiga: os requisitos de qualidade são garantidos.

Page 9: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Definição de parâmetros de QoS

• Throughput – é a quantidade total de trabalho feito durante um certo intervalo de tempo.

• Delay – o retardo refere-se ao tempo decorrido dsde que uma requisção é submetida até que o resultado desejado é produzido.desejado é produzido.

• Jitter – esta relacionado ao retardo para reprodução de um stream.

• Confiabilidade – como os erros são tratados durante a tranmissão e o processamento de mídia contínua.

Page 10: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Definição de parâmetros de QoS

• Para fornecer garantias de QoS, os SOs normalmente utilizam controle de admissão:– Prática de admitir uma requisição de serviço apenas se o servidor tiver recursos suficientes para satisfazer requisição.

• Semáfaros podem ser usados para admitir uma política de admissão:de admissão:– Uma requisição é realizada por meio da operação wait( ) e libera por meio da chamada signal ( )

– Se todos estiverem em uso, chamadas subsequentes serão tratadas pelo wait( )

• Também pode utilizar reserva de recursos– Cria-se um gerenciador de recurso para cada tipo de equipamento computacional.

Page 11: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Suporte Multimídia

• Os SOs que dão suporte a aplicações multimídia diferem dos tradicionais por três aspectos:

• Escalonador de processos;• Sistema de arquivos;• Sistema de arquivos;• Escalonamento de disco.

Page 12: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Processos Multimídia

Processos homogêneos

• Num serviço de vídeo que exibe um número fixo de filmes, todos com a mesma taxa e quadros, a mesma resolução de vídeo e a mesma taxa de dados;

• Utiliza-se o escalonamento por alternância circular(round-robin);(round-robin);– Apenas há o incremento do mecânismo de temporização para assegurar que cada processo execute na frequência correta;

• Um relógio mestre é usado para temporizar (ex. 30 vezes/segundo), onde a cada pulso => todos os processos são executados sequencialmentre na mesma ordem.

Page 13: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Processos Multimídia

Tempo Real

• O escalonamento de multiplos processos em competição– alguns dos quais obrigados a cumprir prazos – é chamado de escalonamento de tempo real.

• Processos podem ser preemptivos ou não, isto é, um processo que esteja no limiar de não cumprir seu prozoprocesso que esteja no limiar de não cumprir seu prozopode interromper outro processo em execução(multimídia de tempo real).

• Podem ser estáticos ou dinâmicos:– Estático: atribui uma prioridade fixa a cada processo e faz o escalonamento preemptivo priorizado usando essas prioridades

– Dinâmico: sem prioridade fixa.

Page 14: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Processos Multimídia

Tempo Real

• Processo A executa a cada 30 ms. Cada quadro requer 10 ms de tempo de CPU. Na ausência de competição, executaria nos surtos A1, A2, e A3, cada um iniciando 30 ms depois do anterior.

• O processo B executa 25 vezes/s e processo C executa • O processo B executa 25 vezes/s e processo C executa 20 vezes/s=>tempo de 15ms e 5ms para B e C

• Deve-se verificar => o conjunto de processos é escolonável:n= número de processos;

Pi = período em ms

Ci= tempo de CPU por quadro

Page 15: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Processos Multimídia

Tempo Real

A = 10/30

B = 15/40

C = 5/50 => juntos somam 0,808 => Sistema escalável

Page 16: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Processos Multimídia

Tempo Real

Escalonamento por taxa monotônica (rate monotonic scheduling – RMS);

• Processos devem satisfazer as 5 condições:• Cada processo periódico deve terminar dentro de seu período;

• Nenhum processo é dependente de qualquer outro processo;

• Cada processo precisa da mesma quantidade de tempo a cada surto;

• Quaisquer processos não periódicos não podem ter prazos;

• A preempção de processo ocorre instantaneamente e sem sobrecargas.

Page 17: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Processos Multimídia

Tempo Real

Escalonamento por taxa monotônica

• Cada processo é fornecido uma prioridade fixa igual a frequência de ocorrência de seu evento de disparo;

• Exemplo: • Exemplo: • P1 -> 20 ms (33 vezes/s) ->prioridade 33

• P2 -> 40 ms (25vezes/s) -> prioridade 25

• Lineares em relação a frequência;

• Executa sempre quem estiver pronto e com prioridade mais alta;

• Ótimo para algoritmo de escalonamento estático;

Page 18: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Processos Multimídia

Tempo Real:

• Os processos A- 20ms (1), B 40 ms (2) e C 100 ms (3) têm prioridades estáticas e chegam no instante t=0;

• Por ter maior frequência => A tem mais alta prioridade.

Preempção: A tem prioridade superiorB -> CB -> CC somente com a CPU ociosa

Page 19: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

• Prazo mais curto primeiro – earliest deadline first -EDF

• Algoritmo dinâmico que não requer que os processossejam periódicos;

• O escalonador tem a lista de processos executáveis, ordenados por vencimento de prazo;

Escalonamento de Processos Multimídia

ordenados por vencimento de prazo;

• Processo no estado pronto e com menor prazo paraexecução é selecionado.;

• Preempção ocorre quando novo processo com prazomenor chega na fila de pronto.

Page 20: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Processos Multimídia

Tempo Real

• Prazo mais curto primeiro – earliest deadline first EDF

A = termina em ->t=30

B = t->40

C = t->50

A-> vencimento 30 e B também é 30O Chaveamento é mais custoso

Page 21: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Paradigmas de Sistema de Arquivos Multimídia

Sistema Convencional:

• Para ter acesso a um arquivo, um processo emite uma chamada ao sistema OPEN

• Essa requisição dará um identificador ->descritor de arquivosarquivos

• Pode emitir uma chamada ao sistema READ oferecendo os parâmetros, o endereço, o buffer, o número de bytes => SO retorna os dados;

• Se quiser finalizar uma chamada CLOSE fecha o arquivo e devolve o recurso.

Page 22: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Paradigmas de Sistema de Arquivos Multimídia

Sistema Multimídia:

• Necessidade de um comportamento temporal;

• Em um servidor de vídeo remoto, o procedimento é mais complexo:

Chamada READ deve ocorrer precisamente no tempo:– Chamada READ deve ocorrer precisamente no tempo:

– Deve ocorrer o fornecimento de bloco de dados sem atraso -> dificil quando não há como planejar ou separar recursos;

• Então, aplica-se um conceito de vídeo cassete (Video Cassete Recorders –VCR).– Processo emite a chamada START -> especifica o arquivo e os parâmetros (trilha de áudio, legenda, etc);

Page 23: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Paradigmas de Sistema de Arquivos Multimídia

• Sistema Multimídia:

• O servidor envia os quadros na taxa requisitada:– Exemplo: 30 quadros/seg

• A chamada STOP permite parar a solicitação

Esse modelo de fluxo é denominado servidor push -> • Esse modelo de fluxo é denominado servidor push -> empurra dados para o usuário;

• Nesse tipo de comunicação também existe o modelo de servidor pull - > o usuário puxa os dados, uma de cada vez por meio da chamada READ.

Page 24: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Paradigmas de Sistema de Arquivos Multimídia

Push Pull

Page 25: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Funções de controle VCR

Funções implementadas:

• PAUSE -> o servidor apenas envia a mensagem PARAR– Servidor armazena o próximo quadro;

– Servidor pode reservar recursos como largura de banda e buffer de memória a cada fluxo de saída.

REBOBINAMENTO ->servidor precisa lembrar que o • REBOBINAMENTO ->servidor precisa lembrar que o próximo quadro a ser enviado é o Zero.

• AVANÇO E RETROCESSO -> complexo => compressão– Como a compressão do quadro depende de seu conteúdo, cada quadro tem tamanho diferente, problema saltar k quadros;

– Compressão de áudio é independente;

– Necessidade de um índice que permita localização dos quadros.

Page 26: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Funções de controle VCR

Exemplo:

– Sistema MPEG ->Problema

– Quadros I, P e B

– Parar em um quadro P não garante que iremos encontrar o quadro I

– Requer uma reprodução sequencial;– Requer uma reprodução sequencial;

• Solução: – Na forma sequencial, o servidor poderia descomprir os quadros, calcular qual o quadro é necessário e recomprir para enviar

• Problema:– Enorme carga computacional ao servidor

Page 27: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Exemplo: Quadros: I, P, BI : Todas as informações para apresentar o quadroP: Codificação preditiva a partir do I ou P.B: Codificação preditiva a partir do I ou anteriores e dos próximos I ou P.

Funções de controle VCR

I P IP PB B B B B B B B

27

Page 28: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Funções de controle VCR

• A única estratégia viável requer um planejamento:– Arquivos especiais que contenha informações de cada quadro multiplo de dez comprimido usando o algoritmo MPEG;

Limites:

•Espaço extra no disco.

•Avanço somente na velocidade estabelecida

Onde o usuário está no arquivo de avanço

Page 29: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Vídeo Quase Sob Demanda

• Quando há K usuários assistindo o mesmo filme => mesma carga sobre um servidor;

• Problema:– Usuários podem começar o fluxo em momentos arbitrários => não há compartilhamento de fluxo;

Solução = > Regra• Solução = > Regra– fluxo de filme será enviado em hora cheia e depois de cada 5 minutos;

• Exemplo: – Filme de 2 horas (5 minutos) -> terá 24 fluxos;

– Se o fluxo for de 2 minutos => 60 fluxos.

• O Vídeo quase sob demanda não tem controle VCR.

Page 30: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Vídeo Quase Sob Demanda

Page 31: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Vídeo quase sob demanda com VCR

• Segue o modelo padrão do vídeo quase sob demandapara cada cliente e adiciona um buffer dos N minutos anteriores e N minutos posterior:– Anterior-> salvar para depois exibir

– Posterior->tem 2 fluxo de uma vez– Posterior->tem 2 fluxo de uma vez

– Exemplo: Se o usuário começa assistir as 20:15 -> exibe o fluxo as 20:15 e paralelamente lê e armazena os fluxos as 20:10 e 20:20.

– O quadro exibido é o ponto de exibição

• Se houver um retrocesso:– Começa nos valores conhecidos do fluxo do filme e preenche o buffer com informações que permita retroceder ou avançar;

Page 32: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Vídeo quase sob demanda com VCR

Usuário solicita

Começa preencher o preencher o buffer com fluxo a 15 minutos

Page 33: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Alocação de arquivos em Disco

• Alocação de um arquivo em um único disco:

• Deve garantir que os dados (fluxos) possam fluir para dispositivo de saída na velocidade necessária e sem jitter;

• Problema:• Problema:

– Presença de vídeo, áudio, e texto necessário a uma busca em cada informação;

• Sugestão:– Arranjo->vídeo, áudio e texto intercalados

• Requer uma E/S adicional de disco para leitura de áudio e texto e um espaço extra de buffer.

Page 34: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Alocação de arquivos em Disco

Page 35: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Estratégias de Organização de Arquivos

• Modelo de blocos pequeno: – Permite criar uma estrutura de dados – índice de quadros porfilme com uma entrada para cada qudro apontada para seu início;

– Cada quadro é constituído de todas as trilhas de vídeo, áudio e texto disposto num bloco contíguo;

– Necessário que o tamanho do quadro esteja no índice

• Modelo de blocos grande:– Cada bloco com vários quadros

– Com índice de bloco semelhante ao I-node

– Bloco pode não conter um número inteiro de quadro – deixandoparte do bloco vazio -> fragmentação interna;

Page 36: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Estratégias de Organização de Arquivos

Page 37: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Estratégias de Organização de Arquivos

• Em relação a uso de RAM e desempenho de disco do sistema devemos considerar:– Índice de quadro: uso intenso de RAM enquanto o filme é reproduzido;

– Índice de bloco: pequeno uso de RAM, perda de espaço de disco;– Índice de bloco: pequeno uso de RAM, perda de espaço de disco;

– Índice de bloco (divide quadro entre blocos): pequeno uso de RAM, nenhuma perda de disco, buscas extras;

– Há um compromisso que envolve o uso de RAM durante reprodução, perda de espaço em disco e desempenho durante a reprodução por causa de buscas adicionais.

Page 38: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Estratégias de Organização de Arquivos

Alocação de arquivos para Vídeo quase sob demanda

• Chen e Thapar (1997)– Os quadros são concatenados e escritos no disco como um único registro;

– Só irá mudar de trilha quando terminar o fluxo

Page 39: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Estratégias de Organização de Arquivos

Alocação de Múltiplos Arquivos em um Único Disco

• Nessa estratégia quando há muitos filmes -> considerá a

popularidade de cada:

– Lei de Zipf ->classifica em função de sua popularidade;

A popularidade de que o próximo usuário escolha o item – A popularidade de que o próximo usuário escolha o item

classificado como k-esimo lugar em uma lista

– Exemplo: um filme mais popular é escolhido duas vezes mais

que o segundo filme mais popular, três vezes mais que o

terceiro filme mais popular e assim por diante.

– Necessário conhecer a popularidade dos filmes

Page 40: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Estratégias de Organização de Arquivos

Alocação de Múltiplos Arquivos em um Único Disco

• Possibilita fazer um modelo para desempenho do servidor;– Algoritmo do órgão de tubos: colocar o mais popular no tubo do meio;

– Mantém o cabeça de leitura do disco no meio.– Mantém o cabeça de leitura do disco no meio.

Page 41: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Estratégias de Organização de Arquivos

Alocação de Arquivos em Multiplos Discos

• Servidores buscam alto desempenho e não há preocupação em corrigir erros transientes;

• Empregam a técnica denominada Disk Farm

• Os discos não giram de maneira sincronizada e nem • Os discos não giram de maneira sincronizada e nem dispõe de bit de paridade;

• Configuração 1: Filme A -> disco 1– Filme B -> disco 2

– Se o disco falhar todo o filme fica indisponível

• Configuração 2: distribui cada filme em multiplos discos– Cada um pode não ser equilibrada (divisão)

Page 42: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Estratégias de Organização de Arquivos

Soluções:

c) Distribuir por quadro ou blocoou bloco

d) Padrão aleatório de distribuição no disco dos quadros

Page 43: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Caching• Arquivos multimídia => o arquivo é visto de forma sequencial e dificilmente um bloco será visto mais de uma vez;

• Não funcionam com técnicas convencionais paraarquivos (menos recentemente usado - MRU)

• Necessidade de um novo conceito: Cache de bloco e • Necessidade de um novo conceito: Cache de bloco e cache de arquivo;

• Cache de Bloco:

– Se um bloco for lido para o filme que em breve será novamentenecessário e dependendo do tempo e memória disponível-> necessário manté-lo;

– Exemplo: um filme->2 usuário– tempo N do 1 pode ser marcado até que o 2 assita os quadros.

Page 44: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Caching• Cache de Bloco:

– Solução 1: Se 2 usuários assitem ao mesmo filme – atraso 10 seg.

– Cache abriga os blocos por 10 segundos – memória

– Solução 2: Sincronizar 2 filmes -> alterar taxa de quadros;

Page 45: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Caching• Cache de Arquivo:

– Servidor mantém uma cache dos filmes mais requisitados;

– Manter os primeiros 5 minutos de um filme -> executa e cópia os dados do DVD;

Page 46: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Disco para Multimídia

• Escalonamento estático de disco

• Cada fluxo ativo exige do sistema uma carga bemdefinida e bastante previsível

• Utiliza essa carga para escalar o disco usando um algoritmo personalizado;

Exemplo: • Exemplo: 10 usuários -> cada um vendo um filme diferente(parâmetros iguais);

• Trata o fluxo em alternância circular -> ciclo é o tempo de um quadro.

• Necessário 2 buffers no cliente;

• Quando termina o ciclo, o processo de saída e desbloqueado e pode transmitir o 1 quadro. Ao mesmo tempo chega a requisiçãopara quadro 2 de cada filme (buffer 2)

Page 47: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Disco para Multimídia

• Escalonamento estático de disco

• O computador pode ter 10 processo

• Depois de chegar as requisições o disco sabe o que fazer, pois não chegará mais nada naquele ciclo

• Requisições são ordenadas de maneira ótima

• Mas, tratar dessa forma é uma maneira ótima?

Page 48: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Disco para Multimídia

• Escalonamento dinâmico de disco

• Se o sistema tiver resolução diferente => taxa de quadros;

• O sistema, quando chegar a primeira requisição, ela será servida;– Se no momento chegar novas requisições vai criar um conjunto – Se no momento chegar novas requisições vai criar um conjunto de requisições pendentes.

• Qual algoritmo usar para selecionar a próxima requisição?– Considerar: Prazo e Cilindro;– Otimização: Pode-se ordenar por cilindro, mas o cilindro distante nunca cumpre os prazos.

– Tempo real: ordenar por vencimento de requisição, aumenta tempo de busca

Page 49: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Escalonamento de Disco para Multimídia

• Escalonamento dinâmico de disco

• Algoritmo Scan-EDF: reune, em lotes, as requisições que apresentam prazos e que estejam relativamente próximos de vencer e processa na ordem do cilindro– Pode tratar com primeiro lote as 5 requisições com menor prazo para vencer=> ordená-los pelo número do cilindro e servi-los:para vencer=> ordená-los pelo número do cilindro e servi-los:

– Considere a situação no tempo t=700

– Ordenação por cilindro: 110, 330, 440, 676 e 680

Page 50: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Roteiro

• Aspectos de SO

• Escalonamento de processos

• Paradigmas de arquivos multimídia

• Estratégia de organização de arquivos• Estratégia de organização de arquivos

• Caching:

• Bloco e Arquivos

• Escalonamento de Disco para multimídia:

• Estático e Dinâmico

Page 51: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

• TANENBAUM, A. Sistemas Operacionais Modernos. Rio de Janeiro: Pearson, 3 ed. 2010

Leituras Sugeridas

Page 52: inf207 sistemas operacionais multimidia 2t2010 v1hostel.ufabc.edu.br/~marcelo.nascimento/INF207/aulas/inf207... · INFINF--207 207 Sistemas Computacionais para Processamento Multimídia

Outras informações sobre essa disciplina podem ser obtidas:

http://hostel.ufabc.edu.br/~marcelo.nascimento/

Mais Informações