Fundamentos de Sistemas Operativos y Robótica


Manipuladores Robóticos

Los manipuladores robóticos son reprogramables, capaces de mover materias, piezas y herramientas en trayectorias variables y programadas para realizar tareas diversas.

Grado de Libertad

Coordenadas independientes necesarias para saber el estado mecánico de posición y orientación del robot.

Espacio de Área de Trabajo

Distancia máxima a la que es capaz de trabajar.

Capacidad de Carga

Soporta muchos kilos, depende del robot.

Precisión de Movimientos

Depende de la resolución espacial, la exactitud y la repetibilidad.

Actuadores

Transforman la energía hidráulica, eléctrica o neumática en energía mecánica.

Velocidad

Se mide en ciclos completos por minuto. La velocidad estará limitada por los giros necesarios para la ubicación de la carga.

Programabilidad

En diferentes lenguajes, para sacar el máximo provecho de toda su funcionalidad y permite programarlo de formas muy diversas.

Ciclo de Vida de un Proceso

  • Nuevo: Se acaba de crear, pero aún no ha sido admitido por el sistema operativo en el grupo de procesos ejecutables.
  • Listo: Preparado para ejecutar, en cuanto se le dé la oportunidad. Puede pasar a bloqueado de inmediato si no cumple con todos los recursos necesarios para poder ser ejecutado.
  • Bloqueado: Proceso que no puede ejecutar hasta que se produzca cierto suceso, como la terminación de otra operación, etc.
  • Bloqueado a Listo: Cuando se produce el suceso que lo mantiene en bloqueado.
  • Ejecución: El proceso que está actualmente en ejecución.
  • Ejecución a Listo: La razón más común de esta transición es que el proceso en ejecución ha alcanzado el tiempo máximo permitido de ejecución interrumpida.
  • Terminado: Excluido por el sistema operativo del grupo de procesos ejecutables, bien porque se detuvo o porque fue abandonado por alguna razón.

Sistemas Distribuidos

Memoria compartida (sí, fuerte acoplamiento/no, débil acoplamiento), procesadores iguales (sí, homogéneos/no, heterogéneos dif. prog.).

Panorámica (soporte lenguaje, panorámica, fiabilidad, algoritmos de control distribuido, planificación tiempo límite).

N-Versiones

Generación de N programas funcionalmente equivalentes. Dichos N programas generan independientemente las N versiones, a veces se denomina diversidad de diseño. Un programa director comprueba comparando resultados, uniendo el resultado de las N versiones. Se basa en la suposición de que se puede especificar completamente un programa de forma coherente y sin ambigüedad, y que se desarrollan independientemente, fallando de forma individualizada.

Para programarlos (especificación inicial, independencia de diseño, presupuesto adecuado).

Recuperación de Errores

Hacia delante (continuar desde el estado erróneo realizando las correcciones necesarias) / Hacia atrás (restaurar el sistema en un punto de estado seguro previo).

Fiabilidad, Fallo, Defecto y Error

Fiabilidad (medida de éxito ajustada a una especificación), Error (problemas causantes de fallo), Defecto (causa de errores), Fallo (desviación de la función especificada) [transitorios, permanentes, intermitentes].

Semáforos

Indicador de condición que registra si un recurso está disponible o no, para la sincronización de dos o más procesos.

Operaciones wait (el proceso que hace wait decrementa el semáforo en 1 y se bloquea si su valor está a 0), signal (si tenemos el semáforo a 0, y un proceso hace signal sobre él, lo pone “verde”, con valor a 1).

Análisis de Requisitos

Fases (extracción, análisis, especificación, validación).

Características (no ambigua, completa, fácil de verificar, coherente, prioridades, versátil, fácil identificación y utilización).

Elementos de un Sistema de Información

  • Procedimientos y prácticas habituales
  • Información
  • Usuarios
  • Equipo de soporte

Ventajas y Desventajas de la Concurrencia

Ventajas

  • Legibles y fáciles de entender
  • Multiplataforma
  • Sistema operativo innecesario

Desventajas

  • Lenguajes con modelo de concurrencia distinto
  • Dificultad de implementar eficientemente en algún sistema operativo
  • Aparecen más estándares en sistemas operativos y los programas se vuelven más portables

Ejecución Concurrente

Estructura – nivel – granularidad – inicialización – finalización.

Sistemas en Tiempo Real

Responder en tiempo limitado, realizar tareas entregadas en tiempo determinado.

Tiempo real (cumplir funcionalidad, comportamiento eficaz y eficiente, confiabilidad, rendimiento, reconfigurabilidad).

Características (orientados al control, respuesta dentro de un intervalo de tiempo, grandes y complejos, números reales, fiable y seguro, coordinación).

Sistema Online

Sistema donde los usuarios interactúan y se busca la máxima velocidad, no adecuada a las necesidades del tiempo como en los sistemas de tiempo real.

Sistema Integrado

Sistema con CPU que está enfocado a hacer una tarea en concreto y forma parte de un sistema mayor.

Exclusión Mutua y Sección Crítica

Exclusión mutua (excluir procesos para que solo uno de ellos ejecute un código el cual solo se pueda ejecutar por el mismo en ese determinado momento).

Sección crítica (código de un programa de ordenador en la que se accede a un recurso compartido que no debe ser accedido por más de un proceso o hilo en ejecución).

Niveles de Notación

  • Informal: Lenguaje natural, impreciso, legibles pero con interpretación difusa.
  • Estructurado: Notación gráfica definida, con conocimiento.
  • Formales: Descripciones precisas, difíciles y con alto conocimiento matemático, pueden ser analizados y modificados.

Coberturas Lógica

Cobertura de sentencias (generar casos de prueba para que cada instrucción se ejecute al menos una vez), cobertura de decisiones (generar casos para obtener un resultado verdadero y falso).

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *