INGENIERA EN INFORMTICA
SISTEMAS OPERATIVOS
Planificacin de procesos
Planificacin de procesos en Sistemas Operativos. Conjunto de polticas y mecanismos incorporados al sistema operativo, a travs de un mdulo denominado planificador, que debe decidir cul de los procesos en condiciones de ser ejecutado conviene ser despachado primero y qu orden de ejecucin debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo que consiste en el mximo aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos existentes en un momento dado.
Procesos
Un proceso es un programa en ejecucin. Existen 3 estados en los que puede encontrarse un proceso, estos son: "Listo", "Bloqueado" y "En ejecucin". Para el control de los mismos internamente son almacenados en una lista, cada uno de los nodos guarda informacin de un proceso. En esa informacin se almacena, entre otros aspectos, el estado en que se encuentra el proceso, el tiempo que el proceso ha usado el CPU, e informacin de E/S (entrada/salida). Los sistemas operativos cuentan con un componente llamado planificador, que se encarga de decidir cul de los procesos har uso del procesador. La toma de esta decisin, as como el tiempo de ejecucin del proceso, estar dada por un algoritmo, denominado Algoritmo de Planificacin.
Algoritmos de Planificacin
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 despus del que lleg antes que l y se pone en estado de listo. Cuando un proceso comienza a ejecutarse no se interrumpe su ejecucin hasta que termina de hacerlo. Prioridad al ms cort Su nombre es SJF (Shortest Job First). El proceso que se encuentra en ejecucin cambiar de estado voluntariamente, o sea, no tendr un tiempo de ejecucin determinado para el proceso. A cada proceso se le asigna el tiempo que usar cuando vuelva a estar en ejecucin, 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.
091100020
Ingeniera en informtica Sistemas Operativos. Round Robin A cada proceso se le asigna un tiempo determinado para su ejecucin, el mismo tiempo para todos. En caso de que un proceso no pueda ser ejecutado completamente en ese tiempo se continuar su ejecucin despus 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. Planificacin por prioridad En este tipo de planificacin 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. Planificacin garantizada Para realizar esta planificacin el sistema tiene en cuenta el nmero de usuarios que deben ser atendidos. Para un nmero "n" de usuarios se asignar a cada uno un tiempo de ejecucin igual a 1/n. Planificacin de Colas Mltiples 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 nmero determinado de colas ms pequeas. 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 planificacin diferente a las dems.
Tiempos
En la Planificacin 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 estn 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 estarn ejecutando constantemente los procesos ms cortos y los ms largos se encontrarn constantemente en espera, por lo que pueden entrar en inanicin. En Planificacin por prioridad los procesos de prioridad baja podran no ejecutarse nunca. Para dar solucin a este problema el envejecimiento de un programa eleva su prioridad. Tiempo de retorno del proceso Es el tiempo que transcurre desde la creacin de un proceso hasta que termina la ejecucin 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.
091100020
Como se puede Observar en la grafica el proceso A llego de primeras y no dejo el procesador hasta que haya culminado su ejecucin. El proceso B llego en el tiempo 2 pero debio esperar a que el proceso A terminara su ejecucion para asi tener acceso al procesador y ejercutarce. El proceso C al igual que el proceso B debe esperar aque el proceso B termine su ejecucion paque se pueda ejecutar y asi consecutivamente siempre dandole prioridad al proceso que llego antes a la lista de Listo. Para determinar el taza de respuesta se utiliza la formula(taza de respuesta=(tiempo de servicio+tiempo espera)/tiempo de servicio)
091100020
Calcular tiempo de espera y tiempo de retorno de cada trabajo, tiempo medio de espera y retorno, cuando la planificacin se realiza mediante el algoritmo de prioridades y del tipo no apropiativo. Solucin: Tiempo de Lleg. Tiempo de servicio 8 4 9 5 Tiempo de comienzo Tiempo de Finalizacin Tiempo de espera
Proceso
Prioridad
Turnaround
A 0 2 0 8 8 0 B 1 1 22 26 26-1=25 22-1=21 C 2 4 8 17 17-2=15 8-2=6 D 3 2 17 22 22-3=19 17-3=14 Promedio 16.75 10.25 Promedio Este algoritmo puede ser apropiativo y no apropiativo. En el caso de apropiativo, cuando un proceso llega a la cola de procesos listos, su prioridad es comparada con la prioridad del proceso que est corriendo. Si la prioridad del nuevo proceso es mayor, entonces se atiende al nuevo proceso. Planificacin de colas mltiples con prioridades Mediante este algoritmo de planificacin (ver figura) se le asigna a cada proceso una prioridad que deber coincidir con alguna de las prioridades asignadas a las colas de procesos listos. Cuando un proceso entre en el sistema se dirigir a la cola que le corresponda, no pudiendo cambiar de cola de procesos listos mientras est en el sistema, al contrario que la planificacin con realimentacin
091100020
091100020
Round Robin
Es un mtodo para seleccionar todos los elementos en un grupo de manera equitativa y en un orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al ltimo y empezando de nuevo desde el primer elemento. El planeamiento Round Robin es tan simple como fcil de implementar, y est libre de inanicin. Una forma sencilla de entender el round robin es imaginar una secuencia para "tomar turnos". En operaciones computacionales, un mtodo para ejecutar diferentes procesos de manera concurrente, para la utilizacin equitativa de los recursos del equipo, es limitando cada proceso a un pequeo periodo de tiempo (quantum), y luego suspendiendo ste proceso para dar oportunidad a otro proceso y as sucesivamente. A esto se le denomina comnmente como Planificacin Round-Robin.
091100020
091100020
091100020
Algoritmo de retroalimentacin
Este algoritmo de planificacin clasifica los procesos en diferentes grupos, de forma que podemos asignarlos a diferentes colas con distinta planificacin para gestionarlos de la manera que realmente necesitan. Los procesos se asignan permanentemente a una cola del sistema, generalmente en funcin de alguna propiedad del proceso, por ejemplo el tamao de memoria, la prioridad del proceso o el tipo de proceso. Por ejemplo, tenemos el grupo de procesos foreground (interactivos) y background (batch), que necesitan diferentes tiempos de respuesta.2 Cada uno de ellos estar gestionado en una cola distinta con un algoritmo de planificacin distinto, por ejemplo la cola de procesos foreground con Round Robin, y la de procesos background con FCFS. Adems debe existir un criterio de planificacin entre las colas. Puede ser de prioridad fija con requisa o sin requisa, o de prioridad variable con requisa o sin requisa. En los algoritmos FCFS, SJF y aquellos que utilizan prioridades, un proceso puede permanecer en el procesador hasta que realice una entrada/salida o hasta que termine. Si no termina o no realiza ninguna entrada/salida, el proceso podra llegar a monopolizar la CPU. Para evitar este monopolio, el mecanismo de requisa permite que un proceso pueda ser expulsado del procesador.1 El criterio de planificacin suele implementarse como prioridad fija con expropiacin2 4 que consiste en que no se puede ejecutar un proceso si hay algn otro en una cola ms prioritaria. Y si un proceso se est ejecutando y llega otro proceso ms prioritario que l, abandonar el procesador y se lo ceder al proceso con mayor prioridad. Las caractersticas de esta poltica de planificacin son:2 Es apropiativa, es decir si llega un proceso con mayor prioridad que el que se est ejecutando podr expulsarle y apropiarse del procesador. Cada cola tendr una prioridad interna, de acuerdo a su algoritmo de planificacin. Y cuando un proceso entre en la cola, automticamente se calcular su prioridad interna. Esto no afectar al funcionamiento global de las colas mltiples. El proceso que se ejecutar ser el de mayor prioridad. Y si hubiera varios, se elegir el mayor segn las normas de las polticas de gestin correspondientes. Si aplicamos la planificacin apropiativa de prioridad fija al ejemplo anterior, la cola de procesos foreground ser ms prioritaria que la de procesos background.2 Mientras haya procesos en la cola de foreground, los de la cola de background no se podrn ejecutar. Otra posibilidad sera realizar la expulsin con intervalos peridicos o quantum, repartiendo el tiempo entre las colas. En resumen, este algoritmo se puede definir por los siguientes parmetros: El nmero de colas. El algoritmo de planificacin de cada cola. El algoritmo de planificacin entre las distintas colas. El mtodo usado para determinar en qu cola se introducir un proceso cuando haya que darle servicio.
091100020
091100020
091100020