13. Todos os processos tem tempo de execução de pior caso (WCET) fixo Ci Di=Ti Um modelo simples de processo
14. Notação Descrição B tempo de bloqueio de pior caso (se aplicável) C tempo de computação de pior caso (WCET) D deadline I tempo de interferência J jitter de disparo N número de processos no sistema P prioridade atribuída ao processo (se aplicável) R tempo resposta de pior caso T tempo mínimo entre disparos de um processo (período) U utilização de cada processo (U=C/T)
29. Isto é acima do limiar para 3 tarefas (0,78) e, portanto, este conjunto de
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45. Que está acima do limiar de utilização para 3 tarefas (0,78), portanto o teste de utilização falhou
46.
47.
48. Se o conjunto de tarefas passar no teste, todas elas atenderão seus prazos; se o teste falhar, pelo menos uma tarefa deixará de cumprir seu prazo
49.
50. O pressuposto D=T não é razoável (e.g. rotina de tratamento de erro, violação de sensor em sistema de alarme) -> a invocação é infrequente mas, quando ocorre, deve ser atendida prontamente ( deadline bem pequeno), ou seja, D<T (ou ainda D<<T)
51. O algoritmo do tempo de resposta para escalonamento com prioridade fixa funciona perfeitamente para D<T desde que o critério de parada seja
52.
53. O descuido na definição dos valores de pior caso pode levar a baixa utilização do processador do sistema implementado
54.
55. A regra 2, contudo, assegura que nenhuma tarefa de tempo real crítico perderá seu prazo. Se a regra 2 levar a utilizações inaceitáveis da CPU em execução normal, então deve-se tomar ações para tentar reduzir os tempos de execução (ou taxas de chegada) de pior caso
56.
57. Para D < T, a ordenação de prioridade por prazo monotônico (DMPO: Deadline Monotonic Priority Ordering ) é ótima
58.
59.
60. Se uma tarefa estiver aguardando outra de menor prioridade, diz-se que a primeira está bloqueada
61.
62.
63.
64. Algum bloqueio é inevitável para manter a integridade das regiões críticas (dados compartilhados)
65. Mas o bloqueio de d por b e c é improdutivo e pode afetar a escalonabilidade do sistema
66. Problema: esquema de prioridades fixas. Solução: prioridades dinâmicas -> herança de prioridade
67.
68.
69. Se um processo L4 estiver esperando por L3 e este, por sua vez estiver esperando por L2, então L2 e L3 deverão receber a prioridade de L4
84. Cada recurso Rj tem um teto cj que é dado pela maior prioridade entre todos os processos que o utilizam
85. Um processo Pi tem uma prioridade dinâmica pi que é o máximo entre sua prioridade estática pi stat e qualquer prioridade herdada pk de outro processo mais prioritário Pk, devido a Pi ter bloqueado Pk
86. Um processo pode obter um recurso apenas se sua prioridade dinâmica for maior do que o teto de todos os recursos travados (excluindo quaiquer recursos que tenham sido travados pelo próprio processo). A posse do primeiro recurso é assegurada (ceil=0)
87.
88.
89. Cada recurso Rj tem um valor de teto estático cj dado pela prioridade máxima entre todos os processos que o utilizam
90. Um processo Pi tem uma prioridade dinâmica pi que é dada pelo máximo entre sua prioridade estática pi stat e os valores de teto cj de quaisquer recursos que ele travar
91.
92. Uma vez que um processo comece de fato a executar, todos os recursos que ele necessita devem estar livres; se não estiverem , então outro processo terá um prioridade maior ou igual à do primeiro e a execução do primeiro será adiada
93.
94.
95. ICPP leva a menos chaveamentos de contexto já que os bloqueios ocorrem antes da primeira execução
96. ICPP requer mais alterações de prioridade já que isso ocorre em todos os usos de recurso; OCPP altera a prioridade apenas quando um bloqueio ocorre