Seu navegador não oferece leitura em voz alta. Você pode ler o guia normalmente.
O escalonador do sistema operacional decide qual processo usa o processador em cada instante. Em provas de TI, a cobrança vem em forma de cálculo: dado um conjunto de processos com chegada e duração, qual a média do tempo de espera em cada algoritmo? Os números deste guia foram obtidos simulando os algoritmos em um teste, e você pode repetir a conta à mão seguindo o método.
Definições que sustentam a conta
- Tempo de chegada: instante em que o processo entra na fila de prontos.
- Tempo de execução (burst): tempo de CPU de que o processo precisa.
- Tempo de retorno (turnaround): do instante da chegada ao término. Retorno = término - chegada.
- Tempo de espera: tempo que o processo passou na fila de prontos sem executar. Espera = retorno - execução.
- Preempção: o sistema retira o processo da CPU antes de ele terminar. Algoritmo não preemptivo deixa o processo rodar até o fim (ou até bloquear).
O conjunto de processos
| Processo | Chegada | Execução |
|---|---|---|
| P1 | 0 | 8 |
| P2 | 1 | 4 |
| P3 | 2 | 9 |
| P4 | 3 | 5 |
Tempos em unidades genéricas. Ignora-se o custo da troca de contexto.
FCFS (primeiro a chegar, primeiro a ser atendido)
Atende na ordem de chegada, sem preempção. Diagrama de Gantt: P1 de 0 a 8; P2 de 8 a 12; P3 de 12 a 21; P4 de 21 a 26.
| Processo | Término | Retorno | Espera |
|---|---|---|---|
| P1 | 8 | 8 | 0 |
| P2 | 12 | 11 | 7 |
| P3 | 21 | 19 | 10 |
| P4 | 26 | 23 | 18 |
Média de espera: (0 + 7 + 10 + 18) / 4 = 8,75. Média de retorno: (8 + 11 + 19 + 23) / 4 = 15,25. Efeito conhecido: processos curtos esperam atrás de processos longos (efeito comboio).
SJF não preemptivo (menor tarefa primeiro)
Quando a CPU fica livre, escolhe, entre os processos que já chegaram, o de menor tempo de execução. No instante 0 só o P1 está pronto, então roda de 0 a 8. No instante 8 estão prontos P2 (4), P3 (9) e P4 (5): o menor é o P2, de 8 a 12. Depois, entre P3 (9) e P4 (5), vai o P4, de 12 a 17. Por fim, P3, de 17 a 26.
| Processo | Término | Retorno | Espera |
|---|---|---|---|
| P1 | 8 | 8 | 0 |
| P2 | 12 | 11 | 7 |
| P3 | 26 | 24 | 15 |
| P4 | 17 | 14 | 9 |
Média de espera: (0 + 7 + 15 + 9) / 4 = 7,75, melhor que a do FCFS. O SJF minimiza o tempo médio de espera quando todos os processos estão disponíveis ao mesmo tempo (resultado clássico da área). Dois problemas: exige conhecer ou estimar o tempo de execução, e pode causar inanição (starvation), pois processos longos podem esperar indefinidamente se chegarem sempre curtos. A versão preemptiva, que compara o tempo restante, chama-se SRTF ou “menor tempo restante primeiro”.
Round Robin (circular, com quantum)
Cada processo recebe a CPU por no máximo um quantum; se não terminou, volta ao fim da fila. É preemptivo. Com quantum igual a 4, a execução simulada foi:
| Intervalo | Processo |
|---|---|
| 0 a 4 | P1 |
| 4 a 8 | P2 |
| 8 a 12 | P3 |
| 12 a 16 | P4 |
| 16 a 20 | P1 |
| 20 a 24 | P3 |
| 24 a 25 | P4 |
| 25 a 26 | P3 |
| Processo | Término | Retorno | Espera |
|---|---|---|---|
| P1 | 20 | 20 | 12 |
| P2 | 8 | 7 | 3 |
| P3 | 26 | 24 | 15 |
| P4 | 25 | 22 | 17 |
Média de espera: (12 + 3 + 15 + 17) / 4 = 11,75; média de retorno: 18,25. O Round Robin não ganha em média de espera neste conjunto, mas oferece resposta rápida: todos os processos recebem a CPU logo (o P4, que chegou no instante 3, começa no 12; no FCFS começaria no 21). Convenção importante: quando um processo novo chega no mesmo instante em que outro é preemptado, adotou-se que o recém-chegado entra na fila antes do preemptado; outras convenções são possíveis e mudam a ordem, então o enunciado deve informar.
Efeito do quantum
- Quantum muito grande: o Round Robin se aproxima do FCFS.
- Quantum muito pequeno: muitas trocas de contexto, e o custo da troca consome a CPU.
- Em geral, o quantum deve ser maior que o custo de uma troca de contexto, mas pequeno o bastante para dar boa resposta interativa.
Outros algoritmos citados em provas
| Algoritmo | Ideia | Observação |
|---|---|---|
| Por prioridade | roda o de maior prioridade | pode causar inanição; remédio: envelhecimento (aumentar a prioridade de quem espera muito) |
| Múltiplas filas | separa processos em filas com políticas diferentes | combina, por exemplo, filas interativas e de lote |
| Filas com realimentação | o processo migra de fila conforme o comportamento | favorece processos curtos sem conhecer a duração |
Passo a passo para o cálculo na prova
- Monte a tabela com chegada e execução.
- Desenhe a linha do tempo (Gantt) aplicando a regra do algoritmo.
- Para cada processo, anote o término.
- Retorno = término - chegada; espera = retorno - execução.
- Tire a média, conferindo a soma antes de dividir.
Erros comuns
- Calcular a espera a partir do instante zero, sem descontar a chegada.
- Aplicar o SJF considerando processos que ainda não chegaram.
- Esquecer que o Round Robin devolve o processo ao fim da fila.
- Confundir tempo de resposta (até a primeira execução) com tempo de espera total.
- Dizer que o SJF é justo: ele pode causar inanição.
Fontes e atualização
Não há norma oficial brasileira sobre sistemas operacionais; o conteúdo segue a literatura clássica da área. Os tempos e as médias foram conferidos por simulação do conjunto de processos acima. Regras de desempate e convenções de fila variam: confira o enunciado e o edital.