9#define SIZE_BUFFER_LECTURA 4096
13 int fd = open(ruta, O_RDONLY);
15 perror(
"Error abriendo fichero de entrada");
26 perror(
"Error al leer el fichero");
32 char *linea = strtok(buffer_archivo,
"\n");
36 int llegada, mem, ejec;
38 if (sscanf(linea,
"%s %d %d %d", nombre, &llegada, &mem, &ejec) == 4) {
40 strcpy(procesos[count].nombre, nombre);
58 linea = strtok(NULL,
"\n");
66 int fd = open(ruta, O_WRONLY | O_CREAT | O_APPEND, 0644);
68 perror(
"Error al abrir o crear el archivo");
72 char buffer_linea[1024];
76 int len = sprintf(buffer_linea,
"%d", instante);
96 int fd = open(ruta, O_WRONLY | O_CREAT | O_TRUNC, 0644);
97 if (fd != -1) close(fd);
#define SIZE_BUFFER_LECTURA
void limpiar_log(const char *ruta)
Limpia el contenido de un archivo de log.
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.
Módulo de entrada/salida para la simulación de memoria.
Librería de utilidades para operaciones de E/S con descriptores de fichero.
#define MAX_PROCESOS
Máximo número de procesos que puede manejar la simulación.
int write_all(int fd, const void *buffer, size_t size)
Escribe todos los bytes del buffer al descriptor de fichero.
ssize_t read_all(int fd, void *buffer, size_t size)
Lee hasta size bytes de un descriptor a un buffer.
Estructura principal que representa la memoria del sistema.
Particion particiones[MAX_PARTICIONES]
Estructura que representa una partición de memoria.
Estructura que representa un proceso en el simulador.