Skip to content

Mickyconca/TP1SO

Repository files navigation

TP1 SO - README


Autores

Aplicación

La aplicación de resolución de problemas SAT consiste en los siguientes archivos:

  • master: crea los esclavos y envía los datos procesados a vision y mostrados results.txt.
  • vision: imprime los datos por standard output.
  • slave: realiza el procesamiento utilizando minisat.
  • shm_lib y sem_lib: librerías para el manejo de semáforos y memoria compartida.

Compilación

Ejecutar make o make all para el compilado de los archivos. Asegurarse de tener instalado minisat con apt-get install minisat en su contenedor de docker. Luego de la ejecución se generarán los siguientes archivos:

  • Master
  • Vision
  • Slave

Si desea remover los mismos, ejecute make clean en el mismo directorio donde fue realizada la compilación.

Ejecución

Para correr el programa ejecutar el archivo Master corriendo ./Master junto a una lista de archivos .cnf pasados como parámetros.

Por ejemplo:

 ./Master files/*

Para ejecutar Vision hay dos formas:

  1. Pipe de lo enviado por Master
./Master files/* | ./Vision
  1. Corriendo Master en una terminal y Vision en otra, pasando el valor retornado de Master.
# Terminal 1:
./Master
3
# Terminal 2:
 ./Vision 3
  1. Correr Master en background y Vision en foreground pasando el valor de retorno de Master.
./Master files/*& # background
./Vision 3       # foreground

Al finalizar la ejecución de Master se creará un archivo llamado results.txt, con la resolución de los SAT y por standard output será mostrado gracias a Vision.

Testeo

Para el testeo con tanto PVS-Studio, Cppcheck como Valgrind se debe primero instalar PVS-Studio de no tenerlo, de la siguiente manera en su contenedor de docker.

apt-get update
apt-get install pvs-studio
pvs-studio-analyzer credentials "PVS-Studio Free" "FREE-FREE-FREE-FREE"

Luego correr el siguiente comando:

 make test

Los resultados se encontrarán de la siguiente manera:

  • PVS-Studio: report.tasks
  • Valgrind: vision.valgrind, master.valgrind
  • Cppcheck: cppoutput.txt

Para remover los mismos, correr el comando make cleanTest en el mismo directorio donde fue realizada la compilación.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published