Skip to content

A virtual memory page replacement simulator made for educational purposes

Notifications You must be signed in to change notification settings

jjdiazo1/VirtualMemoryPageReplacement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

VirtualMemoryPageReplacement

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.

Ejemplo

Esconder en la Imagen 1 el mensaje de la Imagen 2, el resultado se ve en la Imagen 3.

Screenshot 2024-10-11 at 11 40 28 AM

Imagen 1

Screenshot 2024-10-11 at 11 40 47 AM

Imagen 2

Screenshot 2024-10-11 at 11 40 24 AM

Imagen 3

Características

  • 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.

Requisitos

  • Java SE 17 o superior
  • Entorno de desarrollo compatible (Eclipse, IntelliJ, VS Code, etc.)

Estructura del Proyecto

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

Instrucciones de Uso

Clonar el Repositorio

Clona este repositorio a tu máquina local:

git clone https://github.com/tuusuario/VirtualMemoryPageReplacementSimulator.git

Compilar el Proyecto

Puedes compilar el proyecto desde la línea de comandos o utilizando un entorno de desarrollo como Eclipse.

Ejecutar el Proyecto

Para ejecutar el proyecto, usa el siguiente comando desde la carpeta src:

java caso2_jj.diazo1_rpazl.Main

Opciones del Menú

El programa presenta las siguientes opciones:

  1. 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.
  2. 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.
  3. Esconder un Mensaje en una Imagen: Utiliza la técnica de esteganografía para esconder un mensaje en la imagen.
  4. Recuperar un Mensaje de una Imagen: Recupera un mensaje escondido previamente en una imagen.
  5. Salir: Finaliza la ejecución del programa.

Archivos de Entrada

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).

About

A virtual memory page replacement simulator made for educational purposes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages