sadas
7 Sistemas operativos de tempo real
Os sistemas operativos de tempo real têm como objectivo garantir que o sistema tenha uma resposta a um acontecimento externo dentro de um intervalo de tempo limitado e previamente especificado.
Tal já não é garantido por um sistema operativo de tempo partilhado (por vezes também chamado de tempo virtual), onde o que se pretende é obter um bom tempo de resposta em termos médio, embora não previsível.
7.1 Modelo do núcleo
Qualquer núcleo de sistema operativo multi-tarefa deve disponibilizar 3 funções:
•
Escalonamento de processos ou tarefas (Scheduling) determina qual a tarefa seguinte que tomará conta do CPU (será executada)
•
Lançamento ou despacho de processos ou tarefas (Dispatching) Faz a comutação de contexto e outras operações necessárias para retirar uma tarefa de execução e substituir por outra.
•
Comunicação (e sincronização) entre processos ou tarefas
Quando o núcleo é referido, normalmente está-se a referir à menor parte do sistema operativo que disponibiliza estas funções. Mas um sistema operativo pode ser representado por camadas de abstracção desde o hardware até ao interface com as aplicações.
Dependendo das funções que são disponibilizadas, pode-se ter:
•
Um nano-kernel disponibiliza apenas o dispatching e a gestão de interrupções.
•
Um micro-kernel, adiciona o escalonamento das tarefas, de modo que se têm uma gestão de processos completa, onde a máquina física é multiplexada, de modo que cada processo pode ser visto como uma máquina virtual que executa um programa.
•
Quando é disponibilizada a comunicação entre tarefas e a sua sincronização têm-se um kernel ou núcleo.
•
Um executivo já disponibiliza também um Sub-sistema de entradas/saídas (E/S) e um
Sub-sistema de ficheiros.
7-1
Sistemas de tempo real (resumos)
•
Finalmente um sistema operativo, disponibiliza também um interpretador de comandos ou shell, e