11
ALGORITMO DEL RELOJ Existe una variante de este algoritmo que sobre la misma idea presenta una mejora en la implementación. Es el algoritmo del reloj, que lo que hace es tener una lista circular, de forma que al llegar al último elemento de la lista, pasa automáticamente al primero. Los elementos no se mueven al final de la cola cuando son accedidos, simplemente se cambia el bit de referencia a 1. Esto nos evita tener que hacer movimientos de punteros en el caso de implementarlo con una lista enlazada. De hecho, se puede implementar con un array perfectamente, ahorrando así memoria. Explicación Del Algoritmo Necesitamos.- 1 bit de referencias (inicialmente a 0). marcos candidatos en listas circular un puntero (la manecilla del reloj). A partir de la posición actual de la manecilla: si la pg. tiene bit=1, se pone a 0 ( se le da una segunda oportunidad). se avanza la manecilla, y seguimos en 1. se sustituye la primera que encontramos con el bit =0. se avanza la manecilla. Algoritmo del reloj Difiere del anterior sólo en la implementación utiliza una lista circular y un puntero a la página a considerar evita tener que mover las páginas en la lista. Cuando ocurre un fallo de página, se inspecciona la página a la que apunta la manecilla. La acción a realizar depende del bit R: R = 0: Retira la página de la memoria R = 1: Limpia R y avanza la manecilla ALGORITMO OPTIMO 1. INTRODUCCION.- En la gestión de la memoria virtual, toma gran importancia lo que se denomina política de reemplazo, que es la que decide que página de las presentes en memoria es la que va a ser sustituida. El algoritmo óptimo, denominado también MIN, debe generar el mínimo número de fallos de página. Por ello, la página que se debe reemplazar es aquélla que tardará más tiempo en volverse a usar. Evidentemente, este algoritmo es irrealizable, ya que no se puede predecir cuáles serán las siguientes páginas a las que se va a acceder. Este algoritmo sirve para comparar el rendimiento de los algoritmos que sí son factibles en la práctica.

Algoritmo Del Reloj

Embed Size (px)

Citation preview

Page 1: Algoritmo Del Reloj

ALGORITMO DEL RELOJ

Existe una variante de este algoritmo que sobre la misma idea presenta una mejora en la implementación. Es el algoritmo del reloj, que lo que hace es tener una lista circular, de forma que al llegar al último elemento de la lista, pasa automáticamente al primero. Los elementos no se mueven al final de la cola cuando son accedidos, simplemente se cambia el bit de referencia a 1. Esto nos evita tener que hacer movimientos de punteros en el caso de implementarlo con una lista enlazada. De hecho, se puede implementar con un array perfectamente, ahorrando así memoria.

Explicación Del Algoritmo

Necesitamos.-

1 bit de referencias (inicialmente a 0).

marcos candidatos en listas circular

un puntero (la manecilla del reloj).

A partir de la posición actual de la manecilla:

si la pg. tiene bit=1, se pone a 0 ( se le da una segunda oportunidad).

se avanza la manecilla, y seguimos en 1.

se sustituye la primera que encontramos con el bit =0. se avanza la manecilla.

Algoritmo del reloj

Difiere del anterior sólo en la implementación utiliza una lista circular y un puntero a la página a considerar evita tener que mover las páginas en la lista.

Cuando ocurre un fallo de página, se inspecciona la página a la que apunta la manecilla. La acción a realizar depende del bit R:

R = 0: Retira la página de la memoriaR = 1: Limpia R y avanza la manecilla

ALGORITMO OPTIMO

1. INTRODUCCION.-

En la gestión de la memoria virtual, toma gran importancia lo que se denomina política de reemplazo, que es la que decide que página de las presentes en memoria es la que va a ser sustituida.

El algoritmo óptimo, denominado también MIN, debe generar el mínimo número de fallos de página. Por ello, la página que se debe reemplazar es aquélla que tardará más tiempo en volverse a usar. Evidentemente, este algoritmo es irrealizable, ya que no se puede predecir cuáles serán las siguientes páginas a las que se va a acceder. Este algoritmo sirve para comparar el rendimiento de los algoritmos que sí son factibles en la práctica.

EXPLICACION

El algoritmo óptimo nos da el número mínimo de faltas de la página en memoria.

Es el que produce menos fallos de pagina para cualquier cantidad de marcos

Se reemplaza la pagina que va a tardar más tiempo en ser referenciada

No puede implementarse pues implicara conocer de antemano las paginas que va a referenciar el proceso

Aunque no puede implementarse se utiliza como referencia para los demás algoritmos

Ejemplo 2

Page 2: Algoritmo Del Reloj

Dada la siguiente cadena de referencia 2 3 2 1 5 2 4 5 3 2 5 2 con tres marcos produce 3 fallos

ALGORITMO NRUNO USADA RECIENTEMENTE (NOT RECENTLY USED)

INTRODUCCIÓN

La mayoría de los ordenadores presentan los bits R (de referencia) y M (de modificación) en las entradas de la tabla de

páginas, siendo estos bits actualizados vía hardware. Si el hardware no proporciona dichos bits, éstos pueden ser

simulados mediante el software. Para ello, cuando se inicia un proceso se señalan todas sus entradas en la tabla de

páginas como si no estuvieran dentro de la memoria. Si se hace referencia a cualquier página, ocurre un fallo de página.

FUNCIONAMIENTO

El sistema operativo activa entonces el bit R (en sus propias tablas) y cambia la entrada de la tabla de páginas para que

apunte hacia la página correcta, poniendo dicha entrada en modo sólo lectura (recordar los bits de permisos). El proceso

retoma su ejecución; si se escribe en la página, ocurre otra interrupción por violación de permisos, lo que permite al sistema

operativo activar el bit M en sus tablas, cambiando los permisos de la página a lectura y escritura.

EJEMPLOS

Nº 1

0 0 PAGINA 1

Algoritmo FIFO

Primera en entrar, primera en salir (First In, First Out)

Introducción

En este método el sistema operativo sólo tiene que guardar en qué orden las páginas fueron cargadas, de modo que al necesitar hacer espacio pueda fácilmente elegir la primera página cargada. Se usa una cola, al cargar una página nueva se ingresa en el último lugar. Aunque las colas FIFO son simples e intuitivas, no se comportan de manera aceptable en la aplicación práctica, por lo que es raro su uso en su forma simple.

Explicación del algoritmo

RREFERIDO

MMODIFICADOD

O

PROTECCIONCACHE

INHABILITADO

PRESENTE O AUSENTE

NUMERO DE MARCO DE PÁGINA

Page 3: Algoritmo Del Reloj

El algoritmo FIFO reemplaza las páginas de la forma que el primero que entra es el primero que sale. Asocia a cada página el instante en el que se trajo a la memoria, así cuando se tenga que reemplazar una página, se elige la más antigua.

Algoritmo de remplazo de páginas:

SEGUNDA OPORTUNIDAD

Introducción.

En sistemas operativos que utilizan paginación para el manejo de memoria, los algoritmos de reemplazo de páginas son usados para decidir qué páginas pueden ser sacadas de memoria cuando se necesita cargar una nueva y ya no hay espacio.

Explicación del Algoritmo.

Una modificación simple de FIFO, que evita deshacerse de una página de uso frecuente, inspecciona el bit R de la página más antigua. Si es 0, la página es antigua y no utilizada, por lo que se reemplaza de manera inmediata. Si el bit es 1, R se pone a cero, la página se coloca al final de la lista de páginas, como si hubiera llegado en ese momento a la memoria. Después continúa la búsqueda siguiendo la lista.

Ejemplos:

ALGORITMO LRU

INTRODUCCION

Este algoritmo difiere del de 'No usada recientemente' en el hecho de que aquel sólo se fija en el intervalo de tiempo desde que se pusieron en 0 los bits de referencia de las páginas, mientras que el algoritmo de 'Menos usada recientemente' intenta proveer un comportamiento casi óptimo mediante la observación de las páginas que menos fueron usadas recientemente

EXPLICACION

El algoritmo LRU está basado en el principio de proximidad temporal de referencias: si es probable que se vuelvan a referenciar las páginas a las que se ha accedido recientemente, la página que se debe reemplazar es aquélla a la que no se ha hecho referencia desde hace más tiempo. Dicho de otra forma, se intenta predecir el futuro próximo usando el pasado reciente. Se basa, por tanto, en un criterio de frescura de la página. EJEMPLOS

La cadena de referencia 2 3 2 1 5 2 4 5 3 2 5 2 con tres marcos produce 5 fallos

INTRODUCCION

Memoria virtual Algoritmo NFU (pagina no frecuentemente usada)

Implementa una aproximación del algoritmo LRU, utilizado exclusivamente Software:

Page 4: Algoritmo Del Reloj

Se activa un contador software por cada pagina En cada interrupción de reloj, el SO suma el bit R (0 o 1) al contador Cuando existe un fallo de página se selecciona la página con el contador más bajo y se envía a disco

Explicación del Algoritmo:

Solución al problema de memoria: Maduración:

Se activa un contador de software por cada pagina

En cada interrupción de reloj se desplaza el contador un bit a la derecha y luego se suma el bit R al bit más significativo del contador.

Las páginas se mantienen en una cola circular, con un apuntador a las páginas más antigua.

Si hay un fallo y R=0, la página se retira y se avanza el apuntador. Si R=1 se limpia R se avanza hasta encontrar una página con R=0.

ALGORITMO DE ENVEJECIMIENTO

1. INTRODUCCION

Este algoritmo se deriva de otro algoritmo NFU (No Usado Frecuentemente),es prácticamente el mismo algoritmo pero está un poco modificado

. EXPLICACION DEL ALGORITMO

Cada Pagina requiere un contador, y cada tick de reloj explora las paginas y suma los R bits al contador

Todos los contadores se desplazan un bit a la derecha, antes de sumara el bit R.

Después el bit R se suma al bit del extremo izquierdo, en lugar del derecho

Algoritmo

Conjunto de Trabajo

Inicio:

En sistemas operativos que utilizan paginación para el manejo de memoria, los algoritmos de reemplazo de páginas son usados para decidir qué páginas pueden ser sacadas de memoria cuando se necesita cargar una nueva y ya no hay espacios

FUNCIONAMIENTO:

El hardware se encarga de encender los bits R y M. Una interrupción de reloj periódica causa la ejecución de software que apaga en cada tick de reloj el bit. En cada fallo de página, la tabla de páginas se explora en busca de una apropiada para desalojar.

Explicación del algoritmo:

Este algoritmo se resuelve siguiendo los siguientes pasos:

Los procesos inician sin páginas en la memoria. Al tratar de obtener la primera instrucción, se producirá un fallo de página; y así respectivamente. Después de cierto tiempo el proceso tiene casi todas sus páginas en memoria, y su ejecución se estabiliza con

pocos fallos de página. A lo anterior se le llama paginación  por demanda.

Page 5: Algoritmo Del Reloj

Por fortuna, la mayoría de los procesos, en cualquier momento de su ejecución solo referencia ciertas paginas suyas, no es común que en una pasada requiera todas sus páginas.

Ejemplos de corrida:

EJEMPLOS 1.-

ALGORITMO SWCLOCK

El algoritmo de SWCLOCK se basa en lo siguiente:

1.- Se basa en los algoritmos de un conjunto de trabajos.

2.- Al inicio la lista está vacía y se basa en una lista circular de marcos de página.

3.- Al iniciarse la lista circular en la primera página se añade la lista y así sucesivamente hasta formar la lista circular.

4.- Cada tiempo de entrada tiene un tiempo de uso R y M.

FUNCIONALIDAD

1) Cuando hay un fallo de página se examina primero la página de la manecilla:

Si R=1

La pagina se uso en el tick actual. No es candidata.

Se apaga el bit R

Se adelanta la manecilla y se repite el algoritmo.

Ver in incisos a) y b)

Si R=0

Si la edad > t y la página ésta limpia (no codificada)

Indica que ya no pertenece al anillo y no es necesario protegerla.

La nueva página se colocaría en el siguiente marco (Ver incisos c -> d)

Page 6: Algoritmo Del Reloj

Si la edad > t y la página no está limpia.

No se podrá quitar del anillo a menos de que se proteja.

Sí existe una página limpia se pondrá en uso de inmediato.

Para evitar cambios de procesos la manecilla del anillo se adelanta y el algoritmo continúa su análisis.

2)  Si la manecilla da la vuelta completa en el anillo:

Si la manecilla da la vuelta completa en el anillo:

Si se guarda al menos una escritura en el anillo.

Seguirá dando vueltas la manecilla, hasta que algún proceso termine su escritura y la limpie.

Si es limpiada se quitara del anillo automáticamente.

Si no se guarda ninguna escritura en el anillo.

Indica que todas las páginas están dentro del anillo.

Se utilizará cualquier marco de página que se encuentre vacío, sino es así se guardara en disco.

PRACTICA 12

1. Mencionar los dispositivos que tienen los miembros del grupo en sus computadoras

R.- En el grupo se encuentran los dispositivos siguientes:

Dispositivos de salida:Monitor, Impresora, parlantes, auriculares, proyectores entre otros.

Dispositivos de entrada:teclado, ratón, Scanner, disco duro externo, micrófono y cámara web, etc.

Mejor expresado en la siguiente tabla:

DISPOSITIVO MONICA TATIANA DANIEL MARCELOMONITOR TECLADO MOUSE

AUDIFONOS LAPIZ OPTICO

CAMARA JOYSTICK SCANNER

CD DVD

DISKETEIMPRESORA

ALTAVOZ TARJETA GRAFICA

FLASH MEMORY USB

MODEM CABLE DE RED

TARJETA DE RED BLUETOOTH

Page 7: Algoritmo Del Reloj

WIFI DISPOSITIVO LEGIBLES PARA EL USUARIO LEGIBLE PARA LA MAQUINA DE COMUNICACIÓN

MONITOR TECLADO MOUSE

AUDIFONOS

LAPIZ OPTICO

CAMARA

JOYSTICK

SCANNER

CD

DVD

DISKETE

IMPRESORA

ALTAVOZ

TARJETA GRAFICA

FLASH MEMORY

USB

MODEM

CABLE DE RED

TARJETA DE RED

BLUETOOTH

WI-FI

2. Mencionar todos los dispositivos de una computadora y clasificarlos en la siguiente tabla:

3. ¿Qué es DNA?

DirectMemory Access (Acceso Directo a la Memoria).

Es un elemento de hardware que permite a un dispositivo capaz de trabajar en modo DMA, acceder a la memoria sin intervención del procesador.

Un programa solamente interviene en el proceso de DMA a la hora de iniciarlo para indicarle con qué dispositivos interactuará.

Los dispositivos más antiguos (disqueteras...) son capaces de trabajar con un DMA de alrededor de 4 Megahertz. Estos dispositivos no cuentan con capacidad propia de DMA, sino que dependen de circuitería externa encontrada en la tarjeta madre.

El DMA hace posibles muchas tareas que de otra manera monopolizarían al procesador y harían que el resto de programas fueran extremadamente lentos cuando, por ejemplo, se reproduce sonido MP3.

Actualmente todas las tarjetas y dispositivos más complejos tienen capacidad de DMA. Estos NO hacen uso de los circuitos de la tarjeta madre; sino que cuentan con sus propias capacidades y hardware para DMA, que a propósito es mucho más rápido que 4MHz.

A estos dispositivos y a su capacidad propia de DMA se le llama "Bus Master". Cada dispositivo tiene su implementación muy propia de DMA.

4. investigar 5 interrupciones de entrada y salida.

Page 8: Algoritmo Del Reloj

5. Investigar la configuración del DNA.

Page 9: Algoritmo Del Reloj