Diferencia entre revisiones de «Planificación de procesos en un sistema operativo»

(Página creada con ''''{{Definición|Nombre=Planificación de procesos en Sistemas Operativos }}'''<br> <div align="justify"> En la actualidad podemos realizar varias acciones de forma simultán...')
(Etiqueta: no tiene enlaces internos)
 
Línea 1: Línea 1:
'''{{Definición|Nombre=Planificación de procesos en Sistemas Operativos }}'''<br>
+
'''{{Definición|Nombre=Planificación de procesos en Sistemas Operativos|imagen=Pppso.png}}'''<br>
  
 
<div align="justify">
 
<div align="justify">
  
  
En la actualidad podemos realizar varias acciones de forma simultánea mediante el uso de las computadoras. Para la ejecución de estas tareas el procesador debe alternar entre una y otra, pero es importante conocer que en cada instante de tiempo se puede estar ejecutando un solo programa. Un programa que se encuentra en ejecución recibe el nombre de proceso.
+
En la actualidad podemos realizar varias acciones de forma simultánea mediante el uso de las computadoras. Para la ejecución de estas tareas el [[procesador]] debe alternar entre una y otra, pero es importante conocer que en cada instante de tiempo se puede estar ejecutando un solo programa. Un programa que se encuentra en ejecución recibe el nombre de proceso.
  
 
==Procesos==
 
==Procesos==
 
Un proceso es un programa en ejecución. Existen 3 estados en los que puede encontrarse un proceso, estos son: Listo, Bloqueado y En ejecución. Para el control de los mismos internamente son almacenados en una lista, cada uno de  los nodos guarda información de un proceso. En esa información se almacena, entre otros aspectos, el estado en que se encuentra el proceso, el tiempo que el proceso ha usado el CPU, e información de E/S (entrada/salida).
 
Un proceso es un programa en ejecución. Existen 3 estados en los que puede encontrarse un proceso, estos son: Listo, Bloqueado y En ejecución. Para el control de los mismos internamente son almacenados en una lista, cada uno de  los nodos guarda información de un proceso. En esa información se almacena, entre otros aspectos, el estado en que se encuentra el proceso, el tiempo que el proceso ha usado el CPU, e información de E/S (entrada/salida).
Los sistemas operativos cuentan con un componente llamado Planificador, que se encarga de decidir cuál de los procesos hará uso del procesador. La toma de esta decisión, así como el tiempo de ejecución del proceso, estará dada por un algoritmo, denominado Algoritmo de Planificación.  
+
Los [[sistemas operativos]] cuentan con un componente llamado planificador, que se encarga de decidir cuál de los procesos hará uso del procesador. La toma de esta decisión, así como el tiempo de ejecución del proceso, estará dada por un [[algoritmo]], denominado Algoritmo de Planificación.  
  
 
==Objetivos de la Planificación de procesos==
 
==Objetivos de la Planificación de procesos==
Línea 36: Línea 36:
 
===Planificación de Colas Múltiples===
 
===Planificación de Colas Múltiples===
 
El nombre se deriva de MQS (Multilevel Queue Schedulling). En este algoritmo la cola de procesos que se encuentran en estado de listos es dividida en un número determinado de colas más pequeñas. Los procesos son clasificados mediante un criterio para determinar en qué cola será colocado cada uno cuando quede en estado de listo. Cada cola puede manejar un algoritmo de planificación diferente a las demás.
 
El nombre se deriva de MQS (Multilevel Queue Schedulling). En este algoritmo la cola de procesos que se encuentran en estado de listos es dividida en un número determinado de colas más pequeñas. Los procesos son clasificados mediante un criterio para determinar en qué cola será colocado cada uno cuando quede en estado de listo. Cada cola puede manejar un algoritmo de planificación diferente a las demás.
 +
 +
==Ejemplo==
 +
La tabla brinda información de 5 procesos ( A, B, C, D y E ). De estos se reflejan el instante de llegada, el tiempo que duran sus ráfagas (expresado en milisegundos) y el tiempo de entrada/salida.
 +
[[Imagen:Talgpp.png|thumb|center|]]
 +
A partir de dicha información se tiene en la figura una comparación de cómo se ejecutarían estos procesos mediante los algoritmos de planificación FCFS y SJF.
 +
[[Imagen:Ialgs.png|thumb|center|]]
  
 
==Tiempos==
 
==Tiempos==
Línea 57: Línea 63:
  
 
http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/6AlgoritmosdePlanificacionI.htm
 
http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/6AlgoritmosdePlanificacionI.htm
 
  
 
[[Category:Sistemas_Operativos]]
 
[[Category:Sistemas_Operativos]]

Revisión del 11:50 30 mar 2011

Planificación de procesos en un sistema operativo
Información sobre la plantilla
Pppso.png



En la actualidad podemos realizar varias acciones de forma simultánea mediante el uso de las computadoras. Para la ejecución de estas tareas el procesador debe alternar entre una y otra, pero es importante conocer que en cada instante de tiempo se puede estar ejecutando un solo programa. Un programa que se encuentra en ejecución recibe el nombre de proceso.

Procesos

Un proceso es un programa en ejecución. Existen 3 estados en los que puede encontrarse un proceso, estos son: Listo, Bloqueado y En ejecución. Para el control de los mismos internamente son almacenados en una lista, cada uno de los nodos guarda información de un proceso. En esa información se almacena, entre otros aspectos, el estado en que se encuentra el proceso, el tiempo que el proceso ha usado el CPU, e información de E/S (entrada/salida). Los sistemas operativos cuentan con un componente llamado planificador, que se encarga de decidir cuál de los procesos hará uso del procesador. La toma de esta decisión, así como el tiempo de ejecución del proceso, estará dada por un algoritmo, denominado Algoritmo de Planificación.

Objetivos de la Planificación de procesos

La Planificación de procesos tiene como principales objetivos la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.

  • Equidad: Todos los procesos deben ser atendidos.
  • Eficacia: El procesador debe estar ocupado el 100% del tiempo.
  • Tiempo de respuesta: El tiempo empleado en dar respuesta a las solicitudes del usuario debe ser el menor posible.
  • Tiempo de regreso: Reducir al mínimo el tiempo de espera de los resultados esperados por los usuarios por lotes.
  • Rendimiento: Maximizar el número de tareas que se procesan por cada hora.

Algoritmos de Planificación

Primero en llegar primero en ser servido

Conocido como FCFS (First Come First Served). Este algoritmo emplea una cola de procesos, asignando un lugar a cada proceso por el orden de llegada. Cuando el proceso llega es puesto en su lugar en la cola después del que llegó antes que él y se pone en estado de listo. Cuando un proceso comienza a ejecutarse no se interrumpe su ejecución hasta que termina de hacerlo.

Prioridad al más corto

Su nombre es SJF (Shortest Job First). El proceso que se encuentra en ejecución cambiará de estado voluntariamente, o sea, no tendrá un tiempo de ejecución determinado para el proceso. A cada proceso se le asigna el tiempo que usará cuando vuelva a estar en ejecución, y se irá ejecutando el que tenga un menor tiempo asignado. Si se da el caso de que dos procesos tengan igual valor en ese aspecto emplea el algoritmo FCFS.

Round Robin

A cada proceso se le asigna un tiempo determinado para su ejecución, el mismo tiempo para todos. En caso de que un proceso no pueda ser ejecutado completamente en ese tiempo se continuará su ejecución después de que todos los procesos restantes sean ejecutados durante el tiempo establecido. Este es un algoritmo basado en FCFS que trata la cola de procesos que se encuentran en estado de listos como una cola circular.

Planificación por prioridad

En este tipo de planificación a cada proceso se le asigna una prioridad siguiendo un criterio determinado, y de acuerdo con esa prioridad será el orden en que se atienda cada proceso.

Planificación garantizada

Para realizar esta planificación el sistema tiene en cuenta el número de usuarios que deben ser atendidos. Para un número n de usuarios se asignará a cada uno un tiempo de ejecución igual a 1/n.

Planificación de Colas Múltiples

El nombre se deriva de MQS (Multilevel Queue Schedulling). En este algoritmo la cola de procesos que se encuentran en estado de listos es dividida en un número determinado de colas más pequeñas. Los procesos son clasificados mediante un criterio para determinar en qué cola será colocado cada uno cuando quede en estado de listo. Cada cola puede manejar un algoritmo de planificación diferente a las demás.

Ejemplo

La tabla brinda información de 5 procesos ( A, B, C, D y E ). De estos se reflejan el instante de llegada, el tiempo que duran sus ráfagas (expresado en milisegundos) y el tiempo de entrada/salida.

A partir de dicha información se tiene en la figura una comparación de cómo se ejecutarían estos procesos mediante los algoritmos de planificación FCFS y SJF.

Tiempos

En la Planificación de procesos se tiene en cuenta diferentes tiempos que pueden ser calculados, como son el Tiempo de espera medio, el Tiempo de retorno del proceso y el Tiempo de retorno medio.

Tiempo de espera medio

Es el promedio de tiempos en que los procesos están en estado de listos. En algoritmos FCFS este tiempo suele ser bastante largo. En algoritmos SJF para los procesos largos este tiempo suele ser muy grande, pues se estarán ejecutando constantemente los procesos más cortos y los más largos se encontrarán constantemente en espera, por lo que pueden entrar en inanición. En Planificación por prioridad los procesos de prioridad baja podrían no ejecutarse nunca. Para dar solución a este problema el envejecimiento de un programa eleva su prioridad.

Tiempo de retorno del proceso

Es el tiempo que transcurre desde la creación de un proceso hasta que termina la ejecución del programa que le dio lugar.

Tiempo de retorno medio

Es la suma de los tiempos de retorno de cada uno de los procesos dividida entre la cantidad de procesos.

Fuentes

http://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml

http://en.wikipedia.org/wiki/First-come,_first-served

http://wwwdi.ujaen.es/~lina/TemasSO/PLANIFICACIONDEPROCESOS/6AlgoritmosdePlanificacionI.htm