Planificación

 

¿Qué es la planificación de procesos?

La planificación de procesos es el mecanismo mediante el cual el sistema operativo determina el orden en que los procesos serán ejecutados, optimizando el uso de la CPU y garantizando un desempeño equilibrado del sistema.

Objetivos de la planificación:

  1. Eficiencia: Maximizar el uso de la CPU.

  2. Justicia: Distribuir el tiempo de procesamiento de forma equitativa entre los procesos.

  3. Minimización del tiempo de espera: Reducir el tiempo que los procesos pasan en la cola.

  4. Maximización del rendimiento: Completar la mayor cantidad de procesos en el menor tiempo posible.

Tipos de planificación de procesos:

  1. Planificación a largo plazo:

    • Decide qué procesos se cargan en memoria desde el almacenamiento secundario.

    • Es responsable de controlar el grado de multiprogramación (número de procesos en memoria).

  2. Planificación a medio plazo:

    • Gestiona la suspensión y reanudación de procesos.

    • Ayuda a reducir la carga del sistema liberando recursos temporalmente.

  3. Planificación a corto plazo:

    • Decide qué proceso obtendrá acceso a la CPU en un momento dado.

    • Utiliza algoritmos como los que veremos a continuación.

Algoritmos de planificación de CPU:

  1. First-Come, First-Served (FCFS):

    • Los procesos se ejecutan en el orden en que llegan.

    • Simple, pero puede causar tiempos de espera largos para procesos cortos.

  2. Shortest Job Next (SJN):

    • Prioriza los procesos con el menor tiempo de ejecución estimado.

    • Optimiza el tiempo de espera promedio, pero requiere conocer los tiempos de ejecución.

  3. Round Robin (RR):

    • Asigna un pequeño intervalo de tiempo (quantum) a cada proceso.

    • Justo y eficiente para sistemas interactivos.

  4. Priority Scheduling:

    • Los procesos se ejecutan según su prioridad.

    • Los procesos con prioridad baja pueden sufrir de inanición (espera indefinida).

  5. Multilevel Queue Scheduling:

    • Divide los procesos en diferentes colas según sus características (por ejemplo, interactivos vs. en segundo plano).

    • Cada cola puede tener su propio algoritmo de planificación.

¿Cómo impacta esto en la ejecución?

La planificación eficiente garantiza que los procesos críticos se ejecuten a tiempo, los recursos del sistema sean utilizados adecuadamente y los usuarios experimenten un sistema operativo fluido y receptivo.

No hay comentarios.:

Publicar un comentario

Pincipal

  Gestión del núcleo (Kernel) El núcleo es el corazón del sistema operativo, encargado de interactuar directamente con el hardware y proporc...