Implementación de monitores POSIX

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

Download "Implementación de monitores POSIX"

Transcripción

1 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 carrera Una condición de carrera se produce cuando la ejecución de un conjunto de operaciones concurrentes sobre una variable compartida deja la variable en un estado inconsistente con las especificaciones de corrección Además, el resultado final depende de la velocidad relativa en que se ejecutan las operaciones Solución a las condiciones de carrera En general, no se puede controlar cuándo se producen cambios de contexto entre los hilos involucrados Por lo tanto, se tiene que lograr que los programas concurrentes sean correctos a pesar de que se produzcan cambios de contexto en cualquier lugar del código Para ello, una posible solución para garantizar la corrección de un programa concurrente es sincronizar el acceso a variables compartidas Sincronización En este contexto, sincronizar significa imponer un orden en la ejecución de zonas de código (pertenecientes a diferentes hilos) que acceden a variables compartidas Estas zonas de código se denominarán secciones críticas EUI-SG/INFOR.UVA.ES ASO_PR02_

2 El problema de la sección crítica (1) El problema de la sección crítica se caracteriza por: Tener N procesos/hilos que se ejecutan concurrentemente, compitiendo por acceder a un conjunto de datos compartidos Cada proceso o hilo Tiene, al menos, una zona de código en la que se accede a datos compartidos y que se denomina sección crítica Puede tener además otras zonas de código en que no se acceden a dichos datos. Estas zonas se consideran secciones de código genéricas y se referirá a ellas como sección restante El problema de la sección crítica trata de encontrar un protocolo que defina la entrada y la salida de una sección crítica, que impida la ocurrencia de condiciones de carrera protocolo de entrada sección CRÍTICA protocolo de salida sección RESTANTE EUI-SG/INFOR.UVA.ES ASO_PR02_ El problema de la sección crítica (2) Requisitos de cualquier solución al problema de la sección crítica: El protocolo diseñado debe satisfacer las tres condiciones siguientes: Exclusión mutua: si un proceso está ejecutando su sección crítica, ningún otro proceso puede estar ejecutando la suya Progreso: si ningún proceso está ejecutando su sección crítica y hay otros que desean entrar a las suyas, entonces la decisión de qué proceso entrará en la sección crítica se toma en un tiempo finito y sólo depende de los procesos que desean entrar Espera limitada: Después de que un proceso haya solicitado entrar en su sección crítica, existe un límite en el número de veces que se permite que otros procesos entren a sus secciones críticas Y todo ello, suponiendo que... Los procesos se ejecutan a velocidad no nula La corrección no ha de depender de hacer suposiciones sobre la velocidad relativa de ejecución de los procesos EUI-SG/INFOR.UVA.ES ASO_PR02_

3 El problema de la sección crítica: clasificación de soluciones (1) Existen varias alternativas a la hora de implementar el protocolo de entrada (y salida) de la sección crítica Soluciones de tipo software El protocolo se implementa con código a nivel de usuario, sin mecanismos añadidos. Por ejemplo, los algoritmos de Dekker. Soluciones de tipo hardware Se aprovechan de instrucciones máquina especiales (inhabilitación interrupciones, instrucciones test and set) para implementar el protocolo Soluciones con soporte del sistema operativo El protocolo se implementa mediante mecanismos proporcionados por el sistema operativo, a través de llamadas al sistema (semáforos, cerrojos de exclusión mutua, variables de condición, etc.) Soluciones con soporte del lenguaje de programación (construcciones lingüísticas) Algunos lenguajes de programación poseen tipos de datos especiales que garantizan su acceso en exclusión mutua de forma automática, como por ejemplo, Ada95, Java EUI-SG/INFOR.UVA.ES ASO_PR02_ El problema de la sección crítica: clasificación de soluciones (2) Java, Ada Aplicaciones Construcciones Lingüísticas Sistema Operativo Hardware Monitores Regiones críticas Tipos protegidos... Semáforos Mutex Eventos Variables de condición... Inhabilitación de interrupciones Instrucciones test_and_set C, C++ Programación de sistemas Aplicaciones C Drivers EUI-SG/INFOR.UVA.ES ASO_PR02_

4 Soluciones a nivel del lenguaje de programación Algunos lenguajes de programación incorporan tipos de datos específicos, y/o construcciones lingüísticas que permiten al programador, solucionar el problema de la sección crítica de forma más cómoda, ya que: Garantizan la exclusión mutua de forma automática Aportan una solución a la suspensión voluntaria de los procesos/hilos dentro de secciones de código en exclusión mutua Fuerzan el uso de un determinado estilo de programación Generalmente, el compilador del lenguaje de programación utiliza soluciones a nivel del sistema operativo para implementar esas características especiales Existen numerosas soluciones a este nivel (1) Soluciones definidas teóricamente Monitores Regiones críticas (2) Soluciones reales de lenguajes de programación existentes: Objetos protegidos de Ada95 Objetos de sincronización de Java EUI-SG/INFOR.UVA.ES ASO_PR02_ Monitor Concepto de monitor (1) Es un tipo abstracto de datos que encapsula: Tanto un conjunto de variables (internas) Como una serie de operaciones de acceso de forma que: Los procesos/hilos pueden únicamente invocar a las operaciones de acceso Las variables internas sólo pueden ser accedidas desde el código de las operaciones de acceso (concepto de encapsulamiento, propio de los tipos abstractos de datos) El código de las operaciones se ejecuta en exclusión mutua de forma automática No es necesario protegerlo con ningún mecanismo añadido Se proporciona además un mecanismo general de suspensión, basado en variables denominadas condición Los procesos/hilos pueden suspenderse en una variable condición Otro proceso/hilo puede despertar a un proceso/hilo suspendido anteriormente EUI-SG/INFOR.UVA.ES ASO_PR02_

5 Concepto de monitor (2) Monitor Variables privadas variables variables condición de datos Operaciones de acceso (Zona mutex) Entrada Colas de hilos Suspendidos en variables condición Salida La zona mutex se abandona si el hilo se suspende en una variable condición Cola de entrada al monitor (mutex) Hilos EUI-SG/INFOR.UVA.ES ASO_PR02_ Sintaxis Concepto de monitor (3) type nombre_monitor = monitor... Declaración de variables procedure entry P1 (...);... Código de P1 end; function entry F2 (...);... Código de F2 end Código de inicialización end; Variables internas al monitor: variables compartidas variables de condición Métodos de acceso: única vía de acceso a las variables compartidas Exclusión mutua automática Inicialización: Se invoca automáticamente al instanciar el monitor y antes de ser accedido por ningún proceso Se utiliza para la inicialización de las variables del monitor EUI-SG/INFOR.UVA.ES ASO_PR02_

6 Concepto de monitor (4) Variables de tipo condición: En ocasiones es necesario definir esquemas complejos de sincronización, en los que un proceso/hilo debe suspenderse dentro del código del monitor Para ello el programador del monitor puede declarar, como variables internas del monitor, variables de tipo condición ( condition ) var x: condition; Sobre estas variables condition se pueden realizar las siguientes operaciones: x.wait; Causa la suspensión (en una cola asociada a x) del proceso que invocó la operación x.signal; Se reanuda (si existe) un proceso suspendido en la cola asociada a x. Si no existe ninguno, no tiene efecto x.awaited; Retorna el número de procesos suspendido en la cola de la variable de condición x EUI-SG/INFOR.UVA.ES ASO_PR02_ Concepto de monitor (5) Ejemplo: Productor/consumidor (pseudo-pascal) type buffer_acotado = monitor const N = 100; contador, entrada, salida: integer; lleno, vacio: condition; buffer: array[0..n-1] of integer; procedure entry insertar (item: interger); if (contador = N) then lleno.wait; contador:= contador +1; buffer[entrada] := item; entrada:= (entrada+1)mod N; vacio.signal; end; (...) (...) procedure entry extraer (var item: integer); if (contador = 0) then vacio.wait; contador:= contador 1; item:= buffer[salida]; salida:= (salida+1) mod n; lleno.signal; end; entrada:= 0; salida:= 0; contador:= 0; end; EUI-SG/INFOR.UVA.ES ASO_PR02_

7 Variantes de monitor Qué ocurre cuando un hilo despierta a otro en un signal? El hilo que ejecuta la operación signal (P) se encuentra en estado en ejecución El hilo que se despierta del wait (Q) pasa a estado preparado Existe entonces un problema Dos hilos (P y Q) pueden resultar ser elegidos por el sistema operativo para continuar su ejecución y, ambos están dentro del código del monitor Esto viola la definición de monitor, que garantiza automáticamente la exclusión mutua dentro del código del monitor Existen tres alternativas para solucionar el problema Cada alternativa fue aportada por un autor diferente, resultando tres variantes: (1) Modelo de Hoare Cuando P despierta a Q, P se espera (se suspende) hasta que Q sale del monitor, o vuelve a suspenderse en otra variable de condición (2) Modelo de Lampson y Redell Cuando P despierta a Q, Q se espera (se suspende hasta que P sale del monitor, o se suspende en una variable de condición (3) Modelo de Brinch-Hansen Si algún procedure entry de un monitor tiene una operación signal, esta tiene que ser la última instrucción del procedimiento, de modo que se soluciona el problema por construcción EUI-SG/INFOR.UVA.ES ASO_PR02_ POSIX Implementación de monitores en POSIX Proporciona primitivas muy simples (mutex y variables de condición) para conseguir la sincronización de hilos de ejecución, en comparación con los monitores Sin embargo, su metodología de programación resulta en un modelo muy parecido al concepto de monitor, en concreto al modelo de Lampson y Redell A continuación, se muestra una implementación genérica de monitores de tipo Lampson y Redell utilizando primitivas POSIX Ello permitiría traducir directamente un monitor concreto en términos de primitivas POSIX, teniendo una forma de convertir un código teórico en una aplicación real Se hará manualmente, lo que haría un compilador de un hipotético lenguaje de programación que soportara monitores, al compilar un programa con monitores en un sistema operativo compatible con el estándar POSIX EUI-SG/INFOR.UVA.ES ASO_PR02_

8 Implementación de monitores en POSIX Implementación: exclusión mutua Cada procedure entry del monitor se convierte en una función en C que debe ser protegida en exclusión mutua Como todos los procedure entry tienen que excluirse mutuamente entre ellos, se necesita un único cerrojo de exclusión mutua (mutex) para proteger todo el código Debe definirse una única variable global mutex que se denominará mutex_monitor Cada procedure entry se traducira de la siguiente forma: procedure entry p1 (param);... end; void p1 (param); {... ptrhead_mutex_unlock(&mutex_monitor); EUI-SG/INFOR.UVA.ES ASO_PR02_ Implementación de monitores en POSIX Implementación: gestión de la suspensión en variables de condición Dentro de cada procedure entry, puede haber instrucciones wait y signal sobre ciertas variables de tipo condition Por cada variable condition x se necesita una variable de condición POSIX, que se denominará cond_x Cada instrucción x.wait se traduce por una llamada pthread_cond_wait Cada instrucción x.signal se convierte en una llamada pthread_cond_signal Hay que prestar especial atención a las condiciones lógicas en que los procesos se suspenden en las operaciones x.wait y se despiertan en las operaciones x.signal, puesto que probablemente habrá que ajustar las condiciones ligeramente en el código POSIX Adicionalmente, en POSIX, se puede despertar a todos los procesos suspendidos en una variable de condición por medio de la llamada pthread_cond_broadcast EUI-SG/INFOR.UVA.ES ASO_PR02_

9 Implementación de monitores en POSIX Implementación: gestión de la suspensión en variables de condición Opción 1: (utilizando if) if (condicion1) then x.wait; if (_condicion1_) pthread_cond_wait(&cond_x, &mutex_monitor); if (condicion2) then x.signal; if (_condicion2_) pthread_cond_signal(&cond_x); Opción 2: (utilizando while) while (condicion1) x.wait; if (condicion2) while (x.awaited > 0) x.signal; while (_condicion1_) pthread_cond_wait(&cond_x, &mutex_monitor); if (_condicion2_) pthread_cond_broadcast(&cond_x); EUI-SG/INFOR.UVA.ES ASO_PR02_ Implementación de monitores en POSIX Implementación: gestión de la suspensión en variables de condición Opción 1: (utilizando if) Ventajas: Cuando condicion2 es verdadero, sólo se despierta un hilo, y este, sin volver a comprobar su condicion1, pasa a ejecutar su sección crítica. Esto hace que la sobrecarga computacional sea pequeña Inconvenientes: Cuando el hilo que estaba suspendido en una variable condición se activa (la variable condición ha recibido un signal), no vuelve a comprobar el valor de la condicion1, por lo que no está seguro de estar ejecutando la sección crítica bajo las condiciones establecidas en condicion1. Esto debe asegurarse como parte de condicion2, de forma que sólo se despierten hilos cuando se cumplan sus condiciones de ejecución. Usando este modelo de programación es fácil cometer errores Opción 2: (utilizando while) Ventajas: Como cada hilo que estaba suspendido en una variable condición, comprueba la condicion1 cada vez que se despierta, el programador puede despreocuparse de las condiciones bajo las cuales ejecuta operaciones signal. Típicamente, se ejecuta pthread_cond_broadcast cada vez que condicion1 puede haber cambiado. Esto da lugar a un modelo de programación sencillo Inconvenientes: Mayor sobrecarga computacional EUI-SG/INFOR.UVA.ES ASO_PR02_

10 Implementación de monitores en POSIX Ejemplo: Lectores y Escritores Problema de sincronización entre procesos/hilos que se da cuando éstos quieren compartir concurrentemente un recurso representado por un objeto de datos (por ejemplo, un fichero, una base de datos, un registro de una base de datos,...) y, además, determinados procesos/hilos únicamente desean leer el contenido del objeto compartido, mientras que otros desean actualizarlo (es decir, leer y escribir) A los primeros se les denomina procesos/hilos lectores y a los segundos escritores Diferentes versiones según se dé prioridad a unos u otros en el acceso: Prioridad en la lectura: ningún lector debe esperar salvo que un escritor haya obtenido ya permiso para usar el objeto compartido. Es decir, ningún lector debe esperar a que otros lectores acaben por el simple hecho de que un escritor esté esperando. Puede originar inanición en los escritores Prioridad en la escritura: una vez que un escritor está esperando, debe realizar su escritura tan pronto como sea posible. Es decir, si un escritor está esperando, ningún lector nuevo debe iniciar su lectura. Puede generar inanición en los lectores EUI-SG/INFOR.UVA.ES ASO_PR02_ Implementación de monitores en POSIX Ejemplo: Lectores y Escritores Variables globales y programa principal int nlec= 0, nesc= 0; w_lec= 0; w_esc= 0; pthread_mutex_t mutex_monitor; pthread_cond_t cond_lec, cond_esc; int main(int argc, char *argv[]) { pthread_t pid_lec[n_lec], pid_esc[n_esc]; int i; int escritores= N_ESC, lectores= N_LEC; pthread_mutex_init(&mutex_monitor, NULL); pthread_cond_init(&cond_lec, NULL); pthread_cond_init(&cond_esc, NULL); for (i=0; i<escritores; i++) pthread_create(&(pid_esc[i]), NULL, func_esc, NULL); for (i=0; i<lectores; i++) pthread_create(&(pid_lec[i]), NULL, func_lec, NULL); for (i=0; i<lectores; i++) pthread_join(pid_lec[i], NULL); for (i=0; i<escritores; i++) pthread_join(pid_esc[i], NULL); EUI-SG/INFOR.UVA.ES ASO_PR02_

11 Implementación de monitores en POSIX Ejemplo: Lectores y Escritores Definición de los hilos Monitor void *func_esc(void * p) { int i; for (i=0; i<escriturasxhilo; i++) { pre_escribir(); escribir(); post_escribir(); void *func_lec(void * p) { int i; for (i=0; i<lecturasxhilo; i++) { pre_leer(); leer(); post_leer(); EUI-SG/INFOR.UVA.ES ASO_PR02_ Implementación de monitores en POSIX Ejemplo: Lectores y Escritores (versión prioridad lectores) void pre_leer() { while (nesc > 0) { w_lec++; pthread_cond_wait(&cond_lec, &mutex_monitor); w_lec -; nlec++; pthread_cond_signal(&cond_lec); void post_leer() { nlec -; if (nlec == 0) pthread_cond_signal(&cond_esc); void pre_escribir() { while ( (nesc > 0) (nlec > 0) ) { w_esc++; pthread_cond_wait(&cond_esc, &mutex_monitor); w_esc -; nesc++; void post_escribir() { nesc -; if (w_lec > 0) pthread_cond_signal(&cond_lec); else pthread_cond_signal(&cond_esc); EUI-SG/INFOR.UVA.ES ASO_PR02_

12 Implementación de monitores en POSIX Ejemplo: Lectores y Escritores (versión prioridad escritores) void pre_leer() { while ( (nesc > 0) (w_esc > 0) ) { w_lec++; pthread_cond_wait(&cond_lec, &mutex_monitor); w_lec -; nlec++; pthread_cond_signal(&cond_lec); void post_leer() { nlec -; if (nlec == 0) pthread_cond_signal(&cond_esc); void pre_escribir() { while ( (nesc > 0) (nlec > 0) ) { w_esc++; pthread_cond_wait(&cond_esc, &mutex_monitor); w_esc -; nesc++; void post_escribir() { nesc -; if (w_esc > 0) pthread_cond_signal(&cond_esc); else pthread_cond_signal(&cond_lec); EUI-SG/INFOR.UVA.ES ASO_PR02_

Concurrencia. Primitivas IPC con bloqueo

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

Más detalles

CDI Exclusión mutua a nivel alto. conceptos

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

Más detalles

Concurrencia entre Procesos.

Concurrencia entre Procesos. Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

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

Más detalles

Concurrencia: Exclusión mutua y Sincronización

Concurrencia: Exclusión mutua y Sincronización Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas

Más detalles

Tema 4. Gestión de entrada/salida

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

Más detalles

PROGRAMACIÓN CONCURRENTE. Tema 5 Monitores

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

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

un programa concurrente

un programa concurrente Introducción un programa concurrente asumimos que tengamos un programa concurrente que quiere realizar acciones con recursos: si los recursos de los diferentes procesos son diferentes no hay problema,

Más detalles

Sistemas Operativos Temas 4, 5 y 6. Jorge García Duque Despacho: B-202 Tutorías: Lunes 16:00-18:00 y Martes 16:00-20:00

Sistemas Operativos Temas 4, 5 y 6. Jorge García Duque Despacho: B-202 Tutorías: Lunes 16:00-18:00 y Martes 16:00-20:00 Sistemas Operativos Temas 4, 5 y 6 Jorge García Duque Despacho: B-202 Tutorías: Lunes 16:00-18:00 y Martes 16:00-20:00 Índice Tema 4: Herramientas de Sincronización de Alto Nivel. Regiones Críticas. Monitores.

Más detalles

1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:

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)

Más detalles

SISTEMAS OPERATIVOS AVANZADOS

SISTEMAS OPERATIVOS AVANZADOS SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3

Más detalles

4. Programación Paralela

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

Más detalles

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE) QUÉ SON CONCEPTOS PARAMÉTRICOS? Los conceptos paramétricos de Presto permiten definir de una sola vez una colección de conceptos similares a partir de los cuales se generan variantes o conceptos derivados

Más detalles

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 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

Más detalles

Capítulo 1 Introducción a la Computación

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:

Más detalles

Mensajes. Interbloqueo

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

Más detalles

PROGRAMACION CONCURRENTE

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

Más detalles

SOLUCION EXAMEN junio 2006

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

Más detalles

Sistemas Operativos Práctica 4

Sistemas Operativos Práctica 4 Sistemas Operativos Práctica 4 Ing. Andrés Bustamante [email protected] 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 detalles

Receta general para resolver problemas de sincronización con semáforos

Receta general para resolver problemas de sincronización con semáforos Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

Control Digital en PC con MS-DOS

Control Digital en PC con MS-DOS Control Digital en PC con MS-DOS Abel Alberto Cuadrado Vega 19 de abril de 2006 1. Introducción Un PC puede ser utilizado para realizar un sistema de control digital. Para ello necesita lo siguiente: tarjeta

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Tema 3. Monitores Programación Concurrente

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

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

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 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

Más detalles

MONITORES EN JAVA. Antonio Tomeu Control de la Concurrencia en Java: API Estándar

MONITORES EN JAVA. Antonio Tomeu Control de la Concurrencia en Java: API Estándar MONITORES EN JAVA Un monitor es un objeto que implementa acceso bajo e.m. a todos sus métodos, y provee sincronización En Java, son objetos de una clase cuyos métodos públicos son todos synchronized Un

Más detalles

Trey-SAT Pag. 1. Manual de usuario

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

Más detalles

Práctica 2: El problema de la sección crítica

Práctica 2: El problema de la sección crítica Práctica 2: El problema de la sección crítica Programación de Sistemas Concurrentes y Distribuidos Grado de Ingeniería Informática Dpto. de Informática e Ingeniería de Sistemas, Escuela de Ingeniería y

Más detalles

PROGRAMACION CONCURRENTE Y DISTRIBUIDA. II.5 Sincronización basada en memoria compartida: Monitores

PROGRAMACION CONCURRENTE Y DISTRIBUIDA. II.5 Sincronización basada en memoria compartida: Monitores PROGRAMACION CONCURRENTE Y DISTRIBUIDA II.5 Sincronización basada en memoria compartida: Monitores J.M. Drake 1 Monitor Son módulos que encierran los recursos o variables compartidas como componentes internos

Más detalles

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Sistemas Operativos Concurrencia y Sincronización de

Más detalles

Estructuras de Sistemas Operativos

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

Más detalles

PROGRAMACION CONCURRENTE

PROGRAMACION CONCURRENTE PROGRAMACION CONCURRENTE II.4 Sincronización basada en memoria compartida: Regiones críticas J.M. Drake 1 Regiones críticas Son bloques de código que al ser declarados como regiones críticas respecto de

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

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),

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

Práctica 5. Curso 2014-2015

Práctica 5. Curso 2014-2015 Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas

Más detalles

Unidad II: Administración de Procesos y del procesador

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

Más detalles

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: 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,

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Benemérita Universidad Autónoma del Estado de Puebla

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

Más detalles

SEGURIDAD Y PROTECCION DE FICHEROS

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

Más detalles

15 CORREO WEB CORREO WEB

15 CORREO WEB CORREO WEB CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

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

Más detalles

Anexo B. Comunicaciones entre mc y PC

Anexo B. Comunicaciones entre mc y PC Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación.

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación. EJERCICIOS DE PLANIFICACIÓN: 1) Un sistema informático posee los siguientes recursos: - una CPU - tres unidades de almacenamiento UAM1, UAM2 y UAM3. En nuestro sistema tenemos dos tipos de procesos: Tipo

Más detalles

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para

Más detalles

INTRODUCCION A LA PROGRAMACION DE PLC

INTRODUCCION A LA PROGRAMACION DE PLC INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Benemérita Universidad Autónoma del Estado de Puebla

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

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

Capítulo IV. INTERBLOQUEO E INANICIÓN

Capítulo IV. INTERBLOQUEO E INANICIÓN Capítulo IV. INTERBLOQUEO E INANICIÓN Interbloqueo: [MAEKAMA] Se define como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.

Más detalles

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

Utilidades de la base de datos

Utilidades de la base de datos Utilidades de la base de datos Desde esta opcion del menú de Access, podemos realizar las siguientes operaciones: Convertir Base de datos Compactar y reparar base de datos Administrador de tablas vinculadas

Más detalles

Tema 3: Concurrencia de procesos

Tema 3: Concurrencia de procesos Tema 3: Concurrencia de procesos Yolanda Blanco Fernández [email protected] Concurrencia, Tiempo Real y Paralelismo Concurrencia: Convivencia de un conjunto de procesos en un mismo ordenador. Sistemas

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

GENERACIÓN DE CÓDIGO

GENERACIÓN DE CÓDIGO GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información

Más detalles

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. 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.

Más detalles

Guía paso a paso para la cumplimentación del formulario de candidatura

Guía paso a paso para la cumplimentación del formulario de candidatura Guía paso a paso para la cumplimentación del formulario de candidatura INDICE 1. INSTRUCCIONES GENERALES... 2 2. PARTENARIADO... 4 3. GRUPOS DE TAREAS... 8 4. INDICADORES... 14 5. CUMPLIMENTACIÓN DEL RESTO

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

McAfee Security-as-a-Service

McAfee Security-as-a-Service Guía de solución de problemas McAfee Security-as-a-Service Para utilizar con el software epolicy Orchestrator 4.6.0 Esta guía proporciona información complementaria relacionada con la instalación y el

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi Gestión de Permisos Bizagi Suite Gestión de Permisos 1 Tabla de Contenido Gestión de Permisos... 3 Definiciones... 3 Rol... 3 Perfil... 3 Permiso... 3 Módulo... 3 Privilegio... 3 Elementos del Proceso...

Más detalles

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez [email protected] Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Procesos. Planificación del Procesador.

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

Más detalles

GENERACIÓN DE ANTICIPOS DE CRÉDITO

GENERACIÓN DE ANTICIPOS DE CRÉDITO GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos

Más detalles

Algorítmica y Lenguajes de Programación. Ordenación (i)

Algorítmica y Lenguajes de Programación. Ordenación (i) Algorítmica y Lenguajes de Programación Ordenación (i) Ordenación. Introducción A lo largo del curso hemos visto distintas formas de almacenar datos: Vectores. Matrices. Ficheros Listas (pilas y colas)

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

WINDOWS 2008 4: SERVIDOR DHCP

WINDOWS 2008 4: SERVIDOR DHCP 1.- CONCEPTOS PREVIOS: WINDOWS 2008 4: SERVIDOR DHCP DHCP (Dynamic Host Configuration Protocol = protocolo de configuración dinámica de host) es un protocolo que simplifica la configuración de los parámetros

Más detalles

Curso Completo de Electrónica Digital

Curso Completo de Electrónica Digital CURSO Curso Completo de Electrónica Digital Departamento de Electronica y Comunicaciones Universidad Pontifica de Salamanca en Madrid Prof. Juan González Gómez Capítulo 4 CIRCUITOS COMBINACIONALES 4.1.

Más detalles

Caravel Modernization Tool: Tipos de Proyectos. Caravel Modernization Tool: Tipos de Proyectos

Caravel Modernization Tool: Tipos de Proyectos. Caravel Modernization Tool: Tipos de Proyectos Caravel Modernization Tool: Tipos de s La familia Caravel Modernization Tool Caravel Modernization Insight es una utilidad perteneciente a la familia Caravel Modernization Tool. Esta familia, integrada

Más detalles

OPERACIONES EN RÉGIMEN DE COMPUESTA

OPERACIONES EN RÉGIMEN DE COMPUESTA OPERACIONES EN RÉGIMEN DE COMPUESTA Las operaciones en régimen de compuesta se caracterizan porque los intereses, a diferencia de lo que ocurre en régimen de simple, a medida que se van generando pasan

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

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. 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

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan [email protected]

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co Sistemas de archivos distribuidos Alvaro Ospina Sanjuan [email protected] >Abstracción del sistema operativo para representar y organizar los recursos de almacenamiento >Se debe hacer la

Más detalles

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso MICQ Facultad de Ingeniería, UBA. Junio 2002 Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35 Cátedra: Pablo Cosso Alumno: Diego Fernando Montaldo 75.300 1 de 1 Introducción Este documento

Más detalles

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido Tema 3 Medidas de tendencia central Contenido 31 Introducción 1 32 Media aritmética 2 33 Media ponderada 3 34 Media geométrica 4 35 Mediana 5 351 Cálculo de la mediana para datos agrupados 5 36 Moda 6

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores.

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores. UNIDAD TEMÁTICA 5: MULTIPROCESADORES. 15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores. 15-1 TEMA 15: ARQUITECTURA DE LOS MULTIPROCESADORES.

Más detalles

Sistema de Facturación de Ventas WhitePaper Enero de 2007

Sistema de Facturación de Ventas WhitePaper Enero de 2007 Sistema de Facturación de Ventas WhitePaper Enero de 2007 Ronda Guglielmo Marconi, 9 Parque Tecnológico 46980 Paterna Valencia Spain T +34 96 338 99 66 [email protected] Please Recycle PrefSuite Document

Más detalles

Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica. Base de Datos I. Maestra: Martha E. Evangelista Salazar

Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica. Base de Datos I. Maestra: Martha E. Evangelista Salazar Universidad de Colima Facultad de Ingeniería Mecánica y Eléctrica Base de Datos I Maestra: Martha E. Evangelista Salazar Introducción a los conceptos de Bases de Datos a).- Definiciones básicas sobre bases

Más detalles