|
Gestor de Memoria - Práctica 3 OS 1.0
Simulador de gestión de memoria con algoritmos de Primer Hueco y Siguiente Hueco.
|
Punto de entrada del simulador de gestión de memoria. Más...
#include <raylib.h>#include "sim_engine.h"#include "ficheros.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/wait.h>
Ir al código fuente de este archivo.
defines | |
| #define | WIN_WIDTH 1200 |
| Ancho de la ventana gráfica en píxeles. | |
| #define | WIN_HEIGHT 750 |
| Alto de la ventana gráfica en píxeles. | |
| #define | Y_BARRA 250 |
| Posición Y de la barra de memoria. | |
| #define | ALTO_BARRA 100 |
| Alto de la barra de memoria. | |
| #define | MARGEN_IZQ 50 |
| Margen izquierdo de la interfaz. | |
| #define | MARGEN_DER 50 |
| Margen derecho de la interfaz. | |
Funciones | |
| void | test_sim () |
| Ejecuta la simulación en modo terminal (TUI). | |
| void | run_gui (Memoria *m, Proceso *procesos, int num_procesos) |
| Ejecuta la interfaz gráfica con Raylib. | |
| int | main (int argc, char const *argv[]) |
| Punto de entrada principal del programa. | |
Punto de entrada del simulador de gestión de memoria.
Implementa dos interfaces de usuario:
Usa fork() para ejecutar ambas interfaces en paralelo.
Definición en el archivo main.c.
| #define ALTO_BARRA 100 |
| #define MARGEN_DER 50 |
| #define MARGEN_IZQ 50 |
| #define WIN_HEIGHT 750 |
| #define WIN_WIDTH 1200 |
| #define Y_BARRA 250 |
| int main | ( | int | argc, |
| char const * | argv[] ) |
Punto de entrada principal del programa.
Crea dos procesos mediante fork():
| argc | Número de argumentos (no utilizado) |
| argv | Array de argumentos (no utilizado) |
Definición en la línea 57 del archivo main.c.
Hace referencia a cargar_procesos(), inicializar_memoria(), MAX_PROCESOS, run_gui() y test_sim().

Ejecuta la interfaz gráfica con Raylib.
Crea una ventana de WIN_WIDTH x WIN_HEIGHT píxeles y muestra:
| [in,out] | m | Puntero a la estructura de memoria del simulador |
| [in,out] | procesos | Array de procesos a simular |
| [in] | num_procesos | Cantidad de procesos en el array |
Definición en la línea 177 del archivo main.c.
Hace referencia a ALGO_SIGUIENTE_HUECO, ALTO_BARRA, avanzar_tiempo(), Memoria::cant_particiones, cargar_procesos(), Particion::dir_inicio, Particion::estado, inicializar_memoria(), limpiar_log(), MARGEN_DER, MARGEN_IZQ, MEMORIA_TOTAL, Particion::nombre_proceso, Memoria::particiones, Particion::tamano, WIN_HEIGHT, WIN_WIDTH y Y_BARRA.
Referenciado por main().


| void test_sim | ( | ) |
Ejecuta la simulación en modo terminal (TUI).
Carga procesos desde "entrada.txt" y ejecuta la simulación paso a paso, mostrando el estado en consola.
Definición en la línea 95 del archivo main.c.
Hace referencia a ALGO_SIGUIENTE_HUECO, avanzar_tiempo(), cargar_procesos(), inicializar_memoria(), limpiar_log(), MAX_PROCESOS, MEMORIA_TOTAL, mostrar_estado() y Proceso::t_ejecucion.
Referenciado por main().

