Sie sind auf Seite 1von 7

Institución universitaria Antonio José Camacho. Castro, García, Pillimue. Planificación de procesos.

GENERALIDADES, ALGORITMOS E
IMPLEMENTACION DE LA PLANIFICACION
DE PROCESOS
Castro Steven., García Janely y Pillimue Diana Marcela.
Steven-131995@hotmail.com Jgl0204@hotmail.com dimapigu@gmail.com
Institución universitaria Antonio José Camacho.


La implementación de la planificación de procesos y los PLANIFICACIÓN DE PROCESOS
algoritmos que este genera cuando se comienzan a ejecutar
varios programas generando múltiples procesos e hilos, los La planificación (scheduling) es la base para lograr
cuales demandaran una cierta cantidad de recursos que el la multiprogramación. Un sistema multi-
software proveerá a este en un tiempo de respuesta muy corto, programado tendrá varios procesos que requerirán
en donde se determinara la eficacia y el rendimiento de los el recurso procesador a la vez. Esto sucede cuando
algoritmos de planificación del software en cuestión. los procesos están en estado ready (pronto). Si
existe un procesador disponible y existen procesos
en estado ready, se debe elegir el que será asignado
Índice de Términos al recurso para ejecutar. El componente del sistema
Algoritmo, CPU, Proceso, Planificación. operativo que realiza la elección del proceso es
llamada planificador (scheduler).
INTRODUCCIÓN
La Planificación de procesos tiene como principal
Hacemos referencia al concepto más relevante en cualquier
sistema operativo, que definimos como proceso, siendo una
objetivo la equidad, la eficacia, el tiempo de
idealización de un programa que está en proceso de ejecución, respuesta, el tiempo de regreso y el rendimiento.
resaltando que sin la idealización de un proceso no existiría la
computación moderna. Equidad: Todos los procesos deben ser atendidos.
Definimos la planificación de procesos como un conjunto de
políticas y mecanismos incorporados a un sistema operativo, a Eficacia: El procesador debe estar ocupado el 100%
través del planificador, quien se encarga de escoger cuál de los del tiempo.
procesos conviene ser remitido primero y en qué orden de
ejecución debe seguir. El objetivo principal consistirá siempre
en aprovechar al máximo el sistema, lo que implica el Tiempo de respuesta: El tiempo empleado en dar
abastecer un servicio de calidad a los procesos existentes en el respuesta a las solicitudes del usuario debe ser el
momento oportuno. menor posible.
Toda actividad tiene que ser administrada y el multi-
programador será un administrador respetable de los procesos. Tiempo de regreso: Reducir al mínimo el tiempo de
Dicho en otros términos, la CPU ejecuta solo un proceso, y en espera de los resultados esperados por los usuarios
el transcurso de 1 segundo podría trabajar en varios de ellos,
dando la apariencia de un paralelismo o pseudoparalelismo.
por lotes.
El algoritmo de planificación se utiliza para calcular los
recursos que consume otro algoritmo o conjunto de algoritmos Rendimiento: Maximizar el número de tareas que se
que componen un programa cuando están realizando una procesan por cada hora.
determinada tarea. Estos algoritmos surgen debido a la El objetivo primario de la planificación es optimizar
necesidad de poder organizar los procesos de una manera el rendimiento del sistema de acuerdo con el criterio
eficiente para el procesador.
considerado más importante por los diseñadores del
mismo; teniendo en cuenta las medidas de
rendimiento y los criterios de optimización más
destacados entre los cuales se encuentran:
Institución universitaria Antonio José Camacho. Castro, García, Pillimue. Planificación de procesos. 2

Tipos de planificadores:
Utilización del procesador: La utilización del
procesador es la fracción de tiempo promedio  Planificador a largo plazo (PLP): Su misión
durante la cual el procesador está en consiste en controlar la admisión de
funcionamiento, es decir el objetivo es mantener el procesos nuevos al sistema. Cuando está
procesador ocupado tanto tiempo como sea posible, presente este tipo de planificador, su
de esta forma se conseguirá que los factores de objetivo principal es proporcional una
utilización de los componentes restantes también mezcla equilibrada de trabajos. El PLP
eleven su ritmo de ejecución lo que generara un decide cuando se da entrada al sistema a un
rendimiento óptimo en cada proceso que se esté nuevo proceso para que este sea ejecutado;
El PLP actúa como una válvula de admisión
realizando.
de primer nivel para mantener la utilización
de recursos a nivel deseado.
Productividad: Son las tareas que ejecuta el sistema
en determinadas unidades de tiempo, y en cuanto
mayor cantidad de tareas maneje más trabajo serán  Panificador a corto plazo (PCP): Encargado
ejecutado y procesado en el sistemas. de decidir que procesos toman el control de
la CPU. El PCP asigna el procesador entre el
Tiempo de retorno: denotado como tiempo de conjunto de procesos preparados residentes
retorno (Tr). Es el tiempo consumido por el proceso en memoria. Su principal objetivo es
dentro del sistema, tal como la sumatoria del tiempo maximizar el rendimiento del sistema de
de servicio o tiempo de ejecución más el tiempo de acuerdo con el conjunto de criterios
espera (Tr=Ts+Te) elegidos; el PCP deberá ser involucrado
cuando se realice una operación de
Tiempo de espera: Es el tiempo que un proceso o conmutación de procesos para seleccionar el
trabajo consume a la espera de la asignación de siguiente proceso a ejecutar.
algún recurso o de que tenga lugar algún evento, es
decir, es la penalización por compartir recursos con  Planificador a medio plazo (PMP): El PMP
otros procesos eliminando la variabilidad debida a tiene como objetivo traer procesos
las diferencias en tiempos de ejecución del trabajo. suspendidos a la memoria principal.
Controla la transición de procesos en
Tiempo de respuesta: situación de preparados. El PMP
El tiempo de respuesta es aquel que transcurre permanecerá inactivo mientras se mantenga
durante la ejecución de un programa y este hace la la condición que dio lugar a la suspensión
función, sea interna o externa desde el momento en del proceso, sin embargo, una vez
el cual se le ordena ejecutar un proceso hasta que desaparecida dicha condición el PMP intenta
este implementa esa función y la realiza esto se asignar al proceso la cantidad de memoria
denomina como un tiempo de respuesta al proceso principal que requiera y volver a dejarlo en
situación de preparado. El PMP debe
Planificador: disponer de la información respecto a las
El planificador es el modulo del sistema operativo necesidades de la memoria de los procesos
que realiza las funciones de seleccionar el proceso suspendidos, lo cual no es complicado de
en estado de listo que pasa a estado de ejecución, llevar a la práctica ya que el tamaño real del
mientras que el activador es el modelo que pone en proceso puede ser calculado en el momento
ejecución el proceso planificado. de suspenderlo almacenándose en el bloque
de control del proceso (BCP)
Institución universitaria Antonio José Camacho. Castro, García, Pillimue. Planificación de procesos. 3

Ejemplo:
Proceso A → Tiempo ejecución → Tiempo
Algoritmo de planificación
llegada → Tiempo finaliza → Tiempo retorno →
Para estudiar el algoritmo de planificación es
Tiempo espera.
importante tener en cuenta que existen dos
categorías generales.

La planificación no apropiativa: Consiste en que En el caso de que los procesos de mayor tiempo de
una vez que el proceso pasa a estado de ejecución duración llegasen los primeros, el tiempo medio de
no abandona el procesador hasta que termina o espera sería mucho mayor. Podemos llegar a la
hasta que se bloquea en espera de una operación de conclusión de que este no es un algoritmo eficiente.
E/S o al solicitar algún servicio de sistema.
Este algoritmo está bien lo único que los procesos
La planeación apropiativa: Un proceso que está largos hacen esperar mucho a los cortos. Predecible.
ejecutando puede ser interrumpido por el sistema El tiempo medio de servicio es muy variable en
operativo para otorgar el procesador a un proceso función del número de procesos y su duración.
distinto en función de los criterios de planificación
utilizados; prioridad, número de usos del Ejemplos claros serian:
procesador. Servicios y eventos programados a menudo usan
una política de servicio diferente. Un restaurante
Algoritmo FCFS “Firts-Come, First-Served”: En puede tener reservas con antelación y reservar una
esta política de planificación, el procesador ejecuta mesa para que puedan asentar el partido cuando
cada proceso hasta que termina, por tanto, los llegan a la hora designada.
procesos que en cola de procesos preparados
permanecerán encolados en el orden en que lleguen Algoritmo SJF “Shortest Job First: Este algoritmo
hasta que les toque su ejecución. Este método se selecciona al proceso con
conoce también como FIFO (Primero en llegar el próximo tiempo ejecución más corto. En proceso
primero en salir). corto saltará a la cabeza de la cola. Ejecución de un
Se trata de una política muy simple y sencilla de proceso consiste en ciclos de ejecución de CP y
llevar a la práctica, pero muy pobre en cuanto a su ciclos de espera por E/S. El algoritmo selecciona
comportamiento. aquel proceso cuyo próximo ciclo de ejecución de
CP sea menor. El problema está en conocer dichos
La cantidad de tiempo de espera de cada proceso valores, pero podemos predecirlos usando la
depende del número de procesos que se encuentren información de los ciclos anteriores ejecutados
en la cola en el momento de su petición de
ejecución y del tiempo que cada uno de ellos tenga Las variaciones de este método de programación
en uso al procesador, y es independiente de las son:
necesidades del propio proceso.
 Menor tiempo de
. En la sociedad occidental es la política estándar procesamiento (SPT), también conocida
para el tratamiento de la mayoría de las colas en las como corta-restante-Time-Next (SRTn)
que la gente espera para un servicio que no estaba
predispuesta o pre- planificado.  Proceso más corto siguiente (SPN), Para
los procesos interactivos
Características: La base del método SJF es una clasificación similar
No apropiativa. Es justa, aunque los procesos largos a la FIFO método. En este caso, la longitud de
hacen esperar mucho a los cortos y Predecible. El es ráfagas de CPU (tiempo de cálculo) que se
tiempo medio de servicio es muy variable en utilizan para determinar la clasificación. Hilos con
función del número de procesos y su duración. una longitud de ráfaga corta son los más
Institución universitaria Antonio José Camacho. Castro, García, Pillimue. Planificación de procesos. 4

preferidos. En consecuencia, puede dar lugar al Round Robin:


problema de que un hilo con una larga ráfaga de Es un método para seleccionar todos los elementos
CPU casi nunca entra en juego. Eso sí, poco a en un grupo de manera equitativa y en un orden
problemas tales como las prioridades de racional, normalmente comenzando por el primer
formación. Si más de una CPU estalla misma elemento de la lista hasta llegar al último y
longitud, es el orden de llegada. empezando de nuevo desde el primer elemento.

Frente al método FCFS SJF, se puede demostrar Round Robin es uno de los algoritmos de
que SJF trae el tiempo de espera para un planificación de procesos más complejos y difíciles,
óptimo. Esto se compara con la gran desventaja de dentro de un sistema operativo asigna a cada
que el método no es práctico de implementar, ya proceso una porción de tiempo equitativa y
que la CPU se echó longitudes son generalmente ordenada, tratando a todos los procesos con la
desconocidos. Sin embargo, aproximadamente misma prioridad.
implementaciones son posibles.
 SRTF “Short Remaining Time First” Se define un intervalo de tiempo denominado
cuanto, cuya duración varía según el sistema. La
 Es similar al SJF, con la diferencia de
cola de procesos se estructura como una cola
que si un nuevo proceso pasa a listo se
circular. El planificado la recorre asignando un
activa el dispatcher para ver si es más
cuanto de tiempo a cada proceso. La organización
corto que lo que queda por ejecutar del
de la cola es FIFO.
proceso en ejecución. Si es así, el proceso
en ejecución pasa a listo y su tiempo de La determinación del tamaño del cuanto es vital
estimación se decremento con el tiempo para la operación efectiva de un sistema de
que ha estado ejecutándose. cómputo. Si el cuanto de tiempo es muy grande,
Los procesos llegan a la cola y solicitan un cada proceso tendrá el tiempo necesario para
intervalo de CPU terminar, de manera que el esquema de
Si dicho intervalo es inferior al que le falta al planificación por turno degenera en uno de primero-
proceso en ejecución para abandonar la CPU, el en-entrar-primero-en-salir. Si el cuanto es muy
nuevo proceso pasa a la CPU y el que se ejecutaba a pequeño, el gasto extra por cambio de proceso se
la cola de preparados. convierte en el factor dominante y el rendimiento
del sistema se degradará hasta el punto en que la
Funcionamiento:
mayor parte del tiempo se invierte en la
Los procesos llegan a la cola y solicitan un intervalo conmutación del procesador, con muy poco o
de CPU. Si dicho intervalo es inferior al que le falta ningún tiempo para ejecutar los programas de los
al proceso en ejecución para abandonar la CPU, el usuarios.
nuevo proceso pasa a la CPU y el que se ejecutaba a El tamaño del cuanto debe fijarse en el tamaño lo
la cola de preparados. bastante grande como para que la mayoría de las
Inconvenientes: peticiones interactivas requiera menos tiempo.
El intervalo de CPU es difícil de predecir
Posibilidad de inanición: los trabajos largos no se En este algoritmo a cada proceso se le asocia un
ejecutarán mientras hayan trabajos cortos. número entero de prioridad. Mientras menor sea
este entero pues mayor prioridad tiene el proceso,
por lo que la esencia del algoritmo es planificar la
entrada de procesos a la CPU de acuerdo a la
prioridad asociada de cada uno de ellos.
Un caso particular del algoritmo por prioridad es el
SJF, donde el valor del próximo ciclo de CPU
representa la prioridad. El algoritmo por prioridad
corrige algunas deficiencias del SJF,
Institución universitaria Antonio José Camacho. Castro, García, Pillimue. Planificación de procesos. 5

particularmente el retraso excesivo de procesos Un proceso que se ejecutó 50 mseg antes del
largos y el favoritismo por procesos cortos. bloqueo tendrá prioridad 2. Un proceso que utilizó
Una característica significativa es que todo el cuanto tendrá prioridad 1.
Periódicamente, se genera una interrupción de reloj. Frecuentemente los procesos se agrupan en “Clases
Cuando se genera la interrupción, el proceso que de Prioridad”, en cuyo caso se utiliza la
está en ejecución se sitúa en la cola de Listos y se Planificación con Prioridades entre las clases y con
selecciona el siguiente trabajo (apropiativo) Round Robin (RR) dentro de cada clase. Si las
prioridades no se reajustan en algún momento, los
Está diseñado específicamente para sistemas de procesos de las clases de prioridad mínima podrían
tiempo compartido. Se asigna un cuanto de tiempo demorarse indefinidamente.
(10-100ms.) de igual duración a todos los procesos
listos para ser ejecutados. Entre ellos, la selección
se realiza mediante una cola FIFO. Realimentación
Parámetro crítico: tamaño del cuánto. La
efectividad depende del tamaño del el cuanto pero
hay que tener en cuenta el tiempo dedicado al Cuando un proceso entra por primera vez en el
cambio de contexto sistema, se sitúa en RQ0 cuando vuelve al estado de
listo, después de su primera ejecución, se incorpora
Planificación por prioridad a RQ1 después de cada ejecución siguiente, se le
degradará al nivel inmediatamente inferior de
Los procesos de alta prioridad podrían ejecutar prioridad. Un proceso corto terminará rápidamente,
indefinidamente, ya que el planificador del sistema sin descender demasiado en las jerarquías de las
puede disminuir la prioridad del proceso en colas de Listos. Un proceso largo será gradualmente
ejecución en cada interrupción del reloj. Las llevado hacia abajo. Así, pues se favorece a los
prioridades también pueden ser asignadas procesos cortos frente a los más viejos y largos. Se
dinámicamente por el sistema para lograr ciertas usará un simple mecanismo de FCFS dentro de cada
metas relacionadas con el procesador o la Entrada / cola, excepto en la de menor prioridad. Una vez en
Salida. Los procesos limitados por la Entrada / la cola de menor prioridad, un proceso no puede
Salida (requerimientos intensivos de Entrada / descender, sino que vuelve a la misma cola
Salida) ocupan mucho de su tiempo en espera de repetidamente Hasta completar su ejecución. Por lo
operaciones de Entrada / Salida, por lo tanto: tanto, esta cola se tarda con turno rotatorio. A largo
plazo esta política se convierte en una política Fcfs.
Deben tener prioridad para usar la CPU y efectuar
la siguiente petición de Entrada / Salida, ya que se Es una variación de más corta siguiente trabajo
ejecutará (la operación de Entrada / Salida) en (SJN) y es un intento de evitar los problemas de
paralelo con otro proceso que utilice la CPU. hambre para trabajos de larga ejecución se estima
en sistemas ocupados con muchos puestos de
Si deben esperar mucho tiempo a la CPU estarán trabajo de ejecución corta.
ocupando memoria por un tiempo innecesario. En
caso de empate se aplica el FIFO primero en llegar Cuando un trabajo acaba de llegar a la
primero en salir. programación en espera es el tiempo de espera es
cero y que de prioridad es 1. A medida que el
Funcionamiento: tiempo de espera se incrementa la prioridad se
incrementa por un factor ponderado por se estima *
Un algoritmo sencillo consiste en establecer que la
tiempo de ejecución. Considere 2 procesos, uno con
prioridad sea “1 / f”, donde “f” es la fracción del
un tiempo de ejecución estimado de 5, el otro con
último cuanto utilizado por el proceso. Un proceso
10. Suponiendo que se colocan en la cola de
que utilice 2 mseg (dos milisegundos) de su cuanto
ejecución, al mismo tiempo, ambos tendrán una
de 100 mseg (cien milisegundos) tendrá prioridad
prioridad inicial de 1.
50 (cincuenta).
Institución universitaria Antonio José Camacho. Castro, García, Pillimue. Planificación de procesos. 6

Un proceso (s = 5) priority = 1 + 0/5 = 1 sigue acumulando tiempo de espera que es prioridad


seguirá aumentando hasta que se convierte en la
El procedimiento B (S = 10) priority = 1 + 1 = 0/10 más alta prioridad en el sistema y todos los demás
procesos tendrá que esperar a que se ejecute.
A medida que los procesos de esperar, sus aumentos
de prioridad proporcional a su tiempo de ejecución Tiempo de opinión: Este parece ser un mejor
era de esperar, digamos que tanto han esperado un algoritmo de SJN recta, pero en la práctica todavía
intervalo de 10: podría proporcionar una respuesta satisfactoria
percibida por el usuario en un sistema de propósito
Procedimiento A (S = 5) priority = 1 + 3 = 10/5
general ocupado. Los usuarios percibirán un sistema
El procedimiento B (S = 10) priority = 1 + 2 = de "ráfagas" que a veces dio respuestas rápidas,
10/10 pero con pausas largas. Yo prefiero programación
de estilo de preferencia para los sistemas
Como se puede ver las prioridades de cada interactivos. Para sistemas que no son interactivos,
incremento proceso, pero a un ritmo esto puede proporcionar un mejor rendimiento
diferente.Después del período de programación general ya que reduce los cambios de contexto
inicial, el proceso A va a ser recogido antes de caros.
ejecutar el proceso B. Una vez que un proceso es
recogido para funcionar, su tiempo de espera se • tenga en cuenta que estos son todos
pone a 0. estimado tiempos de ejecución, ya sea basados en
un valor inicial predeterminado o en el medio de la
Supongamos que el proceso A fue elegido para estimación anterior y el último tiempo real de
ejecutar después de que el período de espera previo, ejecución. Esto conduce a un problema de
pero el proceso B tuvo que esperar otros 10 programación si la estimación es muy imprecisa o
intervalos, y el proceso se convirtió en un nuevo tiene una serie de tiempos de ejecución cortos
computable. Las nuevas prioridades serían: seguidos por un tiempo muy largo plazo.
Proceso A (S = 5) = 1 + 0/5 = 1
Proceso B (S = 10) = 1 + 20/10 = 3
Suponiendo otros procesos con prioridad más alta
bloqueados ambos procesos para otro intervalo de
10 las nuevas prioridades se convierten en: Proceso
A = 1 + 10/5 = 3 Proceso B = 1 + 30/10 = 4
Y de nuevo tanto esperar 10: Proceso A = 1 + 20/5
= 5 Procedimiento B = 1 + 40/10 = 5
En este punto, ambos procesos tienen la misma
prioridad de nuevo y, o bien pueden ser recogidos,
pero en un sistema lleno que no está garantizado. Si
esperan de nuevo las nuevas prioridades serían:
Proceso A = 1 + 30/5 = 7
Proceso B = 1 + 6 = 50/10
Una vez más el proceso A se convierte en la más
alta prioridad, pero B sigue aumentando es
prioridad. Una será elegido primero y que a esperar
de nuevo se ponen a 0, pero desde B todavía se
Institución universitaria Antonio José Camacho. Castro, García, Pillimue. Planificación de procesos. 7

I. CONCLUSIONES

EL PROCESO DE SELECCIÓN DE UN ALGORITMO DE


PLANIFICACIÓN ES UNA TAREA BASTANTE
COMPLEJA, YA QUE DEPENDE DE QUE EL SISTEMA
OPERATIVO REALICE UNA ADECUADA GESTIÓN DE
PROCESOS CON LA MAYOR EFICACIA EN LA
CAPACIDAD DE RESPUESTA DE CADA UNA DE LAS
TAREAS QUE SE ESTÁN EJECUTANDO POR EL USUARIO.

ES DE VITAL IMPORTANCIA TENER EN CUENTA QUE LA


PLANIFICACIÓN NO MINIMIZARA SIEMPRE LOS
ÍNDICES DE DESEMPEÑO DEL SOFTWARE, LO CUAL SE
REQUIERE MAXIMIZAR EL USO DE LOS RECURSOS
PARA AUMENTAR EL DESEMPEÑO DES SISTEMA
OPERATIVO Y REDUCIR EL TIEMPO DE RESPUESTA
PARA DARLE UN MEJOR SERVICIO AL USUARIO.

REFERENCIAS
[1] .Sistemas operativos (5.0)
https://docs.google.com/viewer?a=v&pid=sites&srcid=Z
GVmYXVsdGRvbWFpbnx1bmlhamNjYWxpfGd4Ojc0Z
GY1MDhhMDUzODVjYWI)

[2] Willian Stallings. (1991, May 10). Networks (2nd ed.)

[3] https://docs.google.com/viewer?a=v&pid=sites&srcid=Z
GVmYXVsdGRvbWFpbnx1bmlhamNjYWxpfGd4OjFm
NTA0MjgxNjcyNTUyMzI

Das könnte Ihnen auch gefallen