Este proyecto simula la administración de memoria virtual utilizando un algoritmo de reemplazo de páginas. Está diseñado para ayudar a entender cómo varía el comportamiento de un proceso según la memoria asignada, utilizando un proceso de esteganografía en imágenes para esconder y recuperar mensajes.
Esconder en la Imagen 1 el mensaje de la Imagen 2, el resultado se ve en la Imagen 3.
↑ Imagen 1
↑ Imagen 2
↑ Imagen 3
- Implementación del algoritmo "No Usadas Recientemente" para el reemplazo de páginas.
- Simulación del sistema de administración de memoria con cálculo de hits y fallas de página.
- Soporte para múltiples tamaños de imagen, mensajes escondidos y diferentes configuraciones de marcos de página.
- Multithreading para actualizar los estados de la tabla de páginas y el bit de referencia.
- Java SE 17 o superior
- Entorno de desarrollo compatible (Eclipse, IntelliJ, VS Code, etc.)
VirtualMemoryPageReplacementSimulator/
├── src/
│ └── caso2_jj.diazo1_rpazl/
│ ├── HiloActualizadorR.java
│ ├── HiloProcesador.java
│ ├── Imagen.java
│ ├── Main.java
│ ├── Opcion1.java
│ ├── Opcion2.java
│ ├── Pagina.java
│ ├── Referencia.java
│ ├── SistemaPaginacion.java
│ └── Utilidades.java
├── Archivos/
│ ├── caso2-mensaje_dollshousep1.txt
│ ├── caso2-parrots_mod.bmp
│ └── caso2-parrots.bmp
└── README.md
Clona este repositorio a tu máquina local:
git clone https://github.com/tuusuario/VirtualMemoryPageReplacementSimulator.git
Puedes compilar el proyecto desde la línea de comandos o utilizando un entorno de desarrollo como Eclipse.
Para ejecutar el proyecto, usa el siguiente comando desde la carpeta src
:
java caso2_jj.diazo1_rpazl.Main
El programa presenta las siguientes opciones:
- Generar Referencias: Recibe el tamaño de página y el nombre del archivo de la imagen con el mensaje escondido. Genera un archivo con las referencias de página.
- Calcular Datos Buscados: Recibe el número de marcos de página y el archivo de referencias. Calcula los hits, fallas y tiempos de acceso a la memoria.
- Esconder un Mensaje en una Imagen: Utiliza la técnica de esteganografía para esconder un mensaje en la imagen.
- Recuperar un Mensaje de una Imagen: Recupera un mensaje escondido previamente en una imagen.
- Salir: Finaliza la ejecución del programa.
Los archivos de entrada necesarios están ubicados en la carpeta Archivos/
y deben ser referenciados por su ruta completa o relativa (src/archivos/nombreArchivo
).