Curso de Arquitectura de Sistemas de Tiempo Real
Para llevar este curso es necesario como prerequisito tener conocimientos de sistemas operativos y estructuras de datos
Introducción
[editar]Los sistemas de tiempo real, hoy en día son sumamente importantes puesto que proporcionan respuestas inmediatas a situaciones que pueden ser de alto riesgo
ejemplos.
-El controlista en una torre de aviación debera estar siempre al tanto en cuanto a que pistas están libres para poder aterrizar.
-El sistema de piloteo de una aeronave computerizada necesita saber la velocidad del viento, la altura, la presión, etc a la que es sometida la aeronave para no ocasionar una colisión
-Los robots que interactuan con humanos necesitan saber como responder a los estimulos recibidos para dar una respuesta apropiada
En todos estos casos el sistema de tiempo real tiene multiples accesos a su base de conocimientos antes de poder ofrecer una respuesta.
Estructura del sistema
[editar]En este tipo de sistemas es recomendable que la programación sea de bajo nivel pues se necesitará menos recursos del sistema para llevar a cabo la ejecución del mismo, se debe tener en cuenta también el tamaño en bytes de los tipos de datos, ya que por ejemplo un tipo de dato double ocupa mas espacio en memoria y mas pasadas de reloj que un tipo de dato int, aunque hoy en día se cuente con la tecnología necesaria para ejecutar millones de operaciones por segundo siempre podremos diseñar mejores algoritmos y programas mas eficientes y cuanto mas recomendable que hacerlo para sistemas en los que necesitamos respuestas en tiempo real y en los cuales las consecuencias de no tener dichas respuestas serían desastrozas como en los ejemplos vistos anteriormente
En este tipo de sistemas debemos programar de manera que nos aseguremos que las transacciones se ejecuten de manera completa y que no interfieran una con la otra, hablando de un nivel mas bajo se deben evitar a toda costa los interbloqueos(Dead-lock) por las razones antes mencionadas
para evitar los interbloqueos se recomienda usar un modelo de datos transaccional en línea. Aunque es mas tardado que un modelo paralelo es mas seguro y podremos a nivel de programación hacer cambios en la estructura del sistema para evitar este tipo de situaciones.
La arquitectura de este tipo de sistemas es similar a la arquitectura de bases de datos distribuidas ya que en las dos se procura siempre mantener integridad en los procesos ejecutados