Algoritmo de programación FCFS: qué es, programa de ejemplo

¿Qué es el método por orden de llegada?

First Come First Serve (FCFS) es un algoritmo de programación del sistema operativo que ejecuta automáticamente las solicitudes y los procesos en cola en orden de llegada. Es el algoritmo de programación de CPU más fácil y simple. En este tipo de algoritmo, los procesos que solicitan a la CPU primero obtienen la asignación de CPU primero. Esto se gestiona con una cola FIFO. La forma completa de FCFS es First Come First Serve.

A medida que el proceso ingresa a la cola lista, su PCB (Bloque de control de proceso) se vincula con la cola de la cola y, cuando la CPU queda libre, debe asignarse al proceso al comienzo de la cola.

En este tutorial del sistema operativo, aprenderá:

  • ¿Qué es el método por orden de llegada?
  • Características del método FCFS
  • Ejemplo de programación FCFS
  • ¿Cómo funciona FCFS? Cálculo del tiempo medio de espera
  • Ventajas de FCFS
  • Desventajas de FCFS

Características del método FCFS

  • Es compatible con el algoritmo de programación preventiva y no preventiva.
  • Los trabajos siempre se ejecutan por orden de llegada.
  • Es fácil de implementar y usar.
  • Este método tiene un rendimiento deficiente y el tiempo de espera general es bastante alto.

Ejemplo de programación FCFS

Un ejemplo de la vida real del método FCFS es comprar un boleto de cine en el mostrador de boletos. En este algoritmo de programación, se atiende a una persona de acuerdo con la forma de la cola. La persona que llega primero a la cola primero compra el boleto y luego el siguiente. Esto continuará hasta que la última persona en la cola compre el boleto. Con este algoritmo, el proceso de la CPU funciona de manera similar.

¿Cómo funciona FCFS? Cálculo del tiempo medio de espera

A continuación se muestra un ejemplo de cinco procesos que llegan en momentos diferentes. Cada proceso tiene un tiempo de ráfaga diferente.

Proceso Tiempo quemado Hora de llegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Usando el algoritmo de programación FCFS, estos procesos se manejan de la siguiente manera.

Paso 0) El proceso comienza con P4 que tiene tiempo de llegada 0

Paso 1) En el momento = 1, llega P3. P4 todavía se está ejecutando. Por tanto, P3 se mantiene en cola.

Proceso Tiempo quemado Hora de llegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Paso 2) En el tiempo = 2, llega P1 que se mantiene en la cola.

Proceso Tiempo quemado Hora de llegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Paso 3) En el tiempo = 3, el proceso P4 completa su ejecución.

Paso 4) En el tiempo = 4, P3, que es el primero en la cola, comienza la ejecución.

Proceso Tiempo quemado Hora de llegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Paso 5) En el tiempo = 5, llega P2 y se mantiene en cola.

Proceso Tiempo quemado Hora de llegada
P1 6 2
P2 3 5
P3 8 1
P4 3 0
P5 4 4

Paso 6) En el momento 11, P3 completa su ejecución.

Paso 7) En el tiempo = 11, P1 comienza la ejecución. Tiene un tiempo de ráfaga de 6. Completa la ejecución en el intervalo de tiempo 17

Paso 8) En el tiempo = 17, P5 comienza la ejecución. Tiene un tiempo de ráfaga de 4. Completa la ejecución en el tiempo = 21

Paso 9) En el tiempo = 21, P2 comienza la ejecución. Tiene un tiempo de ráfaga de 2. Completa la ejecución en el intervalo de tiempo 23

Paso 10) Calculemos el tiempo de espera promedio para el ejemplo anterior.

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

Tiempo medio de espera

= 40/5 = 8

Ventajas de FCFS

A continuación, se muestran las ventajas y los beneficios de utilizar el algoritmo de programación FCFS:

  • La forma más simple de un algoritmo de programación de CPU
  • Fácil de programar
  • El primero en llegar es el primero en ser servido

Desventajas de FCFS

A continuación, se muestran las desventajas / desventajas de usar el algoritmo de programación FCFS:

  • Es un algoritmo de programación de CPU no preventivo, por lo que una vez que el proceso se ha asignado a la CPU, nunca liberará la CPU hasta que termine de ejecutarse.
  • El tiempo medio de espera es elevado.
  • Los procesos cortos que están al final de la cola tienen que esperar a que finalice el proceso largo al principio.
  • No es una técnica ideal para los sistemas de tiempo compartido.
  • Debido a su simplicidad, FCFS no es muy eficiente.

Resumen:

  • Definición: FCFS es un algoritmo de programación del sistema operativo que ejecuta automáticamente solicitudes y procesos en cola por orden de llegada.
  • Es compatible con la programación preventiva y no preventiva
  • algoritmo.
  • FCFS son las siglas de First Come First Serve
  • Un ejemplo de la vida real del método FCFS es comprar un boleto de cine en el mostrador de boletos.
  • Es la forma más simple de un algoritmo de programación de CPU.
  • Es un algoritmo de programación de CPU no preventivo, por lo que una vez que el proceso se ha asignado a la CPU, nunca liberará la CPU hasta que termine de ejecutarse.

Articulos interesantes...