Este problema corresponde a la entrega intermedia de la práctica. Tened en cuenta que
esta no es la entrega definitiva de la práctica completa, ni siquiera es una entrega provisional de la práctica completa
en esta entrega se ha de proporcionar todo el código necesario
(clases, programa principal y, opcionalmente, Makefile) para poder usar
todas las funcionalidades de la práctica excepto
modificar_cluster,
enviar_procesos_cluster, y las dos de
compactar.
en esta entrega no pedimos carpetas generadas mediante
doxygen, pero los ficheros de las clases
pueden llevar todos los comentarios doxygen
que queráis; de hecho recomendamos que incluyáis las especificaciones de
todas las operaciones y que sean lo más definitivas posible
esta entrega no tendrá nota manual
Una secuencia de instrucciones y datos que siguen el formato del enunciado de la práctica y del juego de pruebas público.
Una secuencia de resultados que siguen el formato del enunciado de la práctica y del juego de pruebas público.
El Jutge prueba vuestras entregas mediante 4 juegos de pruebas:
sample: el juego de pruebas público
privat1: situaciones que no aparecen en el público
privat2: otras situaciones que no aparecen en el público
privat3: eficiencia
En un fichero llamado practica.tar tenéis
que entregar los ficheros .hh y .cc de las
clases y el programa principal. Opcionalmente, podéis entregar el
Makefile que estáis usando para generar y probar el ejecutable.
Tened en cuenta las siguientes restricciones:
el fichero que contiene el programa principal se ha de llamar
program.cc
el Makefile ha de generar un ejecutable llamado
program.exe
es importante que uséis las opciones de compilación definidas en
el menú Documentation
Compilers
PRO2 de www.jutge.org para funcionar en
igualdad de condiciones con el Jutge
no usar la opción -D_GLIBCXX_DEBUG o
usarla de forma incorrecta podrá ser penalizado
Producid el fichero practica.tar con la
instrucción Linux
tar -cvf practica.tar fitxer1 fitxer2 fitxer3 ...
desde el directorio/carpeta donde tengáis los ficheros que vais a
entregar. Os convendrá incluir en vuestro Makefile una regla con esta
instrucción, de forma que el .tar se pueda
generar ejecutando make practica.tar. Con eso
reduciréis el riesgo de error en sucesivas entregas. El Jutge no acepta
.tar donde los ficheros estén dentro de
carpetas. Recomendamos usar GNU tar para
reducir el riesgo de que el fichero
practica.tar sea incompatible con el
Jutge.
Input
proc1 10 proc11 100 proc111 500 * * proc112 500 * * proc12 100 proc121 500 * * proc122 500 * * 4 1111 11 11111 111 imprimir_estructura_cluster imprimir_area_espera imprimir_procesadores_cluster alta_proceso_procesador pr 99 15 15 app proc12 99 10 15 imprimir_procesador pr ipro proc12 app proc1 99 10 10 ipro proc1 alta_proceso_procesador proc1 99 5 5 app proc12 101 91 15 app proc12 101 90 15 ipc baja_proceso_procesador pr 99 bpp proc12 100 bpp proc12 99 ipro proc12 avanzar_tiempo 7 imprimir_procesador proc12 at 2 ipro proc1 alta_proceso_espera 222 99 10 10 ape 111 99 10 10 ape 111 99 20 15 ape 111 98 1000 20 ape 111 100 10 1 imprimir_prioridad 222 ipri 111 alta_prioridad 1111 ap 2 baja_prioridad 333 bp 111 bp 11 iae configurar_cluster sndr01 1000 * * iec cc abc 10 * zsda 5 * * iec iae fin
Output
#imprimir_estructura_cluster (proc1(proc11(proc111 )(proc112 ))(proc12(proc121 )(proc122 ))) #imprimir_area_espera 11 0 0 111 0 0 1111 0 0 11111 0 0 #imprimir_procesadores_cluster proc1 proc11 proc111 proc112 proc12 proc121 proc122 #alta_proceso_procesador pr 99 error: no existe procesador #app proc12 99 #imprimir_procesador pr error: no existe procesador #ipro proc12 0 99 10 15 #app proc1 99 #ipro proc1 0 99 10 10 #alta_proceso_procesador proc1 99 error: ya existe proceso #app proc12 101 error: no cabe proceso #app proc12 101 #ipc proc1 0 99 10 10 proc11 proc111 proc112 proc12 0 99 10 15 10 101 90 15 proc121 proc122 #baja_proceso_procesador pr 99 error: no existe procesador #bpp proc12 100 error: no existe proceso #bpp proc12 99 #ipro proc12 10 101 90 15 #avanzar_tiempo 7 #imprimir_procesador proc12 10 101 90 8 #at 2 #ipro proc1 0 99 10 1 #alta_proceso_espera 222 99 error: no existe prioridad #ape 111 99 #ape 111 99 error: ya existe proceso #ape 111 98 #ape 111 100 #imprimir_prioridad 222 error: no existe prioridad #ipri 111 99 10 10 98 1000 20 100 10 1 0 0 #alta_prioridad 1111 error: ya existe prioridad #ap 2 #baja_prioridad 333 error: no existe prioridad #bp 111 error: prioridad con procesos #bp 11 #iae 111 99 10 10 98 1000 20 100 10 1 0 0 1111 0 0 11111 0 0 2 0 0 #configurar_cluster #iec (sndr01 ) #cc #iec (abc (zsda )) #iae 111 99 10 10 98 1000 20 100 10 1 0 0 1111 0 0 11111 0 0 2 0 0