OIE Madrid

IV Olimpiada Informática de Madrid

16 y 17 de febrero de 2024

Entorno informático

Los participantes lo harán utilizando equipos informáticos proporcionados por la organización, de modo que se garantizará la igualdad de condiciones entre todos ellos. En concreto, se hará uso de varios laboratorios de la Facultad de Informática desde la que se organiza la olimpiada.

Los ordenadores no tendrán ningún tipo de conexión a Internet salvo la necesaria para poder realizar los envíos al juez on-line.

Los ordenadores tienen un entorno GNU/Linux, y no es posible hacer uso de Windows. Disponen de una versión reducida de Ubuntu, con escritorio Xfce. El software y herramientas que disponibles son:

  • Sistema operativo: Ubuntu 22.04 LTS (instalación mínima)
  • Editores: emacs, vim, geany, MS VStudio Code con extensiones para los distintos lenguajes soportados en el concurso y (deshabilitado) el emulador de Vim.
  • Compiladores/intérpretes: gcc, g++, Oracle JDK 8, python3, pypy3, gnat-10 (ada)
  • IDEs:
    • C/C++: CodeBlocks
    • Java: Eclipse 2023-06, IntelliJ Community 2023.1
    • Python: PyCharm Community 2023.1
  • Documentación: STL (C++) OpenJDK (8), Python 3.x, gnat-10

Prueba el entorno antes de participar

Para que los participantes puedan probar con antelación el entorno, desde la organización se ha preparado una máquina virtual con él. Está disponible a través de un fichero .ova , que puede importarse en cualquier software de virtualización. Se ha probado con VirtualBox (en Windows, GNU/Linux y Mac), pero también debería funcionar con otros programas como VMWare. Tiene exactamente el mismo software que tendrán los ordenadores proporcionados por la organización, salvo por el enlace al juez automático que aparecerá en el escritorio del concurso, pero no en el de la máquina virtual.

Escritorio de los ordenadores del concurso

Para usar el fichero .ova, en VirtualBox se usa la opción de "Importar software virtualizado". Por defecto la máquina virtual tiene configurados 4 GiB de memoria y un único procesador. Se recomienda adaptar esos parámetros en función del equipo hardware concreto sobre el que se lance. En particular, es preferible, siempre que sea posible, ampliar la memoria y el número de procesadores. Además, la máquina virtual no tiene tarjeta de red para simular la situación del concurso, durante el que la conectividad a Internet estará restringida. De ese modo no se podrá, por ejemplo, instalar ninguna extensión a VisualStudio Code, igual que ocurre en el concurso. No obstante cada uno es libre de ampliar su máquina virtual para ponerle la tarjeta de red, en cuyo caso se debe ser consciente de la diferencia de contexto con respecto al concurso.

Si se usa VirtualBox, una vez creada la máquina, antes de lanzarla seguramente se necesite quitar el soporte USB 2.0 (salvo que se tenga instalado el módulo de Oracle). Además es recomendable subir la memoria de vídeo al máximo (típicamente 128 MiB) en Configuración - Pantalla.

Cuando se lanza la máquina virtual, se hará login automáticamente con el usuario vm_user y el escritorio aparecerá en una resolución reducida. Es recomendable ir a Configuración - Pantalla y poner la resolución nativa del monitor y luego saltar a pantalla completa en el software de virtualización que se utilice.

Si se usa VirtualBox, por defecto la "tecla anfitrión" para salir de la máquina virtual y crear combinaciones de teclas que reciba directamente VirtualBox es el control derecho. Eso significa que si, por ejemplo, se pulsa Ctrl-Fin durante la edición de código fuente (con control derecho) la combinación la recibirá VirtualBox, y parecerá no funcionarar. Una forma de evitarlo es cambiar esa "tecla anfitrión" en VirtualBox.