A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Bruna Cavallero Martins Universidade Católica de Pelotas.

Apresentações semelhantes


Apresentação em tema: "Bruna Cavallero Martins Universidade Católica de Pelotas."— Transcrição da apresentação:

1 Bruna Cavallero Martins Universidade Católica de Pelotas

2 Como na maioria dos sistemas operacionais, um RTOS procura tornar o uso do computador de forma mais eficiente e mais conveniente.

3 Uma utilização mais conveniente diminui o tempo necessário para a construção dos programas, implicando na redução do custo do software. Ex: funções que gerenciam o espaço em disco, livrando o programador da aplicação desse trabalho.

4 A maioria das aplicações tempo real possui uma parte de suas funções sem restrições temporais. O RTOS deve, além de satisfazer as necessidades das tarefas de tempo real, fornecer funcionalidade apropriada para as tarefas convencionais.

5 Os aspectos funcionais comportam as abstrações fornecidas pela linguagem de programação para exprimir requisitos das aplicações.

6 Por exemplo, tipos de dados específicos:  filas de espera com diferentes semânticas;  blocos de código com restrições temporais;  mecanismos para tratamento de inversão de prioridades.

7 O Kernel de um Sistema Operacional de Tempo Real (RTOS) provem os principais serviços básicos para o software de aplicação numa arquitetura embarcada. Seriam eles:

8  Agendador de Processos (Task Scheduler ) das operações dos sistemas embarcados;  Trabalha com o conceito de preempção baseada em prioridades;  Processos marcados como alta prioridade tem primazia sobre os demais.

9  Aplicações que envolvem a passagem de tempo;  Controla os atrasos dos processos (time-out);  Ler data e hora (atualizam histórico);  Realizar determinada ação depois de X unidades de tempo;  Realizar determinada ação depois de Y unidades de tempo a partir do instante atual (protocolos);  Realizar determinada ação a partir do instante absoluto de tempo Z.

10  Capacidade dependente do sistema embarcado;  Alocação de memória dinâmica;  Permite que o processo tome emprestado determinadas áreas de memória RAM;  Temporariamente para uso no software de aplicação.

11  Controla e organiza acesso de muitos drivers de dispositivos de hardware que são típicos dos sistemas embarcados.

12  Organização de sistemas de arquivos;  Comunicação de redes;  Banco de dados;  Interfaces gráficas.

13 Aplicações de tempo real são usualmente organizadas na forma de várias threads ou tarefas concorrentes. Logo, um requisito básico para os RTOS é oferecer um suporte para tarefas e threads.

14 Tratando-se de programas concorrentes, pode-se dizer que são executados simultaneamente por diversas tarefas que cooperam ente si, ou seja, trocam informações. Em tal contexto, trocar informações significa trocar dados ou realizar algum tipo de sincronização.

15 Os termos Tarefa e Processo são frequentemente utilizados com o mesmo sentido. São abstrações que incluem:

16  Um espaço de endereçamento próprio;  Um conjunto de arquivos abertos;  Um conjunto de direitos de acesso;  Um contexto de execução formado pelo conjunto de registradores do processador;  Etc.

17 Uma forma de tornar a programação concorrente ao mesmo tempo mais simples e mais eficiente é utilizar a abstração Thread, que são tarefas leves. Seus únicos atributos particulares estão associados com o contexto da execução.

18 Todos seus demais atributos são herdados da tarefa que a hospeda. Assim, o chaveamento entre duas threads da mesma tarefa é muito mais rápido do que o chaveamento entre duas tarefas.

19 Durante a execução da aplicação as threads passam por vários estados:

20  Assim que a thread é criada, ela está pronta para receber o processador.  Porém, várias threads podem estar disputando o processador!  Ela deve esperar até ser selecionada pelo escalonador.

21  Uma vez selecionada, a thread passa para o estado executando.  Ela pode enfrentar situações de bloqueio, parando de executar e passando para o estado de bloqueio.  Quando a causa do bloqueio desaparece, ela volta a ficar pronta para executar!

22  Há um tipo especial de bloqueio: a thread solicita sua suspensão por um intervalo de tempo, ficando inativa.  É o estado típico de uma thread com execução periódica.  Já tendo concluído seu trabalho, ocorre sua destruição.

23 Existem duas grandes classes de soluções para a construção de um programa concorrente:  Troca de mensagens;  Variáveis compartilhadas.

24 Basicamente funciona com duas operações simples: “enviar mensagem” e “receber mensagem”. Oferecem a possibilidade de um grande número de variações, na medida que são alteradas suas características (forma de endereçamento, tolerância a falhas, etc.)

25 Nas soluções baseadas em variáveis compartilhadas, o sistema operacional oferece algum mecanismo de sincronização auxiliar. Acontece através da leitura e escrita de um conjunto compartilhado de variáveis. A sincronização deve ser explícita (semáforos, monitores, etc.).

26 Frequentemente, os RTOS lidam com periféricos especiais (por exemplo, aplicações voltadas para automação industrial e laboratórios). Algumas vezes dispositivos são desenvolvidos sob medida para o projeto em questão.

27 Normalmente os vendedores de periféricos fornecem, além do periférico propriamente dito, os tratadores apropriados para os sistemas operacionais mais populares.

28  http://www.lasid.ufba.br/publicacoes/artigos/ tempoReal2004.pdf  http://www.aedb.br/seget/arquivos/artigos08 /361_SELECAO_DE_SISTEMAS_OPERACION AIS-SEGeT.pdf  http://www.cin.ufpe.br/~svc/str/Livro%20Esc ola%20de%20Computacao%20- %20Jean%20Marie%20Farine/cap3.pdf


Carregar ppt "Bruna Cavallero Martins Universidade Católica de Pelotas."

Apresentações semelhantes


Anúncios Google