En este proyecto se utiliza la biblioteca std::optional, lo que significa que no compilará en versiones antiguas de C++.
- Carlos Tomás Álvarez Norambuena (2022433621)
- Antonio Jesús Benavides Puentes (2023455954)
- Javier Alejandro Campos Contreras (2023432857)
- Pablo Esteban Villagran Hermanns (2023432857)
El código esta compilado con g++ en linux. Las distribuciones utilizadas en el testeo son Manjaro, Windows subsystem for linux (WSL) y Kali Linux.
La versión de g++ recomendada para compilar el proyecto es g++ (GCC) 14.2.1 . RECALCAMOS QUE ES IMPERATIVO EL USO DE C++ 17 EN ADELANTE.
El repositorio esta compuesto de 2 partes que están aisladas entre sí. Cada parte esta en su propia carpeta que estan diferenciada por parte_1 y parte_2.
Para compilarlo y ejecutarlo con valores predeterminados, simplemente vaya a la carpeta de la parte que quiere ejecutar y escriba el comando make run.
Si desea utilizar valores personalizados, siga estos pasos:
- Dirígase a la carpeta correspondiente de la parte que deseas compilar.
- Ejecuta el siguiente comando para compilar el proyecto:
makeSi no logra compilar con este comando, ejecute este otro comando dependiendo de la parte que desee compilar:
- Parte 1:
g++ -std=c++17 -I include -o main.out src/main.cpp src/monitor.cpp src/utils.cpp- Parte 2:
g++ -std=c++17 -I include -o main.out src/MapAbierto.cpp src/fifo.cpp src/interesting_prime_numbers.cpp src/lru.cpp src/lru_time.cpp src/optimo.cpp src/main.cpp
Luego de compilar, ejecuta el ejecutable main.out utilizando las FLAGS correspondientes de los ejemplos proporcionados.
-
Parte_1: Si desea que se generen
2 productores,5 consumidores, con untamaño de cola inicial de 1y un tiempo de espera máximo de los consumidores de1 segundo, el comando sería:./main.out -p 2 -c 5 -s 1 -t 1
- Parte_2: Si desea que se hayan
3 marcos de pagina, con el algoritmoFIFOy usando el archivoreferencias.txt, el comando sería:
./main.out -m 3 -a FIFO -f referencias.txt
- Parte_2: Si desea que se hayan