Implementar la funcionalidad de entrada de procesos
En este paso, implementaremos la funcionalidad para recopilar información sobre los procesos que se van a programar. Para la programación FCFS, necesitamos saber:
- El número de procesos
- El tiempo de ráfaga (burst time) de cada proceso (tiempo de ejecución requerido por cada proceso)
Modifiquemos nuestro archivo fcfs.cpp
para incluir esta funcionalidad:
#include <iostream>
#include <iomanip> // Para salida formateada
using namespace std;
int main() {
cout << "Implementación del algoritmo de planificación FCFS" << endl;
cout << "----------------------------------------" << endl;
// Declaración de variables
int n; // Número de procesos
int burst_time[20]; // Arreglo para almacenar el tiempo de ráfaga de cada proceso
// Obtener el número de procesos del usuario
cout << "\nIngrese el número de procesos (máximo 20): ";
cin >> n;
// Validación de entrada
if (n <= 0 || n > 20) {
cout << "Número de procesos no válido. Por favor, ingrese un valor entre 1 y 20." << endl;
return 1;
}
// Obtener el tiempo de ráfaga para cada proceso
cout << "\nIngrese el Tiempo de Ráfaga para cada proceso:" << endl;
for (int i = 0; i < n; i++) {
cout << "Proceso P" << i + 1 << ": ";
cin >> burst_time[i];
// Validación de entrada para el tiempo de ráfaga
if (burst_time[i] <= 0) {
cout << "El tiempo de ráfaga debe ser un entero positivo. Por favor, reinicie el programa." << endl;
return 1;
}
}
// Mostrar los datos ingresados
cout << "\nProceso\tTiempo de Ráfaga" << endl;
cout << "--------------------" << endl;
for (int i = 0; i < n; i++) {
cout << "P" << i + 1 << "\t" << burst_time[i] << endl;
}
return 0;
}
Veamos lo que hemos agregado:
- Variables para almacenar el número de procesos (
n
) y el tiempo de ráfaga de cada proceso (burst_time[20]
).
- Mensajes de entrada para recopilar el número de procesos y el tiempo de ráfaga de cada proceso.
- Validación de entrada para asegurar que el número de procesos esté dentro de un rango razonable (1 - 20) y que los tiempos de ráfaga sean positivos.
- Una tabla para mostrar los datos ingresados para su verificación.
Compilémos y ejecutemos nuestro programa actualizado:
g++ fcfs.cpp -o fcfs
./fcfs
Cuando ejecute el programa, se le pedirá que ingrese el número de procesos y sus tiempos de ráfaga. Intente ingresar los siguientes datos:
3
5
9
4
Esto representa 3 procesos con tiempos de ráfaga de 5, 9 y 4 unidades de tiempo respectivamente. Debería ver una salida similar a:
Implementación del algoritmo de planificación FCFS
----------------------------------------
Ingrese el número de procesos (máximo 20): 3
Ingrese el Tiempo de Ráfaga para cada proceso:
Proceso P1: 5
Proceso P2: 9
Proceso P3: 4
Proceso Tiempo de Ráfaga
--------------------
P1 5
P2 9
P3 4
Esto confirma que nuestra funcionalidad de entrada está funcionando correctamente. En el siguiente paso, calcularemos el tiempo de espera y el tiempo de respuesta para cada proceso.