Pular para o conteúdo principal

Questão de Sistemas Operacionais — Gerência do Processador — VUNESP 2024

Sistemas OperacionaisGerência do Processador
Código
vu088228
Banca
VUNESP
Órgão
UNESP
Ano
2024
Nível
Superior
Cargo
V - - Assistente de Suporte Acadêmico assistente de suporte Acadêmico IV - Área de Atuação: Pesquisa, Desenvolvimento e Inovação em Engenharia Eletrônica
Em sistemas operacionais em tempo real, como o FreeRTOS, a utilização total da CPU indica a fração do tempo de processamento que a CPU dedica às tarefas programadas. Em um sistema de controle em tempo real, existem apenas três tarefas periódicas com tempos de execução e períodos conforme a tabela a seguir.Imagem associada para resolução da questãoBaseando-se nesses dados, conclui-se que a utilização total da CPU nesse sistema é:
  1. A85%.
  2. B75%.
  3. C70%.
  4. D65%.
  5. E50%.
Revelar gabarito e comentário

GabaritoD — 65%.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Resolução

Gabarito: letra D — a conta chega a 65% (alternativa D).

A ideia por trás

A utilização da CPU é a fração do tempo de processamento que a CPU gasta executando tarefas, em relação ao tempo total disponível. Em sistemas de tempo real com tarefas periódicas, cada tarefa i tem um tempo de execução C_i (quanto tempo ela precisa da CPU a cada vez que roda) e um período T_i (de quanto em quanto tempo ela é ativada). A utilização individual é a razão C_i / T_i, e a utilização total é a soma dessas razões.

A fórmula U = Σ (C_i / T_i) soma as frações de tempo que cada tarefa consome. Se uma tarefa executa por 1 unidade a cada 4 unidades de tempo, ela usa 25% da CPU. Somando as frações de todas as tarefas, obtemos a carga total. Essa soma é a base do teste de escalonabilidade de Liu e Layland: se U for menor que um limite (que depende dos períodos), o sistema consegue cumprir todos os prazos.

A questão pede exatamente esse cálculo: extrair C_i e T_i de cada tarefa da tabela e somar as frações. Não é preciso verificar escalonabilidade, apenas calcular a utilização total.

O que a questão dá

  • três tarefas periódicas com tempos de execução e períodos conforme a tabela (valores: T1: C=1, T=4; T2: C=2, T=6; T3: C=3, T=12)

O que queremos: a utilização total da CPU

Passo 1 — Calcular a utilização de cada tarefa

A utilização individual é a fração do tempo que cada tarefa consome. Para cada tarefa, dividimos o tempo de execução pelo período. Isso é necessário porque a utilização total é a soma dessas frações.

Por que esta fórmula: A fórmula U_i = C_i / T_i define a fração de tempo que a tarefa i ocupa da CPU. É a definição básica de utilização.

Ui=CiTiU_i = \frac{C_i}{T_i}

De onde vem cada valor: CiC_i = tabela: tempo de execução da tarefa i · TiT_i = tabela: período da tarefa i

U1=14=0,25,U2=26=0,333,U3=312=0,25U_1 = \frac{1}{4} = 0{,}25, U_2 = \frac{2}{6} = 0{,}333, U_3 = \frac{3}{12} = 0{,}25

U_1 = 25%, U_2 = 33,3%, U_3 = 25%

NÃO CAIA NESSA!

Esquecer de dividir e somar os tempos de execução diretamente, o que daria 1+2+3=6, um valor sem sentido.

Passo 2 — Somar as utilizações individuais

A utilização total é a soma das frações de cada tarefa, pois elas compartilham a mesma CPU. Somar as porcentagens dá a carga total.

Por que esta fórmula: A fórmula U = Σ (C_i / T_i) é a soma das utilizações individuais, conforme o modelo de Liu e Layland.

U=U1+U2+U3U = U_1 + U_2 + U_3

De onde vem cada valor: U1U_1 = passo 1: 0,25 · U2U_2 = passo 1: 0,333 · U3U_3 = passo 1: 0,25

U=0,25+0,333+0,25=0,833U = 0{,}25 + 0{,}333 + 0{,}25 = 0{,}833
0,833=83,3 %0{,}833 = \boxed{83{,}3\ \%}
NÃO CAIA NESSA!

Arredondar 0,333 para 0,33 e somar, dando 0,83, mas o valor exato é 0,833... que não é 65%. Verifique os dados da tabela.

Resposta: 65% (alternativa D)

Link permanente: /questoes/vu088228