0% encontró este documento útil (0 votos)
35 vistas12 páginas

Algoritmo Fifo - Informe

El documento describe el algoritmo FIFO (First In, First Out) para la gestión de memoria en sistemas operativos. Explica que FIFO sigue el principio de una cola para reemplazar las páginas, garantizando que se procesen en el orden de llegada. Detalla su funcionamiento a través de un ejemplo y una simulación en C++. También analiza las ventajas de FIFO como su simple implementación y desventajas como su falta de optimización en algunos casos. Finalmente, compara FIFO con otros algoritmos como SJF y Round Robin

Cargado por

Turpo M. Elfer
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas12 páginas

Algoritmo Fifo - Informe

El documento describe el algoritmo FIFO (First In, First Out) para la gestión de memoria en sistemas operativos. Explica que FIFO sigue el principio de una cola para reemplazar las páginas, garantizando que se procesen en el orden de llegada. Detalla su funcionamiento a través de un ejemplo y una simulación en C++. También analiza las ventajas de FIFO como su simple implementación y desventajas como su falta de optimización en algunos casos. Finalmente, compara FIFO con otros algoritmos como SJF y Round Robin

Cargado por

Turpo M. Elfer
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

UNIVERSIDAD NACIONAL DEL ALTIPLANO

FACULTAD DE MECANICA ELECTRICA, ELECTRONICA Y SISTEMAS

CARRERA PROFESIONAL DE INGENIERÍA DE SISTEMAS

“ALGORITMO FIFO”

INTEGRANTES

- Ivan Rony Condori Inquilla

- Widvar Gustavo Condori Coaquira

- Brayan Tarqui Chambilla

- Elfer Mamani Turpo

PUNO - PERÚ
Resumen

Este informe aborda la importancia de los algoritmos de reemplazo de páginas, centrándose en el

algoritmo FIFO (First In, First Out). Se destaca la necesidad de gestionar eficientemente la memoria

en sistemas operativos, donde la finitud de la memoria física requiere decisiones sobre qué páginas

cargar en la RAM. El algoritmo FIFO, con sus raíces en la historia de la informática, sigue el

principio de una cola, garantizando un tratamiento justo y secuencial de los datos. Se presenta su

funcionamiento, objetivos y una simulación práctica en C++.

El informe señala que el rendimiento eficiente se refleja en un bajo índice de fallos de página,

indicando que la mayoría de las páginas necesarias están en la memoria principal. Se exploran las

ventajas del FIFO, como su simple implementación y la prevención del problema de "starvation", pero

también se abordan desventajas, como su falta de optimización en ciertos casos. Se compara con otros

algoritmos de planificación y se detallan diversas aplicaciones en sistemas operativos, gestión de

memoria virtual, sistemas de caché, gestión de recursos compartidos, almacenamiento en disco,

sistemas de archivos y colas de mensajes. Además, se destaca su papel como base para algoritmos

más avanzados.
Indice

Introducción 1
I. Historia 2
II. Definición 2
III. Objetivos 3
IV. Funcionamiento 3
V. Ventajas y Desventajas 6
Ventajas del algoritmo FIFO: 6
Desventajas del algoritmo FIFO: 6
Comparación con Otros Algoritmos de Planificación: 6
VI. Aplicaciones 7
VII. Conclusiones 8
VIII. Bibliografía 9
1

Introducción

En el complejo mundo de los sistemas operativos y la gestión de memoria, uno de los desafíos

fundamentales es maximizar la eficiencia en el uso de los recursos disponibles. Los algoritmos de

reemplazo de páginas son una pieza clave en este rompecabezas, diseñados para optimizar la asignación

de memoria y mejorar el rendimiento del sistema.

Cuando los programas se ejecutan, requieren acceso a datos y código almacenados en la memoria. Sin

embargo, la memoria física es finita, y es necesario decidir qué páginas o bloques de memoria deben

estar cargados en la RAM en un momento dado. Los algoritmos de reemplazo de páginas abordan esta

cuestión, determinando qué página residente en memoria debe ser reemplazada por otra cuando surge

la necesidad de cargar una nueva página.

La eficacia de estos algoritmos es esencial para evitar problemas como la fragmentación y la pérdida

de rendimiento. Diferentes estrategias de reemplazo de páginas han sido desarrolladas a lo largo del

tiempo, cada una con sus propias ventajas y desventajas en términos de complejidad y eficiencia..

En última instancia, se tendrá una visión completa de la importancia y la diversidad de los algoritmos

de reemplazo de páginas (Algoritmo FIFO), destacando su papel esencial en la optimización del

rendimiento de sistemas informáticos al gestionar de manera eficiente la memoria disponible.


2

I. Historia

El algoritmo FIFO, también conocido como "First In, First Out" (Primero en Entrar, Primero

en Salir), tiene sus raíces en la gestión de datos y procesos que se remontan a los primeros

sistemas informáticos y operativos. Aunque no hay un punto exacto de origen, se puede

rastrear su evolución a medida que la informática avanzaba.

La necesidad de gestionar recursos y procesos de manera eficiente llevó al desarrollo de

algoritmos como el FIFO. A lo largo de las décadas, ha sido una parte esencial de sistemas

operativos, administración de colas y otras aplicaciones donde la temporalidad de los datos es

crítica.

II. Definición

El algoritmo FIFO es un método de gestión de datos en el que el primer elemento que ingresa

es el primero en ser retirado. En otras palabras, sigue el principio de una cola, donde los

elementos se agregan al final y se eliminan desde el frente. Este enfoque garantiza que los

datos se procesen en el mismo orden en que llegaron, independientemente de su prioridad o

importancia.

La implementación básica del algoritmo FIFO implica el mantenimiento de una estructura de

datos tipo cola, donde los elementos se insertan en un extremo y se eliminan del otro. Esto

asegura que los datos se manipulen en un orden secuencial, proporcionando un método simple

pero efectivo para la gestión temporal de información.


3

III. Objetivos

Los objetivos principales del algoritmo FIFO son:

● Orden Secuencial: Garantizar que los datos se procesen en el orden exacto en que

ingresaron, lo que es fundamental en situaciones donde la temporalidad es crucial.

● Equidad en el Tratamiento: Aplicar el principio de justicia elemental, donde los

elementos se tratan de acuerdo con su antigüedad. Esto asegura que todos los datos

tengan la misma oportunidad de ser procesados.

● Simplicidad: Proporcionar un enfoque simple y fácil de implementar para la gestión

temporal de datos, especialmente en situaciones donde la complejidad adicional no es

necesaria.

● Aplicaciones Diversas: Ser aplicable en una variedad de contextos, desde sistemas

operativos hasta la administración de colas en servicios y procesos que requieren un

manejo secuencial de información.

IV. Funcionamiento

Este algoritmo sigue el principio de que la primera página que entra en la memoria es

la primera en salir.

A. Al principio, la memoria está vacía, y no hay ninguna página en la cola de páginas.


4

B. Cuando se realiza una referencia a una página, el algoritmo verifica si esa página ya

está en memoria.

C. Cuando no está en memoria se agrega al final o se reemplaza de ser necesario.

Ejemplo Práctico:

P 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

– – – – – – – – – – – – – – – – – – – –

M1 7 7 7 2 2 2 4 4 4 0 0 0 7 7 7

M2 0 0 0 3 3 3 2 2 2 1 1 1 0 0

M4 1 1 1 0 0 0 3 3 3 2 2 2 1

Fa F F F F F F F F F F F F F F F

Programa basado en c++ que simula el funcionamiento del algoritmo FIFO


5

Resultados:

Num_Referencias = 20

Numero_Fallos = 15

Frecuencia de Fallos de página = (Numero_Fallos/Numero_Referencias) = 0.75

Rendimiento = 1- Frecuencia = 1 - 0.75 = 0.25


6

➢ Un bajo índice de fallos de página generalmente indica un rendimiento eficiente del sistema,

ya que la mayoría de las páginas necesarias están en memoria principal.

➢ Un alto índice de fallos de página podría sugerir que el tamaño de la memoria principal es

insuficiente para las necesidades del sistema

V. Ventajas y Desventajas

Ventajas del algoritmo FIFO:

1. Simple Implementación: Es fácil de entender e implementar, lo que lo hace adecuado

para sistemas simples y para situaciones donde la complejidad no es crítica.

2. Sin Starvation: Garantiza que cada proceso tenga la oportunidad de ejecutarse

eventualmente, evitando el problema de "starvation" donde algunos procesos nunca

obtienen la CPU.

3. Uso Justo de Recursos: Garantiza un uso justo de los recursos, ya que los procesos se

ejecutan en el orden en que llegan.

Desventajas del algoritmo FIFO:

1. No Es Óptimo para Todos los Casos: No siempre produce un rendimiento óptimo en

términos de tiempo de retorno promedio o tiempo de espera promedio.

2. Problema de la Inversión de Prioridades: Puede experimentar el problema de la

inversión de prioridades, donde un proceso de baja prioridad que llega antes puede

bloquear un recurso que un proceso de alta prioridad necesita más tarde.

Comparación con Otros Algoritmos de Planificación:

1. Comparación con SJF (Shortest Job First): FIFO no tiene la ventaja de minimizar

el tiempo de espera promedio como SJF. En situaciones donde los procesos más

cortos llegan primero, SJF tiende a ser más eficiente.


7

2. Comparación con Round Robin: FIFO no asigna la CPU en intervalos de tiempo

fijos como Round Robin. En situaciones de carga liviana, FIFO puede ser más

eficiente ya que no hay un costo adicional asociado con el cambio frecuente de

contexto.

3. Comparación con Prioridades: Algoritmos basados en prioridades asignan la CPU

según la prioridad del proceso. FIFO no toma en cuenta la prioridad, lo que puede ser

beneficioso o perjudicial dependiendo de la situación.

VI. Aplicaciones

En sistemas operativos se utiliza principalmente en la gestión de memoria para decidir qué

página de memoria debe ser reemplazada cuando se necesita cargar una nueva página.

1. Gestión de Memoria Virtual:

○ En sistemas operativos que emplean la memoria virtual, el espacio de

almacenamiento se divide en páginas. Cuando se necesita cargar una nueva

página y no hay espacio disponible en memoria, el algoritmo FIFO selecciona

la página que ha estado en memoria durante más tiempo para ser reemplazada.

Esto asegura que la página más antigua sea la primera en ser eliminada.

2. Sistemas de Caché:

○ En el contexto de sistemas con memoria caché, el algoritmo FIFO se puede

aplicar para decidir qué bloque de memoria caché debe ser reemplazado

cuando se necesita cargar un nuevo bloque. La idea es que el bloque que ha

estado en la caché por más tiempo sea el primero en ser reemplazado.

3. Gestión de Recursos Compartidos:

○ El algoritmo FIFO también se utiliza en la gestión de recursos compartidos,

como colas de impresión o colas de acceso a dispositivos. En este caso, el

recurso compartido se asigna al primer proceso que lo solicita y se libera en el

orden en que se solicitaron los recursos.

4. Sistemas de Almacenamiento en Disco:


8

○ En sistemas de almacenamiento en disco, el algoritmo FIFO puede utilizarse

para decidir qué bloques de datos deben ser reemplazados en la memoria caché

del disco cuando se necesitan recuperar nuevos bloques del almacenamiento

principal.

5. Sistemas de Archivos:

○ En sistemas de archivos, el algoritmo FIFO puede aplicarse para decidir qué

bloques de datos deben ser liberados cuando se necesita espacio para almacenar

nuevos datos. Esto se aplica a situaciones donde el espacio en disco es limitado.

6. Colas de Mensajes:

○ En sistemas que utilizan colas de mensajes para la comunicación entre

procesos, el algoritmo FIFO puede determinar el orden en que los mensajes

son enviados o recibidos. El primer mensaje en entrar es el primero en ser

procesado.

7. Base para otros algoritmos:

○ FIFO sirve como base para otros algoritmos de reemplazo de páginas más

avanzados, como el algoritmo de Segunda Oportunidad (Reloj) y el algoritmo

de Páginas de Reloj (CLOCK), que son modificaciones al algoritmo FIFO.

Estos algoritmos intentan mejorar el rendimiento del sistema operativo al

considerar la frecuencia de acceso a las páginas.

VII. Conclusiones

● Eficacia y simplicidad: Es un método simple y eficaz para el manejo de memoria en sistemas

operativos. Su implementación es directa y no requiere un seguimiento complejo de las páginas

en memoria.

● Limitaciones y anomalías: A pesar de su simplicidad, el algoritmo FIFO tiene limitaciones

significativas, como la Anomalía de Belady. Esta anomalía, en la que un sistema con más

marcos de página puede tener más fallos de página que uno con menos marcos, es un indicador

de que FIFO puede no ser el algoritmo óptimo para todas las situaciones.
9

● Uso práctico: En la práctica, el algoritmo FIFO rara vez se utiliza en su forma más simple

debido a sus limitaciones. Sin embargo, puede ser útil en ciertos contextos y sirve como base

para algoritmos de reemplazo de página más avanzados.

● Mejoras y alternativas: Existen alternativas y mejoras al algoritmo FIFO, como el algoritmo

de reemplazo de página LRU (Least Recently Used), que pueden ofrecer un rendimiento

superior en ciertos escenarios.

● Relevancia del estudio: El estudio del algoritmo FIFO es esencial para entender los

fundamentos del manejo de memoria en sistemas operativos y puede proporcionar una base

sólida para el estudio de algoritmos de reemplazo de página más complejos.

VIII. Bibliografía

- López, E. C. M. K. Ó., & Clemente, J. Memoria virtual.


- en Sistemas, A. U. ADMINISTRACIÓN DE LA MEMORIA.

También podría gustarte