O que é um sistema operacional de tempo real

Propaganda
 Sistema Operacional RTOS
O que é um sistema operacional de tempo real (RTOS)?
Em geral, um sistema operacional (SO) é responsável por gerenciar os recursos de hardware e
hospedar os aplicativos que são executados no computador. Um sistema operacional de tempo
real (RTOS) também executa essas tarefas, mas é projetado especialmente para rodar
aplicações com extrema precisão e alto grau de confiabilidade. Isso pode ser especialmente
importante para sistemas de medição e controle.
Os sistemas operacionais de tempo real foram projetados para trabalhar com resposta a
eventos e com sistemas de controle em malha fechada. Um exemplo de aplicação com resposta
a eventos, na qual é imprescindível a utilização de RTOS é um sistema de airbag automotivo,
este sistema necessita de precisão e confiabilidade, pois a resposta a um estímulo deve ser feita
em um determinado espaço de tempo. Já um exemplo de aplicação de controle em malha
fechada em que o RTOS é necessário, é para o controle de velocidade em automóveis, pois
também é necessário precisão e confiabilidade. Ambos os sistemas exigem a realização de uma
operação dentro de um tempo determinado. Esse tipo de desempenho é chamado de
determinístico.
Sistemas de tempo real podem ser classificados como “soft” ou “hard”. Para sistemas de tempo
real do tipo soft, a utilidade de um sistema geralmente é inversamente proporcional ao tempo
de resposta, após um determinado prazo ter sido perdido. Por exemplo, quando pressionamos
um botão do telefone para atender uma chamada, a conexão deve ser estabelecida logo após o
botão ter sido apertado, contudo, o prazo não é tão crítico e pequenos atrasos podem ser
tolerados. Sistemas de tempo real do tipo “hard” são aqueles em que a utilidade do sistema
torna-se zero em caso de perda do prazo.
Uma unidade de controle de um motor (ECU) automotivo deve processar sinais de entrada e
calcular a temporização da faísca da vela dentro de um prazo. Se houver perda desse prazo, o
motor não irá operar corretamente. A utilidade de uma tarefa após a perda de prazo depende
se o sistema de tempo real é do tipo “soft” ou do tipo “hard”, como mostrado na figura 1.
Em contraste, sistemas operacionais de tempo real proporcionam a capacidade de priorizar
tarefas, para que as tarefas mais críticas possam sempre ter controle do processador quando
necessário. Essa propriedade possibilita a criação de aplicações com resultados que podem ser
previstos.
Sistemas operacionais de tempo real são necessários quando o processador está envolvido em
operações como controle de malha fechada e tomada de decisão em tempo crítico. Essas
aplicações necessitam que decisões temporizadas sejam feitas baseadas em dados recebidos.
Por exemplo, um equipamento de entrada e saída realiza a amostragem de um sinal de
entrada e o envia diretamente para a memória. Então, o processador deve analisar o sinal e
enviar a resposta adequada ao equipamento de entradas e saídas. Nessa aplicação, o software
deve estar envolvido na malha, portanto, você precisa de um sistema operacional de tempo
real para garantir a resposta dentro de um espaço de tempo fixo. Além disso, aplicações que
requerem tempo de execução estendido ou operações autônomas são geralmente
implementadas com sistemas operacionais de tempo real.
Desempenho em Tempo Real
O equívoco mais comum associado ao desempenho em tempo real é dizer que ele aumenta a
velocidade de execução do programa. Apesar de ser verdade em alguns casos, a aplicação é
melhorada proporcionando temporização precisa e previsível. Com essas melhorias, você pode
determinar o tempo exato quando certo evento ocorrerá.
Controle em Tempo Real
Com controle em tempo real, é possível monitorar e simular continuamente um sistema físico.
Aplicações de controle em tempo real executam repetidamente uma tarefa definida pelo
usuário com um intervalo de tempo específico entre cada execução. A maioria dos sistemas de
controle em tempo real monitora um sistema físico, comparam o estado atual com o estado
desejado e então simulam o sistema físico baseando-se nessa comparação. O tempo que leva
para que essa malha execute é considerado o tempo de ciclo da malha. O tempo de ciclo da
malha de controle varia baseado na complexidade do sistema.
Sistema Operacional Monousuário (monotarefa)
Em computação, chama-se monotarefa um sistema operacional que permite a realização de
apenas uma tarefa de cada vez. Um dos mais famosos sistemas operacionais monotarefa é
o MS-DOS, um dos primeiros sistemas operacionais para computadores pessoais.
Monousuário, monotarefa. Esse sistema operacional foi criado para que um único usuário
possa fazer uma coisa por vez. O Palm OS dos computadores Palm é um bom exemplo de um
moderno sistema operacional monousuário e monotarefa.
O Sistema Operacional Monotarefa possui as seguintes características:
- É executado por um único processador e é capaz de gerenciar a execução de um único
programa (tarefa) do usuário por vez.
- Permite que o processador, a memória e os periféricos fiquem dedicados a um único usuário;
são, portanto monousuários (monoterminais).
- O processador fica ocioso quando o programa espera pela ocorrência de uma E/S.
- São sistemas de simples implementação.
Atualmente, a grande maioria dos sistemas operacionais é de tipo multitarefa, onde o tempo
de processamento é repartido entre as diversas tarefas, dando a impressão ao usuário que
elas são executadas simultaneamente. Ex: Windows XP, Vista, Linux, etc.
Sistema Operacional Monousuário (multitarefa)
Um sistema operativo multitarefa permite que um utilizador trabalhe com dois ou mais
programas em simultâneo. Na prática o microprocessador não executa os diversos programas
de uma só vez, mas reserva uma fração de tempo para cada um dos programas. Existem
diferentes técnicas de gestão da multitarefa. Consoante o método utilizado, a estabilidade do
sistema operativo é afetadas
Multitarefa cooperativa: Neste caso de multitarefa, os utilizadores podem executar dois ou
mais programas, mas o programa que se encontra em primeiro plano ganha o controlo sobre
o microprocessador e mantém esse controlo até que a tarefa termine. Só depois é que o
microprocessador é libertado para se ocupar com os restantes programas. Neste caso o que é
que acontece se um dos programas pára de funcionar? O programa que está parado, ou
“travado”, não liberta o microprocessador e conseqüentemente o computador “congela”, ou
fica “suspenso”, e o utilizador tem que reiniciar o computador. O Windows 3.11 e as versões
anteriores à versão Mac OS 8 utilizavam este tipo de multitarefa.
Multitarefa preempetiva: A multitarefa preempetiva é melhor do que a anterior e permite
que o sistema operativo recupere o controlo caso um aplicativo interrompa a sua execução. O
utilizador perde todos os trabalhos que não tinham sido guardados no programa que travou,
mas a falha neste aplicativo não vai influenciar o funcionamento do restante sistema. Os
sistemas operativos atuais para computadores pessoais já utilizam este tipo de multitarefa,
como é o caso do Unix, Linux, Windows 95, 98, Me, Windows NT, 2000 e XP, Mac OS 8 e
versões mais recentes, e o OS/2, entre outros. No entanto, nem todos os sistemas que utilizam
a multitarefa preempetiva, agirem de modo eficiente.
Gestão de programas - Multitarefa
Multitarefa multithreading
Um sistema mais recente de multitarefa é designado por multithreading e permite que o
computador execute mais do que uma tarefa de um único programa. Para facilitar o
multithreading, os programadores devem dividir os programas em tarefas distintas,
denominadas por threads. Com este tipo de multitarefa o utilizador pode estar a executar
uma tarefa de um programa aplicativo e em simultâneo podem estar a ser executadas
outras tarefas desse programa. Podemos também obter beneficio quando se executam
vários programas aplicativos. Os sistemas operativos mais eficazes combinam a
multitarefa preempetiva e o multithreading. Os sistemas operativos para
computadores pessoais mencionados na multitarefa preempetiva também suportam o
multithreading
Sistema Operacional Multiusuário
Um sistema operacional multiusuário permite que diversos usuários utilizem
simultaneamente (ao mesmo tempo) os recursos do computador.
Imagine 2 usuários acessando o mesmo computador ao mesmo tempo utilizando 2 ou
mais programas ao mesmo tempo. Isso é um Sistema Operacional
multiusuário/multitarefa.
Como exemplo de sistemas operacionais multiusuário tem: o Unix, VMS e sistemas
operacionais mainframe como o MVS.
Os recursos que são compartilhados são geralmente uma combinação de:
Processador.
Memória.
Armazenamento secundário (disco rígido).
Programas.
Periféricos, tais como impressoras, plotters, scanners, etc.
Para que vários usuários usar um único computador, programas de ações e usar um
sistema operacional unificado, que são dedicados a eles inteiramente; tendo a impressão
de que eles fazem simultaneamente.
Diferencia entre Windows Server e sistema
multiusuário
Se o sistema operacional permite acesso a rede não quer dizer que o mesmo é um
sistema multiusuário. O Windows Server suporta usuários conectados por rede,
entretanto, esses sistemas não são sistemas multiusuários.
Eles tem um usuário administrador que é único. O que acontece é que todos os usuários
remotos conectados e programas executados na verdade são executados no sistema pelo
usuário administrador.
Nome: Lucas Alves de Sousa 1° Turma de técnico em Informática para internet
Download