Seminario de Programación en Ada
|
|
|
- Antonio Caballero Miguélez
- hace 10 años
- Vistas:
Transcripción
1 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
2 Programación de Tiempo Real El Ada soporta la programación de sistemas empotrados y de sistemas de tiempo real, mediante los siguientes mecanismos: Representación del hardware Interrupciones Gestión del tiempo Prioridades Sincronización libre de inversión de prioridad Estos mecanismos están descritos en anexos opcionales: Anexo de programación de sistemas Anexo de sistemas de tiempo real GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 20
3 Representación del Hardware En muchos sistemas los programas deben interaccionar directamente con el hardware Muchas veces se utiliza para ello lenguaje ensamblador El Ada proporciona mecanismos para establecer la correspondencia entre estructuras lógicas y representaciones físicas del hardware. Por ejemplo: asociación entre campos de registros y posiciones de bits posicionamiento de datos en direcciones de memoria concretas control de optimización GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 21
4 Interrupciones En los sistemas empotrados es preciso atender a las interrupciones provocadas por el hardware externo. En Ada 05 se permite especificar un procedimiento protegido como elemento de manejo de interrupciones. en este modelo, el hardware invoca directamente la ejecución del procedimiento protegido sólo funciona si el sistema operativo lo permite GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 22
5 Ejemplo: Tarea que espera a una interrupción Interrupción hardware Objeto protegido Tarea de usuario rutina servicio interrupción entry Espera when barrera is... barrera : boolean; otros datos compartidos GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 23
6 Gestión del Tiempo El Ada permite diversas formas de manejo del tiempo integradas en el lenguaje: Relojes - Package Ada.Calendar - Package Ada.Real_Time Relojes de ejecución Retardos - Instrucciones delay until y delay El tipo predefinido Duration representa intervalos de tiempo en segundos GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 24
7 Relojes En Ada hay dos paquetes predefinidos que proporcionan funciones de reloj: Ada.Calendar - Define un tipo Time que representa la fecha y la hora - El reloj se supone sincronizado mediante una referencia externa - Los intervalos de tiempo se representan con el tipo predefinido Duration Ada.Real_Time - Define un tipo Time que representa valores de tiempo absolutos mediante el acceso a un reloj monótono no decreciente - Los intervalos de tiempo se representan con el tipo abstracto Time_Span - Existen funciones para convertir Time_Span a Duration GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 25
8 Paquete Ada.Calendar package Ada.Calendar is type Time is private; subtype Year_Number is Integer range ; subtype Month_Number is Integer range ; subtype Day_Number is Integer range ; subtype Day_Duration is Duration range _400.0; function Clock return Time; function Year (Date : Time) return Year_Number; function Month (Date : Time) return Month_Number; function Day (Date : Time) return Day_Number; function Seconds (Date : Time) return Day_Duration; function Time_Of (Year : Year_Number; Month : Month_Number; Day : Day_Number; Seconds : Day_Duration := 0.0) return Time; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 26
9 Paquete Ada.Calendar function "+" (Left : Time; Right : Duration) return Time; function "+" (Left : Duration; Right : Time) return Time; function "-" (Left : Time; Right : Duration) return Time; function "-" (Left : Time; Right : Time) return Duration;... end Ada.Calendar; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 27
10 Paquete Ada.Real_Time package Ada.Real_Time is type Time is private; Time_First : constant Time; Time_Last : constant Time; Time_Unit : constant := -- real number; type Time_Span is private; Time_Span_First : constant Time_Span; Time_Span_Last : constant Time_Span;... function Clock return Time; function "+" (Left : Time; Right : Time_Span) return Time; function "+" (Left : Time_Span; Right : Time) return Time; function "-" (Left : Time; Right : Time_Span) return Time; function "-" (Left : Time; Right : Time) return Time_Span;... function To_Duration (TS : Time_Span) return Duration; function To_Time_Span (D : Duration) return Time_Span; function Nanoseconds (NS : integer) return Time_Span; function Microseconds (US : integer) return Time_Span; function Milliseconds (MS : integer) return Time_Span; end Ada.Real_Time; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 28
11 Ejemplo -- Imprimir en pantalla el día, mes y año actuales, -- y luego las horas y minutos with Ada.Calendar, Ada.Text_Io; use Ada.Calendar; use Ada.Text_Io; procedure Muestra_Dia_Y_Hora is Instante : Time := Clock; Hora : Integer := Integer(Seconds(Instante))/3600; Minuto : Integer := (Integer(Seconds(Instante))-Hora*3600)/60; begin Put_Line("Hoy es "&Integer'Image(Day(Instante))&" del "& Integer'Image(Month(Instante))&" de "& Integer'Image(Year(Instante))); Put_Line("La hora es : "&Integer'Image(Hora)& ":"&Integer'Image(Minuto)); end Muestra_Dia_Y_Hora; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 29
12 Relojes de tiempo de ejecución Son relojes que miden el tiempo de CPU utilizado por una tarea No incluyen esperas, bloqueos, etc. Define funciones similares al paquete Ada.Real_Time function Clock (T : Task_Id := Current_Task) return CPU_Time; También existen temporizadores de tiempo de ejecución que pueden ser asociados a una tarea Al expirar el tiempo, se realizan acciones determinadas GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 30
13 Retrasos Instrucciones que permiten suspender una tarea hasta que transcurra el instante o intervalo indicado - mientras una tarea está dormida, otras pueden ejecutar delay Tipo_Duration; delay until Tipo_Time; Ejemplo: Invocar procedimiento periódicamente Ambas son correctas? Intervalo : Duration := 5*Minutos; loop delay Intervalo; Proceso_A_Ejecutar; end loop; Intervalo : Duration := 5*Minutos; Next_Time : Time := Tiempo_Inicial; begin loop delay until Next_Time; Proceso_A_Ejecutar; Next_Time := Next_Time + Intervalo; end loop; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 31
14 Tareas periódicas Con la instrucción delay until es posible hacer tareas periódicas: task body Periodica is Periodo : constant Duration := 0.050; -- en segundos Proximo_Periodo : Time := Clock; begin loop delay until Proximo_Periodo; -- acción periódica Proximo_Periodo := Proximo_Periodo + Periodo; end loop; end Periodica; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 32
15 Tareas periódicas (cont d) También se puede hacer lo mismo (pero mal) con la orden delay: task body Periodica is Periodo : constant Duration:=0.050; -- en segundos Proximo_Periodo : Time := Clock; begin loop -- realiza operaciones Proximo_Periodo := Proximo_Periodo+Periodo; delay Proximo_Periodo-Clock; end loop; end Periodica; En este caso la tarea puede ser interrumpida por otra entre la lectura del reloj (con Clock) y la ejecución del delay. Esto provocaría un retraso mayor que el deseado GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 33
16 Prioridades Fijas Ada puede configurar el entorno para utilizar el sistema de tareas expulsoras (o desalojantes) por prioridad fija: - cuando una tarea de alta prioridad se activa, desaloja a otra tarea de menor prioridad que se esté ejecutando A cada tarea se le asigna una prioridad: pragma Priority(13); Esta prioridad se puede modificar, usando las operaciones del paquete Ada.Dynamic_Priorities - La prioridad es un subtipo definido en el paquete System Mediante la planificación de tareas por prioridades fijas, es posible garantizar la respuesta en tiempo real de las tareas. La teoría RMA permite realizar el análisis del sistema GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 34
17 Ada.Dynamic_Priorities with System; with Ada.Task_Identification; package Ada.Dynamic_Priorities is procedure Set_Priority (Priority : in System.Any_Priority; T : in Ada.Task_Identification.Task_Id := Ada.Task_Identification.Current_Task); function Get_Priority (T : Ada.Task_Identification.Task_Id := Ada.Task_Identification.Current_Task) return System.Any_Priority; end Ada.Dynamic_Priorities; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 35
18 Tareas periódicas (modelo) Parámetros discretos o tipos acceso task type Periodica (Prioridad Periodo pragma Priority (Prioridad); end Periodica; : System.Priority; : access Duration) is task body Periodica is Proximo_Periodo : Time := Clock; begin loopdelay until Proximo_Periodo; Ada.Real_Time o Ada.Calendar -- acción periódica Proximo_Periodo := Proximo_Periodo + Periodo; end loop; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 36
19 Políticas de planificación Políticas definidas en Ada 2005 FIFO_Within_Priorities - Prioridades fijas expulsora y orden FIFO para el mismo nivel de priorifad Non_Preemptive_FIFO_Within_Priorities - Prioridades fijas no expulsora y orden FIFO para el mismo nivel de priorifad Round_Robin_Within_Priorities - Prioridades fijas expulsora y se realizan turnos circulares para el mismo nivel de priorifad EDF_Across_Priorities: - Basada en plazos temporales GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 37
20 Políticas de planificación (cont d) Se define la política de planificación para todo el sistema mediante: pragma Task_Dispatching_Policy (Policy); Se pueden mezclar distintas políticas de planificación (planificación jerárquica) según intervalos de prioridad pragma Priority_Specific_Dispatching (Policy, Low_Priority, High_Priority); Estos pragmas son directivas de compilador y nos permiten configurar explícitamente nuestra aplicación GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 38
21 Inversión de prioridad En la sincronización de datos puede aparecer la inversión de prioridad: una tarea de alta prioridad puede verse forzada a esperar a que una de menor prioridad termine esto provoca retrasos enormes, inaceptables en sistemas de tiempo real Para evitarla existe el protocolo de techo de prioridad, asociado a los objetos protegidos: a cada objeto protegido se le asigna un techo de prioridad debe ser igual o superior a las prioridades de las tareas que usan ese objeto protegido GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 39
22 Techos de prioridad y gestión de colas Se define el uso del protocolo de techo de prioridad en un objeto protegido mediante: pragma Locking_Policy (Ceiling_Locking); El techo de prioridad de un objeto o un tipo protegido se especifica mediante un pragma Priority protected type OP (Techo : System.Priority) is pragma Priority (Techo);... end OP; El orden de entrada a los entries se controla con el pragma Queuing_Policy pragma Queuing_Policy (Priority_Queuing); pragma Queuing_Policy (FIFO_Queuing); GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 40
23 Ejemplo de tareas concurrentes con planificación por prioridades fijas -- Fichero gnat.adc pragma Locking_Policy (Ceiling_Locking); -- Politica de sincronizacion pragma Queuing_Policy (Priority_Queuing); -- Politica de encolado pragma Task_Dispatching_Policy (FIFO_Within_Priorities); -- Politica de planif. -- Fichero test_rt_app.adb with System; procedure Test_RT_App is task type Worker (The_Priority : System.Priority) is pragma Priority (The_Priority); -- Prioridad de la tarea end Worker; task body Worker is begin... end Worker; Tarea_1 : Worker (The_Priority => 10); Tarea_2 : Worker (The_Priority => 15); begin... end Test_RT_App; GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 41
24 Bibliografía [1] J. BARNES. "Programming in Ada 2005", first edition. Addison-Wesley, [2] J. BARNES. "Programming In Ada 95", first edition. Addison-Wesley, [3] S. Tucker Taft, Robert A. Duff, Randall L. Brukardt, Erhard Ploedereder, and Pascal Leroy (Eds.). Ada 2005 Reference Manual. Language and Standard Libraries. International Standard ISO/IEC 8652:1995(E) with Technical Corrigendum 1 and Amendment 1. LNCS 4348, Springer, Productos libres de AdaCore: GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González, J. Javier Gutiérrez, Héctor Pérez 42
Gestión del tiempo en Ada
dit UPM Gestión del tiempo en Ada Juan Antonio de la Puente DIT/UPM El tiempo en Ada La gestión del tiempo en Ada está integrada en el lenguaje y en el modelo de tareas relojes relojes de tiempo de ejecución
Planificación de tareas en Ada
dit UPM Planificación de tareas en Ada Juan Antonio de la Puente DIT/UPM Características generales Modelo básico planificación con prioridades dinámicas» también EDF políticas de despacho para tareas con
Parte I: Programación en Ada
Parte I: Programación en 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 5.
dit Control de drenaje de una mina Índice Juan Antonio de la Puente DIT/UPM Introducción Arquitectura lógica Arquitectura física Realización en Ada
dit UPM Control de drenaje de una mina Juan Antonio de la Puente DIT/UPM Índice Introducción Arquitectura lógica objetos y operaciones reglas de descomposición jerárquica y uso Arquitectura física atributos
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
Tema 2: Implementación del núcleo de un Sistema Operativo
Tema 2: Implementación del núcleo de un Sistema Operativo 1. Sistema Operativo Unix 2. Sistema Operativo Windows (a partir de NT) Dpto. Lenguajes y Sistemas Informáticos. Universidad de Granada 1 1. Sistema
Concurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
dit Entorno de ejecución Juan Antonio de la Puente DIT/UPM UPM
dit UPM Entorno de ejecución Juan Antonio de la Puente DIT/UPM Índice! Introducción! Perfiles de ejecución! Modelos de planificación cambio de contexto operaciones no desalojables tareas esporádicas manejador
Gestión de procesos DEFINICIONES DE PROCESOS
DEFINICIONES DE PROCESOS Gestión de procesos Un programa en Ejecución. Una instancia de un programa ejecutándose en un computador. La entidad que se puede asignar o ejecutar en un procesador. Una unidad
PLANIFICACIÓN DE PROCESOS
PLANIFICACIÓN DE PROCESOS (Scheduling) 1 Introducción: Scheduling Estados de un proceso Creado Memoria Principal Ejecución Terminado Espera E/S Listo Fin espera E/S Bloqueado Memoria Virtual Listo y suspendido
Benemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 4 Profr: María del Carmen Cerón Garnica Alumno: Roberto
Sistemas Distribuidos de Tiempo Real
MASTER EN COMPUTACIÓN Sistemas Distribuidos de Tiempo Real Apuntes: TEMA 6 Por: J. Javier Gutiérrez [email protected] http://www.ctr.unican.es/ Grupo de Computadores y Tiempo Real, Universidad de Cantabria
SOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Señal de petición de Interrupción
Consideren una tarea que require tomar caracteres desde un teclado y mostrarlos en la pantalla de un monitor. La tasa de transferencia desde un teclado a un computador está limitado por la velocidad del
SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008
SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 1.- INTRODUCCIÓN A LOS PROCESOS 1.1.- Concepto 1.2.- Composición y estructura 1.3.- Estados y transiciones 2.- COMUNICACIÓN ENTRE PROCESOS
2 Sea una unidad de disco duro de brazo móvil con las siguientes características:
1 Sea una unidad de disco duro de brazo móvil con las siguientes características: 18 superficies, 20.331 cilindros y 400 sectores por pista. Sectores de 1.024 bytes de información neta. Velocidad de rotación:
Tema 4.- Pilas y Colas
Apuntes elaborados por: Eduardo Quevedo, Raquel López y Aaron Asencio Revisado por: Javier Miranda el???? Tema 4.- Pilas y Colas Las pilas y colas son estructuras de datos que se utilizan generalmente
El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.
El soporte del sistema operativo Objetivos y funciones del sistema operativo Comodidad Hace que un computador sea más fácil de usar. Eficiencia Permite que los recursos del computador se aprovechen mejor.
Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC
Temporizadores y contadores en tiempo real: El módulo Timer0 y el aler del PIC 1. Introducción...1 2. Estructura del Timer0...1 3. Funcionamiento del Timer0...2 3.1. Entrada de reloj del modulo Timer0...
DESCRIPCION DE PLC UP32 17/07/11 MAN-PLC-UP32-01A
1. Introducción El equipo UP32 incorpora un módulo de PLC que le permiten al usuario personalizar el funcionamiento del sistema. Esto quiere decir, que si necesita realizar operaciones lógicas que no estén
Sistemas Operativos Tema 6. Planificación de procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana
Sistemas Operativos Tema 6. Planificación de procesos 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenido Modelo del sistema y criterios de rendimiento Algoritmo FCFS Algoritmo SJF
Sistemas operativos avanzados. 1.3 Algoritmos de planificación del procesador
Sistemas operativos avanzados 1.3 Algoritmos de planificación del procesador Parámetros Cuando tenemos más de un proceso en condiciones de ejecutar, debemos escoger uno de entre ellos. Para escogerlo empleamos
Programación Concurrente
Master en Computación Programación Concurrente Bloque II: Programación concurrente en POSIX Tema 1. Introducción al estándar POSIX Tema 3. Gestión de Threads Tema 4. Gestión del Tiempo Tema 5. Planificación
Procesos. Planificación del Procesador.
Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos
1 HILOS (THREADS) EN JAVA
1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los
Estructuras de Sistemas Operativos
Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar
Trey-SAT Pag. 1. Manual de usuario
Trey-SAT Pag. 1 Manual de usuario Trey-SAT Pag. 2 Modulo SAT : Servicio de asistencia técnica TREY-SAT es un potente módulo para el servicio de asistencia técnica, completamente integrado a la Gestión
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE II.3 Sincronización basada en memoria compartida: Semáforos J.M. Drake 1 Procesos concurrentes y memoria compartida. Si los diferentes procesos de un programa concurrente tienen
Procesadores de lenguaje Tema 5 Comprobación de tipos
Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,
PROGRAMACION CONCURRENTE. I.2 Recursos para la concurrencia.
PROGRAMACION CONCURRENTE I.2 Recursos para la concurrencia. J.M. Drake 1 Procesos Concurrentes Concepto de proceso. Estructura de los procesos. Estados de un proceso. Gestión de los procesos. 2 2 Plataforma
VHDL. Carlos Andrés Luna Vázquez. Lección 5. Sentencias concurrentes
VHDL Carlos Andrés Luna Vázquez Lección 5 Sentencias concurrentes Índice Introducción Niveles de abstracción del modelado con HDL Estilos descriptivos del modelado con HDL Ventajas y limitaciones de los
Sistemas Operativos - Funciones del sistema operativo» Cargar y ejecutar programas (procesos)» Facilitar funciones de E/S» Controlar y distribuir el acceso a los recursos» Controlar errores Componentes
Sistemas Operativos. Curso 2014 Planificación
Sistemas Operativos Curso 2014 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.
Unidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas
Sistemas Operativos. Curso 2015 Planificación
Sistemas Operativos Curso 2015 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.
Benemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 5 Profr: María del Carmen Cerón Garnica Alumno: Roberto
Tarea 4.2 Memoria Virtual
1 Tarea 4.2 1. Cuál es la diferencia entre paginación simple y paginación en memoria virtual? En memoria virtual no es necesario que todas las páginas estén en marcos de la memoria principal. Las páginas
Tema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco
Planificación de Procesos Módulo 5 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Conceptos Básicos Criterios de Planificación
PROGRAMACIÓN CONCURRENTE. Tema 5 Monitores
PROGRAMACIÓN CONCURRENTE Tema 5 Monitores 1 Indice Definición de los monitores Sincronización condicional usando monitores Algunos problemas con monitores 2 Problemas de las regiones críticas condicionales
Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
CDI Exclusión mutua a nivel alto. conceptos
conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción
Introducción a los Sistemas Operativos
Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema
1 (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)
ESCUELA NORMAL PROFESOR CARLOS A. CARRILLO
ESCUELA NORMAL PROFESOR CARLOS A. CARRILLO Primer Semestre Licenciatura en Educación Primaria Profesor: Cruz Jorge Fernández Alumna: Sandra Carina Villalobos Olivas Unidad II ACTIVIDAD 3 Software Se conoce
Familia de Windows Server 2003
Familia de Windows Server 2003 Windows Server 2003 está disponible en cuatro ediciones. Cada edición se ha desarrollado para una función de servidor específica, como se describe en la tabla siguiente:
REDISTRIBUCION DE TAREAS POR SOBREASIGNACION DE RECURSOS 1
REDISTRIBUCION DE TAREAS POR SOBREASIGNACION DE RECURSOS 1 Tabla de contenido REDISTRIBUCION DE TAREAS POR SOBREASIGNACION DE RECURSOS... 1 Períodos de tiempo... 2 Ámbito de la redistribución... 2 Resolver
Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León
Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Programa. Introducción. 2. Elementos de almacenamiento. 3. Elementos de proceso. 4. Elementos de interconexión.
TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS
TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS 1. Concepto de Sistema Operativo. Funciones Un sistema operativo (S.O.) es un programa o conjunto de programas de control que tiene por objeto facilitar
4. Programación Paralela
4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios
Unidad II: Administración de Procesos y del procesador
Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros
TEMA 3: EL NÚCLEO DE UN SISTEMA OPERATIVO
TEMA 3: EL NÚCLEO DE UN SISTEMA OPERATIVO 1. Introducción. Funciones del núcleo de un S.O. Los Sistemas Operativos proporcionan un número potencialmente grande de servicios accesibles al usuario. Uno de
Patrones de diseño para aplicaciones de tiempo real
Metodologías, procesos y entornos para sistemas de tiempo real Master de Computación Patrones de diseño para aplicaciones de tiempo real José M. Drake Computadores y Tiempo Real Santander, 2010 1 Metodos,
Las empresas dependen de las redes para funcionar correctamente todos los días.
Informáticas I 4. Comunicación de datos y la red Comunicación de datos es el intercambio de datos entre dos dispositivos a través de una forma de medio de transmisión como un cable de alambre. Las empresas
Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de 2012 - SEGUNDA PARTE - SOLUCIONES
Calificación 1 Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de 2012 - SEGUNDA PARTE - 2 3 Nombre SOLUCIONES Grupo Dispone de una hora y media para completar el examen 1 (6.5 puntos)
Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1
Procesos Procesos Mario Medina [email protected] El sistema operativo como administrador de procesos Controla la ejecución de procesos para optimizar criterios Asigna recursos a procesos Facilita sincronización
Java y JVM: programación concurrente
Java y JVM: programación concurrente Adolfo López Díaz Escuela de Ciencias de la Computación e Informática. Universidad de Costa Rica Resumen: El lenguaje de programación Java proporciona, sin necesidad
Implementación de monitores POSIX
Implementación de monitores POSIX Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Programación concurrente: Problemática Presencia de condiciones de
TEMA 5. PROGRAMACIÓN CONCURRENTE.
TEMA 5. PROGRAMACIÓN CONCURRENTE. 5.1. Ejecución concurrente. 5.2. Representación de procesos. 5.3. Tareas en Ada. 5.4. Ejemplo. 5.5. Comunicación y sincronización con variables comunes. 5.6. Comunicación
Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia
Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia
Procesos. Bibliografía. Threads y procesos. Definiciones
Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.
Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas
Módulos: Módulo 1 Hardware & Arquitectura de sistemas - 20 Horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros componentes adicionales como
Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010
Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos
Capítulo 1 Introducción a la Computación
Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:
Unidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones
Conceptos Básicos de Software. Clase III
Clase III Definición de Sistema Operativo El sistema operativo es el programa (o software) más importante de una computadora. Para que funcionen los otros programas, cada computadora de uso general debe
Utilización del sistema operativo GNU/ Linux en las netbooks
Utilización del sistema operativo GNU/ Linux en las netbooks El sistema operativo es la pieza de software básica de un sistema, que permite manejar los recursos de la computadora, abrir programas, manejar
Programación distribuida con ADA95 bajo GNU/Linux (I)
Programación distribuida con ADA95 bajo GNU/Linux (I) Alvaro López Ortega [email protected] 1. Introducción a GNAT-Glade En primer lugar hay que aclarar que el nombre de esta librería puede confundir
Introducción a la Computación
Introducción a la Computación MCC Marco Antonio Crúz Chávez 2003 Sistema de información Es un sistema incluido en otro sistema mayor que recibe, almacena, procesa y distribuye información. Los principales
SEGURIDAD Y PROTECCION DE FICHEROS
SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD
INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS)
INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS) Los dos ejercicios de esta parte se contestarán en la misma hoja (o varias hojas si es necesario). Es preciso responder razonadamente
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer
Mensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya ([email protected]) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
Unidad III. Software para la administración de proyectos.
Unidad III Software para la administración de proyectos. 3.1 Herramientas de software para administrar proyectos. El software de administración de proyectos es un concepto que describe varios tipos de
Taller de sistemas operativos PLANIFICADOR
Taller de sistemas operativos PLANIFICADOR Agenda Introducción Clases de planificación Prioridades Timeslice Prioridad dinámica Estructuras del planificador Planificador en funcionamiento Nuevo planificador
Hardware Se refiere a todas las partes tangibles de un sistema informático; sus componentes son: eléctricos, electrónicos, electromecánicos
Hardware y software Soporte Técnico El soporte técnico es un rango de servicios que proporcionan asistencia con el hardware o software de una computadora, o algún otro dispositivo electrónico o mecánico.
Tema 3. Monitores Programación Concurrente
Tema 3. Monitores Programación Concurrente Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada Contenidos 1. Concepto de Monitor 1.1. Fundamento teórico de los monitores 1.2. Sintaxis de
Sistema de proceso por lotes: esquema operativo
Sistema de proceso por lotes: esquema operativo MAINFRAME CPU Lector de tarjetas MEM SO Impresora Programa de usuario Programadores Sistema de proceso por lotes: características operativas Los programadores
Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente.
Threads (hilos) Java nos ofrece la clase Thread y la interfaz Runable que permiten que varios procesos estén funcionando de forma concurrente. Conceptos: Proceso (thread o hilo): es un programa en ejecución
COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX
COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor
Firewall Firestarter. Establece perímetros confiables.
Firewall Firestarter Qué es un Firewall? Un muro de fuego (firewall en inglés) es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo
INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:
INTERRUPCIONES La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: a)consultas (POLLING): Se comprueban cíclicamente,
1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura
1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos
Tema 6: Periféricos y entrada-salida
Tema 6: Periféricos y entrada-salida Soluciones a los problemas impares Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 6: Hoja: 2 / 12 Tema 6: Hoja: 3 / 12 Base
Manejo de Excepciones
Manejo de Excepciones Titular: Dario Guillermo Cardacci Excepciones Son condiciones no esperadas durante la ejecución de la aplicación o por código ejecutándose dentro de esta. Los errores pueden ser tratados
Programación del Timer1 para la captura de flancos
Basic Express Nota de aplicación Programación del Timer1 para la captura de flancos El temporizador Timer1 y el pin de entrada El procesador BasicX incluye un temporizador integrado denominado Timer1.
Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.
Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a
CAPITULO V. Cuando hablamos de los lenguajes de programación nos referimos a diferentes formas en las que se puede escribir el programa del usuario.
CAPITULO V Programación del PLC Introducción Cuando hablamos de los lenguajes de programación nos referimos a diferentes formas en las que se puede escribir el programa del usuario. Los software actuales
