Escalonamento da CPU

Conceitos Básicos

Objetivo principal da multiprogramação

Manter a CPU ocupada

Ciclo de Picos CPU-E/S

Execução + espera por E/S

Escalonador de CPU

Seleciona processo pronto para execução

Escalonamento

Função fundamental do SO

Recursos escalonados

CPU, memória, I/O

Histograma de tempos de pico de CPU

Estatísticas de execução

Critérios de Escalonamento

Utilização de CPU

Manter a CPU ocupada

Throughput (vazão)

Nº de processos completos por unidade de tempo

Tempo de Turnaround

Tempo de submissão até conclusão

Tempo de Espera

Tempo na fila de prontos

Tempo de Resposta

Tempo desde a solicitação até a 1ª resposta

Critérios de otimização

Maximizar ou Minimizar cada métrica

Algoritmos de Escalonamento

First Come, First Served (FCFS)

Não-preemptivo, baixa complexidade

Problema do "Efeito Comboio"

Shortest Job First (SJF)

Preemptivo e não-preemptivo

Baseado no tempo de burst de CPU

Algoritmo ideal para menor tempo de espera médio

Escalonamento por Prioridade

Associado a cada processo, determina a execução

Problema de estagnação e solução de envelhecimento

Round Robin (RR)

Sistema de tempo compartilhado

Cada processo recebe uma fatia de tempo (quantum)

Balanceamento entre troca de contexto e quantum

Multilevel Queue

Filas de prioridade (primeiro e segundo plano)

Escalonamento com fatias de tempo

Evita estagnação com envelhecimento

Fila Multinível com Feedback

Movimentação entre filas baseada no desempenho

Estratégias de escalonamento e upgrade/downgrade

Escalonamento para Multiprocessadores

Multiprocessamento

Assimétrico e Simétrico (SMP)

Processadores Multicore e desafios de escalonamento

Balanceamento de carga para distribuição uniforme

Afinidade de processador para evitar inconsistência de cache

Escalonamento de thread e escalonamento de threads em nível de kernel

MAPA MENTAL 5
DISCIPLINA: SO 2023/2
ALUNO: FILIPE SUHETT NOGUEIRA SILVA