Você está na página 1de 13

Sistemas de Tempo-Real

Executivos Cíclicos

Prof. Raimundo BARRETO


DCC/UFAM
Executivos cíclicos
 Enfoque mais usado para organizar software de
tempo-real
 Só processos periódicos
 Tradução de processos esporádicos
 Assumir tempo negligenciável
 Objetivo: tarefas satisfazendo restrições de
deadline
 Solução: predefinir, explicitamente, e antes da
execução, uma intercalação (escala) de
execução de processos que produza um
escalonamento viável de execução.
Executivos cíclicos
 Um programa executor cíclico
(despachante) controla a execução dos
processos de acordo com esse
escalonamento pré-execução (pre-runtime
scheduling)
 Vantagens:
 Simples
 Eficiente
 Altamenteprevisível
 Menos overheads
Executivos cíclicos
 Desvantagens:
 Muito baixo nível
 Inflexível
 Difícil projetar, alterar e manter os sistemas
Executivos cíclicos
Definições e propriedades
 Código é quebrado em blocos (ou segmentos)
 Cada bloco é não-preemptível e tem um WCET
 Escalonamento principal: alocação de blocos tal que
deadlines e períodos são satisfeitos
 É cíclico porque pode ser repetido
 É usual que o tempo de ciclo principal (TCP) seja o MMC
entre os períodos de todos os processos
 Um escalonamento principal é dividido em ciclos
secundários (ou quadros)
 O tempo do quadro é chamado de tempo de ciclo
secundário (tcs)
 Blocos são alocados nos quadros.
Executivos cíclicos
Definições e propriedades

Quadro
ciclo principal

t 2t 3t ... ... ...


0 T 2T 3T

A1 A2 A3

t
tique do tique do
relógio relógio
Executivos cíclicos
Exemplo
 Considere 4 processos periódicos (c,d,p):
 A=(1,10,10); B=(3,10,10); C=(2,20,20); e D=(8,20,20)
 A, B e C são fatias únicas
 D é dividido em 2 fatias D1 (c=2) e D2 (c=6)
 TCP = 20 (tempo de ciclo principal)
 Qual seria o tcs? Vamos assumir que vale 10.
 Escreva uma escala (diagrama temporal ou de Gantt)
para este conjunto de processos.
 Escreva um programa executor cíclico (ou
despachante) para essa escala.
Executivos cíclicos
Diagrama temporal do exemplo

1 4 6 8 10 11 14 20

A B C D1 ocioso A B D2

tique tique tique


Executivos cíclicos
Considerações sobre TCP e tcs
 TCP é o MMC
 TCP múltiplo de tcs
 tcs maior ou igual que o maior tempo de
computação do maior bloco
 O tcs tem que ser menor ou igual que o menor
deadline
 E quando o período de um processo inicia após o
início de um quadro? Tem que esperar até o
próximo quadro?
 Relacionamento entre tcs, período e deadline
 tcs + (tcs – MDC (tcs, pi))≤ di.
Executivos cíclicos
Derivação de TCP e tcs
 A=(1,14,14); B=(2,20,20); e C=(3,22,22)
 Qual seria o valor de TCP e tcs?
 TCP = MMC(14, 20, 22) = 1540
 tcs ≤ 14 e tcs ≥ 3
 Candidatos de 3 até14
 Quais os divisíveis por 1540
 4, 5, 7, 10, 11 e 14
Executivos cíclicos
Derivação de TCP e tcs
 Aceitando somente os que satisfazem o
relacionamento fica {4, 5, 7}
 Testando o 10 (tcs + (tcs – MDC (tcs, pi))≤ di)
 10 + (10 – MDC (10, 14)) ≤ 14
 10 + (10 – 2) ≤ 14
 18 ≤ 14

 Testando o 4
4 + (4 – MDC(4,14)) ≤ 14 ∴ 6 ≤ 14 √
 4 + (4 – MDC(4,20)) ≤ 20 ∴ 4 ≤ 20 √
 4 + (4 – MDC(4,22)) ≤ 22 ∴ 6 ≤ 22 √
Organizações FG e BG
 Pode-se considerar como uma adição ao EC
 Sistema consiste de 2 conj de processos:
 Foreground (FG): alta prioridade, críticos no tempo
 Background (BG): baixa prioridade, processos não tempo-real
ou brandos
 Processos em BG podem ser interrompidos por processos em
FG
 Processos FG são executados de acordo com uma
escala prévia
 Quando há tempo livre, processos em BG são
despachados.
 Um timer interrompe o processo corrente (de
background) sinalizando o inicio de um novo ciclo
Organizações FG e BG
Exemplo: monitor de usina nuclear
FG BG

timer
B

falhas despachante

processamento

B T F P B T F P B T

Interrupção Interrupção Interrupção


do timer do timer do timer

Você também pode gostar