6
INSTITUTO TECNOLOGICO SUPERIOR DE CENTLA SISTEMAS OPERATIVOS II JOSE ROBERTO TORRES LOPEZ TEMA: ASIGNACIÓN DE PROCESOS Y ALGORITMOS PARA LA ASIGNACIÓN DE PROCESOS ( RR, FSC, ETC.) INTEGRNATES: BLANCA ESTELA GARCIA DE LA CRUZ LESLY ZETINA LAVALLE MIERCOLES 09 DE MARZO DEL 2011

Asiganacion de Procesos y Algoritmos de Asignacion de Procesos

Embed Size (px)

DESCRIPTION

Presentacion de power point

Citation preview

Page 1: Asiganacion de Procesos y Algoritmos de Asignacion de Procesos

INSTITUTO TECNOLOGICO SUPERIOR DE CENTLA

SISTEMAS OPERATIVOS II

JOSE ROBERTO TORRES LOPEZ

TEMA:

ASIGNACIÓN DE PROCESOS Y ALGORITMOS PARA LA

ASIGNACIÓN DE PROCESOS ( RR, FSC, ETC.)

INTEGRNATES:

BLANCA ESTELA GARCIA DE LA CRUZ

LESLY ZETINA LAVALLE

MIERCOLES 09 DE MARZO DEL 2011

Page 2: Asiganacion de Procesos y Algoritmos de Asignacion de Procesos

ASIGNACIÓN DE PROCESOS Y ALGORITMOS

DE ASIGNACIÓN DE PROCESOS

Generalmente se utilizan las siguientes hipótesis [25, Tanenbaum]:

Todas las máquinas son idénticas (o al menos compatibles en el código); difieren a lo sumo en

la velocidad.

Cada procesador se puede comunicar con los demás.

Las estrategias de asignación de procesadores se dividen en:

No migratorias:

Una vez colocado un proceso en una máquina permanece ahí hasta que termina.

Migratorias:

Un proceso se puede trasladar aunque haya iniciado su ejecución.

Permiten un mejor balance de la carga pero son más complejas.

Los algoritmos de asignación intentan optimizar algo:

Uso de las cpu:

Maximizar el número de ciclos de cpu que se ejecutan para trabajos de los usuarios.

Minimizar el tiempo de inactividad de las cpu.

Tiempo promedio de respuesta:

Minimizar no los tiempos individuales de respuesta sino los tiempos promedio de respuesta.

Tasa de respuesta:

Minimizar la tasa de respuesta, que es el tiempo necesario para ejecutar un proceso en cierta

máquina dividido por el tiempo que tardaría en cierto procesador de referencia.

Page 3: Asiganacion de Procesos y Algoritmos de Asignacion de Procesos

Los algoritmos deterministas son adecuados cuando se sabe anticipadamente todo acerca del

comportamiento de los procesos, pero esto generalmente no se da, aunque puede haber en ciertos casos

aproximaciones estadísticas.

Los algoritmos heurísticos son adecuados cuando la carga es impredecible.

Los diseños centralizados permiten reunir toda la información en un lugar y tomar una mejor

decisión; la desventaja es que la máquina central se puede sobrecargar y se pierde robustez ante su

posible falla.

Generalmente los algoritmos óptimos consumen más recursos que los subóptimos, además, en la

mayoría de los sistemas reales se buscan soluciones subóptimas, heurísticas y distribuidas.

Cuando se va a crear un proceso se debe decidir si se ejecutará en la máquina que lo genera o en otra

(política de transferencia):

La decisión se puede tomar “solo con información local” o “con información global”.

Los algoritmos locales son sencillos pero no óptimos.

Los algoritmos globales son mejores pero consumen muchos recursos.

Cuando una máquina se deshace de un proceso la política de localización debe decidir dónde enviarlo:

Necesita información de la carga en todas partes, obteniéndola de:

Un emisor sobrecargado que busca una máquina inactiva.

Un receptor desocupado que busca trabajo.

Page 4: Asiganacion de Procesos y Algoritmos de Asignacion de Procesos

ALGORITMOS DE ASIGNACIÓN DE

PROCESOS (RR, FSC, ETC.)

Algoritmos de Schedulling:

FCFS (First Come First Served)

Cuando un proceso llega a la cola de ready su PCB es agregado al final de la lista. El uso de la

CPU es otorgado al primero de la lista y una vez que un proceso comienza a ejecutar no deja de

hacerlo hasta que se termina. El tiempo medio de espera para este algoritmo suele ser bastante

alto.

SJF (Shortest Job First)

Una vez que un proceso ejecuta no deja de hacerlo hasta que voluntariamente cambia de

estado (no hay interrupción por tiempo). Asocia a cada proceso el tiempo de CPU que habrá de

usar en su próxima vuelta y va a decidir por el más pequeño. Si hubiera mas de uno utiliza

FCFS para desempatar. El mayor problema de este algoritmo radica en el cálculo de tiempo de

uso de CPU. Este se puede aproximar a:

Tn+1=.tn+(1-)Tn

0<<1 Tiempo calculado en la vuelta n

Próximo uso de CPU Tiempo usado en la vuelta n

El problema de este algoritmo es que el tiempo de espera para los procesos largos puede ser

demasiado largo. Constantemente se están entregando los procesos mas cortos y el más grande

nunca será ejecutado.

Page 5: Asiganacion de Procesos y Algoritmos de Asignacion de Procesos

El FJS se puede subdividir en 2 tipos de algoritmos: PREEMPTIVO o NO PREEMPTIVO

Preemptivo significa que si mientras un proceso se esta ejecutando, entra a la cola de ready un proceso mas

corto, el proceso en la cola de ready se apropia de la CPU y comienza su ejecución.

Priority Schedulling

Asocia a cada proceso una prioridad. Luego selecciona el proceso con mas prioridad para desempatar. En caso de

que hubieran dos o mas procesos con la misma prioridad, se usa FCFS para desempatar. Hay dos tipo de

prioridad en los procesos: la prioridad externa definidas a través del sistema operativo y la prioridad interna

definida por el tiempo de uso de la CPU, el control de E/S, etc. Este algoritmo también se puede ejecutar de dos

maneras: preemptivo y no preemptivo. El algoritmo soluciona el problema del looping pero el problema es que

los procesos con prioridad muy baja tienen chance de no ejecutarse nunca. Para solucionar este problema de

espera infinita el envejecimiento de un proceso eleva su prioridad.

Round Robin

Este es un algoritmo basado en FCFS. Trata la cola de ready como una lista circular. Introduce el concepto de

“Quantum” o “Time slice” : mayor tiempo de cpu que podrá hacer uso un proceso en cada vuelta. Si el valor del

Quantum fuese muy grande, el algoritmo funcionara como un FCFS. Si el Quantum fuera muy chico se produce

un overhead por context switch (significa que el Quantum se setea en un tiempo menor al que demora el context

switch). Este algoritmo es fuertemente dependiente del Quantum o Time Slice. El Quantum debe ser mayor que

el 80% de los tiempos de CPU que hagan uso los procesos, pero no el proceso entero sino por cada burst.

MQS (Multilevel Queue Schedulling)

Este algoritmo parte la cola de ready en un numero de colas n. Luego existe un criterio para clasificar en que

cola será colocado un proceso cuando que queda en estado de ready. Cada cola puede manejar su propio

algoritmo de schedulling.

MFQS (Multilevel Feed Back Queue Schedulling)

Define los siguientes parámetros:

Numero de colas

Algoritmo de schedulling usado en cada cola

Método para decidir a que cola entrara un proceso cuando entre a estado de ready

Método para decidir cuando un proceso será enviado a una cola de menor prioridad.

Page 6: Asiganacion de Procesos y Algoritmos de Asignacion de Procesos

CONCLUSIÓN:

Los algoritmos para la asignación de procesos son

aquellos algoritmos que son establecidos para

optimizar el rendimiento de las computadoras a

ejecutar un mayor numero de procesos de una

forma más rápida , utilizando lógicamente una

toma de decisiones conforme a una prioridad en el

SO.

BIBLIOGRAFÍAS

Sistemas Operativos – William Stallings

Sistemas Operativos – Andrew S. Tanembaum

www.monografias.com

http://exa.unne.edu.ar/depar/areas/informatica/Si

stemasOperativos/SOF.htm