Esta es una plantilla de proyecto diseñada para generar un TP de Sistemas Operativos de la UTN FRBA.
Para poder compilar y ejecutar el proyecto, es necesario tener instalada la biblioteca so-commons-library de la cátedra:
git clone https://github.com/sisoputnfrba/so-commons-library
cd so-commons-library
make debug
make install
Cada módulo del proyecto se compila de forma independiente a través de un
archivo makefile
. Para compilar un módulo, es necesario ejecutar el comando
make
desde la carpeta correspondiente.
El ejecutable resultante de la compilación se guardará en la carpeta bin
del
módulo. Ejemplo:
cd kernel
make
./bin/kernel
Para importar el workspace, debemos abrir el archivo tp.code-workspace
desde
la interfaz o ejecutando el siguiente comando desde la carpeta raíz del
repositorio:
code tp.code-workspace
Para cada checkpoint de control obligatorio, se debe crear un tag en el repositorio con el siguiente formato:
checkpoint-{número}
Donde {número}
es el número del checkpoint, ejemplo: checkpoint-1
.
Para crear un tag y subirlo al repositorio, podemos utilizar los siguientes comandos:
git tag -a checkpoint-{número} -m "Checkpoint {número}"
git push origin checkpoint-{número}
Warning
Asegúrense de que el código compila y cumple con los requisitos del checkpoint antes de subir el tag.
Para desplegar el proyecto en una máquina Ubuntu Server, podemos utilizar el script so-deploy de la cátedra:
git clone https://github.com/sisoputnfrba/so-deploy.git
cd so-deploy
./deploy.sh -r=release -p=utils -p=kernel -p=cpu -p=memoria -p=filesystem "tp-{año}-{cuatri}-{grupo}"
El mismo se encargará de instalar las Commons, clonar el repositorio del grupo y compilar el proyecto en la máquina remota.
Note
Ante cualquier duda, pueden consultar la documentación en el repositorio de
so-deploy, o utilizar el comando ./deploy.sh --help
.