Rtos Sistema Operacionais
Ensaios: Rtos Sistema Operacionais. Pesquise 862.000+ trabalhos acadêmicosPor: draconis • 8/9/2013 • 1.049 Palavras (5 Páginas) • 451 Visualizações
Sistemas Operacionais de Tempo Real – Características e
Principais Implementações Existentes
Thiago Borges de Oliveira1
1Faculdade de Ciência de Computação – Fesurv Universidade de Rio Verde
Fazenda Fontes do Saber – C.P.: 104 – 75.901-970 – Rio Verde – GO – Brasil
thborges@gmail.com
Resumo. Este artigo descreve características de sistemas operacionais construídos para lidar
com aplicações de tempo real. Apresenta os conceitos utilizados na alocação de memória,
escalonamento de processos e outras partes do sistema. Mostro também alguns casos de uso e
as implementações mais conhecidas deste tipo de sistema operacional bem como suas
particularidades.
Palavras-chave: Sistema operacional, aplicações de tempo real
Abstract. This meta-paper describes characteristics of operating systems constructed to deal
with real-time applications. It shows the used concepts in memory allocation, process
scheduling and others parts of system. I’m also demonstrating some cases of use and the most
recognized implementations of this type of operating system and his particularities.
Keywords: Operating system, real-time applications
1. Sistema Operacional de Tempo Real
De acordo com Gillies, citado por Monfret e Linimon (2000), um sistema operacional de tempo real é
aquele onde a corretude dos cálculos não depende somente da lógica das operações matemáticas, mas
também do tempo em que estes resultados são produzidos. Se os resultados não são produzidos no tempo
esperado, diz-se que ocorreu uma falha no sistema.
De acordo com o padrão POSIX 1003.1, tempo real em sistemas operacionais é a habilidade do
sistema em prover uma determinada quantidade de serviço em um tempo pré-definido de resposta
(MONFRET; LINIMON 2000).
Um sistema de tempo real consiste em um conjunto de atividades seqüenciais e cooperativas.
Essas atividades podem ser Mach threads, Alpha threads, UNIX processes ou qualquer outra abstração
conhecida no sistema operacional que realiza alguma ação em um computador (CLARK 1990).
Ao contrário de sistemas operacionais tradicionais, em um sistema operacional de tempo real o
tempo em que as operações são realizadas é de extrema importância. Em outras palavras, se uma falha
ocorre interrompe-se todo um processo, pessoas podem morrer, desastres podem acontecer. Imagine um
robô em uma fábrica responsável por transferir objetos entre duas esteiras continuamente. Se ele se atrasa
o objeto na esteira não estará mais na posição, se ele se adianta o objeto ainda não chegou.
Em outras palavras, se um sistema consome 2,01 segundos para processar 2,0 segundos de áudio
ele não é de tempo real. Seria de tempo real se processasse em 1,99 ou menos segundos.
2. Características
Segundo Monfret e Linimon (2000), algumas características são desejáveis para que um sistema seja
considerado de tempo real. Dentre elas citamos:
• Multi-threading: O sistema deve possuir suporte a execução de várias threads
simultaneamente e cada thread deve ter sua prioridade.
• Preempção: o escalonador deve interromper um processo escalonado (em execução) por
outro que tenha prioridade maior no momento em que alterar seu status para apto;
• Um número suficiente de níveis de interrupção, com suporte a agrupamento de interrupções
(nested interruptions);
• O tempo da troca de contexto entre processos deve ser pequeno;
• O comportamento do sistema deve ser conhecido:
o A latência de interrupção (tempo entre a interrupção e a execução da tarefa) deve
ser compatível com os requerimentos da aplicação e deve ser previsível. Este valor
depende do número de interrupções pendentes simultâneas;
o O tempo que cada chamada de sistema utiliza ao ser executada. Este tempo deve
ser previsível e não depender do número de objetos no sistema;
• Deve vir acompanhado de uma boa documentação, ferramentas de desenvolvimento e teste
de aplicações;
• Suportar mais de um dispositivo.
3. Escalonador de processos
A maioria das tarefas neste tipo de sistema está bloqueada a maior parte do tempo, e a lista de processos
aptos é geralmente pequena, contendo dois ou três na maior parte do tempo. Somente uma tarefa por CPU
é executada (WIKIPEDIA 2005).
É importante que a manutenção na lista de aptos não interrompa as tarefas do sistema por
...