STR Sistemas de Tiempo Real Juan Sebastián Cabrera Sistemas de Control Embebido Universidad del Cauca.

Slides:



Advertisements
Presentaciones similares
Planificación de Monoprocesadores
Advertisements

Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Integrantes: Moyolehuani Tatéi Temai
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Estructura de un Sistema Operativo
Introducción a los Algoritmos
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
SISTEMAS OPERATIVOS UNIDAD 1..
Algoritmo y Estructura de Datos I
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Funciones en lenguaje C
Universidad de Tarapacá Fundamentos Lenguaje y Programación Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales.
TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda
ESTRUCTURAS DE CONTROL
Lenguaje C.
Semana 5 Subprogramas..
Academia de Informática
PROCEDIMIENTOS FUNCIONES
Sistemas Operativos Procesos.
Ing. Karen Torrealba de Oblitas
ESTRUCTURAS DO-WHILE Y FOR.
Capítulo 1 “Elementos de Programación”
Capítulo 6: Planificación del CPU – Parte a
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Planificación de Procesos
Particionado de discos duros
Integrantes: Cerón Natalia Chillán Mireya Shweizer Arie Utreras Pamela.
Juego de Preguntas y Respuestas
Gestión de Procesos Gestión de Procesos Procesos Planificación CPU
Teoría – Alejandro Gonzalez
EXPRESIONES Y SENTENCIAS
Tecnologías de servicios
Elementos básicos del lenguaje
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Elementos básicos del lenguaje
Proceso de Gestión de Proyectos
Moodle es un entorno de aprendizaje que está basado en los principios pedagógicos constructivistas, con un diseño modular que hace fácil agregar contenidos.
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Sistema operativo Unix
DIAGRAMA DE FLECHAS O RUTA CRITICA
Unidad 2 – Gestión de Procesos
INTRODUCCION A LA PROGRAMACION
UTFSM - Sistemas Operativos
ESTRUCTURAS REPETITIVAS
Cliente-Servidor La arquitectura cliente-servidor permite al usuario en una máquina, llamada el cliente, requerir algún tipo de servicio de una máquina.
INTERRUPCIONES – ABRAZO MORTAL
Práctica Profesional PHP.
¿QUE ES EL DIAGRAMA DE ESTADO ?
Prueba de escritorio Computación y Sistemas de Información.
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Las funciones son librerías ya estandarizadas que permiten al usuario realizar sus respectivas programaciones. Una función es un conjunto de líneas de.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

STR Sistemas de Tiempo Real Juan Sebastián Cabrera Sistemas de Control Embebido Universidad del Cauca

Contenido Características de STR Ejecutivo Cíclico STR en CCS

Tipos de STR Sistemas de Tiempo Real Críticos. Sistemas en los que existe al menos una tarea para la que no se admite nunca una violación del plazo de ejecución. Entre las aplicaciones de este tipo de sistemas se encuentran los controles de seguridad de una planta nuclear. Sistemas de Tiempo Real Flexible Sistemas en los que se puede violar algunos plazos de ejecución a costa de la calidad del funcionamiento. Como ejemplo de aplicación de sistemas de tiempo real flexibles están los conmutadores telefónicos. Sistemas de Tiempo Real Firme Si una tarea emite su respuesta o señal de salida fuera del plazo de ejecución previsto, esta respuesta es simplemente descartada. Como ejemplo tenemos las aplicaciones multimedia.

STR en CCS El sistema operativo de tiempo real de CCS permite que un microcontrolador de Microchip defina y ejecute regularmente tareas programadas. Esto se lograda por un despachador construido en el momento de la compilación, utilizando las directivas de programación del respectivo procesador. Proporciona un sistema operativo multitarea de tiempo real cooperativo; sin embargo, debido a las limitaciones prácticas del PIC, CCS Real Time Operation System, no ofrece un planificador apropiativo. Para una mas amplia información del software, ver el link

STR en CCS #use rtos(opción) Las opciones ir separadas por comas y pueden ser las siguientes: Las opciones deben ir separadas por comas y pueden ser las siguientes: timer = X, donde X es 0-4 espesificando el timer que se usará para el RTOS minor_cycle = time, donde “time” es un número seguido por s, ms, us, ns, este es el tiempo mas corto en el cual puede correr cualquier tarea, cada rata de ejecución de una tarea, debe ser múltiplo de este tiempo. El compilador puede calcular este tiempo, si este no es especificado.

STR en CCS rtos_await (expresión) Esta función puede ser solamente usada dentro de una tarea RTOS, y hace que la tarea se duerma hasta que la expresión sea verdadera, permitiendo ejecutarse a otras tareas mientras esta espera a que la expresión sea verdadera. Esta función puede ser solamente usada dentro de una tarea RTOS, y hace que la tarea se duerma hasta que la expresión sea verdadera, permitiendo ejecutarse a otras tareas mientras esta espera a que la expresión sea verdadera.

STR en CCS rtos_enable (task) Habilita una tarea para que se ejecutase en su rata especificada. Todas las tareas son habilitadas por defecto. i = rtos_msg_poll() Esta función puede ser solamente usada dentro de una tarea RTOS, retorna el número de mensajes que se encuentran en la cola asignada a dicha tarea Esta función puede ser solamente usada dentro de una tarea RTOS, retorna el número de mensajes que se encuentran en la cola asignada a dicha tarea

STR en CCS b = rtos_msg_read() Esta función puede ser solamente usada dentro de una tarea RTOS, retorna el mensaje mas antiguo de la cola de mensajes Esta función puede ser solamente usada dentro de una tarea RTOS, retorna el mensaje mas antiguo de la cola de mensajes rtos_msg_send(task, byte) Esta función puede ser llamada en cualquier momento despues de haber llamado a la función RTOS_RUN(), y lo que hace, es enviar un mensaje (byte) a determinada tarea (task)

STR en CCS rtos_overrun([task]) Esta función retorna verdadero, si la tarea especificada tomó mas tiempo para ejecutarse que el que le fue asignado; si no se específica ninguna tarea, entonces retorna verdadera si alguna de todas las tareas, funcionó por encima del tiempo especificado.

STR en CCS rtos_run() Esta función comienza la ejecución de todas la tareas habilitadas (todas las tareas son habilitadas por dejecto) esta función controla la ejecución de las tareas de RTOS, teniendo en cuenta, las ratas temporales permitidas para cada una de ellas. Se retorna de esta función, solamente cuando es llamada la función RTOS_TERMINATE(), por supuesto, por alguna de las tareas en ejecución

STR en CCS rtos_signal (sem) Tiene como argumento, a la variable global “sem” que representa la actual disponibilidad de un recurso de sistema compartido (un semaforo), esta función incrementa semáforo, para dar a conocer a tareas que se encuentren esperando por el recurso compartido que reencuentra disponible para su uso. Tiene como argumento, a la variable global “sem” que representa la actual disponibilidad de un recurso de sistema compartido (un semaforo), esta función incrementa semáforo, para dar a conocer a tareas que se encuentren esperando por el recurso compartido que reencuentra disponible para su uso.

STR en CCS rtos_stats(task,stat) task = identificador de la función que esta siendo usada como una tarea de RTOS stat = puede ser lo siguiente: rtos_min_time – mínimo tiempo (ciclos de instrucción) necesarios para una ejecución. rtos_min_time – máximo tiempo (ciclos de instrucción) necesarios para una ejcución rtos_total_time – tiempo total (ciclos de instrucción) necesarios para la ejecución tolas

STR en CCS rtos_terminate() Esta función termina la ejecución de todas las tareas RTOS, la ejecución del programa continuará con la primera línea de código luego de la función RTOS_RUN(), esta función causa el retorno de la función RTOS_RUN().

STR en CCS rtos_wait (sem) sem, es una variable global que representa la actual disponibilidad de un recurso del sistema compartido (un semaforo). Esta función, puede ser solamente usada por una tarea RTOS, esta función duerme a la tarea en ejecución, hasta que la sem, sea mas grande que cero (momento en que el recurso se encuentra disponible), entonces decrementa a “sem” para bloquear el uso a otra tarea del recurso compartido y continua la ejecución del resto del código, Esta función, permite que se ejecuten otras tareas mientras la tarea espera hasta que el recurso compartido esté disponible.

STR en CCS rtos_yield() Esta función solamente puede ser llamada por una tarea RTOS. Al ser llamada esta función, para la ejecución de la actual tarea y retorna el control del procesador a RTOS_RUN, en el siguiente periodo de tiempo de ejecución, esta comienza su ejecución una línea de código después de RTOS_YIELD