Planificación de procesos

images

La planificación de procesos surge para conseguir un sistema multiprocesador cuando solo se tiene un procesador. Esto se consigue con la multiprogramación (tener siempre un proceso en ejecución) y el tiempo compartido (conmutar la CPU entre procesos).

Colas de planificación:

  • Cola de procesos: Todos los procesos que ingresan en el sistema.
  • Cola de procesos listos: Los procesos que esperan para ejecutarse.
  • Cola de dispositivos: Procesos que esperan dispositivos de E/S.

Los procesos pasan inicialmente a la cola de listos, esperan que se les asigne la CPU, cuando entran en la CPU se ejecutan y puede ocurrir:

  1. Se necesita E/S y pasa a la cola de E/S.
  2. El proceso crea un nuevo proceso y espera a que termine.
  3. El proceso es desalojado por la fuerza de la CPU y vuelve a la cola de listos.

Existen varios planificadores:

  • Planificador de largo plazo: PLP, de alto nivel, suministra procesos a la cola de preparados.
  • Planificador de corto plazo: PCP, de bajo nivel, asigna y desasigna la CPU.
  • Planificador de medio plazo: PMP, envía al disco procesos de poco interés para liberar memoria.

planificacion

Context switch: Consiste en desalojar un proceso de la CPU y reanudar otro. Se guarda el estado del proceso desalojado y se recuperan los registros del proceso que entra. Debe ser rápido y perder el mínimo tiempo posible.

Los procesos se crean con una llamada al sistema de “crear proceso”, un proceso puede crear otro proceso, el creador será el padre y el proceso nuevo será el hijo. Cuando un proceso crea otro puede pasar que padre e hijo se ejecuten concurrentemente o que el padre espera a que termine el hijo.

Creación de procesos: En UNIX se pueden crear procesos de dos formas con la función fork que crea un hijo que es un duplicado del padre o con la función exec esta se ejecuta después del fork  y reemplaza en uno de los procesos el espacio de memoria con un programa nuevo.

Proceso zombie: es un proceso que ha finalizado su ejecución pero no se ha eliminado.

Un proceso puede finalizar cuando:

  1. Se hace una llamada “exit”.
  2. Cuando el padre pide que se aborte el proceso.
  3. El padre finaliza al hijo por excederse en la utilización de procesos.
  4. El padre finaliza al hijo por que la tarea ya no es necesaria.
  5. El padre finaliza al hijo por que le padre finaliza.

Un proceso también se puede matar mediante la orden “kill”.

Anuncios

Publicado el 29/10/2013 en PSP. Añade a favoritos el enlace permanente. Comentarios desactivados en Planificación de procesos.

Los comentarios están cerrados.

A %d blogueros les gusta esto: