PLANIFICACION DE MICROPROCESADORES Introducción En un sistema multiprogramado la memoria principal contiene varios procesos. Estos procesos alternan entre usar el procesador y esperar a que se lleve a cabo una operación de E/S o que ocurra otro suceso. El procesador ejecuta un proceso mientras los demás procesos están en espera. La planificación es la clave de la multiprogramación. Son cuatro los tipos de planificación que normalmente entran en juego en la multiprogramación. En esta unidad veremos solo los tres primeros tipos de planificación del procesador y la forma en que se relacionan. Nos daremos cuenta que las planificaciones a largo y medio plazo están conducidas hacia el objetivo principal de los aspectos de rendimiento relativos al grado de multiprogramación. Tipos de Planificación El objeto de la planificación del procesador es asignar los procesos al procesador para que sean ejecutados en algún momento, de tal manera que los objetivos del sistema se cumplan, como el tiempo de respuesta, la eficiencia del procesador y la productividad. En muchos sistemas la planificación se divide en tres funciones independientes: Planificación a largo, medio y corto plazo. Se les da estos nombres por la frecuencia relativa con las que son ejecutadas estas funciones. Figura 1: Planificación y transiciones de estado de los procesos La figura anterior relaciona las funciones de planificación con el diagrama de transición de estados de un proceso. La planificación a largo plazo se lleva a cabo al crear un proceso nuevo. La planificación a medio plazo forma parte del proceso de intercambio y tiene como origen la decisión de añadir un proceso a los que se encuentran en memoria principal disponibles para ejecutar. La planificación a corto plazo es la decisión de cual proceso en estado Listo será el que se ejecute a continuación. Figura 2: Niveles de planificación En la figura anterior se reorganiza el diagrama de transición de estados para representar gráficamente el anidamiento de las funciones de planificación. La planificación afecta al rendimiento del sistema, pues determina qué proceso esperará y qué proceso continuará. La planificación es una gestión de las colas involucradas en las transiciones de estado de un proceso que minimice la espera y optimice el rendimiento del entorno. Planificación a largo plazo Este tipo de planificación determina cuales son los programas admitidos en el sistema. Así, se controla el grado de multiprogramación. Cuando un trabajo o un programa de usuario es admitido, se convierte en un proceso y se añade a la cola del planificador a corto plazo. Hay algunos sistemas en los que los procesos recién creados se añaden a la cola del planificador a medio plazo. En los sistemas de proceso por lotes los procesos recién creados se encaminan hacia el disco y permanecen detenidos en una cola de procesamiento por lotes. El planificador a largo plazo creara procesos a partir de la cola cuando sea posible. Aquí entran en juego dos decisiones: Primero, el planificador debe decidir si el sistema operativo puede acoger algún proceso más. Segundo, el planificador debe decidir qué trabajos son aceptados y se convierten en procesos. Planificación a medio plazo Esta planificación forma parte de la función de intercambio. La decisión de cargar un proceso en memoria principal se basa en la necesidad de controlar el grado de multiprogramación. En un sistema que no emplee memoria virtual, la gestión de memoria también es un punto a tratar. Así pues, la decisión de carga en memoria tendrá en cuenta las necesidades de memoria del proceso descargado. Planificación a corto plazo El planificador a largo plazo se ejecuta con muy poca frecuencia, tomando una primera decisión sobre si tomar o no un nuevo proceso y cuál tomar. El planificador a medio plazo se ejecuta con algo mas de frecuencia, para tomar la decisión de intercambio. El planificador a corto plazo, también conocido como distribuidor (dispatcher), es el de ejecución mas frecuente y toma decisiones con un mayor detalle sobre el proceso que se ejecutara a continuación. El planificador a corto plazo se ejecuta cuando ocurre un suceso que puede conducir a la interrupción del proceso actual o que ofrece la oportunidad e expulsar de la ejecución al proceso actual a favor de otro. Algunos de estos sucesos son: Interrupciones del reloj Interrupciones de E/S Llamadas al sistema operativo Señales Algoritmos de Planificación Criterios de la planificación a corto plazo El objetivo principal de la planificación a corto plazo es repartir el tiempo del procesador de tal manera que se optimicen algunos puntos del comportamiento del sistema. Por lo general, se fija un conjunto de criterios para evaluar las diversas estrategias de planificación. El criterio que mas se emplea establece dos clasificaciones: Primera, se puede hacer una distinción entre los criterios orientados al usuario y los orientados al sistema. Los criterios orientados al usuario se refieren al comportamiento del sistema tal y como lo perciben los usuarios o los procesos individuales. Otros criterios están orientados al sistema, esto es, están enfocados en el uso efectivo y eficiente del procesador. Mientras que los criterios orientados a usuario son importantes en todos los sistemas, los criterios orientados al sistema tienen menor importancia en los sistemas monousuarios. Otra forma de clasificación es considerar los criterios relativos al rendimiento del sistema y los que no lo son. Los criterios relativos al rendimiento son cuantitativos y pueden evaluarse fácilmente. Los criterios no relativos al rendimiento son cualitativos y no pueden ser evaluados o analizados fácilmente. La mayoría de los sistemas operativos interactivos, bien sean de un solo usuario o de tiempo compartido, tienen un requisito fundamental, un tiempo de respuesta adecuado. Criterios de planificación. Criterios orientados al usuario, Criterios de rendimiento Tiempo de respuesta Tiempo de retorno Plazos Es el intervalo de tiempo transcurrido desde que se emite la solicitud hasta que se comienza a recibir la respuesta. Es el intervalo de tiempo transcurrido entre el lanzamiento de un proceso y su finalización. Es la suma del tiempo de ejecución real y el tiempo consumido en la espera. Cuando se pueden especificar plazos de terminación de un proceso. Criterios orientados al usuario, Otros criterios Previsibilidad Un determinado trabajo debe ejecutar aproximadamente en el mismo tiempo sin importar la carga del sistema. Las variaciones elevadas del tiempo de respuesta resultan molestas para el usuario. Criterios orientados al sistema, Criterios relativos al rendimiento. Productividad Utilización del procesador Maximizar números de procesos por unidad de tiempo Porcentaje de tiempo en el que el procesador está ocupado. Criterios orientados al sistema, Otros criterios Equidad Prioridades Recursos equilibrados En ausencia de instrucciones de usuario o de instrucciones del sistema, los procesos deben ser tratados de igual forma Cuando se asignan prioridades a los procesos, se debe favorecer a los de mayor prioridad La política de planificación debe mantener ocupados los recursos del sistema y favorecer a los procesos que no utilicen recursos sobrecargados. Uso de prioridades En muchos de los sistemas, cada procesos tiene asignada una prioridad y el planificador deberá seleccionar siempre a la de mayor prioridad. Un ejemplo de uso de prioridades es el siguiente: En la figura se muestra n cantidad de colas acomodadas por prioridad donde: RQ0 > prioridad RQ1 y así sucesivamente. Cuando entra un proceso se acomoda según su prioridad en la cola que debe estar y el procesador primero ejecutará los procesos de mayor prioridad hasta que termine con ellos y seguirá con los de menor prioridad hasta que llegue a los de la más baja prioridad. Pero un problema con este tipo de planificación es que si siempre hay procesos de muy alta prioridad nunca se van atender a los procesos de más baja prioridad. Modo de decisión.- Hay dos tipos de modos de decisión que son el No apropiativo y el apropiativo. No Apropiativo.- Una vez que el proceso pasa al estado de ejecución sigue ejecutándose hasta que termina o se bloquea en espera de un dispositivo de E/S. Apropiativo.- Este proceso mientras se ejecuta puede ser interrumpido por el sistema operativo. CARACTERÍSTICAS DE VARIAS POLÍTICAS DE PLANIFICACIÓN FCFS Turno SPN SRT HRRN rotatorio Función de Max [W] constante Min [s] Min [s-e] Max selección (w+s)/s Modo de No Apropiativo No Apropiativo Apropiativo decisión apropiativo apropiativo Productividad No Baja Alta Alta Alta relevante Tiempo de Alto Bueno Bueno Bueno Bueno respuesta Sobrecarga Mínima Baja Alta Alta Alta Inanición No No Posible Posible No Realimentación (ver texto) Apropiativo No relevante No relevante Alta Posible W = tiempo consumido hasta el momento en el sistema, esperando y ejecutando E = tiempo consumido hasta el momento en ejecución S = tiempo total de servicio exigido por el proceso Primero en llegar, primero en ser atendido (FCFS) First-come, First-served Es la política más simple de planificación, el primero en llegar es el primero en ser atendido Los procesos se van a cumulando en la cola y se va contando el tiempo de que llevan esperando. Un problema es que favorece a los procesos de CPU frente a los que tienen carga de E/S. Un problema del FCFS es que tiende a favorecer a los procesos con carga de CPU frente a los que tienen carga de E/S. Supóngase un conjunto de procesos, uno de los cuales usa principalmente la CPU y los otros se dedican a hacer E/S. Cuando un proceso con carga de CPU esta ejecutando, todos los que tienen carga de E/S deben esperar. Algunos de ellos pueden estar en colas de E/S (estado bloqueado) pero puede ser que regresen a la cola de Listos mientras el de la carga de CPU todavía esta ejecutando. Llegado este momento, todos o la mayoría de los dispositivos de E/S estarán ociosos, a pesar de que, posiblemente, haya trabajo para ellos. Cuando el proceso que esta actualmente en ejecución abandone el estado Ejecutando, los procesos Listos con carga de E/S pasaran rápidamente por el estado de ejecución y volverán a bloquearse por sucesos de E/S . Si el proceso con carga de CPU también esta bloqueado, el procesador pasa a estar desocupado. Así pues, FCFS puede dar como resultado un uso ineficiente tanto del procesador como de los dispositivos de E/S. Turno rotatorio Un modo sencillo de reducir la penalización que sufren los trabajos cortos con FCFS es considerar apropiación dependiente de un reloj. La mas simple de estas políticas se denomina planificación por turno rotatorio (RR, Round-robin). Periódicamente, se genera una interrupción de reloj. Cuando se genera la interrupción, el proceso que esta en ejecución se sitúa en la cola de Listos y se selecciona el siguiente trabajo, según un FCFS. Esta técnica se conoce también como fracciones de tiempo, puesto que cada proceso recibe una fracción de tiempo antes de ser expulsado. Con la política del turno rotatorio, la cuestión principal de diseño es la longitud del cuanto de tiempo o fracción que se va a usar. Si el cuanto es muy pequeño, los procesos cortos pasan por el sistema rápidamente. Por otro lado, se produce una sobrecarga en la gestión de las interrupciones del reloj y en la ejecución de las funciones de planificación y expedición. Por tanto, se deben evitar los cuantos pequeños. Una referencia útil consiste en que el cuanto debe ser ligeramente mayor que el tiempo necesario para un interacción. Si es menor, la mayoría de los procesos necesitaran al menos dos cuantos. El turno rotatorio es particularmente efectivo en sistemas de propósito general y de tiempo compartido o de proceso de transacciones. Una desventaja del turno rotatorio es el tratamiento que hace de los procesos con carga de procesador y con carga de E/S. Generalmente, un proceso con carga de E/S tiene ráfagas de procesador (cantidad de tiempo consumido ejecutando entre dos operaciones de E/S) mas cortas que un proceso con carga de procesador.. Si hay una mezcla de procesos con carga de procesador y con carga de E/S, ocurrirá lo siguiente: Un proceso con carga de E/S utiliza el procesador durante un periodo corto y después se bloquea en la E/S; espera a que se complete la operación de E/S y entonces vuelve a la cola de Listos. Por otro lado, un proceso con carga de procesador generalmente hace uso de un cuanto de tiempo completo cuando ejecuta e, inmediatamente, retorna a la cola de Listos. Así, pues, los procesos con carga de procesador tienden a recibir una porción desigual de tiempo de procesador, lo que origina un rendimiento pobre de los procesos con carga de E/S, un mal aprovechamiento de los dispositivos de E/S y un incremento de la variabilidad del tiempo de respuesta. Una variante del turno rotatorio que evita esta desigualdad se denomina turno rotatorio virtual (VRR, Virtual Round-robin). Los nuevos procesos llegados se unen a la cola de Listos, que se gestiona según un FCFS. Cuando un proceso termina su cuanto de ejecución, vuelve a la cola de Listos. Cuando un proceso se bloquea por una E/S, se añade a la cola de E/S. Hasta ahora, el tratamiento es el normal. La nueva característica consiste en una cola FCFS auxiliar a la que se desplazan los procesos una vez que son liberados de la espera por E/S. Al tomar una decisión sobre el siguiente proceso a expedir, los procesos de la cola auxiliar tienen preferencia sobre los de la cola principal de Listos. Cuando se expide un proceso desde la cola auxiliar, no puede ejecutar mas que un tiempo igual al cuanto básico menos el tiempo total de ejecución consumido desde que fue seleccionado por ultima vez en la cola de Listos. Primero el proceso mas corto Otra forma de reducir el sesgo favorable al proceso mas largo inherente al FCFS es la política de primero el proceso mas corto (SPN, Shortest Process Next), una política no apropiativa en la que se selecciona el proceso con menor tiempo esperado de ejecución. Así pues, un proceso corto saltara a la cabeza de la cola, sobrepasando a trabajos largos. Una dificultad que plantea la política SPN es la necesidad de conocer o, por lo menos, estimar, el tiempo exigido por cada proceso. Para trabajos por lotes, el sistema puede solicitar al programador que estime el valor y se lo proporcione al sistema operativo. Si la estimación del programador esta considerablemente por debajo del tiempo de ejecución real, el sistema puede abandonar el trabajo. Un riesgo que existe en SPN es la posibilidad de inanición para los procesos largos mientras exista un flujo continuo de procesos mas cortos. Por otro lado, aunque SPN reduce el sesgo favorable a los procesos largos, no es conveniente para entornos de tiempo compartido o de procesamiento de transacciones, debido a la ausencia de apropiación. Menor tiempo restante La política del menor tiempo restante (SRT, Shortest Remaining Time) es una versión apropiativa del SPN, en la que el planificador siempre elige al proceso que le queda menos tiempo esperado de ejecución. Cuando se añade un nuevo proceso a la cola de Listos, puede quedarle un tiempo esperado de ejecución menor que al proceso que esta ejecutándose en ese momento. Por consiguiente, el planificador puede apropiarse del procesador siempre que un proceso nuevo este listo. Como en el SPN, el planificador debe disponer de una estimación del tiempo de proceso para poder llevar a cabo la función de selección, existiendo el riesgo de inanición para procesos largos. El SRT no presenta el sesgo favorable a los procesos largos del FCFS. Al contrario que el turno rotatorio, no se generan interrupciones adicionales y, así, el coste se ve reducido. Por contra, se deben los tiempos de servicio transcurridos, lo que contribuye a la sobrecarga. El SRT también debe producir unos tiempos de retorno mejores que los del SPN, puesto que los trabajos cortos reciben una atención inmediata y preferentemente a los trabajos largos. Primero el de mayor tasa de respuesta Par cada proceso individual, se desea minimizar el tiempo de retorno normalizado, que es la razón entre el tiempo de retorno y el tiempo real de servicio, así como minimizar el valor medio de todos los procesos. Aunque esta es una medida a posteri, es posible aproximarla a una medida priori. Como el criterio de selección de un planificador no apropiativo. Considérese la siguiente tasa de respuesta (RR, Response Ratio). RR= w+s s Donde: w = tiempo consumido esperando al procesador s = tiempo de servicio esperado si el proceso con este valor se expide inmediatamente, RR es igual al tiempo de retorno normalizado. El valor mínimo de RR es 1,0, alcanzado cuando un proceso entra por primera vez en el sistema. Hasta ahora, la regla de panificación ha sido: cuando el proceso actual termina o se bloquea, se elige el proceso listo con un valor de RR. Este método es atractivo porque tiene en cuenta la edad del proceso. Aunque se favorece a los trabajos mas cortos, el envejecimiento sin que haya servicio incrementa el valor de la razón, de forma que los procesos mas largos pasen finalmente primero, en competición con los mas cortos. El tiempo esperado de servicio debe estimarse antes de emplear la técnica de la mayor tasa de respuesta (HRRN, Highest Response Ratio Next), como ya ocurría con SRT y SPN. Retroalimentación Otra forma de dar preferencia a los trabajos mas cortos consiste en penalizar a los trabajos que han estado ejecutándose por mas tiempo. Si no es posible utilizar como base el tiempo de ejecución restante, se empleara el tiempo de ejecución consumido hasta el momento. La forma de llevar a cabo lo anterior es como sigue. La planificación es apropiativa y se emplea un mecanismo dinámico de prioridades. Cuando un proceso entra por primera vez en el sistema, se sitúa en RQ0. Cuando vuelve al estado listo, después de su primera ejecución, se incorpora a RQ1. Después de cada ejecución siguiente se le degradará al nivel inmediatamente inferior de prioridad. Un proceso corto terminara rápidamente, sin descender demasiado en la jerarquía de lasa colas de Listos. Un proceso largo será gradualmente llevado hacia abajo. Así pues, se favorece a los procesos mas nuevos y cortos, antes que a los mas viejos y largos. Se usara un simple mecanismo de FCFS dentro de cada cola, excepto en la de menor prioridad. Una vez en la cola de menor prioridad, un proceso no puede descender, sino que vuelve a la misma cola repetidamente hasta completar su ejecución. Por tanto, esta cola se trata con turno rotatorio. Este método (fig. 8.11). se denomina retroalimentación multinivel (FB, Feedback), lo que quiere decir que el sistema operativo asigna el procesador a UN proceso y, cuándo el proceso se bloquea o es expulsad, lo devuelve a una determinada cola de prioridad. Liberar Entrada RQ0 RQ1 RQn CPU Liberar CPU CPU Fig. 8.11 Planificación con retroalimentación Liberar Comparativa de rendimiento Es imposible hacer una comparación definitiva por que el rendimiento relativo depende de una grana variedad de factores, incluyendo la distribución de probabilidad de los tiempos de servicios de los procesos. A continuación se esbozan algunas conclusiones generales. Análisis de colas En primer lugar, cualquier disciplina de planificación que elija el sig. Elemento a servir independientemente del tiempo de servicio cumple la siguiente relación: tq = 1 s 1- donde tq= tiempo de retorno; tiempo total en el sistema, espera mas ejecución s= tiempo medio de servicio; tiempo medio consumido en el estado de Ejecución = utilización del procesador Un planificador basado en prioridades, en el que la prioridad de cada proceso se asigna independientemente del tiempo esperado de servicio, proporciona el mismo tiempo medio de retorno y tiempo medio de retorno normalizado que UN simple FCFS. Con la excepción del turno rotatorio y del FCFS, las diversas disciplinas de planificación vistas hasta ahora hacen elecciones en función del tiempo esperado de servicio. Por desgracia resulta bastante difícil construir modelos analíticos fiables para estas disciplinas. Sin embargo es posible hacerse una idea del rendimiento relativo de dicho algoritmo de planificación en comparación con el FCFS. Si la planificación se hace en función de prioridades y si los procesos se asignan a una clase de prioridad según su tiempo de servicio, entonces aparecen diferencias. Formulas para colas de dos prioridades con un solo servidor Suposiciones 1. La legada sigue unan Poison. 2. Los elemento de prioridad j se sirven antes que los de prioridad (j+1). 3. Los elementos no son interrumpidos durante el servicio. 4. Los elementos de igual prioridad se expiden según FIFO. 5. ningún elemento abandona la cola (se retrasan las perdidas). (a)Formulas generales = 1 +2 1 = 1s1; 2 = 2s2; = 1 + 2 s = 1 s1 + 2 s2 tq = 1 tq1 + 2 tq2 (b) Sisn interrupciones; tiempo de servicio exponencial tq1 = 1+ 1 ts1 + 2 ts2 1 + 1 tq2 = 1+ 1 ts1 -1 1- ( c ) Disciplina de colas de reanudación apropiativa tiempo de servicio exponencial tq1 = 1+ 1 ts1 1 - 1 tq2 = 1 + __1 ( 1 ts1 + ts ) 1 - 1 1- Modelos de simulación Algunas de las dificultades de los modelos analíticos son superadas mediante la simulación discreta de sucesos, lo que permite modelar un amplio número de políticas. La desventaja de la simulación radica en que los resultados de una determinada ejecución son aplicables sólo a un conjunto de procesos en particular y bajo un conjunto particular de supuestos. No obstante, se pueden obtener revelaciones útiles. Planificación por reparto equitativo Todos los algoritmos de planificación expuestos hasta ahora tratan el conjunto de procesos listos como una única reserva de procesos donde se selecciona el que pasará a estar ejecutando. Esta reserva puede desglosarse por prioridades pero es, normalmente, homogénea. Sin embargo, en un sistema multiusuario, si las aplicaciones o los trabajos de los usuarios pueden organizarse en forma de varios procesos que no se identifica con ningún planificador tradicional. Desde el punto de vista del usuario, el interés no está en cómo se comporta un proceso particular, sino como se comporta el conjunto de procesos de usuario que constituyen una aplicación. Así pues, seria interesante poder tomar decisiones de planificación en función de estos grupos de procesos. Este método se conoce generalmente como planificación por reparto equitativo. Es mas, el concepto puede ampliarse a grupos usuarios, incluso si cada usuario está representado por un solo proceso. Por ejemplo en un sistema de tiempo compartido, sería conveniente considerar a todos los usuarios de un determinado departamento como miembros del mismo grupo. Las decisiones de planificación podrían intentar dar a cada grupo un servicio similar. Es decir si se conecta al sistema un gran número de personas de un departamento, sería bueno comprobar que la degradación en el tiempo de respuesta afecta principalmente a los miembros de dicho departamento, en lugar de afectar a usuarios de otros departamentos. El término reparto equitativo hace referencia a la filosofía del planificador. Cada usuario tiene asignado algún tipo de ponderación, que indica la parte de los recursos del sistema para el usuario como una fracción de la utilización total de dichos recursos. En particular cada usuario dispone de una parte del procesador. Este esquema debe funcionar de una forma más o menos lineal, por lo que sí un usuario A tiene un peso dos veces mayor que el de un usuario B, entonces, a la larga, el usuario A debe poder hacer el doble de trabajo que B. El objetivo de un planificador por reparto equitativo es supervisar el uso, de forma que se asignen menos recursos a los usuarios que han consumido más de lo que les corresponde y más recursos a los que han consumido menos de lo que le corresponde. Así pues, podría haber cuatro grupos, donde cada uno dispusiera de un 25% de utilización del procesador. La planificación se lleva a cabo por prioridades, teniendo en cuenta la prioridad básica del proceso, su utilización reciente de la CPU y su utilización reciente de la CPU por parte del grupo al que pertenece. Cuanto mayor es el valor numérico de la prioridad, menor es ésta. Las fórmulas siguientes se aplican al proceso j del grupo k: Pj i Basej CPU j i CPU j i 1 GCPUk i 1 2 4 Wk U j i 1 GCPU k i 2 CPU j i 1 2 GU k i 1 CPU k i 1 2 2 donde: Pj(i) = Prioridad de proceso j al principio del nuevo intervalo i Basej = Prioridad de base del proceso j Uj(i) = Utilización de CPU del proceso j en el intervalo i GUk(i) = Utilización total de CPU de todos los procesos del grupo k en el intervalo i CPUj(i) = Media ponderada exponencial de la utilización de CPU del proceso j en el intervalo i GCPUk(i) = Media ponderada exponencial de la utilización total de CPU del proceso j en el intervalo i Wk = Peso asignado al grupo k, con la restricción de 0 Wk 1 y kWk=1. Cada proceso tiene asignada una prioridad de base que desciende a medida que el proceso y el grupo al que pertenece utilizan la CPU. En ambos casos se calcula una media de utilización de la CPU mediante un promediado exponencial, con = 0.5. En el caso de la utilización del grupo, la media se normaliza dividiendo por el peso del grupo. Cuanto mayor es el peso asignado al grupo, menos afecta su utilización a la prioridad. Resumen El sistema operativo puede tomar tres tipos de decisiones de planificación que afectan a la ejecución de los procesos. La planificación a largo plazo determina cuándo se admiten nuevos procesos en el sistema. La planificación a medio plazo forma parte de la función de intercambio y determina cuándo se lleva total o parcialmente un proceso a memoria principal para que pueda ser ejecutado. La planificación a corto plazo determina cuál de los procesos listos será ejecutado a continuación por el procesador. En el diseño de un planificador a corto plazo se emplean una variedad de criterios. Algunos de estos criterios hacen referencia al comportamiento del sistema tal y como lo percibe el usuario (orientados al usuario), mientras que otros consideran la efectividad total del sistema para satisfacer las necesidades de todos los usuarios (orientados al sistema). Algunos de los criterios se refieren a medidas cuantitativas del rendimiento, mientras que otras son del tipo cualitativo. Desde el punto de vista del usuario, la característica más importante de un sistema es, en general, el tiempo de respuesta, mientras que de un punto de vista del sistema es más importante la productividad o la utilización del procesador. Se ha desarrollado una gran variedad de algoritmos para tomar las decisiones de planificación a corto plazo entre los procesos listos. Entre estos se incluyen: Primero en llegar/primero en servirse: Selecciona el proceso que lleva más tiempo esperando servicio. Turno rotatorio: Emplea u fraccionamiento del tiempo para hacer que los procesos se limiten a ejecutar en ráfagas cortas de tiempo, rotando entre los procesos listos. Primero el proceso más corto: Selecciona el proceso con menor tiempo esperando de ejecución, sin apropiarse de la CPU. Primero la mayor taza de respuesta: La decisión de planificación se basa en una estimación del tiempo de retorno normalizado. Realimentación: Establece un conjunto de colas de planificación y sitúa los procesos en las colas, teniendo en cuenta, entre otros criterios, el historial de la ejecución. La elección de un algoritmo de planificación dependerá del rendimiento esperado y de la complejidad de la implementación. UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE Materia: SISTEMAS DE PROGRAMACIÓN Unidad III PLANIFICACIÓN DEL PROCESADOR CATEDRÁTICO: ING. GERZON ELIUD GOMEZ CRUZ EQUIPO: NO. 1 INTEGRANTES: HECTOR JOEL AGUILAR JARAMILLO HERNÁN CORTEZ DÁVILA ALEJANDRO MORALES GARZA MARÍA TERESA SANTOS VELOZ LUIS ARMANDO VILLARREAL GONZALEZ INGENIERO EN ELECTRÓNICA Y COMPUTACIÓN SEXTO SEMESTRE LUNES 11 DE FEBRERO DE 2002 CD. REYNOSA TAMAULIPAS