Sistemas  
 
Rede de conhecimento computador >> Sistemas >> Unix >> Content
O que é agendador unix e como funciona?
O que é um agendador UNIX?

Um agendador UNIX é um componente central do sistema operacional responsável por gerenciar e executar vários processos com eficiência. Sua função principal é alocar tempo de CPU aos processos, garantindo uma utilização justa e ideal dos recursos do sistema. O agendador funciona em conjunto com a unidade de gerenciamento de memória (MMU) e a CPU para lidar com o agendamento e execução de processos em um ambiente multitarefa.

Como funciona um agendador UNIX?

Nos sistemas UNIX, processos são entidades que representam programas em execução. Cada processo tem seu próprio conjunto de instruções, dados e recursos e requer tempo de CPU para ser executado. O objetivo do escalonador é determinar qual processo deve ser executado em um determinado momento, considerando vários critérios como prioridade, requisitos de recursos, justiça e desempenho do sistema.

O processo de agendamento normalmente envolve as seguintes etapas:

1. Envio de Processo :quando um novo processo é criado ou enviado ao sistema, ele é adicionado à fila do agendador ou à lista de processos aguardando execução.

2. Seleção de algoritmo de agendamento :O escalonador escolhe um algoritmo de escalonamento para determinar a ordem em que os processos serão executados. Algoritmos de agendamento comuns incluem:
- Primeiro a chegar, primeiro a ser servido (FCFS) :Os processos são executados na ordem em que são recebidos, sem considerar suas prioridades.
- Round Robin (RR) :Cada processo recebe um intervalo de tempo fixo (quântico) e, quando um processo excede seu intervalo de tempo, ele é preemptado e colocado no final da fila.
- Trabalho mais curto primeiro (SJF) :Os processos são executados na ordem do tempo de execução estimado, com prioridade para jobs mais curtos.
- Agendamento prioritário: Os processos recebem prioridades e os processos de maior prioridade são executados primeiro.
- Filas de feedback em vários níveis: Os processos são divididos em múltiplas filas com base na prioridade ou nos requisitos de recursos, com diferentes algoritmos de escalonamento aplicados a cada fila.

3. Seleção de Processo :O escalonador seleciona o próximo processo a ser executado na fila de acordo com o algoritmo de escalonamento escolhido. Trabalhos de prioridade mais alta ou mais curtos podem ser selecionados primeiro, ou os processos podem ser executados em rodízio para garantir justiça.

4. Execução de Processo :O processo selecionado é carregado na CPU e inicia a execução. Ele continua em execução até ser concluído ou até que um processo de prioridade mais alta precise ser executado.

5. Preempção de processo (se aplicável) :Se um processo de maior prioridade chegar ou ficar pronto para ser executado enquanto outro processo estiver em execução, o escalonador poderá antecipar o processo em execução e mudar para o de maior prioridade.

6. Mudança de contexto :Quando o escalonador alterna entre processos, ele realiza uma troca de contexto, salvando o estado (registros de CPU, ponteiros de memória, etc.) do processo atual e carregando o estado do próximo processo.

7. Balanceamento de carga :o agendador considera fatores como utilização de recursos e justiça para equilibrar a carga de trabalho entre múltiplas CPUs ou núcleos em sistemas multiprocessadores.

O agendador monitora continuamente o sistema e toma decisões dinâmicas de agendamento com base no estado dos processos, disponibilidade de recursos e métricas de desempenho. Seu objetivo é alcançar alto rendimento do sistema (executando tantos processos quanto possível), baixa latência (minimizando o tempo que um processo leva para ser executado) e justiça entre os processos.

Vários escalonadores podem ser implementados ou escolhidos em diferentes sistemas do tipo UNIX, e algoritmos de escalonamento podem ser modificados ou customizados para atender a requisitos específicos de desempenho e sistema. O agendamento adequado é crucial para alcançar a utilização eficiente de recursos, capacidade de resposta e desempenho geral do sistema.

Anterior :

Próximo :
  Os artigos relacionados
·Qual é a terminologia unix para multitarefa? 
·Como calcular a data em Unix 
·Qual era o diretório? 
·Quais são alguns comandos do GW-BASIC? 
·O que acontece se o usuário criar um diretório com o …
·Como copiar um arquivo para a unidade de disquete no Un…
·O que é um demônio autônomo no Linux? 
·Como escrever um Shell Script Unix imprimir uma lista e…
·Como solucionar problemas em redes Unix 
·O que é o inferno da dependência no Linux? 
  Artigos em destaque
·Como cancelar o Windows XP Repair & Instalação 
·Como desativar o Norton 360 em um 64 -Bit Vista OS 
·Como localizar fotos duplicadas 
·Como corrigir um erro de certificado no Vista 
·Como remover programas do Registro Menu Iniciar 
·Como limpar um disco rígido com Windows 98 
·Como imprimir uma captura de tela em um MacBook 
·Como usar o DLNA em um laptop 
·Como configurar o Limpeza de Disco Automático e Discos…
·Como ligar fones de ouvido para o meu laptop 
Cop e direita © Rede de conhecimento computador http://ptcomputador.com Todos os Direitos Reservados