Optimización de Procesos en Sistemas Operativos: Multiprogramación y Planificación Eficiente
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,19 KB
Funcionamiento de la Multiprogramación
La multiprogramación permite almacenar múltiples procesos en la memoria principal y ejecutarlos de manera concurrente, dando la impresión de que todos se procesan simultáneamente.
Campos del Bloque de Control de Proceso (BCP)
El Bloque de Control de Proceso (BCP) almacena información crucial para la gestión de cada proceso:
- Identificación del Proceso: Un nombre único asignado al proceso.
- Tiempo Estimado de Ejecución: El tiempo previsto para su finalización, que puede incluir un contador de tiempo restante.
- Estado del Proceso: Indica la situación actual del proceso (ej. Nuevo, Listo, Ejecución, Espera, Terminado).
- Prioridad: Un valor asignado por el sistema operativo para determinar el orden de ejecución.
- Contexto del Procesador (Copia de Registros): Almacena el estado de los registros del CPU cuando el proceso es interrumpido, permitiendo su reanudación precisa.
Modelo de Estados de un Proceso: Ejemplo de Acceso a una Página Web
A continuación, se explica qué sucede en cada estado del modelo de estados de un proceso, tomando como ejemplo el acceso a una página web:
- Nuevo/Admitido: Se solicita al sistema operativo abrir la página web.
- Retenido: El sistema cuantifica los recursos necesarios para cargar la página web.
- Listo: Cuando ya se le han asignado los recursos necesarios y el proceso está preparado para ejecutarse.
- Ejecución: Si ya se tienen todos los recursos, el proceso comienza a ejecutarse. La página se abre y está lista para usar.
- Terminado: Se completa la ejecución del proceso. La página se cierra o se finaliza su uso.
- Espera: El proceso se detiene temporalmente, generalmente por una interrupción o porque espera un recurso (ej. datos de red).
Conceptos de Planificación de Procesos
Sobrecarga en Mecanismos de Planificación
La sobrecarga en los mecanismos de planificación se manifiesta de diversas maneras:
- Apropiativo (Preemptive): Una vez que el proceso obtiene la CPU, se le puede retirar en cualquier momento.
- No Apropiativo (Non-Preemptive): Una vez que el proceso obtiene la CPU, se ejecuta hasta su terminación o hasta que se bloquea.
La sobrecarga inherente a cada mecanismo de planificación radica en:
- Planificación por Plazo Fijo: Genera sobrecarga al planificar la terminación de ciertos trabajos en un tiempo específico.
- Planificación FIFO (First-In, First-Out): Genera sobrecarga porque los procesos son atendidos en el orden de llegada, sin considerar su duración.
- Planificación Round Robin (Asignación de Rueda): Genera sobrecarga por ser apropiativo, ya que interrumpe y reanuda procesos repetidamente hasta su finalización.
- Planificación SJF (Shortest Job First): Genera sobrecarga porque puede dejar a los trabajos más largos rezagándose indefinidamente (inanición).
- Planificación SRTF (Shortest Remaining Time First): Tiene una sobrecarga implícita al ser apropiativa, requiriendo cambios de contexto frecuentes.
- Planificación HRN (Highest Response Ratio Next): Genera sobrecarga al aplicar la fórmula de prioridad, que requiere cálculos constantes.
Niveles de Planificación de Procesos: Ejemplo de Baja de un Producto
El proceso de "dar de baja un producto" atraviesa los siguientes niveles de planificación:
- Nivel Alto (Planificador de Largo Plazo): El proceso de 'dar de baja' compite para ser admitido en el sistema. La petición se pone en espera para ser procesada y se inicia la apertura de la base de datos (BD).
- Nivel Intermedio (Planificador de Medio Plazo): El proceso entra en los estados de 'retenido' y 'listo', donde compite por los recursos. Se verifica todo lo necesario para la baja y si los recursos están disponibles.
- Nivel Bajo (Planificador de Corto Plazo): El proceso compite por la CPU (estado 'ejecución') para ejecutar la operación de baja (realizar las modificaciones).
Diseño de un Mecanismo de Planificación Híbrido
Considerando los mecanismos básicos de planificación, se propone un diseño propio que aprovecha las ventajas y elimina las desventajas:
Combinación Round Robin y FIFO: Al combinar estos dos mecanismos, obtenemos un sistema con las siguientes ventajas:
- Utilidad en ambientes de tiempo compartido.
- Su estructura es similar en ambos, facilitando la integración.
- Los procesos se despachan según llegan (FIFO) y se les asigna un cuanto de tiempo (Round Robin).
- Se reevalúa la fila para reacomodar los procesos, buscando equidad.
- Es justo tanto con los procesos largos como con los cortos, evitando la inanición.