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.