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
- 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
- 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
- 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