RT info:eu-repo/semantics/bachelorThesis T1 Desarrollo de un kernel RTOS seguro para procesadores ARM Cortex-R A1 Castillo Mejías, Manuel Adrián A2 Universidad de Valladolid. Escuela de Ingeniería Informática de Valladolid K1 Microcontrolador K1 Microprocesador K1 Sistemas embebidos AB Los sistemas empotrados basados en microcontrolador se encuentran presentes en un amplio rango dedominios de aplicación, tales como dispositivos electrónicos de consumo, dispositivos médicos, automocióno aeronáutica entre otros, donde suscitan especial interés aquellos que imponen requisitos y restriccionestales como seguridad, alta disponibilidad, redundancia, concurrencia, baja latencia y recuperación frente afallos, dada su especificidad. Este tipo de sistemas de información presentan como principal característicauna fuerte limitación en la disposición de recursos hardware, lo que obliga al minucioso estudio de las necesidades que las tareas requieren de ellos. Así pues, se benefician de procesos y metodologías de elaboración software que tienen como objetivo abordar y manejar las imposiciones de su entorno y sus características, así como la complejidad asociada al problema para el que ofrecen solución.La disposición de procesos de manera concurrente supone un especial desafío para este tipo de sistemas,en tanto en cuanto estos comparten entre otros aspectos el espacio de direcciones físicas de la plataforma.Bajo dicho espacio se dispone la memoria principal, cuyo correcto funcionamiento se considera indispensable,puesto que albergar objetos dinámicos, así como parte de la lógica que constituye a la aplicación. Por ello se demanda la existencia de una entidad, que recibe el nombre de kernel, capaz de ejercer control sobre el uso que reciben tales recursos, a la par que supervisa las operaciones que afectan a aquellas seccionesconsideradas críticas. Además de este mecanismo, es posible insertar técnicas de protección que actúan entiempo de ejecución, hecho que supone un detrimento en la latencia de las operaciones. Por contra, otrasincorporan técnicas de carácter estático, las cuales no tienen impacto sobre el rendimiento, pero requieren deherramientas de construcción software y lenguajes de programación específicos para ello. Es posible ofreceruna solución agnóstica de la plataforma y con una mínima huella en la ejecución como combinación entre elkernel y un mecanismo hardware específico al que se conoce como unidad de protección de memoria o MPU(Memory Protection Unit). Este, dada su simplicidad, consigue aislar los recursos necesarios por proceso sinnecesidad de establecer esquemas de traducción de direcciones y espacios lógicos –propios de sistemas decómputo general–, manteniendo el soporte para características de protección estáticas o dinámicas si así serequiriese.En este trabajo se realiza un estudio de la funcionalidad ofrecida por una gama de implementaciones deunidad de protección disponibles en el mercado, agrupando aquellas características comunes bajo las denominadas operaciones primitivas. Asimismo, se analizará, diseñará e implementará un prototipo que incorpore tales operaciones, con objeto de evaluar la eficacia de una de estas técnicas de protección para la arquitectura ARMv7-R, que será expuesta a accesos no previstos, de gran impacto en la plataforma y su entorno. Para este fin se propone un kernel básico que provee una serie de operaciones para la configuración, asignación y gestión estática de recursos por proceso. Se aporta además una metodología de desarrollo software que logra cierta autonomía respecto de las herramientas y bibliotecas propietarias, sustituidas por alternativas software de código abierto, así como consigue disminuir el acomplamiento que presenta la aplicación respecto de la infraestructura, primando la portabilidad. YR 2021 FD 2021 LK https://uvadoc.uva.es/handle/10324/50198 UL https://uvadoc.uva.es/handle/10324/50198 LA spa DS UVaDOC RD 24-nov-2024