Planificación. Nora Blet Informática III

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Planificación. Nora Blet Informática III"

Transcripción

1 Planificación Nora Blet Informática III

2 Sistemas de tiempo real

3 Concurrencia Los sistemas de tiempo real controlan actividades del mundo exterior que son concurrentes Para ello deben ejecutar varias actividades o tareas en paralelo (concurrentemente) La ejecución de las tareas se multiplexa en el tiempo en uno o varios procesadores

4 Concurrencia En un programa concurrente, no es necesario especificar el orden exacto en el cual se ejecutan los procesos. Para forzar las restricciones de ordenación se usan primitivas de sincronización, tales como la exclusión mutua, pero el comportamiento general del programa muestra un no determinismo significativo. Si el programa es correcto, su comportamiento funcional es el mismo independientemente de los detalles de implementación. Ej.: 5 procesos independientes pueden ejecutarse (sin desalojo) de 120 formas distintas en un único procesador.

5 Concurrencia Aunque las salidas del programa sean idénticas en todos estos posibles entrelazamientos, el comportamiento temporal puede variar considerablemente. Un sistema de tiempo real necesita restringir el no determinismo que se da en los sistemas concurrentes. Este proceso se conoce como planificación (scheduling).

6 Esquema de planificación Cómo planificar el uso de los recursos de forma tal de garantizar los requisitos temporales? En general un esquema de planificación proporciona dos elementos: Un algoritmo de planificación que determina el orden de acceso de las tareas a los recursos del sistema (en particular, el procesador) Un método de análisis que permite predecir el comportamiento temporal del sistema Las predicciones son útiles para confirmar que pueden garantizarse los requisitos temporales del sistema En general, se estudia el peor comportamiento posible

7 Multiplexado del procesador El multiplexado del tiempo de uso del procesador puede hacerse: Ejecución síncrona: Las tareas se ejecutan según un plan de ejecución fijo (realizado por el diseñador) El SO se reemplaza por un ejecutivo cíclico Ejecución asíncrona: SO de tiempo real Lenguaje de programación concurrente. En este caso se realiza por medio del run-time system. Las tareas se reparten el procesador de forma invisible para el diseñador, de acuerdo a la prioridad asociada a cada una de ellas. En todo momento, se ejecuta la tarea activa de mayor prioridad.

8 Definiciones de atributos temporales

9 Definiciones de atributos temporales

10 Definiciones de atributos temporales Released Execution time Absolute deadline Relative deadline

11 Definiciones de atributos temporales

12 Ejemplo de un conjunto de tareas

13 Modelo de tareas simple Dado un programa arbitrariamente complejo, no es tarea fácil analizarlo para poder predecir su comportamiento en el peor caso. Por tanto, resulta imprescindible imponer algunas restricciones en la estructura de los programas concurrentes de tiempo real. Se presenta un modelo muy simple que permitirá describir algunos esquemas de planificación estándar. La idea es expandirlo posteriormente.

14 Modelo de tareas simple Se supone que la aplicación está compuesta por un conjunto fijo de tareas y se conoce en tiempo de ejecución (estático) Todas las tareas son periódicas, con periodos conocidos Las tareas son completamente independientes unas de otras (e interrumpibles en cualquier punto del código). No se comunican ni sincronizan entre ellas. Los plazos de respuesta de todas las tareas son iguales a sus periodos (o sea, cada tarea debe acabar antes de ser ejecutada nuevamente) El tiempo de ejecución máximo (en un único procesador) de cada tarea es conocido y fijo Todas las sobrecargas del sistema (tales como cambio de contexto) son ignoradas

15 Modelo de tareas simple Este conjunto de suposiciones puede ser realista en algunos casos de sistemas de tiempo real. Ej.:una aplicación de control simple con un conjunto fijo de sensores y actuadores, un entorno bien definido al igual que los requisitos de procesamiento (Stankovic et al.).

16 Parámetros de planificación N Número de tareas en el sistema T Período de activación de una tarea C Tiempo de ejecución máximo de una tarea D Plazo de respuesta de una tarea R Tiempo de respuesta máximo de una tarea P Prioridad En el modelo de tareas simple, para cada tarea i : C D T i i i Se trata de asegurar R i D i

17 Hiperperíodo En el modelo de tarea simple se denomina hiperperíodo del sistema a H mcm ( T i ) El comportamiento temporal se repite cada hiperperíodo

18 Planificación con ejecutivos cíclicos Es el algoritmo de planificación más utilizado para construir el esqueleto de sistemas de control embebidos (no existe un sistema operativo propiamente dicho) La aplicación se divide en una serie de procedimientos, el ejecutivo es una tabla de llamada a los mismos, donde cada procedimiento representa parte del código de una tarea. La complejidad de las aplicaciones embebidas ha ido aumentando y en la actualidad es normal que requieran servicios como multitarea avanzada o comunicaciones (provistos típicamente por un sistema operativos en tiempo real). Sin embargo se siguen usando en aplicaciones sencillas o con restricciones temporales muy estrictas

19 Planificación con ejecutivos cíclicos Si todas las tareas son periódicas, puede confeccionarse un plan de ejecución fijo (offline), almacenado en una tabla. El despacho de las mismas es una simple búsqueda en la tabla Se trata de un esquema que se repite cada ciclo principal Cada ciclo principal se divide en ciclos secundarios, con periodos En cada ciclo secundario se ejecutan las actividades correspondientes a determinadas tareas T M mcm( T ) T ( T k. T ) s M s i

20 Ejemplo

21 Ejemplo loop wait_for_interrupt; procedure_for_a; procedure_for_b; procedure_for_c; wait_for_interrupt; procedure_for_a; procedure_for_b; procedure_for_d; procedure_for_e; wait_for_interrupt; procedure_for_a; procedure_for_b; procedure_for_c; wait_for_interrupt; procedure_for_a; procedure_for_b; procedure_for_d; end loop;

22 Propiedades No hay concurrencia en la ejecución Cada ciclo secundario es una secuencia de llamadas a procedimientos Los procedimientos comparten un espacio de direcciones, por lo que pueden pasar datos entre ellos No hace falta usar mecanismos de exclusión mutua porque es imposible el acceso concurrente Todos los periodos de las tareas deben ser múltiplos del periodo de los ciclos secundarios Puede ser necesario usar períodos mas cortos de lo necesario No hace falta analizar el comportamiento temporal El sistema es correcto por construcción

23 Problemas Dificultad para incorporar tareas esporádicas Dificultad en la construcción del plan cíclico Si los períodos son de diferentes órdenes de magnitud el número de ciclos secundarios se hace muy grande Puede ser necesario partir una tarea (alto tiempo de ejecución) en varios procedimientos En el caso más general, es un problema NP duro Poco flexible y difícil de mantener Cada vez que se cambia una tarea hay que rehacer toda la planificación

24 Programación basada en tareas Un enfoque alternativo es soportar la ejecución de tareas de forma directa (como es norma en los sistemas operativos de propósito general) y, Determinar cuál es la tarea que deberá ejecutarse en cada instante de tiempo, mediante uno o más atributos de planificación.

25 Programación basada en tareas Una tarea puede estar en varios estados (suponiendo que no exista comunicación entre ellas)

26 Programación basada en procesos Los procesos ejecutables se despachan para su ejecución de acuerdo con un esquema de planificación Prioridades fijas (FPS, por Fixed-Priority Scheduling) Primero el más urgente (EDS, por Earliest Deadline First) Primero el más valioso (VBS, por Value-Based Scheduling)

27 Alternativas de planificación Un esquema de planificación puede ser Estático: el análisis se realiza antes de la ejecución Dinámico: se toman decisiones en tiempo de ejecución Un método estático muy usado es el de planificación con prioridades fijas y desalojo La prioridad es un parámetro relacionado con la urgencia o importancia de la tarea En todo momento se ejecuta la tarea con mayor prioridad de todas las ejecutables

28 Alternativas de planificación

29 Planificación con prioridades fijas Es el método más corriente en los sistemas operativos de tiempo real Cada tarea tiene un prioridad fija, estática, que se calcula antes de su ejecución Las tareas ejecutables se despachan para su ejecución en orden de prioridad El despacho puede hacerse Con desalojo Sin desalojo Con desalojo limitado (apropiación diferida o de distribución cooperativa) En general, se supondrá prioridad fija con desalojo Se mejora la reacción de los procesos de alta prioridad

30 Primero el más urgente Las tareas ejecutables se despachan por orden de los respectivos tiempos límites (absolutos) La primer tarea que se ejecuta es la más urgente (aquélla cuyo plazo vence antes) Los tiempos límites absolutos se calculan en tiempo de ejecución (esquema dinámico)

31 Primero el más valioso Si el sistema puede sobrecargarse no será suficiente el simple uso de los métodos anteriores Se precisa un esquema más adaptable Se asigna un valor (utilidad) a cada tarea, y se emplea un algoritmo de planificación en línea basado en ellos para decidir cuál es la siguiente tarea a ejecutar Utilidad: Si un servicio se completa dará algún beneficio intrínseco al entorno del sistema de cómputo

32 Primero el mas valioso Se utiliza en control de vehículos autónomos que necesitan exhibir un comportamiento inteligente y adaptable, en orden de funcionar en entornos no determinísticos y altamente cambiantes, caracterizados por la naturaleza no predecible de otros vehículos, obstrucciones, información sobre las rutas, condiciones meteorólogicas y de los caminos,etc. Poseen un amplio rango de requerimientos temporales: 100 ms para los algoritmos para evitar colisiones necesitan muestrear sensores, detectar posibles colisiones con obstrucciones u otros vehículos e iniciar mecanismos de evitación o frenado.

33 Primero el mas valioso Cada seg. Deben realizar reconocimiento de escena, evaluar movimientos de otros vehículos, planificar un camino, etc. Dentro de seg. Deben planear y replanificar rutas para alcanzar un destino, optimizar el consumo de combustible y el tiempo como así también tener en cuenta información de las condiciones del tránsito

34 Valor La utilidad de un servicio (Burns et al.) depende de: La calidad de la salida que produce (exactitud, precisión, etc.) El tiempo dentro del cual se ejecuta el servicio (Ej.:demasiado temprano, aceptablemente temprano, entrega óptima, aceptablemente tarde, demasiado tarde) La historia de las previas invocaciones del servicio Las condiciones del entorno

35 Valor El estado del sistema de cómputo (ej.:que otros servicios se están proveyendo) La importancia del servicio (fundamentales/ no fundamentales) La probabilidad de completar el servicio

36 Prioridades de tasa monotónica Se asigna mayor prioridad a las tareas de menor período (rate monotonic scheduling), es óptimo para el modelo de tareas simple: Si pueden garantizarse los plazos de un conjunto de tareas con otra asignación de prioridades estáticas, podrán garantizarse con el esquema de asignación de prioridades con tasa monotónica. Ti T j Pi P j

37 Prioridades de tasa monotónica O, los procesos pueden no alcanzar sus tiempos límites con este esquema sólo si ningún otro esquema de asignación de prioridades puede hacerlo

38 Instante crítico Uno de los conceptos más importantes para el análisis de planificabilidad en un sistema con un procesador, es el instante crítico.

39 Instante crítico Una consecuencia de la independencia entre tareas es que se puede suponer que en algún instante de tiempo todos los procesos son requeridos simultáneamente para ejecutarse Esto representará la carga máxima para el procesador, y se conoce como instante critico Instante inicial para el modelo de tareas simple Corresponde al tiempo de respuesta máximo de una tarea (Teorema de Liu y Layland) Si una tarea puede ser planificada en su instante crítico entonces cumplirá con sus requisitos temporales (D)

40 Instante crítico

41 Factor de utilización Es una medida de la carga del procesador para un conjunto de tareas En un sistema con un único procesador Liu y Layland (1973) demostraron que usando este factor puede obtenerse un test de planificabilidad para RM U N i1 1 U C T i i

42 Análisis basado en la utilización Para el modelo simple, con D=T, con prioridades de tasa monotónica, los plazos están garantizados si: N Utilización mínima garantizada U 0 (N) % % % % % % Mientras que la utilización de la CPU sea menor a 0.69, todas las tareas alcanzarán sus tiempos límites U U N C T i1 i i N 0.69 si 1/ (2 N N 1)

43 Ejemplo 1 La utilización combinada es del 0.82 (>0.78) por tanto este conjunto de tareas no pasa el test de utilización. En el instante t=50 la tarea a incumple su primer límite temporal Tarea T C P U a b c

44 Ejemplo 1

45 Ejemplo 1 Diagrama de Gantt c b a c b Tiempo

46 Instante crítico Las líneas temporales pueden utilizarse para probar la planificabilidad Para conjunto de tareas que comparten un tiempo de activación común (instante crítico) es suficiente dibujar una línea temporal igual al tamaño del periodo más largo (Liu y Layland, 1973) Si todas las tareas cumplen su primer límite temporal, entonces cumplirán todos sus límites futuros

47 Ejemplo 2 Este sistema está garantizado (U<0.78) Tarea T C P U a b c

48 Ejemplo 3 Este sistema no pasa la prueba de utilización (U=1>0.78) pero, se cumplen los plazos Tarea T C P U a b c

49 Ejemplo 3 Tarea a b Desalojado En ejecución c Tiempo 70 80

50 Test de planificabilidad Prueba para verificar si existe un esquema de planificación factible Test suficiente Si se pasa el test el conjunto de tareas es definitivamente planificable Si no se pasa, el conjunto de tareas puede ser planificable, aunque no necesariamente Test necesario Si se pasa el test, el conjunto de tareas puede ser planificable, aunque no necesariamente Si no se pasa, el conjunto de tareas es definitivamente no planificable Test exacto (=necesario + suficiente) El conjunto de tareas es planificable si y solo si pasa el test

51 Utilización mínima garantizada Es una condición suficiente pero no necesaria En muchos casos pueden garantizarse los plazos con factores de utilización mayores a U 0 (N) Sólo puede utilizarse para conjunto de tareas con plazos igual al periodo No se puede aplicar a modelos de tareas más complejos

52 Tiempo límite absoluto

53 Tiempo límite absoluto N tareas periódicas 1 procesador Parámetros temporales de las tareas: Tarea i : (Φ i, T i, C i, D i ) Una acción J i,k Se activa en r i,k = Φ i + kt i Debe terminar antes de d i,k = Φ i + kt i + D i Habitualmente: D i = T i

54 EDF Siempre se planifica la tarea activa con el tiempo límite absoluto más cercano T 1 (4,1) T 2 (5,2) T 3 (7,2)

55 EDF

56 EDF P1, C= 1, T= 8; P2, C= 2, T= 5; P3, C= 4 T= 10. Los colores azules y blancos representan los períodos con deadlines en los cambios de color.

57 EDF

58 Factor de utilización con EDF Los plazos están garantizados si y sólo si Permite una mayor utilización del procesador. FPS tiene algunas ventajas sobre EDF: FPS es más sencillo de implementar, la prioridad es estática EDF requiere un sistema de tiempo de ejecución más complejo N i1 C T i i 1

59 Planificable con EDF y no con FPS U=3/6 + 4/9 = Deadline Miss

60 Factor de utilización con EDF Durante las situaciones de sobrecarga (U>1) el comportamiento de FPS es mas predecible En FPS los procesos de menor prioridad son los que pueden incumplir sus tiempos límites En EDF es impredecible y puede acarrear un efecto dominó: la primer tarea que cumple su tiempo límite puede provocar que todas las demás lo hagan. Este comportamiento es indeseable en la práctica ya que en aplicaciones reales pueden ocurrir sobrecargas intermitentes debido a condiciones excepcionales: modificaciones en el entorno, cascadas de fallas del sistema, etc.

61 Efecto dominó en EDF Para más detalle: Buttazzo, Rate monotonic vs. EDF: Judgement Day, EMSOFT 2003.

62 En RM

63 Análisis del tiempo de respuesta para FPS Las pruebas basadas en la utilización para FPS tienen 2 inconvenientes: No son exactas y, No son realmente aplicables a un modelo de tareas más general Se verá una forma diferente basada en el cálculo del tiempo de respuesta en el peor caso de cada tarea, R i y una simple comprobación: R D i i

64 Análisis del tiempo de respuesta para FPS El tiempo de respuesta en el peor caso de cada tarea es igual a la suma del tiempo de ejecución en el peor caso para la misma más la interferencia que sufre por la ejecución de tareas con mayor prioridad La interferencia es máxima cuando todas las tareas se activan a la vez (instante crítico) R i C i I i

65 Instante crítico La interferencia es máxima cuando todos las tareas se activan a la vez El instante inicial se denomina instante crítico

66 Cálculo de la interferencia El número de veces que una tarea de prioridad superior, j, se ejecuta durante el intervalo [0, R i ) es: R T i j La función techo obtiene el menor entero mayor que el fraccionario sobre el que actúa. El techo de 1/3 es 1, el de 6/5 es 2, y el de 6/3 es 2. La interferencia total es:

67 Cálculo del tiempo de respuesta R i R C i i j hp( i) Tj C j donde hp(i) es el conjunto de tareas de prioridad mayor que i. La ecuación no es continua ni lineal y no puede resolverse analíticamente (Joseph y Pandya, 1986)

68 Cálculo del tiempo de respuesta Se puede resolver mediante la relación de recurrencia (Audsley et al., 1993): El conjunto de valores es monótono no decreciente Un valor aceptable de puede ser C i (o 0) w, w, w,..., w,.. 0 w i n n w 1 i w C i i jhp( i) Tj n i i i i C j

69 Cálculo del tiempo de respuesta for i in 1..N loop -- for each process in turn n := 0 w n i : C i loop calculate new n1 n if then wi R n i w i w n1 w i exit value found end if n1 if w T i i then exit value not found end if n := n + 1 end loop end loop i

70 Ejemplo 4 Tarea T C P a b c R a b b b b R w w w j i hp j j n i i n i C T w C w ) ( 1

71 Ejemplo c c c c w w w w c c c R w w j i hp j j n i i n i C T w C w ) ( 1 Tarea T C P a b c

72 Ejemplo 3 - revisión El cálculo de los tiempos de respuesta indica que todas las tareas tienen garantizados sus plazos Tarea T C P R a b c

73 Propiedades del análisis del tiempo de respuesta Proporciona una condición necesaria y suficiente para la garantía de los plazos Proporciona un análisis del comportamiento temporal del sistema más exacto quel método basado en la utilización El elemento crítico es el tiempo de cómputo de cada tarea R D i i Optimista: Los plazos pueden fallar aunque el análisis sea positivo Pesimista: El análisis puede ser negativo y en la realidad no fallen los plazos

74 Generalización del modelo de tareas El análisis del tiempo de respuesta visto para el modelo de tareas básico puede extenderse con Tareas esporádicas y aperiódicas Plazos menores o mayores que los períodos Interacción mediante secciones críticas Planificación cooperativa Fluctuaciones (jitter) en la activación Tolerancia a fallos Desfases (offsets)

75 Tiempo de ejecución en el peor caso Interesa el tiempo de ejecución en el peor caso (WCET, worst case execution time) Hay dos formas de obtener el WCET de una tarea: 1º opción: Medida del tiempo de ejecución No es fácil saber cuándo se ejecuta el peor caso posible Sigue siendo usado en la industria para sistemas que no sean hard

76 WCET El tiempo de ejecución de una tarea generalmente varía dependiendo de los datos de entrada o diferentes condiciones del entorno. En muchos casos el espacio de estados es demasiado grande para explorarlo exhaustivamente

77 WCET

78 Tiempo de ejecución en el peor caso 2º opción: Análisis del código ejecutable Puede ser muy pesimista Hace falta tener un modelo adecuado del procesador Es difícil tener en cuenta los efectos de los dispositivos de hardware (cachés, pipelines, branch prediction y otros componentes especulativos)

79 Análisis del WCET

80 Tiempo de ejecución en el peor caso Casi todas las técnicas de análisis involucran 2 actividades distintas La 1º toma el código de la tarea y lo descompone en un grafo dirigido de bloques básicos Un bloque básico es uno secuencial con una sentencia de salto condicional o incondicional al final La 2º toma el código de máquina correspondiente al bloque básico y usa el modelo del procesador para estimar su WCET

81 Tiempo de ejecución en el peor caso Una vez conocido el WCET para todos los bloques básicos se colapsa el grafo. Ej.: la construcción de elección entre 2 bloques básicos se reduce a uno con el WCET más grande Se pueden utilizar técnicas de reducción de grafos si se dispone de información semántica eficiente. También se utilizan herramientas como la programación lineal entera (ILP) y programación con restricciones

82 WCET

83 Necesidad de información semántica Coste total: 10x100+coste del bucle, ej.:1005 unidades de t. Se puede deducir (por ej.a través de análisis estático del código, histórico de ejecuciones) que Cond es verdadera como mucho en 3 veces, se puede obtener valores menos pesimistas, ejemplo: 375 unidades de tiempo for I in loop if Cond then -- basic block of cost 100 else -- basic block of cost 10 end if; end loop;

84 Tiempo de ejecución en el peor caso Estas técnicas suelen requerir anotaciones del desarrollador.ej:info sobre layout de la memoria, rango de valores de entrada de la tarea, límites de iteraciones, profundidad de anidados, frecuencias de algunos saltos,etc. También se utiliza el código generado por el compilador por la información semántica que contiene (invocaciones dinámicas, análisis de punteros, etc.) Evidentemente el código requiere restricciones, por ej.iteraciones y recursiones deben estar limitados

85 Tiempo de ejecución en el peor caso El peor desafío que afronta el análisis del WCET proviene de los modernos procesadores con características que intentan reducir el tiempo de ejecución medio pero hacen difícil predecir el peor caso Los fabricantes, en general, no suministran información sobre la microarquitectura que podría usarse para validar estos modelos abstractos del hardware

86 Tiempo de ejecución en el peor caso En el caso de sistemas en tiempo real o, se eligen arquitecturas de procesadores más simples (menos potentes) o se pone más empeño en la medición En aquéllos de alta integridad se utiliza un enfoque que combine las pruebas y medidas de las unidades de código (bloques básicos) con el análisis para los componentes completos

87 Herramientas comerciales ait ( Bound-T ( Rapitime ( (híbrida)

88 Herramientas comerciales

89 Referencias Burns, A. Wellings, A. "Sistemas de Tiempo Real y Lenguajes de Programación", Addison-Wesley (2003) Capítulo 13 Transparencias de Juan Antonio de la Puente Transparencias de Javier Macías Guarasa restricciones_1.x2.pdf

Planificación con prioridades

Planificación con prioridades dit UPM Planificación con prioridades Juan Antonio de la Puente DIT/UPM Copyright 2007, Juan Antonio de la Puente Planificación El objetivo de los métodos de planificación (scheduling) es repartir el tiempo

Más detalles

dit Planificación de tareas de tiempo real Juan Antonio de la Puente DIT/UPM UPM Copyright 2007, Juan Antonio de la Puente

dit Planificación de tareas de tiempo real Juan Antonio de la Puente DIT/UPM UPM Copyright 2007, Juan Antonio de la Puente dit UPM Planificación de tareas de tiempo real Juan Antonio de la Puente DIT/UPM Copyright 2007, Juan Antonio de la Puente Objetivos Plantear los problemas básicos relacionados con el cumplimiento de los

Más detalles

Planificación dinámica de tareas

Planificación dinámica de tareas dit UPM Planificación dinámica de tareas Juan Antonio de la Puente DIT/UPM Copyright 2007, Juan Antonio de la Puente Sistemas dinámicos Hay sistemas de tiempo real en los que no se conocen de antemano

Más detalles

Software de Tiempo Real. Software de Tiempo Real. Consideraciones generales. Software en Tiempo Real. Conceptos Básicos. Consideraciones generales

Software de Tiempo Real. Software de Tiempo Real. Consideraciones generales. Software en Tiempo Real. Conceptos Básicos. Consideraciones generales Consideraciones generales - Deben responder a eventos externos, asegurando un tiempo máximo de respuesta determinado. Software en Tiempo Real Conceptos Básicos - La secuencia de ejecución no sólo está

Más detalles

Análisis Rate Monotonic (RMA)

Análisis Rate Monotonic (RMA) Análisis Rate Monotonic (RMA) Definiciones Sistema síncrono Todas las tareas periódicas piden eecución al mismo tiempo. Todas tienen el mismo desfase Factor de utilización Activación U = n i= Ci Pi Cada

Más detalles

Introducción a los sistemas de tiempo real. Informática III Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA - UNR

Introducción a los sistemas de tiempo real. Informática III Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA - UNR Introducción a los sistemas de tiempo real Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA - UNR 1 Objetivos Introducir conceptos básicos relativos a los sistemas de tiempo

Más detalles

Lección 13: Introducción a los sistemas de tiempo real

Lección 13: Introducción a los sistemas de tiempo real Lección 13: Introducción a los sistemas de tiempo real Introducción Conceptos básicos Sistemas síncronos Sistemas asíncronos Sistemas dirigidos por interrupciones Algoritmos de scheduling J. Ezpeleta-P.

Más detalles

Sistemas de Tiempo Real Planificación de Sistemas de Tiempo Real

Sistemas de Tiempo Real Planificación de Sistemas de Tiempo Real Sistemas de Tiempo Real Planificación de Sistemas de Tiempo Real Javier García Martín Capítulo 4 Planificación de Sistemas de Tiempo Real 1. Introducción 2. Ejecutivo Cíclico 3. Prioridades de tareas en

Más detalles

TEMA 4. Ejecutivos cíclicos. Modelo de tareas. Plan principal. Planes secundarios. Ejemplo. Ejemplo

TEMA 4. Ejecutivos cíclicos. Modelo de tareas. Plan principal. Planes secundarios. Ejemplo. Ejemplo Modelo de tareas TMA Consideraremos inicialmente un modelo de tareas simple: Conjunto de tareas estático Todas las tareas son periódicas Las tareas son independientes entre sí Se conoce el tiempo de ejecución

Más detalles

Planificación de Procesos

Planificación de Procesos Planificación de Procesos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Planificación de Procesos Conceptos Básicos Criterios de Planificación Algoritmos de Planificación

Más detalles

Programación Concurrente y Paralela. Unidad 1 Introducción

Programación Concurrente y Paralela. Unidad 1 Introducción Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el

Más detalles

Planificación de Tareas de Tiempo Real Planificación Í d n i dice

Planificación de Tareas de Tiempo Real Planificación Í d n i dice Planificación de Tareas de Tiempo Real Sistemas de Tiempo Real http://www.vision.uji.es/~pla/ii75 i / /ii75 Índice Planificación de Tareas: Tareas Periódicas. Planificación ió Cíclica. Planificación por

Más detalles

Concepto de Planificación Planificación: forma o criterio que se sigue a la hora de decidir que proceso debe entrar en ejecución.

Concepto de Planificación Planificación: forma o criterio que se sigue a la hora de decidir que proceso debe entrar en ejecución. Tareas de Tiempo-Real Desde el punto de vista de la planificación, el sistema operativo considera a las tareas como procesos que consumen una cierta cantidad de tiempo de procesador, y a las que asignarles

Más detalles

Granularidad y latencia

Granularidad y latencia Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación

Más detalles

Tiempo real. Juan Antonio de la Puente DIT/UPM. Tiempo real. Comprender el papel del tiempo en el diseño y realización de sistemas de tiempo real

Tiempo real. Juan Antonio de la Puente DIT/UPM. Tiempo real. Comprender el papel del tiempo en el diseño y realización de sistemas de tiempo real dit UPM Tiempo real Juan Antonio de la Puente DIT/UPM Tiempo real Objetivo Comprender el papel del tiempo en el diseño y realización de sistemas de tiempo real Contenido: Sistemas de referencia de tiempo

Más detalles

Un importante problema para sistemas de la nueva generación

Un importante problema para sistemas de la nueva generación Un importante problema para sistemas de la nueva generación J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious Problem for Next Generation Systems, IEEE Computer, October 1988. Manifestar

Más detalles

UPM Gestión del tiempo real

UPM Gestión del tiempo real UPM Gestión del tiempo real Juan Antonio de la Puente DIT/UPM Tiempo real Objetivo Comprender el papel del tiempo en el diseño y realización de sistemas de tiempo real Contenido: Sistemas de referencia

Más detalles

UML (Unified Modeling Language) Octubre de 2007

UML (Unified Modeling Language) Octubre de 2007 UML (Unified Modeling Language) Octubre de 2007 UML un modelo o pieza de información producido en el proceso de desarrollo de software Un lenguaje para especificar, visualizar y construir artefactos de

Más detalles

Introducción a los sistemas de tiempo real

Introducción a los sistemas de tiempo real 1 dit UPM Introducción a los sistemas de tiempo real Juan Antonio de la Puente DIT/UPM Transparencias basadas en el capítulo 1 del libro de A. Burns y A. Wellings Real-Time Systems and Programming Languuages,

Más detalles

Introducción n a los Sistemas de Tiempo Real (RTS)

Introducción n a los Sistemas de Tiempo Real (RTS) Introducción n a los Sistemas de Tiempo Real (RTS) Wolfgang Freund Wolfgang.Freund@usm.cl Marzo 2007 El Escenario RTS Interfaz Hombre - Máquina Instrumentación Operador Sistema de Tiempo Real Objeto a

Más detalles

SISTEMAS INFORMÁTICOS EN TIEMPO REAL. Planificación

SISTEMAS INFORMÁTICOS EN TIEMPO REAL. Planificación SISTEMAS INFORMÁTICOS EN TIEMPO REAL Planificación Manuel Agustín Ortiz López Área de Arquitectura y Tecnología de Computadores Departamento de Arquitectura de Computadores, Electrónica y Tecnología Electrónica

Más detalles

Tema 4: Gestión de Procesos

Tema 4: Gestión de Procesos Tema 4: SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo de 2006 Índice Concepto

Más detalles

Planificación multiprocesador y de tiempo real

Planificación multiprocesador y de tiempo real Planificación multiprocesador Planificación de Tiempo Real Planificación multiprocesador y de tiempo real Gustavo Romero López Arquitectura y Tecnología de Computadores 6 de marzo de 2017 Gustavo Romero

Más detalles

Planificación multiprocesador y de tiempo real

Planificación multiprocesador y de tiempo real c Planificación multiprocesador y de tiempo real Gustavo Romero Arquitectura y Tecnología de Computadores 28 de enero de 2009 Gustavo Romero Planificación multiprocesador y de tiempo real (1/55) Índice

Más detalles

GUÍA DE ESTUDIO TEMA 8. SISTEMAS EN TIEMPO REAL. MODELOS. JERAQUÍA. SINCRONIZACIÓN

GUÍA DE ESTUDIO TEMA 8. SISTEMAS EN TIEMPO REAL. MODELOS. JERAQUÍA. SINCRONIZACIÓN GUÍA DE ESTUDIO TEMA 8. SISTEMAS EN TIEMPO REAL. MODELOS. JERAQUÍA. SINCRONIZACIÓN OBJETIVOS Presentar la evolución histórica de los procesos industriales. Clasificar los procesos industriales e introducir

Más detalles

Tema 1 Introducción. Indice. Definición Ejemplos de aplicación Conceptos básicos Tipos de sistemas Características de STR críticos Construcción de STR

Tema 1 Introducción. Indice. Definición Ejemplos de aplicación Conceptos básicos Tipos de sistemas Características de STR críticos Construcción de STR Tema 1 Introducción Definición Ejemplos de aplicación Conceptos básicos Tipos de sistemas Características de STR críticos Construcción de STR 1 Indice Definición Ejemplos de aplicación Conceptos básicos

Más detalles

Concurrencia de Procesos

Concurrencia de Procesos Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)

Más detalles

Introducción. Requerimientos

Introducción. Requerimientos Introducción Los SSOO de TR son necesarios cuando el lenguaje de programación no ofrece los servicios necesarios para el tiempo real No todos los SSOO son válidos para el TR. Se necesitan unos requerimientos

Más detalles

Diseño de algoritmos paralelos

Diseño de algoritmos paralelos Diseño de algoritmos paralelos Curso 2011-2012 Esquema del capítulo Visión general de algunos algoritmos serie. Algoritmo paralelo vs. Formulación paralela Elementos de un Algoritmo paralelo Métodos de

Más detalles

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

PARADIGMA y LENGUAJES DE PROGRAMACIÓN CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre

Más detalles

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos

Más detalles

Predictores Dinámicos

Predictores Dinámicos Predicción dinámica. La predicción de saltos pretende reducir la penalización producida por los saltos, haciendo prebúsqueda ( prefetching ), emitiendo y ejecutando instrucciones del camino destino del

Más detalles

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3: 3 - Paradigmas de Programación

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3: 3 - Paradigmas de Programación 3 - Paradigmas de Programación En los inicios los lenguajes de programación imitaron y abstrajeron las operaciones de una computadora, lo cual trajo aparejado que el tipo de computadora para el cual fueron

Más detalles

Convivencia Gestión de Procesos

Convivencia Gestión de Procesos Convivencia Gestión de Procesos Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Índice: Procesos Introducción a los procesos Estados de los procesos Listas de procesos El planificador de procesos

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Clase 6 RISC Computadoras de repertorio reducido de instrucciones Historia de evolución (1) El concepto de familia: Introducido por IBM en su System/360 en 1964. DEC PDP-8.

Más detalles

PROJECTE FI DE CARRERA

PROJECTE FI DE CARRERA PROJECTE FI DE CARRERA TÍTOL: Diseño e Implementación de una Herramienta para la Planificación de Ejecutivos Cíclicos AUTOR: José Yépez Castillo TITULACIÓ: Enginyeria en automàtica i Electrònica Industrial

Más detalles

Programación Concurrente Recopilación de teoría referente a la materia

Programación Concurrente Recopilación de teoría referente a la materia UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a

Más detalles

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de

Más detalles

Conceptos de Planificación

Conceptos de Planificación Conceptos de Planificación Conceptos de Planificación Planificación Planificación de Procesos de Procesos Algoritmos Algoritmos Estructura Estructura Propiedades Propiedades Tipos Tipos Evaluación Evaluación

Más detalles

Aspectos avanzados de arquitectura de computadoras Superescalares I. Facultad de Ingeniería - Universidad de la República Curso 2017

Aspectos avanzados de arquitectura de computadoras Superescalares I. Facultad de Ingeniería - Universidad de la República Curso 2017 Aspectos avanzados de arquitectura de computadoras Superescalares I Facultad de Ingeniería - Universidad de la República Curso 2017 Instruction Level Parallelism Propiedad de un programa. Indica qué tanto

Más detalles

Tema 6: Sistemas en Tiempo Real

Tema 6: Sistemas en Tiempo Real Tema 6: Sistemas en Tiempo Real INDICE: Introducción al Tiempo Real: Conceptos Básicos Secuenciamiento de tareas Soporte para Sistemas en Tiempo Real 1 Introducción al Tiempo Real Definiciones: Cualquier

Más detalles

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA Diseño de compiladores Gestión de la memoria / Generación de código ORGANIZACIÓN DE MEMORIA Organización de memoria Depende del tipo de lenguaje (declarativos, imperativos), del compilador y del sistema

Más detalles

5. Planificación en Tiempo real

5. Planificación en Tiempo real 5. Planificación en Tiempo real Contenido 5. PLANIFICACIÓN EN TIEMPO REAL...1 5.1 INTRODUCCIÓN... 2 5.2 CONCEPTOS... 2 5.2.1 Tipos de tareas...2 5.2.2 Parámetros...3 5.2.3 Tiempo real crítico y opcional...4

Más detalles

Introducción a los Sistemas de Tiempo Real

Introducción a los Sistemas de Tiempo Real Introducción a los Sistemas de Tiempo Real 1 Introducción: Definición Qué es un sistema de tiempo real? Un STR es cualquier sistema de procesamiento de la información que tiene que responder a estímulos

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 02: Complejidad de los algoritmos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Algoritmo Algoritmo vs. Proceso Computacional

Más detalles

Sobre la programación concurrente

Sobre la programación concurrente Sobre la programación concurrente Lecturas recomendadas: G. Andrews, introducción parte 1 Ben-Ari, secciones 2.1 y 2.3 A. Burns, A. Wellings, capítulo 2 (hasta 2.4) Andrews & Schneider, todo el artículo

Más detalles

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Sistemas Operativos. Dr. Luis Gerardo de la Fraga.    Departamento de Computación Cinvestav Sistemas Operativos Dr. Luis Gerardo de la Fraga E-mail: fraga@cs.cinvestav.mx http://cs.cinvestav.mx/~fraga Departamento de Computación Cinvestav 12 de junio de 2015 Dr. Luis Gerardo de la Fraga Cinvestav,

Más detalles

Programación concurrente

Programación concurrente Programación concurrente Master de Computación I Conceptos y recursos para la programación concurrente: I.1 Motivación de la programación concurrente. J.M. Drake M. Aldea Motivación de la programación

Más detalles

! # % % &(& ) ) ) # +,., /0,.

! # % % &(& ) ) ) # +,., /0,. ! # % & % &(& ) ) ) # +,., /0,. He de expresar mi profundo agradecimiento a todas aquellas personas que me han dado la oportunidad de desarrollarme, tanto intelectual como personalmente. Su influencia

Más detalles

SISTEMAS EN TIEMPO REAL

SISTEMAS EN TIEMPO REAL SISTEMAS EN TIEMPO REAL Año académico: 2006/07 Centro: Escuela Politécnica Superior Estudios: Ingeniero Técnico en Informática de Sistemas Asignatura: Sistemas en Tiempo real Ciclo: 1º Curso: 3º Cuatrimestre:

Más detalles

Definición de S. Tiempo Real

Definición de S. Tiempo Real Sistemas de Tiempo Real Sistemas de Tiempo Real Definición Definición Conceptos Conceptos Clasificación Clasificación Respuesta en Respuesta en tiempo tiempo especificado especificado Interacción Interacción

Más detalles

Sistemas Operativos. Memoria Virtual

Sistemas Operativos. Memoria Virtual Sistemas Operativos Memoria Virtual Memoria Virtual. Aspectos Generales. Paginación por demanda. Algoritmos de sustitución de. Modelo del conjunto activo . Aspectos Generales Simula espacios de memoria

Más detalles

Introducción a los sistemas de tiempo real

Introducción a los sistemas de tiempo real dit UPM Introducción a los sistemas de tiempo real Juan Antonio de la Puente DIT/UPM Transparencias basadas en el capítulo 1 del libro de A. Burns y A. Wellings Real-Time Systems and Programming Languuages,

Más detalles

Comunicación entre tareas de tiempo real

Comunicación entre tareas de tiempo real dit UM omunicación entre tareas de tiempo real Juan Antonio de la uente DI/UM opyright 7, Juan Antonio de la uente Interacción entre tareas Juan Antonio de la uente 7 En la mayoría de los sistemas de interés

Más detalles

Tema II. Descripción y control de procesos. UNED Manuel Fernández Barcell. Blog:

Tema II. Descripción y control de procesos. UNED Manuel Fernández Barcell.   Blog: Tema II Descripción y control de procesos UNED Manuel Fernández Barcell http://www.mfbarcell.es Blog: http://prof.mfbarcell.es 2.2.1 CONCEPTO DE PROCESO Un programa es un archivo ejecutable que está en

Más detalles

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador (extracto de las transparencias del libro)

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador (extracto de las transparencias del libro) Sistemas operativos 2ª edición Capítulo 4 Planificación del procesador (extracto de las transparencias del libro) Contenido Introducción Caracterización de los procesos Objetivos de la planificación Algoritmos

Más detalles

Concurrencia. Concurrencia

Concurrencia. Concurrencia Concurrencia Procesos y hebras Concurrencia Programación concurrente Por qué usar hebras y procesos? Ejecución de procesos Ejecución de hebras Hebras vs. Procesos Creación y ejecución de hebras La prioridad

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto

Más detalles

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos. Comprender la tarea y la elección de un planificador.

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos. Comprender la tarea y la elección de un planificador. Objetivos PRÁCTICO 3 Comprender la administración de procesos e hilos de los sistemas operativos. Comprender la tarea y la elección de un planificador. Ejercicio 1 (básico) Defina que es un proceso a nivel

Más detalles

PRÁCTICO 4. La evaluación de una expresión sólo debe esperar por la evaluación de sus subexpresiones.

PRÁCTICO 4. La evaluación de una expresión sólo debe esperar por la evaluación de sus subexpresiones. Objetivos PRÁCTICO 4 Comprender el problema de la mutua exclusión y las dificultades de probar la correctitud de programas concurrentes Ver soluciones por software y por hardware al problema de la mutua

Más detalles

Algoritmo de asignación de plazos globales en sistemas distribuidos de tiempo real con planificación EDF: comparativa de estrategias de planificación

Algoritmo de asignación de plazos globales en sistemas distribuidos de tiempo real con planificación EDF: comparativa de estrategias de planificación Master en Computación Algoritmo de asignación de plazos globales en sistemas distribuidos de tiempo real con planificación EDF: comparativa de estrategias de planificación Juan María Rivas Concepción Departamento

Más detalles

Bloque I: Principios de sistemas operativos

Bloque I: Principios de sistemas operativos Bloque I: Principios de sistemas operativos Tema 1. Principios básicos de los sistemas operativos Tema 2. Concurrencia Tema 3. Ficheros Tema 4. Sincronización y programación dirigida por eventos Tema 5.

Más detalles

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador.

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador. Objetivos PRÁCTICO 3 Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador. Ejercicio 1 (básico) Defina que es un proceso a nivel

Más detalles

ESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE

ESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE Análisis y costo de algoritmos Algoritmos Un algoritmo es un conjunto de pasos claramente definidos que a partir de un cierta entrada (input) produce una determinada salida (output) Algoritmos y programas

Más detalles

Programación Concurrente y distribuida

Programación Concurrente y distribuida Working Hypothesis Programación Concurrente y distribuida Camilo Rueda 1 1 Universidad Javeriana-Cali 1 de febrero de 2010 Motivación Working Hypothesis Premisa El contexto de aplicación de la Ingeniería

Más detalles

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características

Más detalles

Simultaneidad + Sincronización

Simultaneidad + Sincronización Sobre la programación concurrente Lecturas recomendadas: G. Andrews, introducción parte 1 Ben-Ari, secciones 2.1 y 2.3 A. Burns, A. Wellings, capítulo 2 (hasta 2.4) Andrews & Schneider, todo el artículo

Más detalles

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas.

Unidad V. UML. Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas. Unidad V. UML Tema I. Conceptos Básicos Tema II. Definición de UML. Vocabulario Tema III. Elementos UML Tema IV. Diagramas Objetivos Conocer el modelo UML Utilizar el modelo UML como parte de la metodología

Más detalles

Ventajas: rendimiento fiabilidad cercanía a los elementos del entorno físico flexibilidad

Ventajas: rendimiento fiabilidad cercanía a los elementos del entorno físico flexibilidad 8 Sistemas distribuidos 1 Sistemas distribuidos Un sistema distribuido está formado por un conjunto de computadores autónomos conectados para conseguir un objetivo común Ventajas: rendimiento fiabilidad

Más detalles

Conceptos. Generales ALGORITMOS

Conceptos. Generales ALGORITMOS Conceptos 1 Generales ALGORITMOS Que es un Algoritmo? 2 Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos

Más detalles

Cambio de hebra. Gustavo Romero. 13 de febrero de Arquitectura y Tecnología de Computadores. Voluntario Involuntario

Cambio de hebra. Gustavo Romero. 13 de febrero de Arquitectura y Tecnología de Computadores. Voluntario Involuntario c Cambio de hebra Gustavo Romero Arquitectura y Tecnología de Computadores 13 de febrero de 2009 Gustavo Romero Cambio de hebra (1/67) Índice 1 Voluntario Versión simplificada Gestión de la pila Estudio

Más detalles

La Máquina de Acceso Aleatorio (Random Access Machine)

La Máquina de Acceso Aleatorio (Random Access Machine) La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:

Más detalles

Introducción a la programación: Contenido. Introducción

Introducción a la programación: Contenido. Introducción Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....

Más detalles

Máster en Computación

Máster en Computación Máster en Computación TESIS DE MÁSTER INSTRUMENTACIÓN DE CÓDIGO PARA EL CÁLCULO DE TIEMPOS DE EJECUCIÓN Y RESPUESTA EN SISTEMAS DE TIEMPO REAL Autor: Álvaro García Cuesta Director: J. Javier Gutiérrez

Más detalles

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo) Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional () adicional () Preparado Preparado

Más detalles

ARQUITECTURA DE VON NEUMANN Y HARVARD

ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA VON NEUMANN En esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de almacenamiento para datos e instrucciones conectados

Más detalles

Diseño de Compiladores I. Estructura General de un Compilador

Diseño de Compiladores I. Estructura General de un Compilador Diseño de Compiladores I Estructura General de un Compilador PROGRAMA FUENTE COMPILADOR SALIDA Mensajes de Error 2 Un compilador es un programa que traduce un programa escrito en lenguaje fuente y produce

Más detalles

Comunicación y sincronización

Comunicación y sincronización Comunicación y sincronización Son conceptos relacionados con la interacción entre los procesos La comunicación se refiere al paso de información de un proceso a otro La sincronización corresponde al cumplimiento

Más detalles

Cristian Blanco

Cristian Blanco UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/uml/umlindex.html

Más detalles

Tema V Generación de Código

Tema V Generación de Código Tema V Generación de Código Una vez que se ha realizado la partición HW/SW y conocemos las operaciones que se van a implementar por hardware y software, debemos abordar el proceso de estas implementaciones.

Más detalles

Sistemas Operativos. Trabajo Práctico N ō 3

Sistemas Operativos. Trabajo Práctico N ō 3 Departamento de Ciencias e Ingeniería de la Computación Ingeniería en Computación Ingeniería en Sistemas de Información Sistemas Operativos Segundo Cuatrimestre de 2017 Trabajo Práctico N ō 3 1. Problemas:

Más detalles

Lenguajes de Programación

Lenguajes de Programación Lenguajes de Programación Concurrencia Ma. Laura Cobo Departamento de Ciencias e Ingeniería de la Computación 2018 Prof. Ma. Laura Cobo Página 1 Motivación Un programa se dice concurrente si puede tener

Más detalles

Trabajo Práctico Número 6

Trabajo Práctico Número 6 Página 1 de 6 Trabajo Práctico Número 6 Arquitectura de Computadoras 24/05/2014 Instrucciones Los problemas de ejercitación propuestos en el presente trabajo práctico pueden ser resueltos en forma individual

Más detalles

Sistemas Operativos Gestión de procesador

Sistemas Operativos Gestión de procesador Interrupciones Evento o señal que obliga al S.O a tomar el control del procesador para estudiarla y tratarla. El procesador conoce cuál debe ser el software que atenderá y tratará la interrupción. El SCB

Más detalles

Hilos Secciones Stallings:

Hilos Secciones Stallings: Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los

Más detalles

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1

Unidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 Unidad 1 Análisis de Algoritmos Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 GENERALIDADES Qué se necesita para escribir un programa eficiente? Para diseñar programas eficientes

Más detalles

Modelo de Cómputo. Programación concurrente

Modelo de Cómputo. Programación concurrente Programa concurrente Programa concurrente: conjunto finito de procesos (secuenciales). Un proceso secuencial está escrito con un conjunto finito de acciones atómicas. Ejecución: una secuencia de acciones

Más detalles

Paralelismo en monoprocesadores. Introducción

Paralelismo en monoprocesadores. Introducción Paralelismo en monoprocesadores Introducción Profesor: Mag. Marcelo Tosini Cátedra: Arquitectura Computadoras y técnicas Digitales Carrera: Ingeniería Sistemas Ciclo: 4º año 1 Técnicas para mejorar el

Más detalles

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION DIIAGRAMAS DE FLUJO Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para

Más detalles

Programación concurrente

Programación concurrente 23 de Marzo de 2017 Condiciones generales Docente: Hernán Melgrati (hmelgra@...) Horario: Teóricas: Jueves de 14 a 17 Prácticas: Martes de 14 a 17 Evaluaciones: Un parcial (mediados de mayo) Un trabajo

Más detalles

Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre

Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre Sistemas de Tiempo Real Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre GUÍA DOCENTE Nombre de la asignatura: Código: 590008 Titulación en la que se imparte:

Más detalles

Sistemas Operativos Distribuidos

Sistemas Operativos Distribuidos Contenidos del Tema Gestión de procesos Modelos de sistema Asignación de procesadores Estrategias dinámicas Estrategias estáticas Ejecución remota de procesos Modelos de sistema Organización de los procesadores

Más detalles

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad

Procesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional (PCB) adicional (PCB) Preparado Preparado

Más detalles