Please enable JavaScript.
Coggle requires JavaScript to display documents.
ESCALONAMENTO DA CPU - Coggle Diagram
ESCALONAMENTO DA CPU
Critérios de Escalonamento
Critérios de otimização
Tempo de Espera
Throughput (vazão)
Tempo de Turnaround (tempo de retorno)
MINimizar
Tempo de Resposta
Utilização de CPU
MAXimizar
Algoritmos de Escalonamento
First Come, First Served (FCFS)
"Primeiro a chegar, primeiro a ser atendido"
Baixa Complexibilidade
Favorecem Processos CPU-bound
Shortest Job First (SJF)
"Menor job primeiro"
Tempo médio de espera decresce
Impossivel de ser Implementado
Por prioridade
Um inteiro é associado a cada processo
CPU alocada ao processo com maior prioridade
Round-Robin (RR)
Sistemas operacionais de Tempo Compartilhado
Processos recebem pequenas unidades de Tempo"
Multilevel Queue (Fila Multinível)
Fila de pronto particionada
Primeiro Plano - RR
Processos interativos com o usuário
Segundo Plano - FCFS
Processo vai até o final da sua execução
Multilevel Feedback-Queue (Fila Multinível com
Feedback)
Um processo pode mover entre diversas filas
Windows
Descpachant seleciona athread que será executada
Vantagens
Escalonamento baseado em prioridade
Conceitos Básicos
Escalonador de CPU
Decisões de escalonamento de CPU
Executando -> Pronto
Termina
Executando -> Esperando
Esperando -> Pronto
Escalonamento preemptivo
Corta um processo de posse da CPU para que realize outro
Unix e Linux
Windows 95 e posteriores
macOS
Escalonamento não-preemptivo ou cooperativo
O SO não permite que um processo saia da CPU
macOS antes da 10
Windows 3.1
Ciclo de Picos CPU-E/S
Execução de um processo
Ciclo de execução + espera por E/S
SO armazena essas estatísticas
Despachante
Troca para o modo usuário
Salto para o local apropriado para reiniciar
Troca de Contexto
Sempre um processo deve estar em execução
Escalonamento para Multiprocessadores
Abordagens
Multiprocessamento Assimétrico
Atividadas tratadas por um processador único
Servidor Mestre
Multiprocessamento Simétrico (SMP)
Cada processador é auto-escalonado
Examina fila de prontos e seleciona um prcesso para executar
Processadores Multicore
Vários núcleos de processamento num único chip
Escalonamento mais complexo
Balanceamento de Carga
Objetivo
Carga de trabalho disribuida uniformemente
Migração Push
Processador ocupado _> ocioso
Migração Pull
Processador ocioso puxa uma tarefa da fila de espera de outro
Afinidade de Processador
Afinidade Flexivel
Processo em um único Processador
Afinidade Rígida
Subcnjunto de processadores
Escalonamento de Thread
Threads em nível de kernel são escalonadas