Please enable JavaScript.
Coggle requires JavaScript to display documents.
Escalonamento da CPU, Mapa Mental 5, SO 2023/1, Lorenzo Peixoto Almeida -…
Escalonamento da CPU
Critérios de escalonamento
Algoritmos favorecem a resolução de problemas em detrimento de outros
Utilização da CPU
Manter CPU sempre ocupada
Uso entre 40 a 90%
Throughput (vazão)
Processos que completam sua execução por unidade de tempo
Tempo de Turnaround
Tempo para executar um processo em particular
Tempo de espera
Tempo do processo na fila de prontos
Tempo de resposta
Tempo em que a solicitação foi submetida até a primeira resposta
Algoritmos de escalonamento
Por prioridade
Um número de prioridade (int) é associado a cada processo
Esquemas
Não-preemptivo
Preemptivo
A prioridade é o próximo tempo de burst de CPU previsto
Problemas
Processos com baixa prioridade podem nunca ser executados
Solução é aumentar a prioridade na medida que o tempo passa
Round-Robin (RR)
Características
Típico de sistemas operacionais de
tempo compartilhado
Os processos recebem uma unidade de tempo de CPU, normalmente 10-100 milissegundos
Após esse tempo, o processo é interrompido e acrescentado ao fim da fila de prontos
Shortest Job First (SJF)
Privilegia processos menores
Esquemas
Não-preemptivo
Uma vez a CPU dada ao processo, ele não pode
ser apropriado até que termine seu burst de CPU
Preemptivo
Processo novo chega com um tamanho de burst menor que o tempo restante do processo atual, haverá a troca
Shortest Remaining Time First (SRTF)
Gera o menor tempo de espera médio para
determinado conjunto de processos.
Multilevel Queue (Fila Multinível)
Características
Fila de pronto está particionada em duas filas separadas
Cada fila tem seu próprio algoritmo de escalonamento
Escalonamento precisa ser feito entre as filas
Escalonamento com prioridade fixa
Serve tudo em primeiro plano, depois em segundo plano
Possibilidade de
estagnação
Fatia de tempo
Cada fila recebe uma certa quantidade de tempo de CPU, que ela pode escalonar entre seus processos
First Come, First Served (FCFS)
Características
Não-preemptiva
Algoritmo de baixa complexidade
Processos prontos para execução são inseridos no fim da fila de prontos
Problemas
Processos pequenos pode esperar muito por causa de processos maiores na frente
Ruim para sistema de tempo compartilhado onde os
usuários precisam da CPU a intervalos regulares
Multilevel Feedback-Queue (Fila Multinível com Feedback)
Características
Parâmetros
Método usado para determinar quando fazer o upgrade de um processo
Método usado para determinar quando rebaixar um processo
Algoritmos de escalonamento para cada fila
Método usado para determinar em qual fila um processo
entrará quando esse processo precisar de serviço
Número de filas
Um processo pode mover entre as diversas filas
Envelhecimento pode ser implementado dessa forma
Escalonamento para multiprocessadores
Multiprocessamento Assimétrico
Decisões de escalonamento são tomadas por um processador
Os outros processadores executam o código do usuário
Diferente do multiprocessamento heterogêneo
Mais ligado ao projeto das politicas/mecanismos do SO
Multiprocessamento simétrico
Um escalonador por processador
Cada um deles examina a fila de prontos e seleciona um processo pra executar
processadores multicore
Escalonamento mais complexo
Cada núcleo tem seu próprio cache local
Quando o processo muda de núcleo ele perde acesso aos dados que estavam em cache no outro núcleo
Todos os núcleos vão disputar acesso a memória principal
Pode gerar Memory stall (obstrução na memória)
Balanceamento de carga
Tentar manter carga de trabalho distribuída em todos os processadores
Necessário quando cada processador tem sua fila de processos elegíveis
Migração pull
Um processador ocioso puxa uma tarefa
esperando de um processador ocupado
Migração push
Uma tarefa verifica periodicamente a carga de cada processador e redistribui a carga
Afinidade de processador
Evitar inconsistência de cache
Afinidade Flexível/leve
SO tenta manter o processo em um único processador
Afinidade rígida
Processo especifica subconjunto de processadores que ele pode ser executado
Mapa Mental 5
SO 2023/1
Lorenzo Peixoto Almeida