martes, 19 de noviembre de 2013

Procesos

Un proceso es un conjunto de actividades o eventos (coordinados u organizados) que se realizan o suceden (alternativa o simultáneamente) bajo ciertas circunstancias en un determinado lapso de tiempo. Significados diferentes según la rama de la ciencia o la técnica en que se utilice.

En el sistema operativo consiste en un conjunto formado por:

  • Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.

  • Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.

  • Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.

  • Otra información que permite al sistema operativo su planificación.






Planificación de la CPU


Es la forma o criterio que se sigue a la hora de  decidir que proceso debe entrar en ejecución.

„ Ventajas de la multiprogramación:
  • Aumento de utilización de CPU (% de actividad de la CPU)
  • Mayor productividad (cantidad de trabajo por u.t.)
  • „ La ejecución de un proceso consiste en una alternancia entre ráfagas de CPU y ráfagas de E/S .

Por orden de llegada


  • La CPU se asigna a todos los procesos en el mismo orden en que lo solicitan

Propiedades

  •  No optimiza: el tiempo de espera, retorno, rendimiento. Muy variables en función del orden de llegada y de la duración de intervalos de CPU
  •  Optimiza: utilización
  • Efecto convoy: los trabajos largos retrasan a los cortos
  • No adecuado para sistemas interactivos
  • Muy fácil de implementar (cola FIFO).
  • No expulsivo



Siguiente el proceso más corto


Este algoritmo da prioridad al proceso que va a necesitar menos tiempo de CPU (mejora el tiempo medio de espera).

 Funcionamiento:

  • Asocia a cada proceso un tiempo aproximado de utilización de CPU.
  • Asigna la CPU al proceso con menor tiempo asociado
  • Cuando un proceso consigue la CPU la conserva hasta que decide liberarla (no existe expulsión).
 Inconvenientes

  • Estimación del tiempo de utilización de CPU por parte de un proceso (a veces se modela con técnicas estadísticas).


Planificación por prioridades

  • Se asocia a cada proceso un número entero llamado prioridad de acuerdo con algún criterio.
  •  Se asigna la CPU el proceso con mayor prioridad
Variantes:
  • Algoritmos con expulsión o sin expulsión
  • Prioridades estáticas o dinámicas
  • Estáticas: se asigna antes de la ejecución y no cambia
  • Dinámicas: cambia con el tiempo
Propiedades:
  • Con prioridades estáticas aparece el problema de inanición: los procesos con baja prioridad no se ejecutan nunca (poco equitativo).



Turno Rotatorio o Round Robin


  • Es de los más utilizados, sencillos y equitativos.
  • A cada proceso se le asigna un intervalo de tiempo llamado cuanto o quantum.(de 10 a 100ms).
  • Un proceso se ejecuta durante ese cuanto de tiempo. Si cuando acaba el cuanto no ha terminado su ejecución, se le expulsa de la CPU dando paso a otro proceso.
  • Si un proceso termina antes del cuanto, se planifica un nuevo proceso.




0 comentarios:

Publicar un comentario