tema: microprocesador

23
TEMA: MICROPROCESADOR

Upload: bradley-barrera

Post on 01-Jan-2016

60 views

Category:

Documents


3 download

DESCRIPTION

SISTEMAS OPERATIVOS. TEMA: MICROPROCESADOR. MICROPROCESADOR. La unidad de procesamiento central. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TEMA: MICROPROCESADOR

TEMA:

MICROPROCESADOR

Page 2: TEMA: MICROPROCESADOR

MICROPROCESADORMICROPROCESADOR

Page 3: TEMA: MICROPROCESADOR

La unidad de procesamiento centralLa unidad de procesamiento central La unidad de procesamiento central (CPU) es donde se manipulan La unidad de procesamiento central (CPU) es donde se manipulan

los datos. En una microcomputadora, el CPU completo está los datos. En una microcomputadora, el CPU completo está contenido en un chip muy pequeño llamado contenido en un chip muy pequeño llamado microprocesadormicroprocesador. Todas . Todas las CPU tienen por lo menos dos partes básicas, la las CPU tienen por lo menos dos partes básicas, la unidad de unidad de controlcontrol y la y la unidad aritméticológicaunidad aritméticológica. Todos los recursos de la . Todos los recursos de la computadora son administrados desde la computadora son administrados desde la unidad de controlunidad de control, cuya , cuya función es coordinar todas las actividades de la computadora. La función es coordinar todas las actividades de la computadora. La unidad de control contiene las instrucciones de la CPU para llevar a unidad de control contiene las instrucciones de la CPU para llevar a cabo comandos. El cabo comandos. El conjunto de instruccionesconjunto de instrucciones, que está incluido , que está incluido dentro de los circuitos de la unidad de control, es una lista de todas dentro de los circuitos de la unidad de control, es una lista de todas las operaciones que realiza la CPU. las operaciones que realiza la CPU.

Cada instrucción en el conjunto de instrucciones es acompañado Cada instrucción en el conjunto de instrucciones es acompañado por un por un microcódigomicrocódigo, que son instrucciones muy básicas que le , que son instrucciones muy básicas que le dicen a la CPU cómo ejecutar las instrucciones. Cuando la dicen a la CPU cómo ejecutar las instrucciones. Cuando la computadora corre un programa, busca los comandos del programa computadora corre un programa, busca los comandos del programa dentro del conjunto de instrucciones de la CPU y las ejecuta en dentro del conjunto de instrucciones de la CPU y las ejecuta en orden. orden. La unidad aritmético-lógico (ALU)La unidad aritmético-lógico (ALU)es cuando la unidad de es cuando la unidad de control encuentra una instrucción que involucra aritmética o lógica, control encuentra una instrucción que involucra aritmética o lógica, le pasa el control al segundo componente de la CPU. La ALU le pasa el control al segundo componente de la CPU. La ALU incluye un grupo de registros, es decir, memoria construida incluye un grupo de registros, es decir, memoria construida directamente en la CPU que se usa para guardar datos que están directamente en la CPU que se usa para guardar datos que están siendo procesados por la instrucción actual. siendo procesados por la instrucción actual.

Page 4: TEMA: MICROPROCESADOR

Unidad Central de Procesamiento (CPU)Unidad Central de Procesamiento (CPU) La CPU de una computadora contiene la inteligencia de la máquina; es La CPU de una computadora contiene la inteligencia de la máquina; es

donde se realizan los cálculos y las decisiones. El complejo procedimiento donde se realizan los cálculos y las decisiones. El complejo procedimiento que transforma datos nuevos de entrada en información útil de salida se que transforma datos nuevos de entrada en información útil de salida se llama llama procesamientoprocesamiento. Para llevar a cabo esta transformación, la . Para llevar a cabo esta transformación, la computadora usa dos componentes: el procesador y la memoria. computadora usa dos componentes: el procesador y la memoria. El El procesadorprocesador es el cerebro de la computadora, la parte que interpreta y es el cerebro de la computadora, la parte que interpreta y ejecuta las instrucciones. El procesador casi siempre se compone de varios ejecuta las instrucciones. El procesador casi siempre se compone de varios circuitos integrados o chipscircuitos integrados o chips, estos están insertados en , estos están insertados en tarjetas de tarjetas de circuitoscircuitos, módulos rígidos rectangulares con circuitos que los unen a otros , módulos rígidos rectangulares con circuitos que los unen a otros chips y a otras tarjetas de circuitos.chips y a otras tarjetas de circuitos.

El microprocesador moderno contiene unos El microprocesador moderno contiene unos 20 millones de transistores20 millones de transistores y y cada chip terminado es el producto de procesos más complicados que los cada chip terminado es el producto de procesos más complicados que los que se utilizaron en el Proyecto Manhattan para construir la bomba que se utilizaron en el Proyecto Manhattan para construir la bomba atómica. atómica. Para poner esta complejidad en perspectiva, imagina que dentro de cada Para poner esta complejidad en perspectiva, imagina que dentro de cada microprocesador diminuto existe una estructura tan compleja como una microprocesador diminuto existe una estructura tan compleja como una ciudad de tamaño mediano, incluidas todas sus líneas de energía eléctrica, ciudad de tamaño mediano, incluidas todas sus líneas de energía eléctrica, líneas telefónicas, líneas de drenaje, edificios, calles y casas. Ahora líneas telefónicas, líneas de drenaje, edificios, calles y casas. Ahora imagine que en esa misma ciudad, millones de personas se desplazan a la imagine que en esa misma ciudad, millones de personas se desplazan a la velocidad de la luz y con la sincronización perfecta en una danza de velocidad de la luz y con la sincronización perfecta en una danza de coreografía muy complicada. coreografía muy complicada.

Page 5: TEMA: MICROPROCESADOR

Ejecución dinámicaEjecución dinámica

La ejecución dinámica es uno de los dos elementos clave en la La ejecución dinámica es uno de los dos elementos clave en la ganancia de prestaciones del Pentium. Esta nueva forma de ganancia de prestaciones del Pentium. Esta nueva forma de "pensar" del microprocesador está basada en la combinación de "pensar" del microprocesador está basada en la combinación de tres técnicas: la predicción de ramificaciones múltiples, el análisis tres técnicas: la predicción de ramificaciones múltiples, el análisis del flujo de datos y la ejecución especulativa.del flujo de datos y la ejecución especulativa.

Predicción de ramificaciones múltiplesPredicción de ramificaciones múltiples. .

SE utiliza un algoritmo de predicción de ramificaciones múltiples SE utiliza un algoritmo de predicción de ramificaciones múltiples para anticipar saltos en la ejecución del flujo de instrucciones. para anticipar saltos en la ejecución del flujo de instrucciones. Predice dónde puede encontrar en la memoria las siguientes Predice dónde puede encontrar en la memoria las siguientes instrucciones que debe ejecutar con una precisión del 90%. Esto lo instrucciones que debe ejecutar con una precisión del 90%. Esto lo logra porque además de extraer instrucciones para su ejecución, se logra porque además de extraer instrucciones para su ejecución, se adelanta y busca anticipadamente posibles nuevas instrucciones de adelanta y busca anticipadamente posibles nuevas instrucciones de programa. programa.

Page 6: TEMA: MICROPROCESADOR

Análisis del flujo de datosAnálisis del flujo de datos

El análisis del flujo de datos permite saber al microprocesador en El análisis del flujo de datos permite saber al microprocesador en qué orden óptimo puede o debe ejecutar las instrucciones, ya que qué orden óptimo puede o debe ejecutar las instrucciones, ya que sabe la dependencia de unas respecto a otras.sabe la dependencia de unas respecto a otras.

Ejecución especulativaEjecución especulativa

Cuando el procesador ejecuta instrucciones (5 por ciclo de reloj) Cuando el procesador ejecuta instrucciones (5 por ciclo de reloj) utiliza la ejecución especulativa. Esto significa que las instrucciones utiliza la ejecución especulativa. Esto significa que las instrucciones no se ejecutan en el mismo orden con el que entran al no se ejecutan en el mismo orden con el que entran al microprocesador, sino que se ejecutan en un "orden desordenado", microprocesador, sino que se ejecutan en un "orden desordenado", lo que paradójicamente hace que sea más eficaz. lo que paradójicamente hace que sea más eficaz.

En el paso final, todos esos datos desordenados generados por la En el paso final, todos esos datos desordenados generados por la predicción de ramificaciones, se ordenan y se ensamblan esos predicción de ramificaciones, se ordenan y se ensamblan esos paquetes de unidades de proceso para montar el orden lógico en la paquetes de unidades de proceso para montar el orden lógico en la secuencia de ejecución del programasecuencia de ejecución del programa

Page 7: TEMA: MICROPROCESADOR

ADMINISTRAR EL PROCESADORADMINISTRAR EL PROCESADOR

La idea de administrar el procesador eficientemente esta enfocada La idea de administrar el procesador eficientemente esta enfocada en dos aspectos: el primero es la cantidad de procesos por unidad en dos aspectos: el primero es la cantidad de procesos por unidad de tiempo que se pueden ejecutar en un sistemade tiempo que se pueden ejecutar en un sistema

el segundo: que es importante para el usuario es el tiempo de el segundo: que es importante para el usuario es el tiempo de respuesta (turnaround) de esos procesos.respuesta (turnaround) de esos procesos.

La idea de repartir el recurso se debe a que tenemos la posibilidad La idea de repartir el recurso se debe a que tenemos la posibilidad de utilizar el tiempo de procesador abandonado por un proceso de utilizar el tiempo de procesador abandonado por un proceso Para que lo pueda usar otro o sea aprovechar los tiempos muertos Para que lo pueda usar otro o sea aprovechar los tiempos muertos de un determinado proceso para que se pueda ejecutar otros. estos de un determinado proceso para que se pueda ejecutar otros. estos tiempos se producen porque existen otras actividades que estan tiempos se producen porque existen otras actividades que estan desarrollandose sobre cierto proceso esas actividades desarrollandose sobre cierto proceso esas actividades generalmente son de e/s y esto es posible porque existe algo que generalmente son de e/s y esto es posible porque existe algo que esta ayudando a realizar esa e/s es decir existen canales o esta ayudando a realizar esa e/s es decir existen canales o procesadores de e/s que ayudan a descargar del procesador procesadores de e/s que ayudan a descargar del procesador central esa actividad.central esa actividad.

Page 8: TEMA: MICROPROCESADOR

TURNAROUNDTURNAROUND Nos encontramos con un proceso a que tiene una cantidad de Nos encontramos con un proceso a que tiene una cantidad de

tiempo de procesador y otra cantidad de tiempo muerto desde el tiempo de procesador y otra cantidad de tiempo muerto desde el punto de vista del procesador porque esta realizando una operación punto de vista del procesador porque esta realizando una operación de e/s ,procesa nuevamente e/s y procesa nuevamente. La idea es de e/s ,procesa nuevamente e/s y procesa nuevamente. La idea es tratar de en esos momentos en donde la actividad esta descargada tratar de en esos momentos en donde la actividad esta descargada en un procesador especializado en e/s usar este tiempo para que en un procesador especializado en e/s usar este tiempo para que otro proceso ejecuteotro proceso ejecute

Supongamos que este otro proceso homogeneo a este es decir las Supongamos que este otro proceso homogeneo a este es decir las mismas rafagas de procesador y los mismos tiempos de e/s( 3 mismas rafagas de procesador y los mismos tiempos de e/s( 3 rafagas de procesador y 2 operaciones de e/s) y ambos se rafagas de procesador y 2 operaciones de e/s) y ambos se ejecutaran en momoprogramacion el primero se tardaria 5 unidades ejecutaran en momoprogramacion el primero se tardaria 5 unidades y el segundo tardaria otras 5 unidades. Es decir que recien y el segundo tardaria otras 5 unidades. Es decir que recien despues 10 unidades de tiempo se tendria la finalizacion de ambos despues 10 unidades de tiempo se tendria la finalizacion de ambos programas con lo cual se obtiene un tiempo de respuesta promedio programas con lo cual se obtiene un tiempo de respuesta promedio de 7.5 unidades(10+5)/2=7.5de 7.5 unidades(10+5)/2=7.5

Page 9: TEMA: MICROPROCESADOR

TURNAROUNDTURNAROUND El tiempo de respuestas ,turnaround se obtiene como lasuma de las El tiempo de respuestas ,turnaround se obtiene como lasuma de las

sumas de los tiempos de terminacion de los procesos divida de sumas de los tiempos de terminacion de los procesos divida de proceso este turnaround en realidad esta indicado el indice de proceso este turnaround en realidad esta indicado el indice de felicidad de un usuario de un valor esperado que debe interpretarse felicidad de un usuario de un valor esperado que debe interpretarse de la siguiente manera: A las x unidades de tiempo se puede tener de la siguiente manera: A las x unidades de tiempo se puede tener la esperanza de que existen procesos qye ya han finalizado por lo la esperanza de que existen procesos qye ya han finalizado por lo tanto cuanto menos sea x menos debe esperar para que el sistema tanto cuanto menos sea x menos debe esperar para que el sistema haya dado una respuesta. haya dado una respuesta.

Para que esto pase es necesario que las rafagas de un proceso Para que esto pase es necesario que las rafagas de un proceso coicidan exactamente con los tiempos de e/s del proceso es coicidan exactamente con los tiempos de e/s del proceso es practicamentte una ilusionpracticamentte una ilusion

Page 10: TEMA: MICROPROCESADOR

TABLAS Y DIAGRAMAS DE TRANSICION DE TABLAS Y DIAGRAMAS DE TRANSICION DE ESTADOSESTADOS

Para una buena administración del procesador es necesario Para una buena administración del procesador es necesario contar con un cierto juego de datos este juego de datos sera una contar con un cierto juego de datos este juego de datos sera una tabla en la cual se refleja en que estado se encuentra el proceso tabla en la cual se refleja en que estado se encuentra el proceso por ejemplo si esta ejecutando o no.por ejemplo si esta ejecutando o no.

EJECUTADO

LISTO BLOQUEADO

En base ha estos estados se construye lo que se denimina diagrama de transicion de estados.

Page 11: TEMA: MICROPROCESADOR

TRANSICION DE ESTADOSTRANSICION DE ESTADOS Estar en la cola de listos significa que el unico recurso que a ese Estar en la cola de listos significa que el unico recurso que a ese

proceso le esta haciendo falta es el recurso del procesador. o sea proceso le esta haciendo falta es el recurso del procesador. o sea una vez selecionanado de esa cola pasa al estado de ejecucion.una vez selecionanado de esa cola pasa al estado de ejecucion.

si el proceso esta en el estado bloqueados cada vez que el si el proceso esta en el estado bloqueados cada vez que el proceso pida un recurso y este sea satisfecho su requerimiento el proceso pida un recurso y este sea satisfecho su requerimiento el proceso pasara al estado listo porque ya no necesita otra cosa mas proceso pasara al estado listo porque ya no necesita otra cosa mas que el recurso del procesador.que el recurso del procesador.

existe una tabla que contiene los bloques de control de procesos existe una tabla que contiene los bloques de control de procesos esta tiene una identificacion de los procesos.esta tiene una identificacion de los procesos.

Page 12: TEMA: MICROPROCESADOR

PROGRAMA Y PROCESOPROGRAMA Y PROCESO Un programa es una entidad pasiva mientras que un proceso es un Un programa es una entidad pasiva mientras que un proceso es un

una entidad activauna entidad activa un programa es un conjunto de instruciones y un proceso es un un programa es un conjunto de instruciones y un proceso es un

conjunto de instruciones mas su contexto (BCP) y en ejecucionconjunto de instruciones mas su contexto (BCP) y en ejecucion

Page 13: TEMA: MICROPROCESADOR

BLOQUE DE CONTROL DE PROCESO BLOQUE DE CONTROL DE PROCESO (BCP)(BCP)

Este contiene el contexto de un proceso y todos los datos necesarios Este contiene el contexto de un proceso y todos los datos necesarios para hacer posible la ejecucion de ese proceso y satisfacer sus para hacer posible la ejecucion de ese proceso y satisfacer sus necesidades. Cada entrada de la tabla tiene un apuntador al bloque necesidades. Cada entrada de la tabla tiene un apuntador al bloque anterior-posterior, una identificacion del proceso, control, registros. se anterior-posterior, una identificacion del proceso, control, registros. se esta trabajando en un sistema de administracion de memoria esta trabajando en un sistema de administracion de memoria paginada un apuntador a su tabla de distribucion de paginas, paginada un apuntador a su tabla de distribucion de paginas, dispositivos, archivos que se esta usando, tiempo del proceso, el dispositivos, archivos que se esta usando, tiempo del proceso, el estado y apuntadores anteriores y posteriores en el mismo estado.estado y apuntadores anteriores y posteriores en el mismo estado.

es cierto que es mas facil pensar la TBCP como una matriz pero este es cierto que es mas facil pensar la TBCP como una matriz pero este tipo de implementacion es muy rigida y el espacio reservado para la tipo de implementacion es muy rigida y el espacio reservado para la BCP se terminaria muy rapido.BCP se terminaria muy rapido.

Una forma de implemtentacion mas dinamica es: Una forma de implemtentacion mas dinamica es: se puede se puede implementar ala TBCP como un encadenamiento de BCPimplementar ala TBCP como un encadenamiento de BCP

Page 14: TEMA: MICROPROCESADOR

CARACTERISTICAS DE CADA UNO DE SUS CAMPOSCARACTERISTICAS DE CADA UNO DE SUS CAMPOS -apuntador a proceso anterior; direccion del BCP anterior. el primer BCP -apuntador a proceso anterior; direccion del BCP anterior. el primer BCP

tendra un identificador que lo señale como tal y debera ser conocida su tendra un identificador que lo señale como tal y debera ser conocida su ubicacion por el planificador de procesosubicacion por el planificador de procesos

-apuntador a proceso posterior direccion del BCP posterior; el ultimo BCP -apuntador a proceso posterior direccion del BCP posterior; el ultimo BCP tendra un nil (no se descarta encadenamiento circulares, pero ahora se los tendra un nil (no se descarta encadenamiento circulares, pero ahora se los presento como linealespresento como lineales

-identificacion de procesos; identificacion unica para este proceso que lo -identificacion de procesos; identificacion unica para este proceso que lo hace inconfundible con otrohace inconfundible con otro

-palabra control; espacio reservado o apuntador en donde se guarda la PC -palabra control; espacio reservado o apuntador en donde se guarda la PC cuando el proceso no se encuentra en ejecucioncuando el proceso no se encuentra en ejecucion

-registros; idem anterior, pero para los registros de uso general del proceso-registros; idem anterior, pero para los registros de uso general del proceso -TDP; apuntador al lugar en donde se encuentra la tabla de distribucion de -TDP; apuntador al lugar en donde se encuentra la tabla de distribucion de

paginas corrrespondientes a este proceso.paginas corrrespondientes a este proceso. -dispositivos; apuntador a todos los dispositivos a los que se tiene acceso el -dispositivos; apuntador a todos los dispositivos a los que se tiene acceso el

contenido del bloque de control de procesocontenido del bloque de control de proceso

LA TBCP COMO UN ENCADENAMIENTO AL BCP

Page 15: TEMA: MICROPROCESADOR

-archivos; idem dispositivos pero para los archivos del proceso-archivos; idem dispositivos pero para los archivos del proceso -tiempos; tiempo de CPU utilizado hasta el momento.-tiempos; tiempo de CPU utilizado hasta el momento. -estado; ejecucion, listo, bloqueado, wait (en espera), ocioso.-estado; ejecucion, listo, bloqueado, wait (en espera), ocioso. -apuntador al BCP del proceso anterior en el mismo estado; -apuntador al BCP del proceso anterior en el mismo estado;

direccion del BCP correspondiente al proceso anterior en ese direccion del BCP correspondiente al proceso anterior en ese mismo estado.mismo estado.

- apuntador al BCP del proceso posterior en el mismo estado; idem - apuntador al BCP del proceso posterior en el mismo estado; idem anterior pero al proceso posterior. anterior pero al proceso posterior.

-informacion para el algoritmo de adjudicacion del procesador; aqui -informacion para el algoritmo de adjudicacion del procesador; aqui se tendra la informacion necesaria de acuerdo al algoritmo en uso.se tendra la informacion necesaria de acuerdo al algoritmo en uso.

-apuntador al BCP del proceso anterior en funcion del algoritmo; -apuntador al BCP del proceso anterior en funcion del algoritmo; dependera del algoritmo.dependera del algoritmo.

Page 16: TEMA: MICROPROCESADOR

FIN DE UN PROCESOFIN DE UN PROCESO Mientras se esta ejecutando un proceso puede abandonar su Mientras se esta ejecutando un proceso puede abandonar su

estado por diversas razones. lo mas deseable seria que el proceso estado por diversas razones. lo mas deseable seria que el proceso terminase en forma satisfactoria.terminase en forma satisfactoria.

Las causas principales de abandono son:Las causas principales de abandono son:

FIN NORMAL (proceso completo)FIN NORMAL (proceso completo)

ERROR (fin anormal)ERROR (fin anormal)

NECESITA RECURSOS (pasa a bloqueado)NECESITA RECURSOS (pasa a bloqueado)

DESALOJO (por algun proceso de mayor prioridad) (pasa a listo)DESALOJO (por algun proceso de mayor prioridad) (pasa a listo)

Page 17: TEMA: MICROPROCESADOR

RUTINAS DE ADMINISTRACION DEL RUTINAS DE ADMINISTRACION DEL PROCESADORPROCESADOR

Generalmente, y dependiendo de la literatura que se consulte, se encuentraGeneralmente, y dependiendo de la literatura que se consulte, se encuentraque la administración del procesador incluye el pasaje de Retenido a Listos (la que la administración del procesador incluye el pasaje de Retenido a Listos (la

entrada del exterior a listos) como una de las partes de la administración entrada del exterior a listos) como una de las partes de la administración del procesador. Lógicamente, mientras no se seleccione un proceso, va a del procesador. Lógicamente, mientras no se seleccione un proceso, va a ser imposible que éste compita por el recurso procesador. Se denomina ser imposible que éste compita por el recurso procesador. Se denomina Planificador de Trabajos al conjunto de rutinas que realizan esta función de Planificador de Trabajos al conjunto de rutinas que realizan esta función de ingresar un proceso al sistema desde el exterior y se lo llama muy a ingresar un proceso al sistema desde el exterior y se lo llama muy a menudomenudo

administrador de alto nivel. Es además capaz de comunicarse con el resto de administrador de alto nivel. Es además capaz de comunicarse con el resto de los administradores para ir pidiendo los recursos que el trabajo necesitará los administradores para ir pidiendo los recursos que el trabajo necesitará para iniciar su ejecución.para iniciar su ejecución.

Sus funciones principales son :Sus funciones principales son :- Seleccionar trabajos a ingresar al Sistema.- Seleccionar trabajos a ingresar al Sistema.- Asignar recursos (solicitándolos a los administradores correspondientes)- Asignar recursos (solicitándolos a los administradores correspondientes)- Liberar recursos (ídem anterior)- Liberar recursos (ídem anterior)

Page 18: TEMA: MICROPROCESADOR

RUTINAS DE ADMINISTRACION DEL RUTINAS DE ADMINISTRACION DEL PROCESADORPROCESADOR

Si posee datos suficientes, el Planificador de Trabajos, puede planificar la carga de un sistema. Si posee datos suficientes, el Planificador de Trabajos, puede planificar la carga de un sistema. Esta última capacidad carece de sentido si se está trabajando en un sistema que pierde su Esta última capacidad carece de sentido si se está trabajando en un sistema que pierde su característica de "batch". La administración de la cola de listos que es en donde se centrará característica de "batch". La administración de la cola de listos que es en donde se centrará nuestro estudio, es también llamada muchas veces planificador de bajo nivel, y se lo suele nuestro estudio, es también llamada muchas veces planificador de bajo nivel, y se lo suele denominar denominar Planificador del Procesador o Planificador de ProcesosPlanificador del Procesador o Planificador de Procesos . El Planificador de . El Planificador de procesos es el que tiene que inspeccionar la cola de listos y seleccionar, de acuerdo a algún procesos es el que tiene que inspeccionar la cola de listos y seleccionar, de acuerdo a algún criterio, cual de los procesos que se encuentran allí hará uso del procesador. Para administrar criterio, cual de los procesos que se encuentran allí hará uso del procesador. Para administrar eficientemente esta situación se cuenta con un conjunto de módulos, entre los cuales el primero eficientemente esta situación se cuenta con un conjunto de módulos, entre los cuales el primero que se visualiza es el que se visualiza es el Planificador del ProcesadorPlanificador del Procesador, que es el que aplica la política de selección, , que es el que aplica la política de selección, luego sigue un luego sigue un Controlador de TráficoControlador de Tráfico, que es el que realiza el manejo de las tablas, y además , que es el que realiza el manejo de las tablas, y además (dependiendo de la bibliografía que se consulte) un (dependiendo de la bibliografía que se consulte) un DispatcherDispatcher, que sería el que pone en estado , que sería el que pone en estado de ejecución al programa, o sea carga en el procesador su contexto. Dado un proceso que pide de ejecución al programa, o sea carga en el procesador su contexto. Dado un proceso que pide un servicio sobre un recurso (por ejemplo una E/S) cambiar del estado de ejecución al estado de un servicio sobre un recurso (por ejemplo una E/S) cambiar del estado de ejecución al estado de bloqueado es una actividad que le corresponde al Controlador de tráfico, que es el maneja las bloqueado es una actividad que le corresponde al Controlador de tráfico, que es el maneja las tablas. El seleccionar el próximo proceso a ejecutar le corresponde al que aplica la política de tablas. El seleccionar el próximo proceso a ejecutar le corresponde al que aplica la política de selección, que es el Planificador de Procesos. Y el que realmente realiza la operación final de selección, que es el Planificador de Procesos. Y el que realmente realiza la operación final de cargar los registros, la palabra de control y los relojes que sean necesarios (dependiendo de la cargar los registros, la palabra de control y los relojes que sean necesarios (dependiendo de la política de administración del procesador o sea el contexto), es función del Dispatcher. En política de administración del procesador o sea el contexto), es función del Dispatcher. En alguna bibliografía se adjudica esta función nuevamente al Controlador de Tráfico.Es muy alguna bibliografía se adjudica esta función nuevamente al Controlador de Tráfico.Es muy importante tener bien en claro cuáles son las funciones :importante tener bien en claro cuáles son las funciones :

- Manejo de las tablas,- Manejo de las tablas,

- Selección del proceso de la cola de listos, y- Selección del proceso de la cola de listos, y

- Poner en ejecución al proceso.- Poner en ejecución al proceso.

Page 19: TEMA: MICROPROCESADOR

POLITICAS DE ASIGNACIONPOLITICAS DE ASIGNACION

Los criterios para seleccionar un algoritmo de asginacion del Los criterios para seleccionar un algoritmo de asginacion del procesador debe responder lo mejor posible a las siguientes procesador debe responder lo mejor posible a las siguientes pautas:pautas:

Utilización del procesador: 100 %Utilización del procesador: 100 % Troughtput: cantidad de trabajos por unidad de tiempoTroughtput: cantidad de trabajos por unidad de tiempo Tiempo de ejecucion: tiempo desde que ingresa un proceso hasta Tiempo de ejecucion: tiempo desde que ingresa un proceso hasta

que teminaque temina Tiempo de espera: permanencia en listosTiempo de espera: permanencia en listos Tiempo de respuesta: tiempo que tarda en obtenerse un resultado.Tiempo de respuesta: tiempo que tarda en obtenerse un resultado.

Page 20: TEMA: MICROPROCESADOR

FIFO o FCFSFIFO o FCFS Entre las políticas que puede aplicar el planificador de procesos para la Entre las políticas que puede aplicar el planificador de procesos para la

selección de procesos que deben pasar del estado de listos al estado de selección de procesos que deben pasar del estado de listos al estado de ejecución existe obviamente la más trivial, como siempre, que es la FIFO ejecución existe obviamente la más trivial, como siempre, que es la FIFO (first-in first-out) o FCFS (first come first served). Que significa que el primero (first-in first-out) o FCFS (first come first served). Que significa que el primero que está en la cola es el primero que va a usar el recurso procesador. De un que está en la cola es el primero que va a usar el recurso procesador. De un estado listo, pasa a un estado de ejecución, y de ese estado de ejecución el estado listo, pasa a un estado de ejecución, y de ese estado de ejecución el proceso abandona el recurso procesador solo por decisión propia pasando al proceso abandona el recurso procesador solo por decisión propia pasando al estado de bloqueado, y después, una vez satisfecha su necesidad pasa otra estado de bloqueado, y después, una vez satisfecha su necesidad pasa otra vez al estado de listo. O sea que no es desalojado del uso del recurso vez al estado de listo. O sea que no es desalojado del uso del recurso procesador ya que una vez que lo toma lo sigue usando. En el momento en procesador ya que una vez que lo toma lo sigue usando. En el momento en que se produce una interrupción por fin de E/S, se atenderá ese fin de E/S el que se produce una interrupción por fin de E/S, se atenderá ese fin de E/S el que momentáneamente hará que el proceso abandone el uso del procesador, que momentáneamente hará que el proceso abandone el uso del procesador, pero después de finalizada la atención de tal interrupción, el proceso pero después de finalizada la atención de tal interrupción, el proceso original original retomará el uso de la CPU.retomará el uso de la CPU.

LISTO

EJECUTANDO

BLOCKEADO

Page 21: TEMA: MICROPROCESADOR

MAS CORTO PRIMERO (JSF) MAS CORTO PRIMERO (JSF) DESALOJODESALOJO

Una de las políticas que siempre da el mejor resultado para aquello que seUna de las políticas que siempre da el mejor resultado para aquello que se quiere ordenar en función del tiempo es la del más corto primero (Job Short First).Esto implica ordenar los distintos procesos quiere ordenar en función del tiempo es la del más corto primero (Job Short First).Esto implica ordenar los distintos procesos

de acuerdo al tiempo que van a necesitar del recurso procesador. O sea, la cola se ordena en función de las ráfagas que se de acuerdo al tiempo que van a necesitar del recurso procesador. O sea, la cola se ordena en función de las ráfagas que se espera que van a emplear de procesador lo distintos procesos (Nota: Ráfaga o Quantum es el tiempo continuo de uso del espera que van a emplear de procesador lo distintos procesos (Nota: Ráfaga o Quantum es el tiempo continuo de uso del procesador por parte de un proceso que va desde que éste toma el procesador hasta que lo abandona por algún evento). procesador por parte de un proceso que va desde que éste toma el procesador hasta que lo abandona por algún evento). Este algoritmo es perfecto, ya que si se hace cualquier medición, por ejemplo del turnaround, da siempre mejor que Este algoritmo es perfecto, ya que si se hace cualquier medición, por ejemplo del turnaround, da siempre mejor que cualquier otro algoritmo de administración. La dificultad radica en que es necesario conocer el futuro. En la práctica es casicualquier otro algoritmo de administración. La dificultad radica en que es necesario conocer el futuro. En la práctica es casi

imposible saber con anterioridad cuánto tiempo de procesador va a necesitar un proceso. Lo que se puede hacer es calcular imposible saber con anterioridad cuánto tiempo de procesador va a necesitar un proceso. Lo que se puede hacer es calcular lo que se presume que va a utilizar. La forma de implementarlo sería, conociendo esa medida, calificar al proceso, es decir si lo que se presume que va a utilizar. La forma de implementarlo sería, conociendo esa medida, calificar al proceso, es decir si se tiene : se tiene :

Proceso TiempoProceso Tiempo P1 5P1 5 P2 3P2 3 P3 4P3 4 la cola de listos ordenada quedaría como P2, P3 y P1. No se tiene en cuenta el tiempo total de ejecución, sino el tiempo de la la cola de listos ordenada quedaría como P2, P3 y P1. No se tiene en cuenta el tiempo total de ejecución, sino el tiempo de la

ráfaga. O sea cada uno de los segmentos de uso del procesador. Puede haber varios criterios para conocer la ráfaga. Uno de ráfaga. O sea cada uno de los segmentos de uso del procesador. Puede haber varios criterios para conocer la ráfaga. Uno de ellos sería que alguien declare un determinado valor. Otro criterio sería, medir la cantidad de tiempo en la cual el proceso 1 ellos sería que alguien declare un determinado valor. Otro criterio sería, medir la cantidad de tiempo en la cual el proceso 1 ejecuta una ráfaga, supóngase que son 5 unidades de tiempo, y calificarlo luego como 5. En realidad, como no se puede ejecuta una ráfaga, supóngase que son 5 unidades de tiempo, y calificarlo luego como 5. En realidad, como no se puede conocer el futuro, lo que se hace es llevar algún tipo de estadística sobre lo que pasó en pasos anteriores. Cuando el proceso conocer el futuro, lo que se hace es llevar algún tipo de estadística sobre lo que pasó en pasos anteriores. Cuando el proceso ingresa por primera vez es indistinto que se lo coloque primero o último, aunque convendrá ponerlo primero para que ingresa por primera vez es indistinto que se lo coloque primero o último, aunque convendrá ponerlo primero para que comience a conocerse su historia. Hay distintas formas de calcular la calificación, se pueden llegar a tener promedios de comience a conocerse su historia. Hay distintas formas de calcular la calificación, se pueden llegar a tener promedios de calificaciones anteriores, por ejemplo : Tn+1 = § Tn + ... + (1-§) § Tn-1 +...+ (1-§)j Tn-j + ..... en donde a § se lo designa con calificaciones anteriores, por ejemplo : Tn+1 = § Tn + ... + (1-§) § Tn-1 +...+ (1-§)j Tn-j + ..... en donde a § se lo designa con anterioridad. Si vale 1, significa que se tiene en cuenta la ráfaga anterior, si vale 0, la anterior no es tenida en cuenta, luego anterioridad. Si vale 1, significa que se tiene en cuenta la ráfaga anterior, si vale 0, la anterior no es tenida en cuenta, luego con 0<§<1 se pueden dar distintos pasos a los momentos históricos del proceso.con 0<§<1 se pueden dar distintos pasos a los momentos históricos del proceso.

Una vez que el proceso sale de bloqueado dependerá de cuánto tiempo utilizó el procesador para que tenga otra calificación. Una vez que el proceso sale de bloqueado dependerá de cuánto tiempo utilizó el procesador para que tenga otra calificación. En la política Más corto primero no importa el orden en el que entraron a la cola de listos, sino la calificación que se les haEn la política Más corto primero no importa el orden en el que entraron a la cola de listos, sino la calificación que se les ha

dado. En este algoritmo no tenemos, todavía, desalojo. Es decir que, como en FIFO odado. En este algoritmo no tenemos, todavía, desalojo. Es decir que, como en FIFO o FCFS, el proceso abandona voluntariamente el uso del procesador.FCFS, el proceso abandona voluntariamente el uso del procesador.

Page 22: TEMA: MICROPROCESADOR

FIN DE UN PROCESO (TOTAL O FIN DE UN PROCESO (TOTAL O TEMPORAL)TEMPORAL)

Mientras se esta ejecutando un proceso esto puede abandonar su Mientras se esta ejecutando un proceso esto puede abandonar su estado por diversas razones. estado por diversas razones.

Fin normal (proceso completo)Fin normal (proceso completo) Error (fin anormal) Error (fin anormal) Necesita recursos (por algun proceso de mayor prioridad) (pasa a Necesita recursos (por algun proceso de mayor prioridad) (pasa a

listo)listo) Desalojo significa que por alguno de los algoritmos de Desalojo significa que por alguno de los algoritmos de

administracion del procesador, se considera el tiempoadministracion del procesador, se considera el tiempo LISTO EJECUTANDO

USA RECURSO

USA RECURSO

ESPERA RECURSO

ESPERA RECURSO

Page 23: TEMA: MICROPROCESADOR

ROUND-ROBINROUND-ROBIN

Esta administración consiste en dar a cada proceso la misma cantidad o Esta administración consiste en dar a cada proceso la misma cantidad o cuota de uso del procesador. La asignación se comporta como una cuota de uso del procesador. La asignación se comporta como una manecilla que recorre el segmento circular (que representa la ráfaga manecilla que recorre el segmento circular (que representa la ráfaga asignada) y que al pasar al próximo proceso genera una interrupción por asignada) y que al pasar al próximo proceso genera una interrupción por reloj. Si el próximo proceso no se encuentra en estado de listo, se pasa al reloj. Si el próximo proceso no se encuentra en estado de listo, se pasa al siguiente y así sucesivamente. Es decir, a todos los procesos se les da un siguiente y así sucesivamente. Es decir, a todos los procesos se les da un quantum, que es una medida del tiempo que podrán usar el procesador quantum, que es una medida del tiempo que podrán usar el procesador antes de ser interrumpidos por reloj. Obviamente puede ocurrir que cuando antes de ser interrumpidos por reloj. Obviamente puede ocurrir que cuando le toque al Siguiente proceso, éste se encuentre bloqueado por operaciones le toque al Siguiente proceso, éste se encuentre bloqueado por operaciones de E/S, en tal caso se pasa al siguiente proceso, y el anterior tendrá que de E/S, en tal caso se pasa al siguiente proceso, y el anterior tendrá que esperar que le toque el procesador nuevamente la próxima vuelta.esperar que le toque el procesador nuevamente la próxima vuelta.

LISTO

EJECUTANDO

BLOCKEADO

Interrupcion por reloj