Sistemas Operacionais Multimídia. Sistemas de Arquivos Multimídia Duas abordagens para tratar...

Preview:

Citation preview

Sistemas Operacionais Multimídia

Sistemas de Arquivos Multimídia• Duas abordagens para tratar mídias contínuas em

sistemas de arquivos:– 1a.:

• organização dos arquivos em disco com em sistemas convencionais

• suporte de tempo-real através de algoritmos de escalonamento de disco especial

• buffer suficiente para evitar jitter– 2a.:

• organização de arquivos de áudio e vídeo em disco é otimizado

Dispositivos de Armazenamento• O sub-sistema de armazenamento é um dos componentes

mais importantes de qualquer sistema de informação• Em geral, o armazenamento é feito em discos, que são

caracterizados de 2 formas:– Como a informação é armazenada: re-writable, write-once,

read-only (CD-ROM)– Método de gravação: principais diferenças

• tempo de acesso (disco magnético ~10ms, CD ~200ms)• capacidade de trilha (magnético: densidade variável; CD: mesma

densidade em todas as trilhas do disco)

Estrutura de Arquivo

• Em sistemas de arquivos convencionais, o principal objetivo da organização de arquivo é fazer uso eficiente da capacidade de armazenamento

• Em sistemas multimídia, o principal objetivo é recuperar dados de forma constante e baseada em tempo

Estrutura de Arquivo (cont.)

• Para atingir os objetivos de sistemas de arquivos multimídia deve-se– ter buffer suficiente para cada stream de dados

• os buffers devem ser grandes o suficiente para amenizar o jitter, mas....

– grande atraso inicial

– aplicar algoritmos de escalonamento de disco, otimizados para armazenamento e recuperação de dados em tempo-real

Localização de arquivos em disco• O tamanho grande dos arquivos de mídias contínuas e• a recuperação normalmente sequancial (por causa da

natureza das operações mais comuns sobre mídias contínuas - play, pause, fast forward, etc.)

são razões para otimização do layout de discos– mídia contínua deve ser armazenada em em grandes blocos

de dados contíguos no disco– arquivos que são prováveis de serem recuperados juntos devem ser

agrupados juntos no disco– este layout de disco reduz os requisitos de buffer e os tempos de busca

Tratamento de mídias contínuas (cont.)

• Para servir aos requisitos de continuidade, leitura antecipada e buffering de um determinado número de blocos devem existir

Algoritmos de escalonamento de discos

• Sistemas sem layout de disco otimizado para o tratamento de mídias contínuas dependem muito mais de algoritmos de escalonamento de discos eficientes e confiáveis

• No caso de armazenamento contíguo, o escalonamento só é necessário para tratar de streams múltiplos e concorrentes

Escalonamento de discos (cont.)

• Principal objetivo em sistemas multimídia: atender os deadlines de tarefas de tempo-crítico

• Também importante: manter os requisitos de espaço em buffer baixos

• Além de servir a streams concorrentes, pedidos aperiódicos devem ser escalonados sem grandes atrasos/prejuízos

Algoritmo: SCAN-Earliest Deadline First

• A otimização de busca do algoritmo SCAN combinada com as garantias de tempo-real do algoritmo EDF

• EDF: o pedido com o deadline mais próximo é servido primeiro

• Entre pedidos com o mesmo deadline, o primeiro de acordo com a direção do scan é servido primeiro

Algoritmo: Estratégia Mista• Objetivos:

– Maximizar a eficiência da transferência minimizando o tempo de busca e latência (algoritmo shortest seek - o processo com o bloco de dados mais próximo é servido primeiro)

– Atender requisitos de processos com espaço de buffer limitado (algoritmo balanced strategy - escolhe o processo com a menor quantidade de dados em buffer porque isto pode significar que o processo está acabando os seus dados)

• Para quaisquer estratégias de escalonamento de disco, a eficiência

depende do design de todo o sistema de arquivos, do layout de disco, do grau de

tolerância de dealines e da aplicação

Estruturação de Dados Multimídia

• Strand: sequência imutável de frames de vídeo ou amostras de áudio, ou ambos, gravados continuamente

• Strands que juntos formam um entidade lógica de informação (ex.: vídeo e áudio de um filme) são ligados por sincronização para formar um rope multimídia

Estruturação (cont.)

• Para cada media strand em um rope, o strand ID, a taxa de gravação e a granularidade de armazenamento são armazenados

• Operações de edição em ropes apenas manipulam ponteiros para strands

• Strands não referenciados por qualquer rope podem ser deletados

Operações de Manipulação de Ropes

• RECORD [media] [requestID, mmRopeID]• PLAY [mmRopeID, interval, media] requestID• STOP [requestID]• INSERT [baseRope, position, media, withRope, withInterval]• REPLACE [baseRope, media, baseInterval, withRope,

withInterval]• SUBSTRING [baseRope, media, interval]• CONCATENATE [mmRopeID1, mmRopeID2]• DELETE [baseRope, media, interval]

Sistema de Armazenamento

• Duas camadas:– Rope server:

• comunica-se com as aplicações, permite a manipulação de ropes e se comunica com o storage manager (camada de baixo) para gravar e tocar multimedia strands

• provê a abstração rope para a aplicação– Storage manager:

• responsável pela manipulação de strands em disco para assegurar gravação e playback contínuos

Operações de Manipulação de Strands

• PlayStrandSequence• RecordStrand• StopStrand: termina um

PlayStrandSequence ou RecordStrand• DeleteStrand

Outras considerações de sistemas operacionais

• Comunicação entre processos e sincronização

• Gerência de memória• Gerência de dispositivo

Gerência de Memória

• Paginação: dados usados menos frequentemente são trocados (swapped) entre as memórias principal e secundária

• Não se deve retirar dados de mídias contínuas da memória principal - page faults afetam o desempenho de aplicações multimídia (tempo-real) seriamente

Gerência de Memória (cont.)

• A alternativa: a real implementação se dá em dispositivos externos e hardware dedicado

• A gerência de memória, neste caso, tem apenas uma função de switching para controlar um componente externo

Gerência de Dispositivo

• O gerenciamento de dispositivo permite integrar todos os componentes de hardware

• O dispositivo físico é representado por um device driver (abstração - as caracterísiticas físicas do dispositivo são escondidas)

Gerência de Dispositivo (cont.)

• Ex:– para mudar a posição de uma câmera, a

aplicação especifica coordenadas• a direção pode ser para esquerda, para direita, para

cima, para baixo• pode haver diferentes velocidades

– é tarefa do driver da câmera realizar o mapeamento de coordenadas para o posicionamento

Recommended