Gestor de Memoria - Práctica 3 OS 1.0
Simulador de gestión de memoria con algoritmos de Primer Hueco y Siguiente Hueco.
Cargando...
Buscando...
Nada coincide
Referencia del archivo ficheros.c
#include "ficheros.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include "../../lib/file_utils.h"
Gráfico de dependencias incluidas en ficheros.c:

Ir al código fuente de este archivo.

defines

#define SIZE_BUFFER_LECTURA   4096

Funciones

int cargar_procesos (const char *ruta, Proceso procesos[])
 Carga los procesos desde un archivo de texto.
void guardar_estado (const char *ruta, Memoria *m, int instante)
 Guarda el estado actual de la memoria en un archivo de log.
void limpiar_log (const char *ruta)
 Limpia el contenido de un archivo de log.

Documentación de «define»

◆ SIZE_BUFFER_LECTURA

#define SIZE_BUFFER_LECTURA   4096

Definición en la línea 9 del archivo ficheros.c.

Referenciado por cargar_procesos().

Documentación de funciones

◆ cargar_procesos()

int cargar_procesos ( const char * ruta,
Proceso procesos[] )

Carga los procesos desde un archivo de texto.

Lee el archivo línea por línea y parsea cada proceso con el formato: <nombre> <t_llegada> <mem_requerida> <t_ejecucion>

Parámetros
[in]rutaRuta del archivo de entrada
[out]procesosArray donde se almacenarán los procesos cargados
Devuelve
Cantidad de procesos cargados exitosamente
0 si hubo error al abrir/leer el archivo
Precondición
El archivo debe existir y ser legible
procesos debe tener espacio para MAX_PROCESOS elementos
Nota
Usa llamadas POSIX (open, read) según requerimientos de la práctica
Atención
El buffer interno es de 4KB, archivos más grandes se truncan

Definición en la línea 11 del archivo ficheros.c.

Hace referencia a Proceso::en_memoria, Proceso::finalizado, MAX_PROCESOS, Proceso::mem_requerida, read_all(), SIZE_BUFFER_LECTURA, Proceso::t_ejecucion, Proceso::t_llegada y Proceso::t_restante.

Referenciado por main(), run_gui() y test_sim().

Gráfico de llamadas de esta función:
Gráfico de llamadas a esta función:

◆ guardar_estado()

void guardar_estado ( const char * ruta,
Memoria * m,
int instante )

Guarda el estado actual de la memoria en un archivo de log.

Escribe una línea con formato: <instante>[dir1, nombre1, tam1] [dir2, nombre2, tam2] ...

Parámetros
[in]rutaRuta del archivo de salida (se crea si no existe)
[in]mPuntero a la estructura de memoria a guardar
[in]instanteInstante de tiempo actual de la simulación
Nota
Usa modo append, no sobrescribe contenido previo
Permisos del archivo: 0644 (rw-r–r–)

Definición en la línea 64 del archivo ficheros.c.

Hace referencia a Memoria::cant_particiones, Particion::dir_inicio, Particion::nombre_proceso, Memoria::particiones, Particion::tamano y write_all().

Referenciado por avanzar_tiempo().

Gráfico de llamadas de esta función:
Gráfico de llamadas a esta función:

◆ limpiar_log()

void limpiar_log ( const char * ruta)

Limpia el contenido de un archivo de log.

Abre el archivo con O_TRUNC para borrar su contenido. Si no existe, lo crea vacío.

Parámetros
[in]rutaRuta del archivo a limpiar
Nota
Llamar al inicio de cada simulación para empezar con log limpio

Definición en la línea 94 del archivo ficheros.c.

Referenciado por run_gui() y test_sim().

Gráfico de llamadas a esta función: