Análisis y Verificación Formal de Planificadores para Sistemas Operativos de Tiempo Real. Dr. Apolinar González Potes
|
|
- César Núñez Alcaraz
- hace 6 años
- Vistas:
Transcripción
1 Análisis y Verificación Formal de Planificadores para Sistemas Operativos de Tiempo Real Dr. Apolinar González Potes
2 Dr. Apolinar González Potes Profesor Investigador Universidad de Colima, Colima - México Doctor en Computación Universidad Politécnica de Valencia, España Maestría en Electrónica, Eléctrica y Automática Opción: Informática Industrial Universidad Claude Bernard Lyon I, Francia Ingeniería en Electrónica, Eléctrica y Automática Opción: Informática Industrial INSA - Universidad Claude Bernard, Lyon I, Francia Sistema Nacional de Investigación: Nivel 1
3 Agenda 1 Introducción 2 Planificadores Cíclicos 3 Planificadores Estáticos y Dinámicos 4 Modelo de Diseño Formal Análisis y Verificación Formal
4 Introducción Breve Descripción del Grupo de Investigación Sistemas Inteligentes CA 46 clave SEP AREAS: Sistemas Operativos de Tiempo Real Sistemas Distribuidos de Tiempo Real Diseño de Sistemas de Tiempo Real Diseño de Sistemas Empotrados Personal: 4 Investigadores de Tiempo Completo 2 Candidatos a doctorado 12 Estudiantes de Maestría Localización: Posgrado de la Facultad de Ingeniería Mecánica y Eléctrica Cooperación: UPV, UAO, UCBL, CICESE, UdG, UFRGS, etc. InnovatiSS, FeintiSS, MNIS, Siteldi solutions, MECOPTIM, MIND, etc.
5 Introducción Proyectos Redes de Sensores para el Rendimiento de Cultivos INNOVAPIME 2012 México Centroamérica Arquitectura segura - CONACYT UWEP Francia - México
6 Introducción Proyectos Open and cost-effective virtualization techniques and supporting separation kernel for the embedded systems industry
7 Introducción Proyectos DISEÑO DE REDES DE SENSORES EN ENTORNOS CAMBIANTES (CONCAYT COLCIENCIAS) DISEÑO y DESARROLLO DE APLICACIONES BASADAS EN REDES DE SENSORES D2ARS (CYTED) Sistema Distribuido Abierto y Seguro para la Optimización de Costos Energéticos y Mejora del Confort en Casas y Edificios (DomOptim) OSEO (Francia) CONAYT (México) Algunos Productos: 1.uDDS (Subconjunto del Middleware DDS versión para Linux, PaRTikle) 2.Subconjunto del WirelessHART 3.Versión alpha XtratuM para ARM 9 4.PaRTiKle RTOS 5.ERTL (Embedded Real Time Linux) 6.etc Constructora Integral de Colima
8 Introducción Definiciones Un sistema de tiempo real es un sistema informático en el que es significativo el tiempo en el que se producen sus acciones. No es suficiente que las acciones del sistema sean correctas lógicamente, sino que, además, deben producirse dentro de un intervalo de tiempo determinado Esto es debido a que el sistema está conectado a un proceso externo del que recibe estímulos a los que debe responder con suficiente rapidez para evitar que evolucione a un estado indeseable. Los estímulos externos aparecen en instantes de tiempo no predecibles. Tiene que resolver distintas cosas a la vez (concurrentemente)
9 Introducción Tamaño y complejidad Fiabilidad y seguridad Concurrencia Afecta Afectaalalsoftware software La complejidad La complejidadno nosólo sólodepende dependedel deltamaño tamaño Posibilidad de realizar modificaciones Posibilidad de realizar modificaciones Descomposición Descomposiciónen ensubsistemas subsistemaspequeños pequeños yysencillos sencillos Un Unfallo fallopuede puedetener tenerrepercusiones repercusionesmuy muy importantes: perdidas humanas, económicas, importantes: perdidas humanas, económicas,etc. etc. Es necesario que si el sistema falla se le conduzca Es necesario que si el sistema falla se le conduzca aaestados estadosseguros segurosque quesean seanprevisibles, previsibles,yyse se tengan los medios para solucionarlo. tengan los medios para solucionarlo. Programación Programaciónconcurrente concurrente Distintas tareas Distintas tareasaccediendo accediendoaarecursos recursoscomunes comunes Restricciones temporales Restricciones temporales Planificación Planificaciónde detareas tareasatendiendo atendiendoaalas las restricciones temporales restricciones temporales
10 Introducción Tamaño y complejidad Fiabilidad y seguridad Concurrencia Afecta Afectaalalsoftware software La complejidad La complejidadno nosólo sólodepende dependedel deltamaño tamaño Posibilidad de realizar modificaciones Posibilidad de realizar modificaciones Descomposición Descomposiciónen ensubsistemas subsistemaspequeños pequeños yysencillos sencillos Un Unfallo fallopuede puedetener tenerrepercusiones repercusionesmuy muy importantes: perdidas humanas, económicas, importantes: perdidas humanas, económicas,etc. etc. Es necesario que si el sistema falla se le conduzca Es necesario que si el sistema falla se le conduzca aaestados estadosseguros segurosque quesean seanprevisibles, previsibles,yyse se tengan los medios para solucionarlo. tengan los medios para solucionarlo. Programación Programaciónconcurrente concurrente Distintas tareas Distintas tareasaccediendo accediendoaarecursos recursoscomunes comunes Restricciones temporales Restricciones temporales Planificación Planificaciónde detareas tareasatendiendo atendiendoaalas las restricciones temporales restricciones temporales
11 Introducción
12 Introducción
13 Introducción Ejemplo: Asignación de prioridades T1 = {20,100,100,0) T2 = {50,150,150,0) T3 = {100,300,300,0)
14 Introducción Ejemplo: Asignación de prioridades T1 = {20,100,100,0) T2 = {50,150,150,0) T3 = {100,300,300,0)
15 Introducción Ejemplo: Asignación de prioridades T1 = {20,100,100,0) T2 = {50,150,150,0) T3 = {100,300,300,0)
16 Introducción Ejemplo: Asignación de prioridades T1 = {20,100,100,0) T2 = {40,150,150,0) T3 = {100,300,300,0)
17 Introducción
18 Introducción
19 Introducción
20 Introducción
21 Introducción
22 Introducción
23 Introducción
24 Introducción
25 Introducción
26 Introducción Hilos de ejecución (Threads) Utilización de hilos de ejecución Los hilos de ejecución pueden ser creados y manejados: Utilizando un lenguaje de programación convencional y llamadas al sistema. Ejemplo: C y threads en POSIX Utilizando construcciones lingüísticas (o clases) de un lenguaje de programación que admita concurrencia Ejemplo: Tareas en Ada95, threads en Java
27 Introducción Threads en POSIX (i): Llamadas básicas Llamada pthread_create(thread_id, attr, func, args) pthread_exit (status) Descripción Crea un nuevo hilo de ejecución. El hilo de ejecución empieza en func y se le pasan los parámetros args. El hilo que la invoca finaliza su ejecución. pthread_join (thread_id) Suspende la ejecución del hilo que invoca esta llamada, hasta que el thread_id acabe. pthread_t pthread_self() Devuelve el identificador del thread que la invoca.
28 Introducción Threads en POSIX (ii): Un ejemplo
29 Introducción #include <stdio.h> #include <pthread.h> #include <sched.h> #include <time.h> #define FIFOPOLICY SCHED_FIFO void *task2(void *args) { int i,j; struct timespec delay1 = {0, }; while(1){ printf("\n contando..."); for (i=1;i<=630000;i++) for (j=1;j<=500000;j++); printf("\n termina de contar "); printf ( \n ****** Soy t2 ******** ); nanosleep(&delay1, NULL); } } void *task1(void *args) { struct timespec delay2 = {0, }; while(1){ printf ( \n ***** Soy t1 ************ ); nanosleep(&delay2, NULL); } } int main (int argc, char **argv) { //variables Thread 1 pthread_t thread1; pthread_attr_t attr1; int policy = FIFOPOLICY; struct sched_param param1; int priority1; //parametros thread1 pthread_attr_init(&attr1); pthread_attr_setschedpolicy(&attr1, policy); priority1 = 20; param1.sched_priority = priority1; pthread_attr_setschedparam(&attr1, ¶m1); pthread_create(&thread1, &attr1, task1, NULL);
30 Introducción //variables Thread 2 pthread_t thread2; pthread_attr_t attr2; struct sched_param param2; int priority2; //parametros thread2 pthread_attr_init(&attr2); pthread_attr_setschedpolicy(&attr2, policy); priority2 = 100; param2.sched_priority = priority2; pthread_attr_setschedparam(&attr2, ¶m2); //creacion de los hilos printf("prioridad hilo 1: %d\n", priority1); printf("prioridad hilo 2: %d\n", priority2); pthread_create(&thread2, &attr2, task2, NULL); pthread_create(&thread1, &attr1, task1, NULL); pthread_join (task1, NULL); printf(" SE ACABO "); return 0; }
31 Introducción Premisas: 1. En los sistemas de tiempo real no es suficiente que la lógica sea correcta 2. Los programas deben satisfacer además los requisitos temporales Preguntas: 1. Como construir un sistema para que satisfaga los requerimientos temporales? 2. Como verificar que los cumple?. Constructora Integral de Colima
32 Introducción Existen dos caminos para abordar este tema: 1. Métodos de análisis de planificabilidad Estudio de la factibilidad de planificar la carga de trabajo requerida sobre los recursos disponibles, de modo que se cumplan los requisitos temporales 2. Técnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para representar y analizar los requisitos temporales
33 Planificadores Cíclicos Vamos a estudiar como planificar un sistema de tiempo real con el objeto de garantizar las restricciones temporales Lo normal es realizar el estudio situándonos en el peor caso (WCET) Análisis sistemas secuenciales Análisis sistemas concurrentes
34 Planificadores Cíclicos Ejemplo Control por computador de temperatura, nivel y ph de un depósito Actuador es Interfaz Sensore s
35 Planificadores Cíclicos Ejemplo Control por computador de temperatura, nivel y ph de un depósito Control_Temp Actuadores Control_Nivel I nterfaz Sensores Control_pH Visualizacion Tarea: Control de temperatura (Control_Temp) Cada 5 segundos Leer_Sensor_Temp(Val_Temp) Calcular_Acción(Ref,Val_Temp,Acc_Temp, ) Aplicar_Acción(Acc_Temp) Antes de 2 segundos Memori a E/S
36 Planificadores Cíclicos Ejemplo Control por computador de temperatura, nivel y ph de un depósito --Variables globales RegNivel, RegTemp, RegpH : Regulador; Nivel, Temp, ph : Float; Val_Salida, Val_Comp_Temp, Val_Comp_pH : Float; procedure Control_Nivel is begin Nivel := Leer_Sensor(Sensor); Calcular(Regniv, Nivel, Val_Salida); Enviar_Accion(Actuador, Val_Salida); end Control_Nivel; Tarea: Control de temperatura (Control_Temp) Cada 5 segundos Leer_Sensor_Temp(Val_Temp) Calcular_Acción(Ref,Val_Temp,Acc_Temp, ) Aplicar_Acción(Acc_Temp) Antes de 2 segundos
37 Planificadores Cíclicos procedure Controlar is begin -- inicialización variables, reguladores, dispositivos T := clock; loop Control_Nivel; Control_Temp ; Control_pH; T:= T + Period ; t delay until T; end loop; end Controlar; Temp_Control ph_control Level_Control
38 Planificadores Cíclicos Ciclo principal = 10 ms; secundario = 5 ms loop Control_Temp ; if ((Cnt mod 2) = 0) then Control_Nivel; Control_pH; end if ; Cnt := Cnt + 1 ; T := T + Period ; delay until T ; end loop; Temp_Control t ph_control Level_Control 45
39 Planificadores Cíclicos Caracterización Un actividad de tiempo real se caracteriza por una serie de parámetros temporales que determinan sus restricciones temporales de ejecución Pi = (Ci, Ti, Di, Ii) Ci Tarea i t Di Ii Ti
40 Planificadores Planificación de Sistemas de Tiempo Real Un planificador proporciona un algoritmo o política de gestión de procesos. Un conjunto de procesos es factible de ejecutar si existe un planificador que cumpla las restricciones o precondiciones. En sistemas de tiempo real crítico, la precondición son los plazos límites Un planificador es óptimo si es capaz de producir una planificación factible para todos los procesos. Es óptimo si puede planificar todos los conjuntos de procesos que cualquier otro puede. Se utilizan de algoritmos ad-hoc, estáticos y dinámicos.
41 Planificadores Cada Actividad ti puede verse como una tupla (Ci,Ti,Di,Ii) Ci es su tiempo de cómputo de peor caso Ti es el periodo de la tarea Di es su plazo máximo de ejecución Ii es el defase inicial Si todas las tareas t1..tn son periódicas, se puede confeccionar un plan de ejecución fijo que se repite cada ciclo principal TM La duración del ciclo principal es la del hiperperiodo H=mcm(Ti), i=1..n El ciclo principal se divide en ciclos secundarios, cada uno de duración TS tal que TM = kts En cada ciclo secundario se ejecutan las actividades correspondientes a determinadas tareas
42 Planificadores Ejemplo 1 t1: C1 = 4 ms; T1 = 20 ms; D1 = 20 ms t2: C2 = 5 ms; T2 = 40 ms; D2 = 40 ms Elegimos TM = mcm(20,40) = 40 ms TS = 20 ms TM TS TM TS TS TS t1 t
43 Planificadores Cíclicos Diseño del plan cíclico El diseño del plan consiste en determinar sus parámetros: Duración del ciclo principal Tp Duración del ciclo secundario Ts Ordenación de las tareas Debe tener en cuenta las restricciones temporales impuestas por el conjunto de tareas La duración del ciclo principal es igual al hiperperiodo Hay que elegir un ciclo secundario adecuado Por ejemplo, TS no puede ser menor que el tiempo de cómputo de ninguna tarea
44 Planificadores Cíclicos 3.- Debe haber un TS completo entre el instante de activación y el plazo de cualquier tarea Ti Di = Ti Ts Ts Ts Ti 1 Ts Ts
45 Planificadores Cíclicos No hay concurrencia en la ejecución Los procedimiento pueden compartir datos sin temor a posibles errores, ya que la exclusión mutua esta garantizada por la construcción Los periodos deben ser armónicos, esto puede implicar utilizar periodos más cortos de lo necesario No hace falta análisis del comportamiento temporal Problemas: Tareas esporádicas Construir el plan cíclico Poco flexible y difícil de mantener
46 Clasificación de Planificadores Sist. TR Cíclicos Cíclicos Prioridades Estáticas Rate Monotonic RM Deadline Monotonic DM Dinámicas Earliest Deadline First EDF Least Laxity First LLF
47 Planificadores Planificadores Estáticos La planificación estática requiere una asignación a priori de la importancia (prioridad) de las tareas. Existe un planificador (basado en prioridades) que se encarga de ejecutar en cada instante de tiempo aquella tarea con la mayor importancia (prioridad) Las tareas pueden ser expulsadas cuando una tarea de mayor prioridad pasa a un estado de preparada
48 Planificadores Planificadores Estáticos Preparado Nuevo T1 Ejecución Terminado 5 Espera Di Ci T T T T T1 T2 T3 T
49 Planificadores Planificadores Dinámicos La planificación dinámica no requiere una asignación a priori de la importancia de las tareas. El criterio de selección de la tarea es dinámico. Por ejemplo: aquella tarea con plazo más corto (earliest deadline first EDF-) Existe un planificador que se encarga de ejecutar en cada instante de tiempo aquella tarea que cumpla mejor el criterio (urgencia) Las tareas pueden ser expulsadas cuando una tarea de mayor urgencia pasa a un estado de preparada
50 Planificadores Planificadores Dinámicos Preparado Ejecución Nuevo T1 Terminado Espera Di Ci T T T T T1 T2 T3 T
51 Planificadores Estátic a T1 Di Ci T T T T T1 T2 T3 T Dinámic a T1 T2 T3 T
52 Planificadores Análisis de Planificabilidad Lyu & Layland Pi = (Ci, Ti, Di, Ii) K-1 K... La k-ésima activación de la tarea i se produce a partir del instante: Ii + (k-1)ti y tiene que finalizar antes de Ii + (k-1)ti + Di Ci Tarea i Di El peor caso se produce para t=0 con Ii=0. Se denomina Instante crítico. Ii Ti t
53 Planificadores Asignación de prioridades Pueden existir múltiples asignaciones de prioridades a tareas que permitan cumplir las restricciones de tiempo. Cuando el número de tareas es reducido el tiempo necesario para la determinación no será grande. En cualquier caso, se trata de un problema NP-Completo Existe una forma fácil (lógica) de asignar prioridades para la cual hay desarrollada una teoría que permite determinar analíticamente si el sistema será planificable o no. Teoría monotónico en frecuencia (RM) La prioridad se asigna en función del periodo A menor periodo -> mayor prioridad (mayor prioridad el más frecuente) Ui i Factor de utilización de la CPU de una Tarea Ci Ti
54 Planificadores Análisis de planificabilidad: Test de factores de utilización Test de planificabilidad basado en la utilización (Liu & Layland, 73): Un conjunto de n tareas es planificable si se cumple: 1 Para n tareas: Cn C1 C U ( n) = n (2 n 1) T1 T2 Tn Esta expresión establece un límite de utilización de la n CPU U(n) Es una condición suficiente pero no necesaria 1 1,00 2 0,82 1 0,9 0,8 3 0,77 0,7 0,6 4 0,75 0,5 0,4 5 0,74 0,3 0,2 0, ,69
55 Planificadores Análisis de planificabilidad: Test de factores de utilización Ejemplo 1 C1 = 2 C2 = 4 C3 =10 T1 = 10 U1 = 0.2 T2 = 15 U2 = T3 = 35 U3 = U1 + U2 + U3 = Uso total 75.3 % < U(3) = 77.9 % 24.7 % de la CPU se puede utilizar para cálculos sin req. temporales a más baja prioridad.
56 Planificadores Análisis de planificabilidad: Test de factores de utilización Ejemplo 2 C1 C2 C3 C4 =2 =4 =5 =6 U1 + T1 = 10 U1 = 0.2 T2 = 15 U2 = T3 = 25 U3 = 0.2 T4 = 35 U4 = 0.17 U2 + U3 + U4 = Uso total 83,7 % > U(4) = 75.6 % No cumple Pero el sistema es planificable
57 Planificadores Análisis de planificabilidad: Test de factores de utilización La prueba del test de finalización es condición suficiente, pero no necesaria No se puede generalizar a modelos de tareas más complejos No da una estimación de cuándo termina
58 Planificadores Análisis de planificabilidad: Test de Tiempo de Finalización Teorema: Un conjunto de n tareas será planificable bajo cualquier asignación, si y sólo si: Si una tarea cumple su primer plazo de ejecución en el peor caso. El tiempo de finalización de peor caso de cada tarea ocurre cuando todas las tareas de prioridad superior se inician a la vez que ésta.
59 Planificadores Análisis de planificabilidad: Test de Tiempo de Finalización Se trata de calcular en qué instante de tiempo termina la ejecución de una tarea ti. Este tiempo viene determinado por: 1. Su tiempo de ejecución Ci 2. Para cada tarea tj de mayor prioridad que la ti, la suma de todas las interferencias que se producen Función techo Wi I i = C j Tj 6 I 21 = 3 = 3 10 j T1 T2 6
60 Planificadores Análisis de planificabilidad: Test de Tiempo de Finalización Se trata de calcular en qué instante de tiempo termina la ejecución de una tarea ti. Este tiempo viene determinado por: 1. Su tiempo de ejecución Ci 2. Para cada tarea tj de mayor prioridad que la ti, la suma de todas las interferencias que se producen En general, el conjunto de tareas con mayor prioridad a una dada i, es hp(i). Por lo tanto la interferencia que sufrirá una tarea i vendrá determinada por: Wi Ii = C j j hp ( i ) T j
61 Planificadores Análisis de planificabilidad: Test de Tiempo de Finalización El tiempo de finalización de una tarea ti, será: Wi Wi = Ci + C j j hp ( i ) T j Esta ecuación se puede calcular de una forma iterativa. Wi 0 = Ci n W Wi n +1 = Ci + i C j j hp ( i ) T j Condición de terminación: Wi n +1 = Wi n n +1 Wi Condición de no cumplimiento: Ti
62 Planificadores Análisis de planificabilidad: Test de Tiempo de Finalización Un conjunto de n tareas será planificable si y sólo si: 1 i n, W =C W W = C + C T W W = C + C T 0 i 1 i 2 i W T i i 0 i i i j hp ( i ) j hp ( i ) j j 1 i j... k k +1 = Wi Wi Solución iterativa j i
63 Planificadores Wi Wi = Ci + C j j hp ( i ) T j Análisis de planificabilidad: Ci TestT1deDi Tiempo de 0 T = C1 = 3 W 1 Finalización T T T W = C + 0 = 3 T = 10 T1 T2 T3 T
64 Planificadores Análisis de planificabilidad: TestT1deDi Tiempo de Ci T Finalización T T3 18 T Wi Wi = Ci + C j j hp ( i ) T j W 0 2 =C2 =3 0 3 W 2 = + = 3 + W 2 C 2 j {1} 10 3 = 6 T j W 2 = + = = 6 W 2 C 2 10 j {1} T j 2 W =W 2 = 6 T 2 = 15 T1 T2 T3 T
65 Planificadores Análisis de planificabilidad: Ci TestT1deDi Tiempo de T Finalización T T T W =C 3 3 =2 Wi Wi = Ci + C j j hp ( i ) T j W 3 = + = 2 + W 3 C 3 j = 8 {1, 2} T j W 3 = = 8 W 3 = C 3 + j {1, 2} T j W =W = 8 T 3 = 18 T1 T2 T3 T
66 Planificadores Análisis de planificabilidad: Ci TestT1deDi Tiempo de W T Finalización T W T T T1 T2 T3 T Wi Wi = Ci + C j j hp ( i ) T j 0 4 =C 4 = W 4 = + = =13 C 4 j {1, 2, 3} T j W 4 = + = =16 W 4 C 4 j {1, 2, 3} T j W 4 = + = =19 W 4 C 4 j {1, 2,3} T j W 4 = = 21 W 4 = C 4 + j {1, 2, 3} T j W 4 = + = = 24 W 4 C 4 j {1, 2, 3} T j W = = 24 W 4 = C 4 + j {1, 2, 3} T j W =W 4 = 24 T 4 = 24
67 Planificadores Análisis de Planificabilidad Lyu & Layland Determinación off-line de si el sistema va a cumplir las restricciones temporales Supuestos iniciales 1. Tareas son periodicas, no se autosuspenden, plazos de entrega igual al periodo con plazos arbitrarios 2. Pueden ser expulsadas, cambio de contexto is despreciable 3. Tareas son independientes. El peor caso es conocido (WCET).
68 Planificadores Asignación de prioridades Cuando se tienen plazos arbitrarios (Di <=Ti) hay una forma óptima asignar prioridades: Monotónico con el plazo. Asigna prioridades inversamente proporcionales al plazo de finalización. Se puede emplear el test de los plazos de finalización para garantizar la planificabilidad. El RM se convierte en un caso especial del DM (en el que los plazos son iguales al periodo). El RM es óptimo entre los planificadores estáticos. Deadline Monotonic (DM) Si un conjunto de tareas con prioridades asignadas según el DM no es planificable, entonces ninguna otra forma de asignar prioridades lo hará planificable DM RM
69 Planificadores Análisis de Planificación Cuando existen plazos menores que el periodo. Asignación de prioridades por orden creciente de plazo. Prioridad más alta al menor plazo. Los tiempos de finalización se calculan de la misma forma, pero la condición de planificación considera el plazo en vez del periodo. Wi 0 = Ci n W Wi n +1 = Ci + i C j j hp ( i ) T j Condición de terminación: W n +1 = W n i i Condición de cumplimiento: Wi n +1 Di
70 Planificadores Resumen 1. Se parte de un conjunto de tareas periódicas en el que: las aperiódicas críticas => periódicas Las aperiódicas no críticas => agrupan en servidores aperiódicos 2. Se asignan prioridades a las tareas según distintos criterios Importancia semántica Monotónico con el plazo (periodo) 3. Se asignan prioridades a los recursos compartidos (techo de prioridad) 4. Se determina la planificabilidad del sistema 1. Mediante el test de utilización (sólo en el caso de plazos = periodos y asignación monotónica) Si el2. sistema no es se puede incrementar los periodos y Mediante elplanificable test de finalización que el periodo de una tarea está dentro de un rango.
71 Planificadores Análisis de Planificabilidad Lyu & Layland Determinación off-line de si el sistema va a cumplir las restricciones temporales Supuestos iniciales 1. Tareas son periodicas, no se autosuspenden, plazos de entrega igual al periodo con plazos arbitrarios 2. Pueden ser expulsadas, cambio de contexto is despreciable 3. Tareas son independientes. El peor caso es conocido (WCET).
72 Planificadores Análisis de Planificabilidad Lyu & Layland Determinación off-line de si el sistema va a cumplir las restricciones temporales Supuestos iniciales 1. Tareas son periodicas, no se autosuspenden, plazos de entrega igual al periodo con plazos arbitrarios 2. Pueden ser expulsadas, cambio de contexto is despreciable 3. Tareas son independientes. El peor caso es conocido (WCET).
73 Modelo de Diseño Formal Requerimientos del Sistema Especificación Diseño Técnica global Implementación
74 Modelo de Diseño Formal Requisitos del Sistema Especificación global Especificación Implementación Basado en componentes
75 Modelo de Diseño Formal
76 Modelo de Diseño Formal
77 Modelo de Diseño Formal Los componentes se definen como elementos con atributos, comportamientos y estados, a disposición del usuario para especificar y diseñar un sistema. En términos generales, representan lugares de cómputo. + -
78 Modelo de Diseño Formal Componentes Requisitos básicos: Describir el diseño empleando las técnicas de desarrollo para sistemas orientado a objetos. Representar aspectos de la solución del problema relacionado con la estructura y funcionalidad del diseño. Soportar los aspectos de reusabilidad del software. Permitir definir soluciones a los problemas de restricciones temporales y estar bien definidos en el dominio de los sistemas de control en tiempo real. Soportar un estilo arquitectónico para el diseño de aplicaciones
79 Modelo de Diseño Formal Componentes Nombre: NOMBRE DEL COMPONENTE Interfaz Ofrecida: Requerimientos: Servicios que ofrece Servicios requeridos Parámetros de configuración: Parámetros necesarios de configuración y/o atributos del componente Servicios ofrecidos: Lista de servicios o posibilidades ofrecidas por el componente Descripción NOMBRE Servicios Ofrecidos Servicios Requeridos Configuración
80 Caracterización de Componentes Actividades Periódica Barrera Mecanismos de coordinación Sincronización Comunicación Entrada/Salida Específicos Código Genéricos Señal Periódica con plazo de Almacén entrega limitado Cerrojo Interrupción frecuencia fija Pizarra Periódica con Pasivo simple Pulso Interrupción intervalo computación opcionaltemporal Selección temporizada Buzón Lector/Escritor Evento Convertidor muestreo Periódica con cambio de Selección múltiple Multiemisión Protegido genérico modo Cita Convertidor interrupción Secuencia Dato compartido Aperiódica Transportador Servidora
81 Modelo de Diseño Formal
82 HLTPN Definición: HLTPN es una tupla (P,T,pre, post), donde: P: Lugares T: Transiciones pre P T post T P Características:
83 Análisis y Verificación Formal Tareas periódicas
84 Análisis y Verificación Formal
85 Análisis y Verificación Formal Tareas periódicas con computación opcional
86 Análisis y Verificación Formal Planificador Expulsivo Basado en Prioridades (POSIX)
87 Análisis y Verificación Formal
88 Análisis y Verificación Formal
89 Análisis y Verificación Formal
90 Análisis y Verificación Formal
91 Análisis y Verificación Formal T 1_1 tr1 _ 1 T 1_2 T 1_4 T 11 tr1 _ 2 tr1 _ 3 T 1 _ 3 tr1 _ 4 T 1_5 e rw C 1 tr1 _ 5 T 1_6 R W C 1 tr1 _ 6 T 1_7 E x itr W C 1 T 1_8 e v a l1 _ T 1 tr1 _ 8 e v a l2 _ T 1 st1 _ 3 T I1 tr1 _ 9 T 1_10 S e n te n c e s1 tr1 _ 1 0 T 1_11 E x its e n t1 T F1 st1 _ 2 T A 1 rc 1 C R W 1 E xc 1 lc 1 T 1_9 st1 _ 1 SC 1 w C 1 tr1 _ 7 S_T 1 se n t1 tr1 _ 1 1 T 1_12 T 1_13 tr1 _ 1 2 T 12 T 2_1 tr2 _ 1 T 2_2 T 2 _ 4 tr2 _ 3 T 2 _ 3 T 21 tr2 _ 4 c a llf1 O P R W 1 E m p ty O PR W 1 FO PR W 1 2 tr2 _ 2 T 2_5 tr2 _ 5 SC H C sc h 1 nf O PR W 1 C tfo PR W 1 T 2_6 SC H A sc h 3 SC H O R D sc h 2 sc h 4 e v a l2 _ T 2 st2 _ 1 sc h 7 E P O P R W 1e _ P O P R W 1 T F2 st2 _ 2 n o n _ a ssig n tr2 _ 9 S e n te n c e s2 T 2_10 se n t2 tr2 _ 1 0 E x its e n t2 T 2_11 st2 _ 3 T I2 SC H B tr2 _ 1 1 T 2_12 T A 2 T 2_13 PR O C E x itpo PR W 1 e B 1 C te rb 1 W B 1 tr2 _ 1 2 fu llb 1 T 22 =0B 1 PA B 1 E x itb 1 C tb 1 e v a l1 _ T 3 lb 1 T 3_1 e v a l2 _ T 3 tr3 _ 1 T 3_2 T 3 _ 4 tr3 _ 3 T 31 tr3 _ 4 tr3 _ 2 T 3_3 T 3_5 tr3 _ 5 T 3_6 S_T 3 tr3 _ 6 T 3_7 tr3 _ 7 T 3_8 st3 _ 1 st3 _ 3 T I3 tr3 _ 8 T F3 st3 _ 2 T 3_9 tr3 _ 9 T 3_10 T A 3 tr3 _ 1 0 T 3_11 tr3 _ 1 1 T 3_12 T 3_13 T 32 tr3 _ 1 2 R eco PR W 1 W a ito PR W 1 tr2 _ 8 T 2_9 sc h 5 P80 B u f O P R W s1e l O P R W 1 T 2_8 S_T 2 sc h 6 SC H F E ndfo P1 E xecfo PR W 1 R eqo PR W 1 tr2 _ 7 SC H D SC H E E x itfo PR W 1 T 2_7 e v a l1_ T 2 c a llf 2 O PR W 1 E F O P R W 1e _ F O P R W 1 tr2 _ 6 S e n te n c e s3 T L 1 e L 1 T W L 1 E x itl 1 e v a ll 1 Sta te L 1 L L 1 a rriv a ll 1 Se n t3 E x itse n t3 C a llpo PR W 1 3 PO PR W 1 E xecpo PR W 1 endpo PR W 1
92 Análisis y Verificación Formal
93 Análisis y Verificación Formal
94
T5-multithreading. Indice
T5-multithreading 1.1 Indice Proceso vs. Flujos Librerías de flujos Comunicación mediante memoria compartida Condición de carrera Sección Crítica Acceso en exclusión mutua Problemas Abrazos mortales 1.2
Más detallesTiempo 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 detallesUPM 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 detallesSistemas Operativos Práctica 3
Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Más detallesANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Concurrencia. CURSO ACADÉMICO - SEMESTRE Segundo semestre
ANX-PR/CL/001-02 GUÍA DE APRENDIZAJE ASIGNATURA Concurrencia CURSO ACADÉMICO - SEMESTRE 2015-16 - Segundo semestre GA_10II_105000018_2S_2015-16 Datos Descriptivos Nombre de la Asignatura Titulación Centro
Más detallesSistemas 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 detalles2.2 Nombres, Ligado y Ámbito
2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el
Más detallesSistemas Operativos I. Tema 3. Procesos. Equipo de Sistemas Operativos DISCA / DSIC UPV
Sistemas Operativos I Tema 3 Procesos Equipo de Sistemas Operativos DISCA / DSIC UPV Introducción Existen varias razones para permitir la ejecución concurrente de procesos: Compartir recursos físicos Compartir
Más detallesProgramació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 detallesProcesos e Hilos en C
Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.
Más detallesM. C. Felipe Santiago Espinosa
M. C. Felipe Santiago Espinosa Junio de 2008 Un sistema empotrado es un procesador, con sus elementos externos que desarrolla una función especifica de manera autónoma. Un sistema empotrado es un sistema
Más detallesRELOJES DE TIEMPO REAL ÍNDICE
de Real de Real Conceptos Conceptos Teóricos Teóricos del del Real Denso Real Denso Discreto Discreto en Pulsos en Pulsos Ideales Ideales Propiedades Propiedades Métricas Métricas de de Sistemas Sistemas
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesTema 5: Introducción a los Sistemas en Tiempo Real
Tema 5: Introducción a los 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:
Más detallesSistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria
Sistemas operativos UPCO ICAI Departamento de Electrónica y Automática 1 Hasta ahora hemos visto Relación programa-sistema operativo Gestión de memoria Reserva para la ejecución Pilas, heap, memoria de
Más detallesTema 4 El paradigma cliente-servidor
Tema 4 El paradigma cliente-servidor F. García-Carballeira, Mª. Soledad Escolar, Luis Miguel Sánchez, Fco. Javier García Sistemas Distribuidos Grado en Ingeniería Informática Universidad Carlos III de
Más detallesUNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO
SÍLABO ASIGNATURA: SISTEMAS OPERATIVOS CODIGO: 8E0003 I. DATOS GENERALES: 1.1 Departamento Académico : Ingeniería Electrónica e Informática 1.2 Escuela Profesional : Ingeniería Informática 1.3 Ciclo de
Más detallesMercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten
22//22 REDES DE PETRI: PROPIEDADES Y MÉTODOS DE ANÁLISIS PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 22/3 REDES DE PETRI: PROPIEDADES
Más detallesUniversidad Centroccidental Lisandro Alvarado. Decanato de Ciencias y Tecnología Departamento de Sistemas
Universidad Centroccidental Lisandro Alvarado Decanato de Ciencias y Tecnología Departamento de Sistemas PROGRAMA INSTRUCCIONAL PROGRAMA: ANALISIS DE SISTEMAS DEPARTAMENTO: SISTEMAS ASIGNATURA: INTRODUCCIÓN
Más detallesAlgoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
Más detallesSistemas Distribuidos. Soporte de Sistemas Operativos
Soporte de Sistemas Operativos Soporte de Sistemas Operativos Soporte de Sistemas Operativos Soporte de Sistemas Operativos Tareas principales de un SO: Administrar recursos Proveer abstracciones de los
Más detallesHerramientas Informáticas I Software: Sistemas Operativos
Herramientas Informáticas I Software: Sistemas Operativos Facultad de Ciencias Económicas y Jurídicas Universidad Nacional de La Pampa Sistemas Operativos. Es el software base que permite trabajar como
Más detallesInformática Electrónica Manejadores de Dispositivos (Device Drivers)
Informática Electrónica Manejadores de Dispositivos (Device Drivers) DSI-EIE-FCEIA 2015 Que es un DD? Es una pieza de software que interactúa con (entre) el sistema operativo y con uno o mas dispositivos
Más detallesBreve introducción a la Investigación de Operaciones
Breve introducción a la Investigación de Operaciones Un poco de Historia Se inicia desde la revolución industrial, usualmente se dice que fue a partir de la segunda Guerra Mundial. La investigación de
Más detallesFundamentos de programación
Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador
Más detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesIntroducció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 detallesTest : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Más detallesSISTEMAS OPERATIVOS Arquitectura de computadores
SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios
Más detallesIngeniería de Software II. SETEPROS Plan de pruebas. Versión 1.0
Ingeniería de Software II SETEPROS Versión 1.0 Historial de revisiones Date Version Description Author 1.0 Primera versión Marcos Duque Oviedo Ingeniería de Software II, 2010 Página 2 de 11 Tabla de contenidos
Más detallesSeminario de Programación en Ada
Seminario de Programación en Ada Bloque II Programación de tiempo real GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 19 Programación de Tiempo Real El Ada soporta
Más detalles1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? 1.1.1. El sistema operativo como máquina extendida 1.1.2. El sistema operativo como gestor de
1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? 1.1.1. El sistema operativo como máquina extendida 1.1.2. El sistema operativo como gestor de recursos 1.2. Historia de los sistemas operativos /* solo
Más detallesCristian 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 detallesPR1: Programación I 6 Fb Sistemas Lógicos 6 Obligatoria IC: Introducción a los computadores 6 Fb Administración de
CUADRO DE ADAPTACIÓN INGENIERÍA INFORMÁTICA - Campus Río Ebro Código Asignaturas aprobadas Créditos Carácter Asignaturas/Materias reconocida Créditos Carácter 12007 Cálculo 7,5 MAT1; Matemáticas I 12009
Más detallesAnálisis y Diseño de Sistemas en Tiempo Real
Programa de la Asignatura: Análisis y Diseño de Sistemas en Tiempo Real Código: 766 Carrera: Ingeniería en Computación Plan: 2008 Carácter: Obligatoria Unidad Académica: Secretaría Académica Curso: Cuarto
Más detallesParte I: Elementos del lenguaje Ada
Parte I: Elementos del lenguaje Ada 1. Introducción a los computadores y su programación 2. Elementos básicos del lenguaje 3. Modularidad y programación orientada a objetos 4. Estructuras de datos dinámicas
Más detallesJAVA 7 Los fundamentos del lenguaje Java
Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado
Más detallesProceso Unificado (Iterativo e incremental)
Proceso Unificado (Iterativo e incremental) Proceso Unificado de Desarrollo de Software, I. Jacobson, J. Rumbaugh y G. Booch, Addison-Wesley, 1999 Fases y Flujos de trabajo de los ciclos de vida. Disciplinas
Más detallesIntroducción al Lenguaje de Programación C
Introducción al Lenguaje de Programación C Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Lenguaje de Programación C Fue diseñado
Más detallesALGORITMOS, ESTRUCTURAS Y PROGRAMACION
VICERRECTORADO ACADÉMICO DIRECCIÓN DE GESTIÓN, DESARROLLO E INNOVACIÓN CURRICULAR FACULTAD: INGENIERIA ESCUELAS: COMPUTACION - SISTEMA UNIDAD CURRICULAR: ALGORITMOS, ESTRUCTURAS Y PROGRAMACION FECHA DE
Más detallesThreads, SMP y Microkernels. Proceso
Threads, SMP y Microkernels Proceso Propiedad de los recursos a un proceso se le asigna un espacio de dirección virtual para guardar su imagen Calendarización/ejecución sigue una ruta de ejecución la cual
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Más detallesPROGRAMACION CONCURRENTE Y DISTRIBUIDA
PROGRAMACION CONCURRENTE Y DISTRIBUIDA V.2 Redes de Petri: Análisis y validación. J.M. Drake 1 Capacidad de modelado y capacidad de análisis El éxito de un método de modelado es consecuencia de su capacidad
Más detallesTIPOS DE DATOS BASICOS EN LENGUAJE C
TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char
Más detallesTema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Más detallesNombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4
I IDENTIFICACION Nombre de la asignatura : Sistemas de Computación Código : 503429 Nivel (semestre de la carrera) : 7 Carrera : Ingeniería Civil Informática Nº de créditos : 4 Duración : Un semestre Pre-requisitos
Más detallesIntroducción al lenguaje C
Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detallesContenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo
Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma
Más detallesSO2 - Sistemas Operativos II
Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 701 - AC - Departamento de Arquitectura de Computadores Curso: Titulación: 2016 GRADO EN INGENIERÍA INFORMÁTICA
Más detallesMaestría en Ingeniería Énfasis en Sistemas y Computación
Maestría en Ingeniería Énfasis en Sistemas y Computación Facultad de Ingeniería Pontificia Universidad Javeriana Cali Abril de 2008 Contenido 1 Objetivos 2 3 4 Objetivos (1) Formar investigadores con habilidades
Más detallesEstimación para Proyectos Software
Nilda M. Pérez Otero Sistemas de Información II Cursada 2011 Facultad de Ingeniería - UNJu Fuentes: Ingeniería del Software. Un Enfoque Práctico 6ta. Ed. - Roger S. Pressmann - Capítulo 23 Visión general
Más detallesPRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos Contenido Introducción...1 Objeto...2 Atributo...2 Métodos...2 Clase...3
Más detallesOperadores de comparación
Operadores de comparación Los operadores de comparación en C son: Igual (==) Distinto (!=) Mayor (>) y Mayor o igual (>=) Menor (
Más detallesCaracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación
1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos
Más detallesLa eficiencia de los programas
La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos
Más detallesSOLUCIONES. SISTEMAS OPERATIVOS Examen de la convocatoria extraordinaria de diciembre 2 de diciembre de 2010
Calificación SISTEMAS OPERATIVOS Examen de la convocatoria extraordinaria de diciembre 2 de diciembre de 2010 Nombre SOLUCIONES 1 2 3 4 5 Titulación Dispone de tres horas y quince minutos para realizar
Más detallesUniversidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática.
Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática. Programa de la asignatura: SIS-305 SISTEMA OPERATIVO II Total de Créditos: 3 Teórico: 2 Práctico:
Más detallesDISEÑO CURRICULAR ELECTRÓNICA DIGITAL
DISEÑO CURRICULAR ELECTRÓNICA DIGITAL FACULTAD (ES) CARRERA (S) Ingeniería Computación y Sistemas. CÓDIGO HORAS TEÓRICAS HORAS PRÁCTICAS UNIDADES DE CRÉDITO SEMESTRE 116243 02 02 03 VI PRE-REQUISITO ELABORADO
Más detallesDiseño arquitectónico 1ª edición (2002)
Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado
Más detallesApuntadores (Punteros)
Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable
Más detallesProgramación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Más detallesINGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño
INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño Univ. Cantabria Fac. de Ciencias Patricia López Introducción al Diseño Modelamos la estructura software del sistema (incluida la arquitectura) para
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesGuía rápida para gestionar el puerto paralelo del PC
Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela
Más detallesUsando el Sistema Operativo
Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software
Más detallesDesde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Más detallesGuía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays
Más detallesOPERADORES Y EXPRESIONES
OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador
Más detallesTema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Más detallesAUTOMATIZACIÓN INDUSTRIAL
Departamento de Ingenieria de Sistemas y Automática AUTOMATIZACIÓN INDUSTRIAL 1 AUTOMATIZACION INDUSTRIAL 2 AUTOMATIZACION INDUSTRIAL 3 AUTOMATAS PROGRAMABLES Surgen de la necesidad de controlar automáticamente
Más detallesSistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Más detallesUnidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas
Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación
Más detallesEl Proceso. Capítulo 2 Roger Pressman, 5 a Edición. El Proceso de Desarrollo de Software
El Proceso Capítulo 2 Roger Pressman, 5 a Edición El Proceso de Desarrollo de Software Qué es? Marco de trabajo de tareas a realizar para desarrollar Software de alta calidad. Es sinónimo de Ingeniería
Más detallesExamen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos)
Examen escrito de Programación 1. Jueves 5 de febrero de 2015 Se debe disponer de un documento de identificación con fotografía sobre la mesa. Se debe comenzar a resolver cada uno de los dos problemas
Más detallesTÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN
TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN 1. Competencias Implementar sistemas de medición y control bajo los
Más detalles1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Más detallesGRADO EN INGENIERÍA INFORMÁTICA
Facultad de Informática Universidad Complutense de Madrid GRADO EN INGENIERÍA INFORMÁTICA El Grado en Ingeniería Informática incluye dos itinerarios. Itinerario de computación Itinerario de tecnología
Más detallesLaboratorio de Arquitectura de Redes. Punteros en lenguaje C
Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones
Más detallesPROGRAMA DE ESTUDIOS SIMULTÁNEOS DE GRADO EN MATEMÁTICAS Y GRADO EN INGENIERÍA INFORMÁTICA
PROGRAMA DE ESTUDIOS SIMULTÁNEOS DE EN MATEMÁTICAS Y EN INGENIERÍA INFORMÁTICA EXPOSICION DE MOTIVOS En los últimos años, con la puesta en marcha de los títulos de Grado dentro del plan del Espacio Europeo
Más detallesComplejidad de los Algoritmos
Que es un Algoritmo? Complejidad de los Algoritmos Webster: cualquier método especial para resolver cierta clase de problemas. Horowitz: método preciso utilizable en una computadora para la solución de
Más detalles- Bajo que condiciones el algoritmo de planifiación de procesos FIFO (FCFS) resultaría en el tiempo de respuesta promedio más pequeño?
Sistemas Operativos. Grado Ingeniería Informática. TGR-2.1 Procesos. Noviembre 2014 Problemas para hacer en clase FIFO cpu C A 1. Dos procesos A y B tienen una ráfaga de CPU de 50 ms y un proceso C tiene
Más detallesIngeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software
Ingeniería del Software Ingeniería del Software de Gestión Tema 3 Metodologías de Desarrollo de Software Félix Óscar García Rubio Crescencio Bravo Santos Índice 1. Definiciones 2. Objetivos 3. Conceptos
Más detallesNotas técnicas de JAVA Nro. 5 Tip en detalle
Tema: Notas técnicas de JAVA Nro. 5 Tip en detalle (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Organización de memoria en JAVA Vs. Modelo Tradicional Descripción: Nivel: Java,
Más detalles1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen parcial, 11 de mayo de 2002 SOLUCIONES Calificación 1 2 3 4 5 1 (2 5 puntos)
Más detallesTÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.
TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS. HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Ingeniería de
Más detallesAprendizaje Automatizado
Aprendizaje Automatizado Aprendizaje Automatizado Programas que mejoran su comportamiento con la experiencia. Dos formas de adquirir experiencia: A partir de ejemplos suministrados por un usuario (un conjunto
Más detallesInterfaces. Carrera: SCF Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Interfaces Ingeniería en Sistemas Computacionales SCF - 0417 2-4-8 2.- HISTORIA
Más detallesRequerimientos de Software
Requerimientos de Software Ingeniería de Requerimientos Se define como el proceso de establecer los servicios que el consumidor requiere de un sistema y las restricciones sobre las cuales de funcionar
Más detalles1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:
Análisis y Diseño O.O. Preguntas del diseño : Cómo podrían asignarse responsabilidades a las clases de los objetos? Cómo podrían interactuar los objetos? Qué deberían hacer las clases? Patrones : Ciertas
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros
Más detallesSILABO DE SISTEMAS OPERATIVOS
UNIVERSIDAD PRIVADA DEL NORTE Facultad de Ingeniería I. DATOS GENERALES SILABO DE SISTEMAS OPERATIVOS 1.1. Facultad : Ingeniería. 1.2. Carrera Profesional : Ingeniería de Sistemas. 1.3. Tipo de Curso :
Más detallesProgramación estructurada (Introducción a lenguaje C)
Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada
Más detallesInteligencia en Redes de Comunicaciones - 08 Agentes
El objetivo del Tema 8 es presentar los conceptos de Agentes : definiciones, propiedades, aplicaciones y detalles de su arquitectura. 1 Índice de los contenidos del tema. 2 El concepto de agente es un
Más detallesTema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Más detallesORGANISMO COORDINADOR DEL SISTEMA ELÉCTRICO NACIONAL INTERCONECTADO DE LA REPÚBLICA DOMINICANA
ORGANISMO COORDINADOR DEL SISTEMA ELÉCTRICO NACIONAL INTERCONECTADO DE LA REPÚBLICA DOMINICANA OC-GC-14-REQPATE-2016-V0 PARA: ORGANISMO COORDINADOR PREPARADO POR: GERENCIA COMERCIAL V0 PREPARADO POR REVISADO
Más detalles2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción.
2007/2008 Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS 1.-Introducción. -Comprender cómo funciona un lenguaje de programación 2. Características del lenguaje C -Entender las
Más detallesPontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: FACULTAD DE INGENIERÍA ESCUELA DE SISTEMAS MATERIA O MÓDULO: Sistemas Operativos CÓDIGO: IS603.a CARRERA: INGENIERÍA DE SISTEMAS NIVEL: TERCERO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4
Más detalles