Análisis de la viabilidad de un puesto de laboratorio docente RISC-V basado en hipervisores

En este trabajo se hace un análisis del estado del arte de las herramientas y sistemas operativos disponibles para la arquitectura, analizando de qué modo pueden ser utilizados para crear un laboratorio que permita la ejecución de código que acceda a elementos hardware sin restricciones, a la vez qu...

Descripción completa

Detalles Bibliográficos
Autor: Fernández Tobías, Saúl
Tipo de recurso: tesis de maestría
Fecha de publicación:2024
País:España
Institución:Universidad de Cantabria (UC)
Repositorio:UCrea Repositorio Abierto de la Universidad de Cantabria
Idioma:español
OAI Identifier:oai:repositorio.unican.es:10902/34339
Acceso en línea:https://hdl.handle.net/10902/34339
Access Level:acceso abierto
Palabra clave:RISC-V
Hipervisores
Docencia
Depurador
Estado del arte
Hypervisors
Teaching
Debugger
State of the art
Descripción
Sumario:En este trabajo se hace un análisis del estado del arte de las herramientas y sistemas operativos disponibles para la arquitectura, analizando de qué modo pueden ser utilizados para crear un laboratorio que permita la ejecución de código que acceda a elementos hardware sin restricciones, a la vez que se presente una interfaz amigable para el desarrollo de las prácticas por parte del alumnado. Para conseguir estos objetivos, se plantea un enfoque del laboratorio basado en el uso de hipervisores, de modo que se permita la coexistencia de un sistema operativo moderno, que facilite el entorno de desarrollo del código, con un sistema operativo más simple que permita la ejecución de código con bajas restricciones, simplificando el proceso de depuración. Con el fin de no limitar el desarrollo del análisis a un hardware en específico y dada la baja disponibilidad y poca accesibilidad de las placas en la actualidad, durante el desarrollo de este trabajo se emplea emulación. De este modo se podrá recrear un entorno de desarrollo genérico que no esté atado a las limitaciones de un hardware específico. Esto a su vez facilitará la transición a futuras implementaciones de la arquitectura, ya que se evitarán las dependencias con las placas actuales. Durante el desarrollo del proyecto se han definido además dos posibles aproximaciones a la hora de establecer las tareas que deberá realizar cada uno de los sistemas operativos involucrados en el despliegue. Por un lado, se plantea la posibilidad de que un sistema operativo sirva únicamente de interfaz mientras que el otro sistema se encarga de contener al núcleo del depurador, controlando la ejecución del código del alumno. Por otro lado, se plantea otra posible aproximación en la que el sistema menos restrictivo simplemente sirva como entorno de ejecución para el código del alumno, mientras que el sistema que sirve de interfaz, a su vez, se encargue de depurar la ejecución del sistema operativo ligero y, a su vez, el código del alumno. Por último, se hará una valoración de los hipervisores y sistemas operativos analizados, escogiendo de entre ellos como posibles candidatos aquellos que mejor se adapten a los requisitos de este proyecto. Durante esta fase del proyecto se han encontrado opciones prometedoras, entre las que destacan los hipervisores BAO y KVM junto con el sistema operativo Mini-riscv-os. Además, las pruebas desarrolladas con estos candidatos evidencian de forma preliminar la viabilidad de la migración mencionada.