Mostrar el registro sencillo del ítem

dc.contributor.advisorArias Álvarez, Jesús es
dc.contributor.authorCastillo Mejías, Manuel Adrián
dc.contributor.editorUniversidad de Valladolid. Escuela de Ingeniería Informática de Valladolid es
dc.date.accessioned2021-11-17T16:17:40Z
dc.date.available2021-11-17T16:17:40Z
dc.date.issued2021
dc.identifier.urihttps://uvadoc.uva.es/handle/10324/50198
dc.description.abstractLos sistemas empotrados basados en microcontrolador se encuentran presentes en un amplio rango de dominios de aplicación, tales como dispositivos electrónicos de consumo, dispositivos médicos, automoción o aeronáutica entre otros, donde suscitan especial interés aquellos que imponen requisitos y restricciones tales como seguridad, alta disponibilidad, redundancia, concurrencia, baja latencia y recuperación frente a fallos, dada su especificidad. Este tipo de sistemas de información presentan como principal característica una 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 secciones consideradas críticas. Además de este mecanismo, es posible insertar técnicas de protección que actúan en tiempo de ejecución, hecho que supone un detrimento en la latencia de las operaciones. Por contra, otras incorporan técnicas de carácter estático, las cuales no tienen impacto sobre el rendimiento, pero requieren de herramientas de construcción software y lenguajes de programación específicos para ello. Es posible ofrecer una solución agnóstica de la plataforma y con una mínima huella en la ejecución como combinación entre el kernel 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 sin necesidad de establecer esquemas de traducción de direcciones y espacios lógicos –propios de sistemas de cómputo general–, manteniendo el soporte para características de protección estáticas o dinámicas si así se requiriese. En este trabajo se realiza un estudio de la funcionalidad ofrecida por una gama de implementaciones de unidad 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.es
dc.format.mimetypeapplication/pdfes
dc.language.isospaes
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.subject.classificationMicrocontroladores
dc.subject.classificationMicroprocesadores
dc.subject.classificationSistemas embebidoses
dc.titleDesarrollo de un kernel RTOS seguro para procesadores ARM Cortex-Res
dc.typeinfo:eu-repo/semantics/bachelorThesises
dc.description.degreeGrado en Ingeniería Informáticaes
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*


Ficheros en el ítem

Thumbnail

Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem