Sie sind auf Seite 1von 29

www.harpia.eng.

br rafaelarajo
www.harpia.eng.br rafaelarajo
2 principais funes:
Garantir que cada processo e aplicativo recebam
tempo suficiente do processador para funcionar
corretamente;
Usar quantos ciclos de processador quanto
possvel para realizar as tarefas;
www.harpia.eng.br rafaelarajo
Pode-se pensar em um processo como um
aplicativo:
idia incompleta de como os processos se
relacionam com o S.O. e com o hardware.
Aplicativos so processos
Podem ativar outros processos para se comunicar
com outros dispositivos ou computadores;
Um processo um software que executa aes
e pode ser controlado pelo usurio, por outros
aplicativos ou pelo S.O.
www.harpia.eng.br rafaelarajo
O S.O. pode priorizar alguns processos e
ignorar as interrupes (para que uma tarefa
seja cumprida o mais rpido possvel);
Algumas interrupes (erro de hardware,
memria) no podem ser ignoradas;
www.harpia.eng.br rafaelarajo
Sinais so enviados para um processo quando um
evento acontece.
Sinais podem ser enviados para um processo quando o
sistema detecta um evento de software, como a
insero de interrupo atravs do usurio ou um
pedido de finalizao de outro processo.
O sinal pode vir diretamente do S.O. quando um evento
de hardware, tal como erro de barramento ou operao
ilegal encontrado.
O sistema define a gama de sinais que podem ser
enviados para um processo.
O sinal pode ser processado ou bloqueado (e futuramente
processado).
www.harpia.eng.br rafaelarajo
Muitos sinais causam a finalizao do processo
se nenhuma ao for tomada pelo processo que
responder o sinal.
Alguns sinais interrompem o processo;
Outros sinais podem ser ignorados;
Cada sinal possui uma ao default, dentre
elas:
O sinal descartado depois de ser recebido;
O processo finalizado depois de recebido o sinal;
Um arquivo escrito (log) e o processo finalizado;
Pra o processo depois de recebido o sinal;
www.harpia.eng.br rafaelarajo
Cada sinal definido pelo sistema encaixa-se em
uma classe:
Condies de hardware:
Ex.: Diviso por zero, proteo de memria;
Condies de software;
Notificao de I.O. (input / output):
Notificao para dispositivo I/O que um processo esperado
est disponvel.
Controle de processo:
um processo "filho" notificando o processo "pai" que
terminou;
Controle de recurso;
www.harpia.eng.br rafaelarajo
Uma aplicao pode especificar uma funo
para ser invocada quando um sinal for
recebido.
O processo pode tratar o sinal de trs formas:
Ao default;
Bloquear o sinal (alguns sinais no podem ser
ignorados);
Prender o sinal;
www.harpia.eng.br rafaelarajo
SIG_DFL default
SIG_IGN ignorar sinal
funo do usurio
Outros (SIG_ACK, SIG_ERR, SIG_SGE)
www.harpia.eng.br rafaelarajo
Programa tenta acessar um endereo de
memria invlido ou reservado.
www.harpia.eng.br rafaelarajo
int main(int argc, char *argv[])
{
signal(SIGINT,SIG_IGN);
while(1){ /*loop infinito*/
printf("Fazendo alguma coisa. lalalala\n");
}
return 0;
}
www.harpia.eng.br rafaelarajo
A cada uma dada um tempo ao fim do qual
outra tarefa selecionada (escalonamento)
pelo S.O. com base em suas prioridades.
Tempo fixo = S.O. de propsito geral.
www.harpia.eng.br rafaelarajo
www.harpia.eng.br rafaelarajo
CPU
Processo
Processo
Processo
Processo
www.harpia.eng.br rafaelarajo
Mercado para tempo real amplo;
Sistemas de tempo real variam enormemente:
Sistema de emergncia em usina petroqumica;
Controle de temperatura do freezer;
Vdeo game;
Principais variaes:
Crtico ou no crtico;
Carga esttica ou dinmica;
Importncia associada com os deadlines;
Diferentes abordagens so necessrias.
Slide desenvolvido pelo professor Rmulo S. de Oliveira da UFSC
www.harpia.eng.br rafaelarajo
Caracterizam-se pelo comportamento peridico
de suas aes;
Carga computacional conhecida a priori;
Garantia em tempo de projeto;
Abordagens:
Baseado no tempo (timer-driven)
Executivo Cclico;
Baseados em prioridades (priority-driven)
Taxa monotnica (RMA);
Primeiro prazo primeiro (EDF);
Deadline monotnico (DM);
www.harpia.eng.br rafaelarajo
Abordagens bsicas para o escalonamento em
tempo real
Abordagem
Atrasa
Deadline
Reduz
Preciso
Executivo
Cclico
Prioridades
+Teste
Com Garantia Melhor Esforo
Descarta
Tarefa
Altera
Perodo
Slide desenvolvido pelo professor Rmulo S. de Oliveira da UFSC
www.harpia.eng.br rafaelarajo
Baseado no tempo
Construo de uma escala esttica e off-line
Determinstico
Tarefas podem ser dividida em mais de um procedimento.
Todo o trabalho de escalonamento feito em projeto;
www.harpia.eng.br rafaelarajo
Resultado uma grade de execuo (time grid);
Grade determina qual tarefa executa e quando;
Garantia obtida atravs de uma simples inspeo da escala;
Durante a execuo:
Pequeno programa l a grade e dispara a tarefa apropriada;
Quando a grade termina ela novamente repetida;
www.harpia.eng.br rafaelarajo
loop
wait_for_interrupt;
procedure_for_a; procedure_for_b; procedure_for_c;
wait_for_interrupt;
procedure_for_a; procedure_for_b; procedure_for_d;
procedure_for_e;
wait_for_interrupt;
procedure_for_a; procedure_for_b; procedure_for_c;
wait_for_interrupt;
procedure_for_a; procedure_for_b; procedure_for_d;
end loop;
www.harpia.eng.br rafaelarajo
Escalonamento pode ser:
Preemptivo - Tarefa pode ser suspensa e depois
retomada
No Preemptivo - Depois que inicia tarefa vai at o
fim
Exemplo:
P1: T
1
= 5 D
1
= 4
P2: T
2
= 2 D
2
= 1
P1 P1 P1 P1 P2 P2 P2 P2 P2
deadline
chegada
0 1 2 3 4 5 6 7 8 9 10
P1
P2
Slide desenvolvido pelo professor Rmulo S. de Oliveira da UFSC
www.harpia.eng.br rafaelarajo
Vantagens
Implementao simples
Baixa sobrecarga
Alta previsibilidade
Desvantagens
Dificuldade no tratamento de tarefas espordicas
Cdigo deve ser escalonado manualmente
www.harpia.eng.br rafaelarajo
Abordagens bsicas para o escalonamento em
tempo real
Abordagem
Atrasa
Deadline
Reduz
Preciso
Executivo
Cclico
Prioridades
+Teste
Com Garantia Melhor Esforo
Descarta
Tarefa
Altera
Perodo
Slide desenvolvido pelo professor Rmulo S. de Oliveira da UFSC
www.harpia.eng.br rafaelarajo
Cada tarefa recebe uma prioridade
Prioridades podem ser fixas ou variveis
Escalonamento em geral preemptivo
Teste realizado antes da execuo determina escalonabilidade
Teste considera forma como prioridades so atribudas
Complexidade depende do modelo de tarefas
Na execuo:
Escalonador dispara as tarefas conforme as prioridades
Vantagem: Suporta tarefas espordicas, no tem grade
Desvantagem: Testes limitados a alguns modelos de tarefas
Usado em aplicaes que exigem garantia mas so muito
complexas para construir uma grade
Slide desenvolvido pelo professor Rmulo S. de Oliveira da UFSC
www.harpia.eng.br rafaelarajo
Critrios de escalonamento mais utilizadas:
EDF (Earliest Deadline First) prioridades dinmicas
com base no deadline mais prximo de vencer.
Prioridade : deadline mais prximo;
RMA (Rate Monotonic Algorithm) prioridades
estticas com base na freqncia de ativao.
Prioridade : tarefas mais freqentes;
DM (Deadline Monotonic) prioridades estticas com
base no deadline;
Tarefas peridicas.
www.harpia.eng.br rafaelarajo
Para saber se o conjunto das tarefas implica
em perda de eventos por alguma delas.
www.harpia.eng.br rafaelarajo
P1 D
1
= 10s C
1
= 7s
P2 D
2
= 8s C
2
= 4s
P3 D
3
= 9s C
3
= 6s
www.harpia.eng.br rafaelarajo
Tarefas chegando simultaneamente
T3 entra pois deadline
mais prximo
T3 perde o deadline T1 perde o deadline T2
9s 10s
4s
BUM! T3
BUM! T1
T1
T2
T3
T1
Se for peridico T2 entra
novamente mas o deadline
ser mais adiante.
P1 D
1
= 10s C
1
= 7s
P2 D
2
= 8s C
2
= 4s
P3 D
3
= 9s C
3
= 6s
www.harpia.eng.br rafaelarajo
Existe a necessidade de diferentes abordagens para o
escalonamento tempo real;
Principal classificao com respeito a garantia;
Abordagens com Garantia em Projeto
Executivo Cclico;
Prioridades + Teste de Escalonabilidade;
Abordagens com Melhor Esforo:
Descarte de Tarefas;
Perda de Deadlines;
Reduo da Preciso;
Alterao do Perodo;
Slide desenvolvido pelo professor Rmulo S. de Oliveira da UFSC

Das könnte Ihnen auch gefallen