Sem título

Administração do Tempo de Processador 🖥️ | Gestão de CPU

🖥️ Administração do Tempo de Processador

Gestão eficiente da CPU: algoritmos de escalonamento, multitarefa e otimização do desempenho do sistema.

CPU
Escalonamento
Multitarefa
Tempo Compartilhado
Algoritmos
Desempenho
Troca de Contexto
Otimização
Filas de Processos
CONCEITO CHAVE
⏱️

O que é Administração do Tempo de CPU?

A administração do tempo de processador é uma função fundamental do sistema operacional que decide qual processo obtém acesso à CPU e por quanto tempo, maximizando a utilização do processador e garantindo um tempo de resposta justo para todos os processos.

  • Aloca tempo de CPU para múltiplos processos
  • Maximiza a utilização do processador
  • Minimiza o tempo de resposta
  • Garante equidade entre processos
OBJETIVOS PRINCIPAIS
🎯

Objetivos do Escalonamento de CPU

Os algoritmos de escalonamento buscam equilibrar vários objetivos, às vezes contraditórios, para otimizar o desempenho geral do sistema.

  • Máxima utilização da CPU: Manter a CPU ocupada o maior tempo possível
  • Máximo rendimento (throughput): Maior número de processos completados por unidade de tempo
  • Tempo de retorno mínimo: Menor tempo entre a chegada e finalização de um processo
  • Tempo de espera mínimo: Menor tempo que os processos passam na fila de prontos
  • Tempo de resposta mínimo: Para sistemas interativos
ESTADOS
🔄

Estados de um Processo

Os processos mudam de estado durante sua execução. O escalonamento de CPU gerencia as transições entre esses estados.

  • Novo (New): Processo recém-criado
  • Pronto (Ready): Esperando alocação de CPU
  • Execução (Running): Instruções sendo executadas
  • Espera (Waiting): Esperando por um evento (E/S)
  • Terminado (Terminated): Processo finalizado
OPERAÇÃO CRÍTICA
🔄

Troca de Contexto (Context Switch)

Operação onde o sistema salva o estado de um processo e carrega o estado de outro para que possa continuar sua execução. Embora necessário, introduz overhead no sistema.

  • Salva estado do processo saindo (registradores, PC, estado)
  • Carrega estado do processo entrando
  • Atualiza tabelas de administração
  • Inclui overhead de tempo puro
  • Sistemas modernos otimizam esta operação
CLASSIFICAÇÃO
📊

Tipos de Escalonamento

Existem diferentes níveis de escalonamento conforme quando e com que frequência tomam decisões sobre a alocação de CPU.

  • Escalonamento de longo prazo (Admissão): Decide quais processos entram no sistema
  • Escalonamento de médio prazo (Swapping): Transfere processos entre memória principal e secundária
  • Escalonamento de curto prazo (CPU): Seleciona qual processo executa a seguir (a cada milissegundo)
  • Escalonamento em tempo real: Para sistemas com restrições temporais estritas
COMPONENTE
🚦

Dispatcher (Despachador)

Módulo do sistema operacional que entrega o controle da CPU ao processo selecionado pelo escalonador de curto prazo.

  • Realiza a troca de contexto
  • Muda para o modo de usuário
  • Salta para a localização adequada no programa do usuário
  • Sua velocidade afeta diretamente o overhead do sistema
  • Tempo de despacho: tempo que leva para parar um processo e começar outro

⚙️ Algoritmos de Escalonamento de CPU

Diferentes algoritmos utilizados pelos sistemas operacionais para decidir a ordem de execução dos processos. Cada um tem suas vantagens e desvantagens conforme o contexto.

📅 FCFS (First-Come, First-Served)

O processo que chega primeiro é o primeiro a ser atendido. Implementação simples mas pode causar o "efeito comboio".

Vantagens

  • Fácil de implementar
  • Justo na ordem de chegada
  • Sem inanição (starvation)

Desvantagens

  • Tempo de espera médio alto
  • Não é adequado para sistemas interativos
  • Efeito comboio com processos longos
SJF (Shortest Job First)

Executa primeiro o processo com o menor tempo de rajada seguinte. Pode ser preemptivo (SRTF) ou não preemptivo.

Vantagens

  • Tempo de espera mínimo
  • Máximo throughput
  • Ótimo para minimizar tempo de espera

Desvantagens

  • Difícil prever tempos de rajada
  • Pode causar inanição a processos longos
  • Não é justo com processos longos
🔄 Round Robin (RR)

Cada processo obtém uma pequena unidade de tempo de CPU (quantum), circulando entre todos os processos prontos.

Vantagens

  • Justo para todos os processos
  • Bom tempo de resposta
  • Adequado para sistemas interativos

Desvantagens

  • Muitas trocas de contexto se quantum for pequeno
  • Baixo throughput se quantum for muito pequeno
  • Depende fortemente do tamanho do quantum
🏆 Por Prioridades

Cada processo tem uma prioridade associada. O processo com maior prioridade executa primeiro. Pode ser preemptivo ou não.

Vantagens

  • Flexível para diferentes necessidades
  • Importante para sistemas de tempo real
  • Permite dar preferência a processos críticos

Desvantagens

  • Pode causar inanição a processos de baixa prioridade
  • Problema de inversão de prioridades
  • Determinar prioridades pode ser complexo

📈 Visualização de Escalonamento de Processos

Simulação de como múltiplos processos competem pelo tempo de CPU e são gerenciados pelo escalonador do sistema operacional.

CPU
P1
P2
P3
P4
Processo 1 (CPU-bound)
Processo 2 (I/O-bound)
Processo 3 (Interativo)
Processo 4 (Em espera)

🖥️ Administração do Tempo de Processador

O escalonamento de CPU é fundamental para o desempenho dos sistemas operacionais modernos. Os algoritmos continuam evoluindo para se adaptar a novas arquiteturas e cargas de trabalho.

Conceitos chave: Escalonamento • Multitarefa • Quantum • Troca de Contexto • Throughput • Latência • Justiça

© 2023 Sistemas Operacionais | Gestão de Processador | Todos os conceitos explicados

Postar um comentário

Postagem Anterior Próxima Postagem

Popular Items