Algoritmo de escalonamento FCFS: o que é um programa de exemplo

Índice:

Anonim

O que é o método da ordem de chegada?

O First Come First Serve (FCFS) é um algoritmo de agendamento do sistema operacional que executa automaticamente as solicitações e processos enfileirados na ordem de sua chegada. É o algoritmo de escalonamento de CPU mais fácil e simples. Nesse tipo de algoritmo, os processos que solicitam a CPU primeiro obtêm a alocação da CPU primeiro. Isso é gerenciado com uma fila FIFO. A forma completa do FCFS é a ordem de chegada.

Conforme o processo entra na fila de prontidão, seu PCB (Bloco de Controle de Processo) é vinculado ao final da fila e, quando a CPU fica livre, deve ser atribuído ao processo no início da fila.

Neste tutorial de sistema operacional, você aprenderá:

  • O que é o método da ordem de chegada?
  • Características do método FCFS
  • Exemplo de programação FCFS
  • Como funciona o FCFS? Calculando o tempo médio de espera
  • Vantagens do FCFS
  • Desvantagens do FCFS

Características do método FCFS

  • Suporta algoritmo de agendamento preventivo e não preemptivo.
  • Os trabalhos são sempre executados por ordem de chegada.
  • É fácil de implementar e usar.
  • Esse método tem baixo desempenho e o tempo de espera geral é bastante alto.

Exemplo de programação FCFS

Um exemplo da vida real do método FCFS é comprar um ingresso de cinema no balcão de ingressos. Neste algoritmo de escalonamento, uma pessoa é atendida de acordo com o modo de fila. A pessoa que chega primeiro na fila compra primeiro a passagem e depois a próxima. Isso continuará até que a última pessoa na fila compre o ingresso. Usando esse algoritmo, o processo da CPU funciona de maneira semelhante.

Como funciona o FCFS? Calculando o tempo médio de espera

Aqui está um exemplo de cinco processos que chegam em momentos diferentes. Cada processo tem um tempo de burst diferente.

Processar Tempo de explosão Tempo de chegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Usando o algoritmo de agendamento FCFS, esses processos são tratados da seguinte maneira.

Etapa 0) O processo começa com P4 que tem hora de chegada 0

Etapa 1) No tempo = 1, P3 chega. P4 ainda está em execução. Conseqüentemente, P3 é mantido em uma fila.

Processar Tempo de explosão Tempo de chegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Etapa 2) No tempo = 2, chega P1 que é mantido na fila.

Processar Tempo de explosão Tempo de chegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Etapa 3) No tempo = 3, o processo P4 conclui sua execução.

Etapa 4) No tempo = 4, P3, que é o primeiro na fila, inicia a execução.

Processar Tempo de explosão Tempo de chegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Etapa 5) No tempo = 5, P2 chega e é mantido em uma fila.

Processar Tempo de explosão Tempo de chegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Passo 6) No tempo 11, P3 completa sua execução.

Etapa 7) No tempo = 11, P1 inicia a execução. Tem um tempo de burst de 6. Conclui a execução no intervalo de tempo 17

Etapa 8) No tempo = 17, P5 inicia a execução. Tem um tempo de burst de 4. Conclui a execução no tempo = 21

Etapa 9) No tempo = 21, P2 inicia a execução. Tem um tempo de burst de 2. Conclui a execução no intervalo de tempo 23

Etapa 10) Vamos calcular o tempo médio de espera para o exemplo acima.

Waiting time = Start time - Arrival time

P4 = 0-0 = 0

P3 = 3-1 = 2

PI = 11-2 = 9

P5 = 17-4 = 13

P2 = 21-5 = 16

Tempo Médio de Espera

= 40/5 = 8

Vantagens do FCFS

Aqui, estão os prós / benefícios de usar o algoritmo de agendamento FCFS:

  • A forma mais simples de um algoritmo de escalonamento de CPU
  • Fácil de programar
  • Primeiro a chegar, primeiro a ser servido

Desvantagens do FCFS

Aqui, estão os contras / desvantagens de usar o algoritmo de agendamento FCFS:

  • É um algoritmo de escalonamento de CPU não preemptivo, portanto, após o processo ter sido alocado para a CPU, ele nunca irá liberar a CPU até que termine a execução.
  • O Tempo Médio de Espera é alto.
  • Os processos curtos que estão no final da fila precisam esperar que o processo longo na frente termine.
  • Não é uma técnica ideal para sistemas de compartilhamento de tempo.
  • Devido à sua simplicidade, o FCFS não é muito eficiente.

Resumo:

  • Definição: FCFS é um algoritmo de agendamento do sistema operacional que executa automaticamente solicitações e processos enfileirados por ordem de chegada
  • Suporta programação não preemptiva e preemptiva
  • algoritmo.
  • FCFS significa First Come First Serve
  • Um exemplo da vida real do método FCFS é comprar um ingresso de cinema no balcão de ingressos.
  • É a forma mais simples de um algoritmo de escalonamento de CPU
  • É um algoritmo de escalonamento de CPU não preemptivo, portanto, após o processo ter sido alocado para a CPU, ele nunca irá liberar a CPU até que termine a execução.