Please enable JavaScript.
Coggle requires JavaScript to display documents.
Capítulo 5: Escalonamento de CPU, MAPA MENTAL 5, DISCIPLINA: SO 2023/1,…
Capítulo 5: Escalonamento de CPU
Conceitos Básicos
Objetivo principal da multiprogramação
ter sempre
algum processo em execução
evitando ociosidade da
CPU
scheduling
quando um processo precisa esperar, o SO atribui a CPU a um outro processo que tem instruções para processar
Despachante (dispatcher)
Latência de despacho
tempo para que o despachante termine um processo e inicie outro em execução
envolve
troca de contexto
troca para o modo usuário
salto para o local apropriado no programa do
usuário para reiniciar esse programa
Ciclo de Picos CPU-E/S
Execução de um processo
ciclo de execução + espera por E/S
Escalonador de CPU
seleciona processos prontos
para executar na memória, e aloca a CPU a um deles
decisões ocorrem quando um
processo
Passa do estado executando para esperando
Passa do estado executando para pronto
Passa de esperando para pronto
Termina
exemplos
Escalonamento não-preemptivo ou cooperativo
Windows 3.1
macOS antes da versão 10
Escalonamento preemptivo
Windows 95 e posteriores
macOS
Unix e Linux
Critérios de Escalonamento
MAXimizar
Throughput
Número de processos que completam sua execução por unidade de tempo
Utilização de CPU
Mantenha a CPU tão ocupada quanto possível
MINimizar
Tempo de Turnaround (retorno)
Tempo transcorrido da submissão do processo até a sua conclusão
Tempo de Espera
Tempo em que um processo esteve esperando na fila de prontos
Tempo de Resposta
Tempo desde quando uma solicitação foi submetida até a primeira reposta ser produzida
Escalonamento para Multiprocessadores
O termo multiprocessador pode se aplicar a
Processadores Multicore
Núcleos Multithread
Sistemas NUMA
Multiprocessamento Heterogêneo
Qualcomm Snapdragon, Apple
M1, M2, etc
Intel Alder Lake
Com múltiplas CPUs é possível fazer o compartilhamento de carga
Abordagens
Multiprocessamento Assimétrico
todas as decisões são tratadas por um
processador único – o servidor mestre
mais simples porque somente um processador
acessa as estruturas de dados do sistema
reduzindo a necessidade de compartilhamento de dados
Multiprocessamento Simétrico (SMP)
Existe um escalonador por processador, que examina a fila de prontos comum e seleciona um processo para executar
É o modelo usado por quase todos os SO’s
modernos
estratégias
Todas as threads podem estar em uma única fila de
prontos (comum ao sistema)
Cada processador pode ter sua própria fila de threads
Exemplo de SO: Windows
Escalonamento baseado em prioridade, preemptivo
O despachante seleciona uma thread e ela será
executada até
ser interrompida por uma thread de maior prioridade
terminar
seu quantum de tempo terminar ou
até invocar uma chamada de sistema bloqueante (como uma E/S)
O esquema de prioridade usa 32 níveis divididos
em duas classes
Classe variável: prioridades de 1 a 15
Classe de tempo real: prioridades de 16 a 31
OBS: (prioridade 0: gerenciador de memória)
Windows XP
possui uma regra especial para threads
pertencentes (NORMAL_PRIORITY_CLASS)
Processos de primeiro plano
atualmente
selecionado na tela
Processos de segundo plano
não selecionados (ou
minimizados)
quando um processo passa para primeiro plano, o
sistema aumenta o quantum
dando ao processo 3x mais
tempo para executar antes de sofrer preempção
MAPA MENTAL 5
DISCIPLINA: SO 2023/1
ALUNA: KAILANY FAUSTINO DE SOUZA