Apresentação Sistemas Operacionais de Tempo Real, Notas de estudo de Engenharia Informática
wellington-cassio-faria-8
wellington-cassio-faria-8

Apresentação Sistemas Operacionais de Tempo Real, Notas de estudo de Engenharia Informática

16 páginas
44Números de download
1000+Número de visitas
Descrição
Apresentação Sistemas Operacionais de Tempo Real
40 pontos
Pontos de download necessários para baixar
este documento
Baixar o documento
Pré-visualização3 páginas / 16
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas
Sistemas Operacionais de Tempo Real Wellington Cássio Pâmela Raiane Jéssica Luiza Sebastião Realino Como Surgiu os RTOS ? Os sistemas computacionais estão presentes em diversas áreas. Novos microprocessadores com novos recursos computa- cionais, operando a frequências maiores, maior capacidade de memória e várias interfaces de comunicação de I/O embutidas num único chip, tudo isso a um custo baixo e acessível. A evolução tem contribuído com o aumento da complexidade dos projetos de sistemas embarcados, exigido novos níveis de abstração em soluções de software que possam interagir com o hardware da forma mais eficiente possível. Destaca-se um grupo de sistemas que trabalham com restrições de tempo, chamados Sistemas de Tempo Real. Um Sistema de Tempo Real é, portanto, o software que gerência os recursos de um sistema computacional, com o objetivo de garantir com que todos os eventos sejam atendidos dentro de suas restrições de tempo e gerenciados da forma mais eficiente possível. O software é responsável pelo gerencia- mento dos recursos computacionais também é chamado de Kernel do Sistema de Tempo Real e conhecido no mercado como RTOS ou Sistema Operacional de Tempo Real. Conceitos: Para entendimento da importância de um Sistema de Tempo Real é precisamos entender alguns conceitos de restrição de tempo para eventos e tarefas computacionais. Os quais são: * Restrições de Tempo * Tarefas * Interações entre Tarefas * Escalonamento de tarefas Inatel - ae Toda tarefa computacional recebe um estímulo (ou evento), que pode ser interno ou externo, realiza o processamento e produz uma saída. Um evento com restrição de tempo possui um tempo limite (máximo) de processamento para que sua saída seja gerada. Hard Real-Time Systems: é aquele que tem um comportamento determinístico, ou seja, o prazo para execução de uma tarefa não pode ser violado. Soft Real-Time Systems: é aquele que também tem o tempo como parâmetro fundamental, mas uma falha é aceitável Restrições de Tempo: Exemplo (Hard Real-Time Systems): Um sistema de radar aeroespacial, que recebe infor- mações de posicionamento das aeronaves, para que possíveis colisões sejam detectadas e evi- tadas. Se o sistema não tratar estas entradas dentro de suas restrições de tempo, poderá causar uma tragédia. Este caso é chamado de “Hard Real-Time Systems”. < Gm . a “e ij If É Exemplo (Soft Real-Time Systems): Um teclado que gera inputs de teclas pressionadas para um sistema microproces- sado. Se o sistema não tratar estas teclas dentro de suas restrições de tempo, o operador poderá ter a sensação de que o sistema “travou”, o que poderá causar até a desistência da uti- lização do produto. Este caso é normalmente chamado de “Soft Real-Time Systems” Tarefas: Tarefas são pequenos trechos de programa com responsabilidades específicas e bem definidas. Cada tarefa possui um conjunto de atribu- tos, dentre eles a prioridade, que deve ser atribuída de acordo com sua importância. É a partir desta prioridade que tentamos garantir com que eventos com restrições de tempo possam ser executados de forma eficiente. Tarefas: Exemplo: Podemos citar como exemplo a leitura de sensores, tratamento de protocolos de comuni- cação, leitura de teclado, acionamento de leds indicativos, escrita em displays, comunicações seri- ais e log de informações. Portanto, um Sistema de Tempo Real é modelado através da divisão da aplicação em um conjunto de pequenas tarefas, com funções específicas, e que interagem entre si. É = | | g | Sa Sd. ue E E AP IPS SS Interações entre Tarefas: Cada tarefa é executada de forma independente, mas elas precisam interagir entre si, pois um Sistema de Tempo Real destinado à execução de múltiplas tarefas que é a característica dos sistemas operacional que permite repartir a utilização do processador entre várias tarefas aparentemente simultaneamente. Outro eio de comunicação entre as tarefas são os semá- foros. Enquanto uma tarefa utiliza um dado recurso pode bloquear um semáforo; outra tarefa antes de utilizar esse recurso verifica o estado do semáforo, e se estiver bloqueado, não utiliza o recurso. Interações entre Tarefas: e Troca de mensagens Exemplo: - Semáforos * Atarefa 1 é responsável pela leitura constante dos sensores de pre- sença. * Atarefa 2 é responsável pelo acionamento da sirene. * Atarefa 3 é responsável pelo acionamento da discagem telefônica. * A tarefa 4 é responsável pela lógica de detecção de intrusos do sis- tema de alarme. Supondo que um sensor de movimento tenha sido acionado, a tarefa 1 irá detectar esse acionamento, e precisa notificar a tarefa 4. Esta notificação é feita através do envio de uma mensagem para a tarefa 4. A tarefa 4 irá então receber esta mensagem, e de acordo com sua lóg- ica, irá enviar uma mensagem de acionamento para a tarefa 2, 3 ou para ambas. Este exemplo utiliza a troca de mensagens, como forma de comunicação entre as tarefas. Para atender todas as tarefas solici- tadas, dentro de suas respectivas restrições de tempo, o Kernel necessita de algum mecanismo de gerenciamento de tarefas, classificando-as e ordenando de acordo com sua prioridade. O escalonamento de tarefas é uma função realizada pelo Kernel para determinar quando uma tarefa mais importante precisa ser executada. Escalonamento de Tarefas: Para exemplificar o escalonamento de tarefas, analise o seguinte caso de escalonamento: 1. Uma tarefa de prioridade menor está sendo executada. 2. Um evento esperado por uma tarefa de prioridade maior ocorre e causa uma interrupção no processador. 3. O processador salva o contexto da tarefa em execução (registros da CPU) e executa a rotina de tratamento da interrupção (ISR — Interrupt Service Routine). 4. Arotina de tratamento da interrupção completa e chama um serviço do Kernel. 5. O Kernel prepara e executa a rotina de maior prioridade. 6. Arotina de maior prioridade entra em execução. 7. Arotina de maior prioridade chama uma função do Kernel para aguardar por outro evento. Isso faz com que o Kernel seja acionado, e prepare novamente a rotina de menor prioridade para execução. 8. Arotina de menor prioridade entra em execução. Requisitos para Operação: CPU: A CPU utilizada no projeto pode determinar se você pode ou não utilizar um RTOS no seu projeto. Por exemplo, uma CPU de 4 bits, sem os registradores necessários, ou de baixa frequência, é feita especificamente para sistemas bem simples e de baixo custo, tornando inviável a utilização de um RTOS. ROM: Quantidade de memória de programa disponível para o projeto. Precisa ser grande o suficiente para armazenar o código do Kernel mais o código da sua apli- cação. Dependendo do Kernel, você pode precisar de memória entre 4K e 200Kb, apenas para o Kernel de RTOS's mais simples. RAM: Quantidade de memória disponível para os dados do seu programa. O RTOS utiliza bastante memória para armazenamento das informações de contexto de execução das tarefas no TCB e no stack. O valor da memória RAM deve ser grande o suficiente para suprir as necessidades do Kernel e das tarefas da sua aplicação. Custo: Tanto o custo do RTOS quanto o custo extra do hardware necessário para suportar o RTOS devem ser levados em consideração. RTOS disponíveis no mercado : Cada RTOS disponível no mercado possui vantagens e desvantagens. A escolha do melhor sistema depende dos requisitos de hardware e software do produto. * Free RTOS NetBSD(baseado no UNIX) Windows CE Embedded Windows NT Embedded Tinys OS uClinux Comparação de Alguns Sistemas de Tempo Real : FreeRTOS ecos RTX32 Windows Windows Windows Plataformas Linux Linux Solaris ARMIAVRT X56 PowerPC PICIS PowerPC ARM Arquiteturas 80s1 ARM Hitachi x86 Freescale 68k WINAVR Keil Gee Compiladores Gec Tn KEIL IAR IAR TO, Gratuido Gratuído Distribuição Não gratuíto www.frceRTOS.org | www.ecoscentric.com TCPAP TCPAP Suporte para redes Telnet Telnet HTTP FTP KeneiROM — |2kbytes-5Kbytes |
Até o momento nenhum comentário
Esta é apenas uma pré-visualização
3 mostrados em 16 páginas