You are on page 1of 10

Procesador .

Un procesador es el conjunto de circuitos que responde a y procesa las instrucciones bsicas que controlan a un computador, es por decirlo de alguna manera, el cerebro del ordenador. Permite el procesamiento de informacin numrica, es decir, informacin ingresada en formato binario, as como la ejecucin de instrucciones almacenadas en la memoria.

Planificacin del cpu

La planificacin de la CPU, en el sentido de conmutarla entre los distintos procesos, es una de las funciones del sistema operativo. Este despacho es llevado a cabo por un pequeo programa llamado planificador a corto plazo, consiste en asignar la CPU a uno de los procesos ejecutables del sistema, para ello sigue un determinado algoritmo. Planificacin a largo plazo Este planificador est presente en algunos sistemas que admiten adems de procesos interactivos trabajos por lotes. Usualmente , se les asigna una prioridad baja a los trabajos por lotes, utilizndose estos para mantener ocupados a los recursos del sistema durante perodos de baja actividad de los procesos interactivos. Normalmente, los trabajos por lotes realizan tareas rutinarias como el clculo de nminas; en este tipo de tareas el programador puede estimar su gasto en recursos, indicndoselo al sistema. Esto facilita el funcionamiento del planificador a largo plazo. El objetivo primordial del planificador a largo plazo es el de dar al planificador de la CPU una mezcla equilibrada de trabajos, tales como los limitados por la CPU (utilizan mucho la CPU) o la E/S. As, por ejemplo, cuando la utilizacin de la CPU es baja, el planificador puede admitir ms trabajos para aumentar el nmero de procesos listos y, con ello, la probabilidad de tener algn trabajo til en espera de que se le asigne la CPU. A la inversa, cuando la utilizacin de la CPU llega a ser alta, y el tiempo de respuesta comienza a reflejarlo, el planificador a largo plazo puede optar por reducir la frecuencia de admisin de trabajos. Normalmente, se invoca al planificador a largo plazo siempre que un proceso termina. La frecuencia de invocacin depende, pues, de la carga del sistema, pero generalmente es mucho menor que la de los otros dos planificadores. Esta baja frecuencia de uso hace que este planificador pueda permitirse utilizar algoritmos complejos, basados en las estimaciones de los nuevos trabajos.

Planificacin a Medio Plazo En los sistemas de multiprogramacin y tiempo compartido varios procesos residen en la memoria principal. El tamao limitado de sta hace que el nmero de procesos que residen en ella sea finito. Puede ocurrir que todos los procesos en memoria estn bloqueados, desperdicindose as la CPU. En algunos sistemas se intercambian procesos enteros (swap) entre memoria principal y memoria secundaria (normalmente discos), con esto se aumenta el nmero de procesos, y, por tanto, la probabilidad de una mayor utilizacin de la CPU. El planificador a medio plazo es el encargado de regir las transiciones de procesos entre memoria principal y secundaria, acta intentando maximizar la utilizacin de los recursos. Por ejemplo, transfiriendo siempre a memoria secundaria procesos bloqueados, o transfiriendo a memoria principal procesos bloqueados nicamente por no tener memoria. Planificacin a corto plazo Tambin llamado short-term scheduler o low scheduler, es el responsable de decidir quin, cundo, cmo y por cunto tiempo recibe el procesador un proceso que est preparado (ready queue) para ejecutar (los recursos a esta altura ya deben estar todos disponibles para este trabajo). Adems en sistemas operativos con esquemas expropiativos (se quita el recurso procesador al proceso) verifica las interrupciones.

Criterios de planificacin Utilizacin de CPU mantener el CPU tan ocupado como sea posible Rendimiento (Throughput) # de procesos que completan su ejecucin por unidad de tiempo Tiempo de vuelta cantidad de tiempo para ejecutar un proceso particular Tiempo de espera cantidad de tiempo que un proceso ha esperado en la cola listos

Tiempo de respuesta cantidad de tiempo que toma desde que una solicitud se realiza hasta que se produce la primera respuesta, no salida (para ambientes de tiempo-compartido)

Criterios de optimizacin de la planificacin del cpu Utilizacin max CPU Rendimiento max Tiempo mnimo de vuelta (turnaround) Tiempo mnimo de espera Tiempo mnimo de respuesta

Planificacin apropiativa y no apropiativa La planificacin apropiativa es aquella en la cual una vez que a un proceso le toca su turno de ejecucin ya no puede ser suspendido, se le puede arrebatar la unidad central de procesamiento; es decir, cuando un proceso puede ser expropiado obligadamente. La planificacin no apropiativa cuando los procesos se le acaba el tiempo y tenga que salir voluntariamente. Una vez que el proceso pasa al estado de ejecucin, contina ejecutando hasta que termina, se bloquean en espera de una E/S o al solicitar algn servicio del sistema. Esta poltica de ejecucin para terminacin fue implementada en los primeros sistemas de lote

Caractersticas de planificacin apropiativa


Es til cuando los procesos de alta prioridad requieren atencin rpida. Es importante para garantizar buenos tiempos de respuesta en sistemas interactivos de tiempo compartido. Tiene su costo en recursos, ya que el intercambio de contexto implica sobrecarga y adems requiere mantener muchos procesos en el almacenamiento principal, en espera de la cpu, lo que tambin implica sobrecarga.

Caractisticas de planificacin no apropiativa


Significa que los trabajos largos hacen esperar a los trabajos cortos. Logra ms equidad en el tratamiento de los procesos. Logra hacer ms predecibles los tiempos de respuesta puesto que los trabajos nuevos de prioridad alta no pueden desplazar a los trabajos en espera.

Despachador Es el modulo que proporciona el control de la cpu a los procesos seleccionados por el planificador a corto plazo. El despachador debe ser lo ms rpido posible, tal que se invoca en cada conmutacin de procesos Accin del despachador El tiempo que se tarde el despachador en detener un proceso e india la ejecucin de otro. Cambio de contexto. Cambio al modo usuario. Iniciar la ejecucin del proceso de acuerdo al contenido del contador del programa.

Algoritmo de planificacin

Planificacin Primero en Entrar-Primero en Salir (FIFO): Cuando se tiene que elegir a qu proceso asignar la CPU se escoge al que llevara ms tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea

voluntariamente. La ventaja de este algoritmo es su fcil implementacin, sin embargo, no es vlido para entornos interactivos ya que un proceso de mucho clculo de CPU hace aumentar el tiempo de espera de los dems procesos.

Planificacin por turno 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 nombre del algoritmo viene del principio de Round-Roubin conocido de otros campos, donde cada persona toma una parte de un algo compartido en cantidades parejas. 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 perodo (quantum), y luego suspendiendo ste proceso para dar oportunidad a otro proceso y as sucesivamente. A esto se le denomina comnmente como Planificacin RoundRobin.

Planificacin a la Tasa de Respuesta ms Alta Esta planificacin corrige algunas deficiencias de SJF, particularmente, el retraso excesivo de trabajos largos, y el favoritismo excesivo por los trabajos cortos. HRN es un disciplina de planificacin no apropiativa en la cual la prioridad de cada proceso no slo se calcula en funcin del tiempo de servicio, sino tambin del tiempo que ha esperado para ser atendido. Cuando un trabajo obtiene el procesador, se ejecuta hasta terminar. Las prioridades dinmicas en HRN se calculan de acuerdo con la siguiente expresin: Como el tiempo de servicio aparece en el denominador, los procesos cortos tendrn preferencia. Pero como el tiempo de espera aparece en el numerador, los procesos largos que han esperado tambin tendrn un trato favorable. Planificacin por el Comportamiento Con este tipo de planificacin se pretende garantizar a los procesos de usuario cierta prestacin del sistema y tratar de cumplirla. Si en un sistema tenemos n procesos de usuario lo normal ser garantizar a cada uno de ellos al menos 1/n de la potencia del procesador. Para ello necesitamos del tiempo consumido por el procesador y el tiempo que lleva el proceso en el sistema. La cantidad de procesador que tiene derecho a consumir el proceso ser el cociente entre el tiempo que lleva en el sistema entre el nmero de procesos que hay en el sistema. A esa cantidad se le puede asociar una prioridad que vendr dada como el cociente entre tiempo de procesador que ha consumido y el tiempo que se le prometi (el tiempo que tiene derecho a consumir). De tal modo que si esa proporcin es de 05 significa que tan slo ha consumido la mitad del tiempo prometido pero si es de 2 quiere decir que ha consumido ms de lo debido, justamente el doble. En sistemas de tiempo real se puede adoptar una variante de este algoritmo en el que se otorgue mayor prioridad al proceso cuyo riesgo de no cumplir el plazo sea mayor.

Planificacion First-Come, First Served (FCFS) La poltica ms simple de planificacin es la FCFS. A medida que un proceso pasa al estado listo, este es agregado a la cola de listos. Cuando el proceso que actualmente est ejecutando cesa su ejecucin entonces el proceso ms viejo en la cola es seleccionado para correr. La implementacin de esta poltica es a travs de colas FIFO (First-In, First-Out). Cuando el CPU est libre, ste es asignado al proceso que est en la cabeza de la cola. FCFS es un algoritmo nonpreemptive, pues una vez que el CPU es asignado a un proceso, este lo mantiene hasta que espontneamente lo suelta, ya sea porque el

proceso finaliz o por algn requerimiento de E/S. El tiempo de espera bajo esta poltica tiende a ser alto. Adems , tiende a favorecer aquellos procesos que requieren ms tiempo de CPU ( CPU-bound). Consideren el caso donde tenemos una coleccin de procesos. Uno de ellos utiliza ms CPU que los otros, y el resto de los procesos requieren ms trabajo de E/S (I/O-bound). Cuando el proceso CPU-bound ejecuta, los otros procesos esperan. Algunos de estos estarn en las colas de los dispositivos de E/S pero eventualmente en algn instante pasarn a la cola de procesos listos. En este momento, muchos de los dispositivos de E/S estarn ociosos. Cuando el proceso en ejecucin deje el estado Running, los procesos I/O-bound pasarn a ejecutar y rpidamente volvern a bloquearse en espera de E/S. Si el proceso CPUbound se encuentra bloqueado, entonces el procesador estar ocioso. Por lo tanto, FCFS puede ocasionar un uso indeficiente tanto del procesador como de los dispositivos de E/S. Proceso Tiempo Tiempo Tiempo Tiempo de Turnaround Tiempo de de de Finalizacin de llegada Servicio Comienzo Espera 0 1 2 3 1 100 1 100 0 1 101 102 1 101 102 202 1 100 100 199 100 0 0 1012=99 1023=99 49.50

A B C D Promedio

Proceso

Tiempo Tiempo Tiempo Tiempo de Turnaround Tiempo de de de Finalizacin de llegada Servicio Comienzo Espera 0 1 2 3 100 100 1 1 0 100 200 201 100 200 201 202 100 199 201-2=199 202-3=199 0 1001=99 2002=198 201-

B D A C

3=198 Promedio 232 123.50

El tiempo promedio de espera bajo una poltica FCFS generalmente no es mnimo y puede variar sustancialmente si hay mucha diferencia entre las duraciones de ciclo de los procesos. En el segundo ejemplo, se presenta un efecto convoy donde los procesos esperan a que un proceso grande deje el CPU

Planificacin Shortest-Job-First (SJF) Este algoritmo selecciona al proceso con el prximo tiempo de ejecucin ms corto. Un proceso corto saltar a la cabeza de la cola. La ejecucin de un proceso consiste en ciclos de ejecucin de CPU y ciclos de espera por E/S. El algoritmo selecciona aquel proceso cuyo prximo ciclo de ejecucin de CPU sea menor. El problema est en conocer dichos valores, pero podemos predecirlos usando la informacin de los ciclos anteriores ejecutados.

SJF Proceso Tiempo Tiempo Tiempo Tiempo de Turnaround Tiempo de de de Finalizacin de llegada Servicio Comienzo Espera 0 1 2 3 8 4 9 5 0 8 17 12 8 12 26 17 8 12-1=11 26-2=24 0 8-1=7 172=15

A B C D Promedio

17-3=14 12-3=9 14.25 10.33

FCFS Proceso Tiempo Tiempo Tiempo Tiempo de Turnaround Tiempo de de de Finalizacin de llegada Servicio Comienzo Espera 0 1 2 3 8 4 9 5 0 8 12 21 8 12 21 26 8 12-1=11 21-2=19 26-3=23 20.33 0 8-1=7 122=10 213=18 11.66

A B C D Promedio

El SJF es probablemente optimal pues da el mnimo tiempo promedio de espera. El problema est en conocer la duracin del prximo requerimiento de CPU para cada proceso. Esta duracin puede predecirse suponiendo que el prximo ciclo puede ser similar a los anteriores.

Este algoritmo puede ser preemptive o no. Cuando un nuevo proceso llega a la cola de procesos listos mientras otro se est ejecutando, el nuevo proceso puede tener el ciclo de duracin de CPU ms corto que lo que falta por ejecutar del proceso actual. En el caso de un esquema preemptive, el CPU ser asignado al proceso que acaba de llegar a la cola. Este algoritmo se conoce como Shortest Remaining Time First (SRTF).

Planificacin por Prioridad En muchos sistemas, los procesos tienen prioridades asignadas, y el planificador escoger aquel proceso con mayor prioridad.

Cuando un proceso debe ser seleccionado, el planificador por prioridades seleccionar aquel proceso que tenga mayor prioridad. Si hay ms de un proceso entonces se deber seguir alguna poltica de seleccin.

Un problema que presenta un esquema de planificacin por prioridades puro es que los procesos con la prioridad ms baja pueden sufrir de inanicin o bloqueo indefinido. Un proceso que est listo para correr pero espera porque siempre hay procesos con prioridad ms alta. Para evitar este problema, se puede ir incrementando gradualmente la prioridad de los procesos (envejecimiento). SJF es un caso especial de planificacin por Prioridad, donde la prioridad es el inverso del valor estimado del prximo ciclo de CPU ( a menor ciclo, mayor prioridad).

Proceso

Tiemp Priorida Tiempo Tiempo Tiempo de Turnaroun Tiempo o de d de de Finalizaci d de llegada Servici Comienz n Espera o o 0 1 2 3 2 1 4 2 8 4 9 5 0 22 8 17 8 26 17 22 8 26-1=25 17-2=15 22-3=19 0 221=21 8-2= 6 173=14

A B C D Promedi o

You might also like