Sistemas Operacionais Multimídia Aula 11. Sistemas Operacionais Multimídia Introdução...
-
Upload
ana-laura-palma-belem -
Category
Documents
-
view
238 -
download
1
Transcript of Sistemas Operacionais Multimídia Aula 11. Sistemas Operacionais Multimídia Introdução...
Sistemas Operacionais Multimídia
Aula 11
Sistemas Operacionais MultimídiaIntrodução
• Processamento em tempo-real• Comunicação• Sincronização• Gerência de memória• Gerência de base de dados• Gerência de arquivos• Gerência de dispositivos
Introdução• Um dos mais importantes aspectos de sistemas
operacionais multimídia é o processamento em tempo-real de dados de mídias contínuas
• O gerenciamento de processos deve levar em conta os requisitos de tempo impostos pela manipulação de dados multimídia
• Métodos apropriados de escalonamento devem ser aplicados
Introdução (cont.)
• Para obedecer aos requisitos de tempo, componentes são concebidos como recursos que são reservados antes da execução
• Reserva de recursos cobre todos os recursos que lidam com mídias contínuas
Introdução (cont.)• A comunicação e a sincronização entre processos
devem atender as restrições dos requisitos de tempo-real e as relações temporais entre diferentes mídias
• Em sistemas multimídia, a gerência de memória tem que prover acesso a dados com atraso (máximo) garantido e funções de manipulação de dados eficientes– Ex.: operações de gerência de buffer em vez de operações de
cópia física de dados (menor desempenho)
Introdução (cont.)• Gerência de base de dados é um componente
importante em um sistema multimídia• Abstração dos detalhes de armazenamento de
dados em memória secundária• Para melhor desempenho, a gerência de base
de dados deve se basear em serviços de gerência de arquivos fornecido pelo sistema operacional multimídia
Introdução (cont.)
• Sistemas operacionais isolam as aplicações dos dispositivos
• Serviços de gerência de dispositivos são necessários
• Em sistemas multimídia, a integração de dispositivos de áudio e vídeo deve ser semelhante a qualquer outro dispositivo de entrada/saída
Tempo Real• O sistema de tempo-real possui a tarefa permanente de
receber informações do ambiente, espontaneamente ou em intervalos periódicos de tempo, e/ou de enviar informações ao ambiente dadas certas restrições de tempo
• A principal caraterística de sistemas de tempo-real é a corretude da computação
• Esta corretude não se aplica apenas a computação sem erro, mas também ao tempo em cujo resultado é apresentado
Tempo Real (cont.)
• Velocidade e eficiência não são as principais características de sistemas de tempo-real (mitos)
• Ex.: em uma apresentação de uma sequência de vídeo em um sistema multimídia, o único resultado aceitável é quando o vídeo é apresentado nem rápido demais nem devagar demais
Deadlines• Um deadline representa o último tempo
aceitável para a apresentação de um resultado
• É a fronteira entre o comportamento normal (correto) e anômalo (errado)
• Soft deadline• Hard deadline
Características de Sistemas de Tempo Real
• Resposta rápida previsível a eventos críticos em relação a tempo e informações de tempo apuradas
• Alto grau de escalonabilidade (schedulability)
• Estabilidade na presença de sobrecarga
Tempo Real e Multimídia
• Streams de áudio e vídeo consistem de valores de dados de mídias contínuas que mudam periodicamente (amostras de áudio e quadros de vídeo)
• Cada LDU deve ser apresentada até um deadline bem determinado
• Jitter só é permitido antes da apresentação final ao usuário
T-R e Multimídia (cont.)
• Para satisfazer os requisitos de tempo de mídias contínuas, o S.O. deve usar técnicas de escalonamento de tempo-real
• Estas técnicas devem ser aplicadas a todos os recursos do sistema envolvidos no processamento de dados de mídias contínuas– CPU, memória principal, armazenamento,
dispositivos de E/S e redes
T-R e Multimídia (cont.)• Sistemas multimídia que não são usados em
cenários tradicionais de tempo-real têm requisitos de tempo-real diferentes (mais simples)– Aplicações como automação industrial e
pilotagem de aviões têm grande demanda por segurança e tolerância a falhas
Requisitos de Tempo-Real
• Tolerância a falha: menos estrita do que em sistemas de tempo-real que têm impacto físico direto– Contra-ex.: suporte de cirurgia remota por vídeo e áudio
tem grande demanda por corretude• Para muitas aplicações de sistemas multimídia,
perder um deadline não é uma falha severa– requisitos de áudio são mais estritos, porque o ouvido
humano é mais sensível a audio gaps do que o olho é a video jitter
Requisitos de Tempo-Real (cont.)• Como alguns algoritmos de compressão são
capazes de usar diferentes fatores de compressão (diferentes qualidades) a banda (bandwidth) pode ser negociada– a qualidade pode ser ajustada dinamicamente à
banda disponível (ex. através da mudança de parâmetros) - vídeo escalável
Gerência de Recursos• Exemplo: uma imagem de vídeo não deveria ser apresentada
com atraso porque o sistema de comunicação está ocupado com uma transação de um sistema de gerenciamento de banco de dados
• Em qualquer cenário realista encontramos várias aplicações multimídia que concorrentemente usam recursos compartilhados
• O gerenciamento do sistema deve usar algoritmos de escalonamento adequados para servir aos requisitos das aplicações
Recursos• Um recurso pode ser
– ativo: fornece um serviço (ex.: CPU)– passivo: denota alguma capacidade do sistema
requisitada por um recurso ativo (exs.: memória principal, banda de comunicação, sistema de arquivo)
• Um recurso pode ser– usado exclusivamente por um processo a um tempo
(recursos ativos)– compartilhado por vários processos (recursos passivos)
Requisitos• Os requisitos de transmissão e processamento
de aplicações multimídia locais e distribuídas são especificados de acordo com as seguintes características:– O throughput é determinado pela taxa de
transferência de dados necessária para satisfazer os requisitos da aplicação
– Delay local: o tempo máximo para completar uma tarefa em um recurso
Requisitos - Características (cont.)– Delay fim-a-fim: atraso total para uma unidade de
dado ser transmitida da fonte ao destino– Jitter: variância máxima permitida na chegada de
dados no destino– A confiabilidade define mecanismos de detecção
e correção de erros• erros podem ser ignorados, indicados e/ou corrigidos• correção de erros através da retransmissão raramente é
apropriada para dados de tempo crítico porque os dados retransmitidos normalmente chegam atrasados
Requisitos (cont.)
• Em sistemas de comunicação, estes requisitos são também conhecidos como parâmetros de Qualidade de Serviço (QoS):– throughput (data rate)– local delay– (global) end-to-end delay– jitter– confiabilidade
Componentes e Fases• Alocação e gerência de recurso pode ser baseada na
interação entre clientes e seus respectivos gerentes de recursos– o cliente seleciona o recurso e pede uma alocação através da
especificação de requisitos (QoS specification)– o gerente do recurso checa sua utilização e decide se o pedido
de reserva pode ser atendido– todas as reservas existentes são armazenadas para que os
requisitos especificados sejam garantidos– se necessário, o cliente negocia o pedido de reserva com outros
gerentes de recursos
• Um gerente de recursos fornece componentes para as diferentes fases do processo de gerência e alocação:– teste de escalonabilidade: checa com os parâmetros
de QoS (ex. throughput e confiabilidade) para determinar se a capacidade existente é suficiente para atender o novo pedido
– cálculo da QoS: o gerente de recurso calcula o melhor desempenho possível (ex. delay) que pode ser garantido para o novo pedido
– reserva de recurso: alocação da capacidade necessária para garantir a QoS de cada pedido
– escalonamento de recurso: mensagens são escalonadas de acordo com as garantias de QoS dadas
Esquema de Alocação• Abordagem pessimista: faz reserva para o pior
caso, evitando conflitos de recursos– QoS garantido– Sub-utilização potencial de recursos
• Abordagem otimista: reserva para uma carga de trabalho média– QoS: “o melhor possível”– Os recursos são altamente utilizados
• pode haver falha por sobrecarga
Modelo de Definição de Parâmetros de QoS
• Baseado no modelo Linear Bounded Arrival Processes (LBAP)
• Enxurrada (burst) de mensagens: mensagens chegadas a frente da escala
• LBAP é um processo de chegada de mensagens em um recurso definido por três parâmetros:– M = tamanho máximo da mensagem (bytes/msg)– R = taxa (rate) máxima de mensagens (msg/seg)– B = enxurrada (burstiness) máxima (msgs)
Modelo - Exemplo
• Amostra de sinal de áudio a uma frequência de 44,1 kHz
• Amostra de 16 bits• Taxa de transferência resultante:
– 44100Hz x (16bits / 8bits/byte) = 88200bytes/s
WS WSCD
LAN
Exemplo (cont.)• As amostras são montadas em frames• 75 mensagens (frames) são
transmitidas por segundo (R) de acordo com o padrão de CD
• Assim, o tamanho máximo da mensagem é:– M = 88200bytes/s / 75mensagens/s =
1176bytes/msg• Em um pacote de 12000 bytes, temos
– B = 12000bytes / 1176bytes/msg = 10 mensagens
• Resultados:– M = 1176 bytes/msg– R = 75 msgs/s– B = 10 mensagens
• Em um intervalo de tempo de duração t, o número máximo de mensagens que chegam em um recurso não deve exceder:– B + R x t– Exemplo:
• assumindo t = 1s,• 10 mensagens + 75 mensagens/s x 1s = 85
mensagens
• A introdução de enxurrada (burstiness) permite pequenas violações (por curtos períodos) da taxa de transferência assumida
• Máxima Taxa Média de Transferência de Dados– M x R– Exemplo:
• 1176bytes/msg x 75mensagens/s = 88200 bytes/s
• Máximo Tamanho de Buffer– Mensagens que chegam “a frente da escala”
devem ser enfileiradas– M x (B + 1)– Exemplo:
• 1176bytes/msg x 11msg = 1293 6bytes
• Backlog Lógico– Número de mensagens que já chegaram “a frente da escala”
quando da chegada da mensagem m– Se uma mensagem é processada “a frente da escala” o backlog
lógico é maior do que o backlog real • Tempo de Chegada Lógico
– Define o tempo mais cedo que uma mensagem m pode chegar em um recurso quando todas as mensagens chegam de acordo com as suas taxas
– Uma mensagem é crítica se o seu tempo de chegada lógico já passou