Você está na página 1de 15

NÚCLEO DE

TEMPO REAL
Analdino Cesar
Ariel Sergio
David Jaime
Leonildo dos Santos
Introdução

Sistemas Operativos é um conjunto de instruções colocadas em ordem lógica que quando


executada, a sequência de comandos presente nele controla o computador de modo a levá-lo
a realização de tarefas de maneira eficiente e rápida, que para o ser humano seria de
maneira difícil e morosa.
Neste presente trabalho, falaremos sobre o Núcleo de Tempo Real, onde iremos
resumidamente falar dos aspectos referentes.
Que será apresentada numa estrutura bastante intuitiva e simples de como organizar o seu
software de forma que ele opere em tempo real com segurança. Antes disso precisamos
conceituar alguns tópicos sobre Sistemas Operacionais de Tempo real e o Núcleo.
Núcleo
O núcleo ou kernel é o componente central do sistema operativo da maioria dos 
computadores;
■ Ele serve de ponte entre aplicativos e o processamento real de dados feito a nível de
hardware.
■ O núcleo gerencia os recursos do sistema (a comunicação entre componentes de 
hardware e software). 
■ O kernel é o grande responsável por fazer a ligação entre o hardware e o software do
computador. Sendo assim, o objetivo principal é gerenciar a máquina e fazer com que os
aplicativos possam ser executados através dos recursos existentes no computador. Além
disso, o kernel tem como responsabilidade garantir que a memória RAM seja utilizada
do melhor modo possível para que assim não ofereça qualquer risco para o computador.
Funcionamento
■ Ao ligar um computador, o kernel é imediatamente acionado e começa a detectar o
hardware que a máquina possui e ainda o que precisa para prosseguir em sua função. O
núcleo então, após o sistema operacional ser carregado, possui função também de
gerenciar outras questões, como os arquivos, memórias, entre outros, tudo isso para
garantir a organização funcional do sistema.
■ O funcionamento não se dá de forma simples, é sim um processo complexo,
dependendo do tipo de Kernel que sua máquina possui. Ele pode ser dividido em
Monolítico, Micronúcleo ou Híbrido.
■ Monolítico: Neste caso, os controladores de dispositivos e também as extensões de
núcleo são executadas no espaço de núcleo, tendo acesso total ao hardware.
Micronúcleo: Alguns dos processos são executados no próprio núcleo, porém, o restante
pode ser executado no espaço vago. Permite alternar dinamicamente entre sistemas
operativos e manter mais de um deles ativos simultaneamente.

Híbrido: É considerado um micronúcleo e conta com um código no espaço do núcleo para


que as operações executadas  possam ser mais velozes.
Exonúcleos
Um exonúcleo é um tipo de núcleo que não abstrai hardware em modelos teóricos. Ao invés
disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de
memória, e blocos de disco, para diferentes programas.
FINALIDADES BÁSICAS DO NÚCLEO

■ A unidade de processamento central (CPU, o processador). Esta é a parte mais central


de um sistema de computação, responsável por rodar ou executar programas nele.
■ A memória. A memória é usada para armazenar ambos instruções do programa e dados.
Tipicamente, ambos precisam estar presentes na memória de modo a tornar a execução
do programa possível. O núcleo é responsável pela decisão de que memória cada
processo pode utilizar, e determinar o que fazer quando menos do suficiente está
disponível.
■ Gerenciamento de Processos
Um processo define que porções da memória o aplicativo pode acessar. (Para esta
introdução, processo, aplicativo e programa são usados como sinônimos.) O
gerenciamento de processos do núcleo deve levar em conta o equipamento de hardware
embarcado para proteção de memória.
Núcleos multitarefa são capazes de dar ao usuário a ilusão de que um número de processos
que esta rodando simultaneamente no sistema é maior do que o número de processos que
aquele sistema é fisicamente capaz de rodar simultaneamente.
■ Gerenciamento de memoria
O núcleo possui acesso completo a memória do sistema e deve permitir que processos
acessem a memória com segurança conforme a sua necessidade. Frequentemente o primeiro
passo para isso é o endereçamento virtual, geralmente alcançado através da paginação e/ou
segmentação. Endereçamento virtual permite ao núcleo fazer com que um dado endereço
físico pareça ser outro endereço, o endereço virtual.
Gerenciamento de dispositivos

Para realizar funções úteis, processos precisam acessar periféricos conectados ao computador, que
são controlados pelo núcleo através do driver do dispositivo. Por exemplo, para mostrar ao usuário
algo utilizando a tela, um aplicativo teria que fazer uma requisição ao núcleo que encaminharia a
requisição para o seu driver de tela, que é responsável por realmente tracejar os carácteres/pixéis.
Num sistema "Ligar e Usar", um dispositivo realiza primeiro uma sondagem nos diferentes
barramentos de hardware, como Interconector de Componentes Periféricos (PCI) ou
Barramento Serial Universal (USB), para detetar os dispositivos instalados, depois procura os
drivers apropriados.
Como a gestão de dispositivos é uma tarefa muito específica do SO, os drivers são manipulados de
forma diferente pelo tipo de arquitetura do núcleo, mas em todos os casos, o núcleo tem que
fornecer a entrada/saída para permitir que os drivers acedam fisicamente seus dispositivos através
de alguma porta ou localização da memória.
Chamadas do Sistema
■ Para realmente realizar algo útil, um processo deve acessar os serviços oferecidos pelo núcleo. Isto é
implementado por cada núcleo, mas a maioria oferece uma Biblioteca padrão do C ou uma
Interface de programação de aplicativos, que envolve as funções relativas ao núcleo.
■ O método de invocar as funções do núcleo varia de núcleo para núcleo. Se o isolamento de memória está
sendo usado, é impossível para um processo de usuário chamar o núcleo diretamente, por que isso seria uma
violação das regras de controle de acesso do processador
■ Usar uma interrupção de software simulada. Este método está disponível na maioria dos hardwares, e é,
portanto, muito comum.
■ Usando um portão de chamada. Um portão de chamada é um endereço especial armazenado pelo núcleo em
uma lista na memória do núcleo em uma localização conhecida pelo processador. Quando o processador
detecta uma chamada para este endereço, ele ao invés disso redireciona para a localização alvo sem causar
nenhuma violação de acesso. Exige suporte no hardware, mas este tipo de hardware é muito comum.
■ Usando uma instrução de chamada de sistema especial. Esta técnica exige suporte especial no hardware, que
em algumas arquiteturas habituais não possuem (notavelmente, x86). Instruções de chamadas de sistema
foram adicionadas a modelos recentes dos processadores x86, embora, poucos (mas não todos) sistemas
operativos fazem uso destes quando disponíveis.
NÚCLEO DE TEMPO REAL

■ É um Núcleo  destinado à execução de múltiplas tarefas onde o tempo de resposta a um evento 


(externo ou interno) é pré-definido; Não importando, como é comum pensar-se, se a
velocidade de resposta é elevada ou não. Esse tempo de resposta é chamado de prazo da tarefa
e a perda de um prazo, isto é, o não cumprimento de uma tarefa dentro do prazo esperado,
caracteriza uma falha do sistema. Outra característica dos Núcleo de tempo real é a sua
interação com o meio ao redor. Os STR (Sistemas de Tempo Real) têm que reagir, dentro de
um prazo pré-definido.
Onde o tempo de resposta pode ser: Critico e não critico
■ O STR Crítico (Rígidos) é aquele que tem um comportamento determinístico, ou seja, o prazo
para execução de uma tarefa (deadline) não pode ser violado. Se o sistema de um freio ABS,
por exemplo, falhar ou demorar demais para responder, uma pessoa poderá se machucar. Essa
classe de STR tem que ser ultra confiável, ou seja, o tempo médio entre falhas tem que ser
maior que 10 elevado a 9 horas.
■ Os RTS rígidos são inflexíveis, pois o prazo da tarefa (deadline) não pode ser ultrapassado.
■ O STR Não-Crítico (Moderado) é aquele que também tem o tempo como parâmetro
fundamental, mas uma falha é aceitável. O sistema que funciona em um leitor de DVD
não é crítico, pois o não cumprimento de uma tarefa em resposta e um evento em um
determinado intervalo de tempo não provoca danos irreversíveis. Ao contrário dos
sistemas críticos, esses sistemas normalmente trabalham com um grande volume de
dados.
Nos STR moderados a utilidade dos dados lidos pelo processador e dos cálculos efetuados
não é considerada nula depois do prazo da tarefa terminar. Oferecem alguma flexibilidade
no não cumprimento de prazos das tarefas que executam.
Núcleo de real-tempo proveja apoio básico por programar, recurso, Administração,
sincronização, comunicação, cronometragem precisa, têm evoluído de único-use sistemas
especializados a uma variedade larga de mais geral-propósito sistemas operacionais (como
variantes de real-tempo de Linux).
Núcleo de Tempo Real Aplicações com restrições de tempo real são:
■ Menos interessadas em uma distribuição uniforme dos recursos
■ Mais interessadas em atender requisitos tais como períodos de ativação e deadlines
Sistema operacional de tempo real;
■ Atenção é dedicada ao comportamento temporal;
Aspectos Funcionais de um núcleo de Tempo Real
Como qualquer SO

O núcleo de Tempo Real procura tornar a utilização do computador:


■ Mais eficiente;
■ Mais conveniente;
Facilidades provindas de um SO de propósito geral são bem vindas em um SOTR
Aplicações de tempo real são usualmente organizadas na forma de várias threads ou tarefas
concorrentes Logo, um requisito básico de um SOTR é oferecer suporte para tarefas e
thread.
CONCLUSÃO

Os programas são organizados de forma a poder responder a estimulos externos ou internos


num tempo curto o suficiente e compativel com a importancia ou urgencia do evento qu
egerou esses estimulos.
Frequentemente esses sistemas operacionais estao intimamente ligdos ao hardaware de um
sistema.

Você também pode gostar