SlideShare una empresa de Scribd logo
1 de 6
Introducción
Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea, la cual, dado un
estado inicial, culminará por arrojar un estado final reconocible. Esta definición asume que la
ejecución del algoritmo concluye en algún momento, dejando fuera los procedimientos que ejecutan
permanentemente sin detenerse. Para incluir a éstos en la definición, algunos autores prefieren obviar
la condición de que la ejecución concluya.
Con lo cual basta con que un procedimiento sea una secuencia de pasos que puede ser ejecutada por
una entidad para que se lo considere algoritmo. En el caso que no haya un estado final reconocible, el
éxito del algoritmo no puede definirse como la culminación del proceso con un resultado significativo.
En cambio, se requiere una definición de éxito que contemple secuencias ilimitadas de resultados, por
ejemplo, un sistema de compresión/descompresión de datos en tiempo real (como los utilizados en el
manejo de voz sobre IP); en este caso, el algoritmo no define por sí mismo la finalización del proceso,
debiendo seguir su funcionamiento mientras haya datos para procesar. El éxito del algoritmo estará
dado por el hecho de que los datos, una vez descomprimidos, sean iguales que antes de comprimirse.
El concepto de algoritmo se ilustra frecuentemente comparándolo con una receta: al igual que las
recetas, los algoritmos habitualmente están formados por secuencias de instrucciones que
probablemente se repiten (iteran) o que requieren decisiones (comparaciones lógicas) hasta que
completan su tarea. Un algoritmo puede no ser correcto, con lo cual, por más que sus pasos se lleven
a cabo correctamente, el estado final no será el esperado.
Algoritmo del banquero
Llamado también negativa de asignación de recursos, el algoritmo resuelve
un problema planteado porEdsger Dijkstra.
Existe un banco que tiene una reserva limitada de dinero a prestar y clientes con línea
de crédito. Un cliente pide dinero y no hay garantía de que haga reposiciones hasta
que saque la cantidad máxima. El banco puede rechazar el préstamo si hay riesgo de
que no tenga fondos para prestar a otros clientes
 Viéndolo como Sistema Operativo, los clientes serían los procesos, el dinero a
prestar los recursos y el banquero el S.O.

Para este algoritmo es importante considerar los siguientes puntos:
 Estado. Es la asignación actual de los recursos a los procesos.
 Matriz demanda (o máximo necesario). Son las exigencias máximas de
recursos para cada proceso.
 Matriz asignación. Son las asignaciones actuales de recursos para cada
proceso.
 Vector disponible. Cantidad total de recursos sin asignar a los procesos.
 Estado seguro. Es un estado en el que existe al menos un orden en el que
todos los procesos pueden ejecutar hasta el final sin generar interbloqueo.
Cuando un proceso realiza una solicitud de recursos, se supone que se concede,
se actualiza el estado y se toma una decisión. Si se llega a un estado seguro, se concede
la petición. Si se llega a uno inseguro, se rechaza y el proceso es bloqueado.
Ventajas del algoritmo del banquero:
 No es necesario expulsar y hacer retroceder procesos como en la detección del
interbloqueo.
 Es menos restrictivo que la prevención.
Desventajas:
 Se debe conocer la máxima demanda de recursos por anticipado.
 La ejecución de los recursos no debe estar forzada por la sincronización.
 Se tiene un número fijo de procesos y recursos.
 Los procesos no finalizan mientras retengan recursos.
 Requiere que los procesos salden sus préstamos en un tiempo finito.
A continuación se presenta un ejemplo:
Utilizando el algoritmo del banquero resuelva el siguiente problema, indicando el
orden en que los procesos pasan a ser estados seguros evitando el problema del
interbloqueo.
Lista de procesos: P1-P3-P4-P0 ó P2
A la derecha se tienen 5 procesos, cada uno tiene recursos de tipo A, B y C. En la
primer columna de asignados está la cantidad de recursos que el proceso ha obtenido
a lo largo de un tiempo; en la segunda columna de Máximo Necesario, están los
recursos que tiene que obtener de cada tipo para comenzar a ser ejecutado. Por
ejemplo, el P0 no ha obtenido ningún recurso del tipo A, sólo 1 del tipo B y ninguno
del tipo C, y necesita para ejecutarse haber conseguido 7 del A, 5 del B y 3 del C.
En la última columna se tienen los recursos disponibles que da el sistema, los que se
pueden utilizar con todos los procesos. Hay 3 del A, 3 del B y 2 del C.
El algoritmo del banquero trata de asegurar qué proceso tiene un “estado seguro” es
decir, se requiere alcanzar el máximo requerido entre los que estén en Asignados y los
que se encuentren en Disponibles.
Ejemplo: El proceso 0 no está en estado seguro. Si se suman Asignados + Disponibles
para cada uno de los recursos A, B y C, realmente no se alcanzan los Máximos
Requeridos.
Entonces se va al proceso 1 y se trata de hacer lo mismo, sumar Asignados +
Disponibles. Allí sí se tiene un ESTADO SEGURO, A con 5, B con 3 y C con 2, y como se
alcanza a llenar los Máximos, ese proceso se ejecuta.
Una vez que el proceso se ejecutó, entonces se procede a SUMAR los recursos
asignados del proceso anterior a los disponibles. Hay que recordar que el proceso al
terminar de ejecutarse libera todos sus recursos, por lo tanto pasan tanto los de tipo
A, B y C a sumarse con los disponibles 3-3-2 y se tendrán nuevos DISPONIBLES que
repartir, siendo ahora éstos 5-3-2.
Con estos se pasa al proceso P2 y así sucesivamente.
Y el algoritmo es como sigue:
Algoritmo de remplazo
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 marcos de páginas libres.
Algoritmo de reemplazo óptimo
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 lasquese va a acceder. Este algoritmo sirvepara comparar el rendimiento de los algoritmos que sí
son factibles en la práctica.
Algoritmo FIFO (First Input/First Output, primera en entrar/primera en salir)
Una estrategia sencillaeintuitivamente razonablees seleccionar para lasustitución la página que lleva más
tiempo en memoria, es decir, basarse en el tiempo de residencia. La implementación de este algoritmo es
simple.Además, no necesita ningún apoyo hardwareespecial. El sistema operativo debe mantener una l ista
de las páginas que están en memoria, ordenada por el tiempo que llevan residentes.
Sin embargo, el rendimiento del algoritmo no es bueno en muchas ocasiones. La página que lleva más
tiempo en memoria puede contener instrucciones o datos a los que se accede con frecuencia. Poniendo un
ejemplo extremo, piense en un programa pequeño, cuyo código cabe en una sola página. Lo razonable sería
que esa página nunca se expulsase, pero, con el algoritmo FIFO se expulsaría con bastante frecuencia.
En determinadas situaciones este algoritmo presenta un comportamiento sorprendente, conocido como la
anomalía de Belady. Intuitivamente, parece que cuantos más marcos de página haya en el sistema, menos
fallos de página se producirán. Sin embargo, ciertos patrones de referencias causan que este algoritmo
tenga un comportamiento opuesto. El descubrimiento de esta anomalía resultó al principio sorprendente y
llevó al desarrollo de modelos teóricos para analizar los sistemas de memoria virtual. En la práctica, esta
anomalía es sólo una curiosidad, que demuestra que los sistemas pueden tener a veces comportamientos
inesperados.
Algoritmo LRU (Least Recently Used, menos recientemente usada)
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.
El algoritmo LRU no sufre la anomalía de Belady. Pertenece a una clase de algoritmos denominados
algoritmos de pila. La propiedad de estos algoritmos es que las páginas residentes en memoria para un
sistema con n marcos de página son siempre un subconjunto de las que habría en un sistema con n+1
marcos.
Hay un aspecto sutil en este algoritmo cuando se considera su versión global. A la hora de seleccionar una
página no habría que tener en cuenta el tiempo de acceso real,sino el tiempo lógico decada proceso. O sea,
habría que seleccionar la página que haya sido menos recientemente usada teniendo en cuenta el tiempo
lógico de cada proceso.
El algoritmo LRU se utiliza muy frecuentemente para la gestión de la caché del sistema de ficheros. Sin
embargo, una implementación exacta en un sistema de memoria virtual es difícil, ya que requiere un
considerable apoyo hardware.
Algoritmo del reloj
El algoritmo de reemplazo del reloj (o de la segunda oportunidad) es una modificación sencilla del FIFO, que
evita el problema de que una página muy utilizada sea eliminada por llevar mucho tiempo residente,
proporcionando unas prestaciones similares a las del algoritmo LRU, sin requerir un hardware específico.
En este algoritmo, cuando se necesita reemplazar una página, se examina el bit de referencia de la página
más antigua (la primera de la lista en orden FIFO). Si no está activo, se usa esta página para el reemplazo.
En caso contrario, se le da una segunda oportunidad a la página, poniéndola al final de la lista y
desactivando su bit de referencia. Por tanto, se la considera como si acabara de llegar a memoria. La
búsqueda continuará hasta que se encuentre una página con su bit de referencia desactivado. Si todas las
páginas tienen activado su bit de referencia, el algoritmo se convierte en FIFO.
Para implementar este algoritmo se puede usar una lista circular de las páginas residentes en memoria, en
vez de una lineal (en el caso de una estrategia local,seutiliza una lista circular por cada proceso). Existe un
puntero que señala en cada instanteal principio dela lista.Cuando llega a memoria una página,se coloca en
el lugar donde señala el puntero y, a continuación, se avanza el puntero al siguiente elemento de la lista.
Como se comentó previamente, se trata de un algoritmo sencillo, que sólo requiere que el procesador
gestione un bit de referencia,que suele ser lo habitual (incluso en procesadores que no gestionan este bit es
relativamente sencillo implementarlo, simulándolo por software). Como el algoritmo LRU, también está
basado en la frescura de la página, proporcionando un rendimiento similar. Esto ha hecho que, con
pequeñas variaciones específicas, sea el algoritmo utilizado en la mayoría de los sistemas operativos
actuales.
Algoritmo LFU (Least Frequently Used, menos frecuentemente usada)
Existe un número incontablede algoritmos dereemplazo en la literatura sobre gestión de memoria, por ello
no tiene sentido hacer un repaso exhaustivo de los mismos en esta sección. Sin embargo, se ha considerado
conveniente hacer una breve reseña de este algoritmo, puesto que, aunque no proporciona una buena
solución al problema, tiene en cuenta un factor que no era tomado en consideración en los algoritmos
presentados: la frecuencia de uso.
La idea de este algoritmo es expulsar la página residente que menos accesos ha recibido. El problema de
esta técnica es que una página que se utilice con mucha frecuencia en un intervalo de ejecución del
programa obtendrá un valor del contador muy alto, no pudiendo ser expulsada en el resto de la ejecución
del programa.
Dada la escasa utilidad del algoritmo, no se entrará más en detalle sobre su implementación, aunque hay
que resaltar que, como ocurría con el algoritmo LRU, necesitaría una MMU específica que gestionase un
contador de referencias, o bien usar una versión aproximada del mismo, que gestionara el contador
mediante muestreos periódicos del bit de referencia.
http://sistemasoperativosm317.wikispaces.com/Algoritmos+de+Reemplazo
https://es.wikipedia.org/wiki/Algoritmo_de_reemplazo_de_p%C3%A1ginas
http://sistemas-operativos.blogspot.com/2012/10/algoritmo-del-banquero.html
http://www.conocimientosweb.net/portal/article782.html

Más contenido relacionado

La actualidad más candente

Colaborativo_Nelis Rivero
Colaborativo_Nelis RiveroColaborativo_Nelis Rivero
Colaborativo_Nelis RiveroNelisRivero
 
Procesos-Planificacion-2017
Procesos-Planificacion-2017Procesos-Planificacion-2017
Procesos-Planificacion-2017Pablo Macon
 
Exposicion sistemas opertivos1
Exposicion sistemas opertivos1Exposicion sistemas opertivos1
Exposicion sistemas opertivos1Fiorela VG
 
Resumen Unidades 16/17/18 So Tanembau
Resumen Unidades 16/17/18 So TanembauResumen Unidades 16/17/18 So Tanembau
Resumen Unidades 16/17/18 So TanembauArian Gal
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De ProcesosJessica Suarez
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesadorManuel Ceron
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSlorenapardo
 
Procesos Introduccion a los sistemas operativos
 Procesos Introduccion a los sistemas operativos Procesos Introduccion a los sistemas operativos
Procesos Introduccion a los sistemas operativosG Hoyos A
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosFernando Morales
 
Estructura de datos c++
Estructura de datos c++Estructura de datos c++
Estructura de datos c++kikeMerck
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosECCI
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosLorena Ramos
 
Unidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IUnidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IKamps Tepes
 
Introduccion a la computación paralela
Introduccion a la computación paralelaIntroduccion a la computación paralela
Introduccion a la computación paralelaRene Guaman-Quinche
 
Introduccion A Los Procesos
Introduccion A Los ProcesosIntroduccion A Los Procesos
Introduccion A Los Procesospainni
 

La actualidad más candente (20)

prueba
pruebaprueba
prueba
 
Colaborativo_Nelis Rivero
Colaborativo_Nelis RiveroColaborativo_Nelis Rivero
Colaborativo_Nelis Rivero
 
Round robin apa
Round robin apaRound robin apa
Round robin apa
 
Procesos-Planificacion-2017
Procesos-Planificacion-2017Procesos-Planificacion-2017
Procesos-Planificacion-2017
 
Exposicion sistemas opertivos1
Exposicion sistemas opertivos1Exposicion sistemas opertivos1
Exposicion sistemas opertivos1
 
Resumen Unidades 16/17/18 So Tanembau
Resumen Unidades 16/17/18 So TanembauResumen Unidades 16/17/18 So Tanembau
Resumen Unidades 16/17/18 So Tanembau
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesador
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
 
Proceso Informatico
Proceso InformaticoProceso Informatico
Proceso Informatico
 
Procesos Introduccion a los sistemas operativos
 Procesos Introduccion a los sistemas operativos Procesos Introduccion a los sistemas operativos
Procesos Introduccion a los sistemas operativos
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativos
 
Estructura de datos c++
Estructura de datos c++Estructura de datos c++
Estructura de datos c++
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Actividad colaborativa 301402 7
Actividad colaborativa  301402 7Actividad colaborativa  301402 7
Actividad colaborativa 301402 7
 
Unidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IUnidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos I
 
Introduccion a la computación paralela
Introduccion a la computación paralelaIntroduccion a la computación paralela
Introduccion a la computación paralela
 
Introduccion A Los Procesos
Introduccion A Los ProcesosIntroduccion A Los Procesos
Introduccion A Los Procesos
 
4. procesos
4. procesos4. procesos
4. procesos
 

Similar a Algoritmos de reemplazo de páginas en sistemas operativos

SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Tatiana sanchez 1
Tatiana sanchez 1Tatiana sanchez 1
Tatiana sanchez 1tatyseli
 
Administración de memoria virtual.
Administración de memoria virtual.Administración de memoria virtual.
Administración de memoria virtual.Juan Anaya
 
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSMEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSAnnimoLatinoamerica
 
Presentacion memoria
Presentacion memoriaPresentacion memoria
Presentacion memoriaIchinose 11
 
Algoritmos de gestión de memoria
Algoritmos de gestión de memoriaAlgoritmos de gestión de memoria
Algoritmos de gestión de memoriaadolfoahumada94
 
ENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PCENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PCguestdb824f
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtuallagm000
 
Actividad 12 diseño de algoritmo paralelos
Actividad 12 diseño de algoritmo paralelosActividad 12 diseño de algoritmo paralelos
Actividad 12 diseño de algoritmo paralelosJorgeTorres708
 
Primer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Primer trabajo administracion de la memoria y algoritmos de reemplazo de paginaPrimer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Primer trabajo administracion de la memoria y algoritmos de reemplazo de paginaJhiZzelh T Cz
 
Paso - 3, Grupo 43
Paso - 3, Grupo 43Paso - 3, Grupo 43
Paso - 3, Grupo 43Josue David
 
Sistema operativo.ppt
Sistema operativo.pptSistema operativo.ppt
Sistema operativo.pptAngizon Vn'
 

Similar a Algoritmos de reemplazo de páginas en sistemas operativos (20)

memoria_virtual
memoria_virtualmemoria_virtual
memoria_virtual
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Finalfinal
FinalfinalFinalfinal
Finalfinal
 
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
 
Tatiana sanchez 1
Tatiana sanchez 1Tatiana sanchez 1
Tatiana sanchez 1
 
Administración de memoria virtual.
Administración de memoria virtual.Administración de memoria virtual.
Administración de memoria virtual.
 
UNIDAD 5 - Algoritmia.pdf
UNIDAD 5 - Algoritmia.pdfUNIDAD 5 - Algoritmia.pdf
UNIDAD 5 - Algoritmia.pdf
 
memoria_virtual
memoria_virtualmemoria_virtual
memoria_virtual
 
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSMEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
 
Presentacion memoria
Presentacion memoriaPresentacion memoria
Presentacion memoria
 
Algoritmos de gestión de memoria
Algoritmos de gestión de memoriaAlgoritmos de gestión de memoria
Algoritmos de gestión de memoria
 
ENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PCENTRADAS Y SALIDAS DE UN PC
ENTRADAS Y SALIDAS DE UN PC
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Actividad 12 diseño de algoritmo paralelos
Actividad 12 diseño de algoritmo paralelosActividad 12 diseño de algoritmo paralelos
Actividad 12 diseño de algoritmo paralelos
 
Primer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Primer trabajo administracion de la memoria y algoritmos de reemplazo de paginaPrimer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
Primer trabajo administracion de la memoria y algoritmos de reemplazo de pagina
 
Paso - 3, Grupo 43
Paso - 3, Grupo 43Paso - 3, Grupo 43
Paso - 3, Grupo 43
 
Sistema operativo.ppt
Sistema operativo.pptSistema operativo.ppt
Sistema operativo.ppt
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 

Último

Antigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfAntigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfVictoria867681
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxAdriannDiaz
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaccastilloojeda12
 
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdfPORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdfYeniferGarcia36
 
Informe-RQ-2021-A4_compressed.pdf.sjjjas.e
Informe-RQ-2021-A4_compressed.pdf.sjjjas.eInforme-RQ-2021-A4_compressed.pdf.sjjjas.e
Informe-RQ-2021-A4_compressed.pdf.sjjjas.eyonayker10
 
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxCERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxMaikelPereira1
 
Nuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfNuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfmalvarado8
 
andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4Andrea11166
 
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g..."Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...dnmxd1213
 
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdfCartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdfsheylayaninaagurtofa1
 
GUARDIANES VIRTUALES guia metodologica---
GUARDIANES VIRTUALES guia metodologica---GUARDIANES VIRTUALES guia metodologica---
GUARDIANES VIRTUALES guia metodologica---YurleyFlorez5
 
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMaraMilagrosBarrosMa
 
la modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticola modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticofabianamarcano1
 
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZHISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZAnthonellaQuispe
 
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...CarlosMelgarejo25
 
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...CLAUDIA GINGLIONA RAMÍREZ DIFILIPPI
 
Las Artes Escenicas, origen y evolucion de la musica
Las Artes Escenicas, origen y evolucion de la musicaLas Artes Escenicas, origen y evolucion de la musica
Las Artes Escenicas, origen y evolucion de la musicaZahonisMartinez
 

Último (17)

Antigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfAntigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdf
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitectura
 
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdfPORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
 
Informe-RQ-2021-A4_compressed.pdf.sjjjas.e
Informe-RQ-2021-A4_compressed.pdf.sjjjas.eInforme-RQ-2021-A4_compressed.pdf.sjjjas.e
Informe-RQ-2021-A4_compressed.pdf.sjjjas.e
 
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxCERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
 
Nuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfNuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdf
 
andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4
 
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g..."Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
 
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdfCartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
 
GUARDIANES VIRTUALES guia metodologica---
GUARDIANES VIRTUALES guia metodologica---GUARDIANES VIRTUALES guia metodologica---
GUARDIANES VIRTUALES guia metodologica---
 
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
 
la modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticola modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didactico
 
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZHISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
 
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
 
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
 
Las Artes Escenicas, origen y evolucion de la musica
Las Artes Escenicas, origen y evolucion de la musicaLas Artes Escenicas, origen y evolucion de la musica
Las Artes Escenicas, origen y evolucion de la musica
 

Algoritmos de reemplazo de páginas en sistemas operativos

  • 1. Introducción Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea, la cual, dado un estado inicial, culminará por arrojar un estado final reconocible. Esta definición asume que la ejecución del algoritmo concluye en algún momento, dejando fuera los procedimientos que ejecutan permanentemente sin detenerse. Para incluir a éstos en la definición, algunos autores prefieren obviar la condición de que la ejecución concluya. Con lo cual basta con que un procedimiento sea una secuencia de pasos que puede ser ejecutada por una entidad para que se lo considere algoritmo. En el caso que no haya un estado final reconocible, el éxito del algoritmo no puede definirse como la culminación del proceso con un resultado significativo. En cambio, se requiere una definición de éxito que contemple secuencias ilimitadas de resultados, por ejemplo, un sistema de compresión/descompresión de datos en tiempo real (como los utilizados en el manejo de voz sobre IP); en este caso, el algoritmo no define por sí mismo la finalización del proceso, debiendo seguir su funcionamiento mientras haya datos para procesar. El éxito del algoritmo estará dado por el hecho de que los datos, una vez descomprimidos, sean iguales que antes de comprimirse. El concepto de algoritmo se ilustra frecuentemente comparándolo con una receta: al igual que las recetas, los algoritmos habitualmente están formados por secuencias de instrucciones que probablemente se repiten (iteran) o que requieren decisiones (comparaciones lógicas) hasta que completan su tarea. Un algoritmo puede no ser correcto, con lo cual, por más que sus pasos se lleven a cabo correctamente, el estado final no será el esperado.
  • 2. Algoritmo del banquero Llamado también negativa de asignación de recursos, el algoritmo resuelve un problema planteado porEdsger Dijkstra. Existe un banco que tiene una reserva limitada de dinero a prestar y clientes con línea de crédito. Un cliente pide dinero y no hay garantía de que haga reposiciones hasta que saque la cantidad máxima. El banco puede rechazar el préstamo si hay riesgo de que no tenga fondos para prestar a otros clientes  Viéndolo como Sistema Operativo, los clientes serían los procesos, el dinero a prestar los recursos y el banquero el S.O.  Para este algoritmo es importante considerar los siguientes puntos:  Estado. Es la asignación actual de los recursos a los procesos.  Matriz demanda (o máximo necesario). Son las exigencias máximas de recursos para cada proceso.  Matriz asignación. Son las asignaciones actuales de recursos para cada proceso.  Vector disponible. Cantidad total de recursos sin asignar a los procesos.  Estado seguro. Es un estado en el que existe al menos un orden en el que todos los procesos pueden ejecutar hasta el final sin generar interbloqueo. Cuando un proceso realiza una solicitud de recursos, se supone que se concede, se actualiza el estado y se toma una decisión. Si se llega a un estado seguro, se concede la petición. Si se llega a uno inseguro, se rechaza y el proceso es bloqueado. Ventajas del algoritmo del banquero:  No es necesario expulsar y hacer retroceder procesos como en la detección del interbloqueo.  Es menos restrictivo que la prevención. Desventajas:  Se debe conocer la máxima demanda de recursos por anticipado.  La ejecución de los recursos no debe estar forzada por la sincronización.  Se tiene un número fijo de procesos y recursos.  Los procesos no finalizan mientras retengan recursos.  Requiere que los procesos salden sus préstamos en un tiempo finito. A continuación se presenta un ejemplo:
  • 3. Utilizando el algoritmo del banquero resuelva el siguiente problema, indicando el orden en que los procesos pasan a ser estados seguros evitando el problema del interbloqueo. Lista de procesos: P1-P3-P4-P0 ó P2 A la derecha se tienen 5 procesos, cada uno tiene recursos de tipo A, B y C. En la primer columna de asignados está la cantidad de recursos que el proceso ha obtenido a lo largo de un tiempo; en la segunda columna de Máximo Necesario, están los recursos que tiene que obtener de cada tipo para comenzar a ser ejecutado. Por ejemplo, el P0 no ha obtenido ningún recurso del tipo A, sólo 1 del tipo B y ninguno del tipo C, y necesita para ejecutarse haber conseguido 7 del A, 5 del B y 3 del C. En la última columna se tienen los recursos disponibles que da el sistema, los que se pueden utilizar con todos los procesos. Hay 3 del A, 3 del B y 2 del C. El algoritmo del banquero trata de asegurar qué proceso tiene un “estado seguro” es decir, se requiere alcanzar el máximo requerido entre los que estén en Asignados y los que se encuentren en Disponibles. Ejemplo: El proceso 0 no está en estado seguro. Si se suman Asignados + Disponibles para cada uno de los recursos A, B y C, realmente no se alcanzan los Máximos Requeridos. Entonces se va al proceso 1 y se trata de hacer lo mismo, sumar Asignados + Disponibles. Allí sí se tiene un ESTADO SEGURO, A con 5, B con 3 y C con 2, y como se alcanza a llenar los Máximos, ese proceso se ejecuta. Una vez que el proceso se ejecutó, entonces se procede a SUMAR los recursos asignados del proceso anterior a los disponibles. Hay que recordar que el proceso al terminar de ejecutarse libera todos sus recursos, por lo tanto pasan tanto los de tipo A, B y C a sumarse con los disponibles 3-3-2 y se tendrán nuevos DISPONIBLES que repartir, siendo ahora éstos 5-3-2.
  • 4. Con estos se pasa al proceso P2 y así sucesivamente. Y el algoritmo es como sigue: Algoritmo de remplazo 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 marcos de páginas libres. Algoritmo de reemplazo óptimo 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 lasquese va a acceder. Este algoritmo sirvepara comparar el rendimiento de los algoritmos que sí son factibles en la práctica. Algoritmo FIFO (First Input/First Output, primera en entrar/primera en salir) Una estrategia sencillaeintuitivamente razonablees seleccionar para lasustitución la página que lleva más tiempo en memoria, es decir, basarse en el tiempo de residencia. La implementación de este algoritmo es simple.Además, no necesita ningún apoyo hardwareespecial. El sistema operativo debe mantener una l ista de las páginas que están en memoria, ordenada por el tiempo que llevan residentes.
  • 5. Sin embargo, el rendimiento del algoritmo no es bueno en muchas ocasiones. La página que lleva más tiempo en memoria puede contener instrucciones o datos a los que se accede con frecuencia. Poniendo un ejemplo extremo, piense en un programa pequeño, cuyo código cabe en una sola página. Lo razonable sería que esa página nunca se expulsase, pero, con el algoritmo FIFO se expulsaría con bastante frecuencia. En determinadas situaciones este algoritmo presenta un comportamiento sorprendente, conocido como la anomalía de Belady. Intuitivamente, parece que cuantos más marcos de página haya en el sistema, menos fallos de página se producirán. Sin embargo, ciertos patrones de referencias causan que este algoritmo tenga un comportamiento opuesto. El descubrimiento de esta anomalía resultó al principio sorprendente y llevó al desarrollo de modelos teóricos para analizar los sistemas de memoria virtual. En la práctica, esta anomalía es sólo una curiosidad, que demuestra que los sistemas pueden tener a veces comportamientos inesperados. Algoritmo LRU (Least Recently Used, menos recientemente usada) 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. El algoritmo LRU no sufre la anomalía de Belady. Pertenece a una clase de algoritmos denominados algoritmos de pila. La propiedad de estos algoritmos es que las páginas residentes en memoria para un sistema con n marcos de página son siempre un subconjunto de las que habría en un sistema con n+1 marcos. Hay un aspecto sutil en este algoritmo cuando se considera su versión global. A la hora de seleccionar una página no habría que tener en cuenta el tiempo de acceso real,sino el tiempo lógico decada proceso. O sea, habría que seleccionar la página que haya sido menos recientemente usada teniendo en cuenta el tiempo lógico de cada proceso. El algoritmo LRU se utiliza muy frecuentemente para la gestión de la caché del sistema de ficheros. Sin embargo, una implementación exacta en un sistema de memoria virtual es difícil, ya que requiere un considerable apoyo hardware. Algoritmo del reloj El algoritmo de reemplazo del reloj (o de la segunda oportunidad) es una modificación sencilla del FIFO, que evita el problema de que una página muy utilizada sea eliminada por llevar mucho tiempo residente, proporcionando unas prestaciones similares a las del algoritmo LRU, sin requerir un hardware específico. En este algoritmo, cuando se necesita reemplazar una página, se examina el bit de referencia de la página más antigua (la primera de la lista en orden FIFO). Si no está activo, se usa esta página para el reemplazo. En caso contrario, se le da una segunda oportunidad a la página, poniéndola al final de la lista y desactivando su bit de referencia. Por tanto, se la considera como si acabara de llegar a memoria. La búsqueda continuará hasta que se encuentre una página con su bit de referencia desactivado. Si todas las
  • 6. páginas tienen activado su bit de referencia, el algoritmo se convierte en FIFO. Para implementar este algoritmo se puede usar una lista circular de las páginas residentes en memoria, en vez de una lineal (en el caso de una estrategia local,seutiliza una lista circular por cada proceso). Existe un puntero que señala en cada instanteal principio dela lista.Cuando llega a memoria una página,se coloca en el lugar donde señala el puntero y, a continuación, se avanza el puntero al siguiente elemento de la lista. Como se comentó previamente, se trata de un algoritmo sencillo, que sólo requiere que el procesador gestione un bit de referencia,que suele ser lo habitual (incluso en procesadores que no gestionan este bit es relativamente sencillo implementarlo, simulándolo por software). Como el algoritmo LRU, también está basado en la frescura de la página, proporcionando un rendimiento similar. Esto ha hecho que, con pequeñas variaciones específicas, sea el algoritmo utilizado en la mayoría de los sistemas operativos actuales. Algoritmo LFU (Least Frequently Used, menos frecuentemente usada) Existe un número incontablede algoritmos dereemplazo en la literatura sobre gestión de memoria, por ello no tiene sentido hacer un repaso exhaustivo de los mismos en esta sección. Sin embargo, se ha considerado conveniente hacer una breve reseña de este algoritmo, puesto que, aunque no proporciona una buena solución al problema, tiene en cuenta un factor que no era tomado en consideración en los algoritmos presentados: la frecuencia de uso. La idea de este algoritmo es expulsar la página residente que menos accesos ha recibido. El problema de esta técnica es que una página que se utilice con mucha frecuencia en un intervalo de ejecución del programa obtendrá un valor del contador muy alto, no pudiendo ser expulsada en el resto de la ejecución del programa. Dada la escasa utilidad del algoritmo, no se entrará más en detalle sobre su implementación, aunque hay que resaltar que, como ocurría con el algoritmo LRU, necesitaría una MMU específica que gestionase un contador de referencias, o bien usar una versión aproximada del mismo, que gestionara el contador mediante muestreos periódicos del bit de referencia. http://sistemasoperativosm317.wikispaces.com/Algoritmos+de+Reemplazo https://es.wikipedia.org/wiki/Algoritmo_de_reemplazo_de_p%C3%A1ginas http://sistemas-operativos.blogspot.com/2012/10/algoritmo-del-banquero.html http://www.conocimientosweb.net/portal/article782.html