https://github.com/cesardarizaleta/gestor
Gestor de Memoria utilizando IntelliJ con Java
https://github.com/cesardarizaleta/gestor
bootstrap gestor intellij java memoria ram
Last synced: 2 months ago
JSON representation
Gestor de Memoria utilizando IntelliJ con Java
- Host: GitHub
- URL: https://github.com/cesardarizaleta/gestor
- Owner: cesardarizaleta
- Created: 2025-03-08T18:31:36.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-08T19:46:55.000Z (over 1 year ago)
- Last Synced: 2025-07-03T20:44:27.528Z (12 months ago)
- Topics: bootstrap, gestor, intellij, java, memoria, ram
- Language: Java
- Homepage:
- Size: 77.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gestor de Memoria con Técnicas Avanzadas
Este proyecto es un simulador de gestión de memoria que implementa técnicas avanzadas como **compactación**, **reubicación** y **swapping**. Está desarrollado en Java utilizando JavaFX para la interfaz gráfica.
## Características Principales
- **Gestión de Memoria:** Asignación y liberación de procesos en memoria.
- **Compactación:** Reorganiza la memoria para reducir la fragmentación externa.
- **Reubicación:** Optimiza el espacio de memoria moviendo procesos.
- **Swapping:** Mueve procesos entre la memoria principal y el área de swapping (disco).
- **Visualización en Tiempo Real:** Gráficos y tablas que muestran el estado actual de la memoria.
- **Animaciones:** Transiciones suaves para visualizar cambios en la memoria.
## Requisitos
- **Java JDK 17 o superior**
- **JavaFX SDK**
- **IDE compatible con Java** (recomendado: IntelliJ IDEA)
## Instalación
1. Clona el repositorio:
```bash
git clone https://github.com/tu-usuario/gestor-memoria.git
```
2. Abre el proyecto en tu IDE.
3. Configura el módulo de JavaFX en tu IDE.
4. Ejecuta la clase `HelloApplication`.
## Uso
### Interfaz Principal
- **Memoria Principal:** Muestra los bloques de memoria asignados y libres.
- **Área de Swapping:** Muestra los procesos que han sido movidos al disco.
- **Tabla de Procesos:** Lista todos los procesos activos en memoria.
- **Gráfico de Memoria:** Muestra la distribución de memoria en un gráfico de barras.
### Funcionalidades
1. **Agregar Proceso:**
- Ingresa el nombre y tamaño del proceso.
- Haz clic en "Agregar Proceso".
2. **Liberar Proceso:**
- Ingresa el nombre del proceso.
- Haz clic en "Liberar Proceso".
3. **Compactación:**
- Haz clic en "Compactación" para agrupar la memoria libre.
4. **Reubicación:**
- Haz clic en "Reubicación" para optimizar el espacio de memoria.
5. **Swapping:**
- Selecciona un proceso en la tabla.
- Haz clic en "Swapping" para moverlo al área de disco.
## Estructura del Proyecto
- `HelloApplication.java`: Clase principal que inicia la aplicación.
- `MemoryBlock.java`: Representa un bloque de memoria.
- `ProcessInfo.java`: Almacena información sobre los procesos.
## Ejemplos de Uso
### Agregar un Proceso
1. Ingresa "Proceso1" en el campo "Nombre Proceso".
2. Ingresa "256" en el campo "Tamaño (MB)".
3. Haz clic en "Agregar Proceso".
### Compactar Memoria
1. Haz clic en "Compactación".
2. Observa cómo los bloques libres se agrupan al final de la memoria.
### Swapping
1. Selecciona "Proceso1" en la tabla.
2. Haz clic en "Swapping".
3. Observa cómo el proceso se mueve al área de swapping.
## Contribuciones
Las contribuciones son bienvenidas. Si deseas mejorar el proyecto, sigue estos pasos:
1. Haz un fork del repositorio.
2. Crea una rama para tu feature (`git checkout -b feature/nueva-funcionalidad`).
3. Haz commit de tus cambios (`git commit -m 'Añade nueva funcionalidad'`).
4. Haz push a la rama (`git push origin feature/nueva-funcionalidad`).
5. Abre un Pull Request.
```
gestor-memoria/
├── src/
│ └── com/
│ └── cesardarizaleta/
│ └── gestor/
│ ├── HelloApplication.java
│ ├── MemoryBlock.java
│ └── ProcessInfo.java
├── README.md
├── LICENSE
└── screenshots/ (opcional)
├── main_interface.png
└── compaction.png
```