Fatec Jales • Análise e Desenvolvimento de Sistemas • Sistemas Operacionais • Prof. Me. Cristiano

Escalonamento
de processos

Grupo 5 – Análise comparativa e sequencial dos algoritmos fundamentais

Ednildo Ferreira André Nishi Vinícius Hirata
1. 3 Níveis (Escalonamento em 3 Níveis)
2. Round-Robin (Alternância Circular)
3. Prioridades (Escalonamento por Prioridades)
4. Filas Múltiplas (Multilevel Feedback Queues)

Agenda do Trabalho

Roteiro dos tópicos organizados na sequência evolutiva da disciplina

Etapa 01

3 Níveis

Como gerenciar o fluxo de jobs entre Disco, Memória RAM e CPU sem sobrecarregar o hardware.

Nível de Memória
Etapa 02

Alternância Circular

A chegada aos sistemas interativos: justiça democrática, preempção periódica e o dilema do Quantum.

Revezamento Igualitário
Etapa 03

Prioridades

Nem todo processo é igual: prioridades estáticas, dinâmicas (regra 1/f) e a prevenção da inanição.

Importância Relativa
Etapa 04

Filas Múltiplas

A fusão ideal (caso CTSS): classes de prioridade com quanta progressivos que reduzem trocas caras de disco.

Solução Prática Híbrida
Conexão Metodológica: Cada um dos 4 temas resolve uma limitação direta do modelo anterior, construindo a base dos sistemas operacionais modernos.

Introdução ao Problema

Resumo do cenário: de onde viemos e por que a CPU precisa dessas estratégias

O Ponto de Partida (Sistemas em Lote)

Os algoritmos iniciais (como FCFS e SJF) assumem que os trabalhos já residem na memória e que o objetivo principal é apenas a vazão de jobs concluídos.

O limite: O que acontece se chegarem 100 jobs no disco? Não cabem todos na memória RAM de uma vez!

O Desafio dos Sistemas Interativos

Com múltiplos usuários no teclado e processos com janelas na tela, o foco muda para o tempo de resposta. Nenhum processo pode monopolizar a CPU.

A necessidade: Exige preempção mandatória, revezamento periódico e formas de reconhecer processos prioritários.

A Cadeia de Evolução do Grupo 5:

1. 3 Níveis: Filtra do disco para a RAM antes de chegar à CPU.
2. Round-Robin: Divide a CPU em fatias iguais de tempo.
3. Prioridades: Ajusta fatias para quem mais precisa.
4. Filas Múltiplas: Otimiza as trocas caras de contexto.

1. Escalonamento em três níveis

Por que não carregar todos os jobs diretamente na memória RAM?

1. Admissão (longo prazo)

Monitora a fila de entrada no disco. Decide quais jobs entram no sistema, dosando processos de cálculo e de E/S.

2. Memória (médio prazo)

Controla quantos processos residem na RAM. Os excedentes vão para a área de troca (swap) no disco, evitando esgotar a memória.

3. CPU (curto prazo)

Seleciona qual dos processos prontos na memória executará a seguir. É o algoritmo veloz que roda a cada milissegundo.

Transição lógica para o próximo tema: Uma vez que a admissão e a RAM estão organizadas, como a CPU deve alternar os processos dos usuários quando eles disputam a tela em tempo real? ➔ Alternância Circular!

2. Alternância circular (round-robin)

A cada processo é concedido um intervalo contínuo de tempo chamado quantum

Como a alternância opera

  • O SO mantém uma fila circular FIFO de processos prontos.
  • Ao expirar o quantum, o relógio de hardware interrompe e move o processo para o fim da fila.
  • Se o processo bloquear por E/S antes do fim, a CPU é liberada na hora.

O Dilema do Tamanho do Quantum

Muito curto (2 a 4 ms)~20% overhead
Ideal (20 a 50 ms)Equilíbrio ótimo
Muito longo (500 ms)Resposta lenta
Transição para a prática: Veja a seguir como o revezamento na CPU e as fases da troca de contexto acontecem visualmente no simulador!

Simulação Round-Robin

Acompanhe a contagem regressiva do quantum e a preempção visual na CPU

CPU NÚCLEO ÚNICO · QUANTUM: 20 ms
Transição lógica para o próximo tema: O Round-Robin é perfeitamente democrático: todos ganham fatias rigorosamente iguais de CPU. Mas no mundo real, todos os processos têm a mesma urgência? E se um vídeo estiver rodando enquanto um backup executa ao fundo? ➔ Prioridades!

3. Escalonamento por prioridades

O processo executável com maior prioridade sempre receberá a CPU

Prioridade Estática vs Dinâmica

Estática: Atribuída na criação e imutável. Exemplo comercial: processos com garantia de SLA paga têm prioridade maior que tarefas batch.
Dinâmica: O SO ajusta periodicamente para manter periféricos (disco, rede) e CPU trabalhando em sincronia.

A Regra Dinâmica 1/f

O SO atribui prioridade 1/f, sendo f a fração do último quantum utilizada:

Processo de E/S: Usou 1 ms de 50 ms (f = 1/50) ➔ Prioridade sobe para 50! Ele libera a CPU logo e põe o disco para rodar.
Processo de CPU: Usou todos os 50 ms (f = 1) ➔ Prioridade cai para 1 para não monopolizar.
O Risco Crítico da Inanição (Starvation): Se houver fluxo constante de processos de alta prioridade, os de baixa prioridade nunca executarão. Solução do SO: decrementar a prioridade do processo a cada tique do relógio.
Transição lógica para o próximo tema: Prioridades resolvem a urgência, mas no computador pioneiro CTSS, trocar processos da memória para o disco era uma das tarefas mais lentas do mundo. Como unir prioridades e Round-Robin reduzindo o número de trocas? ➔ Filas Múltiplas!

4. Filas múltiplas

A solução do CTSS: união de prioridades com quanta exponenciais

O Desafio Histórico do CTSS (1962)

O computador IBM 7094 só comportava um processo na RAM por vez. Toda alternância exigia salvar o processo atual no disco e ler o próximo do disco.

A Solução: Processos pesados que gastam muito tempo de CPU recebem quanta cada vez maiores. Assim, precisam de muito menos trocas com o disco!

A Regra dos Quanta que Dobram

Ao esgotar seu quantum, o processo desce de nível e o quantum dobra:

1 ➔ 2 ➔ 4 ➔ 8 ➔ 16 ➔ 32 ➔ 64 quanta

Um processo de 100 quanta precisa de apenas 7 trocas de disco em vez de 100 trocas do Round-Robin comum!

O Truque do <Entra>: O CTSS promovia o processo para o topo da fila 1 se o usuário digitasse <Entra> no terminal (assumindo que era interativo). Alunos com programas pesados de cálculo ficavam teclando <Entra> freneticamente para furar a fila! "Fazer funcionar na prática é mais difícil que na teoria."

Conclusão e Síntese Comparativa

Como os 4 mecanismos articulam a gestão moderna de processos

Algoritmo / Mecanismo Ambiente Principal Mecanismo Central Principal Vantagem Desafio Mitigado
Escalonamento em 3 Níveis Lote e Grandes Servidores Separação Admissão, Swap e CPU Protege a memória RAM contra esgotamento Evita colapso de paginação (thrashing)
Alternância Circular (RR) Sistemas Interativos Fila circular FIFO com quantum fixo Garante justiça e resposta rápida na tela Elimina monopólio da CPU por um processo
Escalonamento por Prioridades Multiusuário e Tempo Real Classes com regra dinâmica 1/f Favorece E/S e processos críticos Mitiga inanição reduzindo prioridade com o tempo
Filas Múltiplas (CTSS) Sistemas de Grande Porte Quanta que dobram (1, 2, 4, 8, 16...) Minimiza trocas de disco para processos pesados Equilibra processos interativos com computacionais
Conclusão Final: Não existe um algoritmo único perfeito. Os sistemas operacionais atuais (como o agendador CFS do Linux e o agendador do Windows) são arquiteturas híbridas que utilizam filas com prioridades dinâmicas e fatias de tempo adaptativas derivadas diretamente dessas quatro soluções clássicas.

Referências Bibliográficas

Fontes acadêmicas e bibliografia recomendada da disciplina

Livro Texto Principal

TANENBAUM, Andrew S.; BOS, Herbert.
Sistemas Operacionais Modernos. 4. ed. São Paulo: Pearson Education do Brasil, 2016.
Capítulo 2, Seção 2.5: Escalonamento de Processos (pp. 98–110).

Bibliografia Complementar

SILBERSCHATZ, Abraham; GALVIN, Peter B.; GAGNE, Greg.
Fundamentos de Sistemas Operacionais. 9. ed. Rio de Janeiro: LTC, 2015.
Capítulo 6: Escalonamento de CPU.

Artigo Histórico - CTSS

CORBATÓ, Fernando J. et al.
An Experimental Time-Sharing System. Proceedings of the AFIPS Spring Joint Computer Conference, 1962.
Pioneirismo em filas multiníveis com quantum exponencial.

Material Didático da Disciplina

FATEC JALES – Prof. Me. Cristiano.
Roteiro para Elaboração da Atividade de Metodologias Ativas (Aula Invertida).
Disciplina de Sistemas Operacionais – ADS, 2026.

Desafio da Turma

Pergunta conceitual de análise técnica – resposta escondida conforme o roteiro

Questão Oficial para Avaliação em Sala Análise e Justificativa

No sistema pioneiro CTSS, processos de computação pesada recebiam fatias de tempo que dobravam a cada nível (1, 2, 4, 8, 16...), enquanto no Round-Robin convencional o quantum é rigorosamente fixo.

Sob o ponto de vista da arquitetura de computadores da época, por que essa progressão exponencial reduzia drasticamente o custo das trocas com o disco sem prejudicar o tempo de resposta dos usuários nos terminais?

3 Níveis (Admissão)

Se o escalonador admitir só processos de CPU, o que acontece com os discos?

Prioridades (Regra 1/f)

Por que o processo que usa menos quantum ganha a prioridade mais alta?

Prevenção de Inanição

Como o SO impede que processos de baixa prioridade morram de fome?