SOLUCIONES A ALGUNOS DE LOS EJERCICIOS DE SINCRONIZACION Y COMUNICACION ENTRE PROCESOS

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

Download "SOLUCIONES A ALGUNOS DE LOS EJERCICIOS DE SINCRONIZACION Y COMUNICACION ENTRE PROCESOS"

Transcripción

1 SOLUCIONES A ALGUNOS DE LOS EJERCICIOS DE SINCRONIZACION Y COMUNICACION ENTRE PROCESOS 1. Con las tres llamadas create, suspend, y resume, la estructura del programa sería la siguiente: process recoger; process guardar; process calcular; suspend(); suspend(); suspend(); suspend(); guardar*; suspend(); recoger*; resume(pid1); calcular*; resume(pid2);... resume(pid1); resume(pid3); resume(pid4); process imprimir; pid1 = create("recoger"); suspend(); pid2 = create("guardar"); imprimir*; pid3 = create("calcular"); resume(pid3); pid4 = create("imprimir");... resume(pid1); resume(pid1); resume(pid3); Esta solución presupone que las llamadas a resume() siempre tienen un correspondiente suspend() que las espera. En un sistema operativo si se hace una llamada para reanudar un proceso que no está suspendido el efecto es normalmente nulo. Pero si esto tuviera lugar en este programa ocasionaría la pérdida de señalizaciones con los correspondientes fallos de precedencia, y su funcionamiento sería incorrecto. Si suponemos que resume() devuelve un valor TRUE o FALSE dependiendo de si ha reanudado o no efectivamente el proceso que pretendía, podrían suplirse todas las llamadas a resume() por while (! resume(pid i )) { ; pero aunque de este modo la lógica del problema estaría correctamente resuelta, sería a costa de pérdida de eficacia de la solución al introducir bucles de reanudaciones que consumen tiempo de UCP sin hacer trabajo útil. S1. a) Es segura, sin interbloqueo, y con posible aplazamiento indefinido.. Basta para ello advertir que inicialmente los valores de las variables c (global), d de p1 (local) y e de p2 (local) que intervienen en la negociación del acceso a la sección crítica forman la tripleta (1,0,0) y que las únicas operaciones que se efectúan son intercambios indivisibles sin modificación de valores. Por tanto los valores que se pueden alcanzar son: (1,0,0) ==> p1 y p2 están fuera de sus Secciones Críticas (0,1,0) ==> p1 está en su Sección Crítica, y p2 está fuera de la suya (0,0,1) ==> p1 está fuera de su Sección Crítica y p2 dentro de la suya Luego la exclusión mutua es segura. Para producirse interbloqueo deberían alcanzarse los valores (0,0,0): ambos procesos fuera y sin posibilidad de entrar, lo cual no es posible. El aplazamiento indefinido es posible puesto que no hay ningún mecanismo que impida que los valores estén oscilando entre (1,0,0) y (0,1,0), por ejemplo, sin dar opción a p2 a pasar a su sección crítica. b) La generalización a n procesos es inmediata. Sólo hay que repetir el esquema de cualquiera de los procesos p1 o p2 el número de veces que haga falta, para negociar la exclusión mutua con un (n+1)-tuple de valores de los cuales uno vale 1 y el resto 0. c) Si XCHG no fuera indivisible ya no se aseguraría la existencia invariante de uno y sólo un 1, y ello podría ocasionar fallos de exclusión mutua (ej. (0,1,1)) e interbloqueos (ej.(0,0,0)). 1

2 S3. a) Definición original con cola de espera WAIT: if (s == 0)) suspender en s.q; else s = s - 1; SIGNAL: if (! s.q vacía) reanudar un proceso de s.q; else s = s + 1; Definición alternativa con cola de espera WAIT: s := s - 1; if (s < 0)) suspender en s.q; SIGNAL: if (! s.q vacía) reanudar un proceso de s.q; {punto de interrupción s := s + 1; La operación de decremento juntamente con la comprobación del valor de s debe formar un todo indivisible en la operación wait. Para la operación signal basta que sean indivisibles separadamente la operación de reanudación condicional y la de incremento. b) El valor negativo indica Ocupado con operación de espera (wait) en curso y, en el caso de implementación con cola de espera, el numero de procesos que han pasado a esperar desde la última señalización c) Sí afecta a SIGNAL. Hace que el incremento del valor del semáforo se haga siempre y no solo en el caso de que no haya ningún proceso esperando en cola. Otra posibilidad: Siendo P b (s) y V b (s) las operaciones de espera y señalización sobre semáforos binarios, es decir, P b (s) while (s == 0) { ; y V b (s) s = 1; definimos wait(s) : P b (mutex) s = s - 1; if (s < 0) { V b (mutex); P b (retardo) V b (mutex); signal(s): Pb(mutex) s = s + 1; if (s <= 0) V b (retardo) else V b (mutex); S5. Declaraciones globales sem_t sillon, afeitado; mutex_t mutex; int sillas; boolean esperando; const int MAX = 5; Procesos Barbero() Cliente() 2

3 lock(mutex); if (sillas == 0) { esperando = TRUE; unlock(mutex); wait(sillon); unlock(mutex); esperando = FALSE sillas = sillas-1; unlock(mutex); Afeitar; post(afeitado); lock(mutex); if (sillas < MAX) { sillas = sillas+1; if (esperando) post(sillon); unlock(mutex); wait(afeitado); else unlock(mutex); Inicialización (programa principal): sillas = 0; esperando = FALSE; sem_init(sillon, 0); sem_init(afeitado, 0); mutex_init(mutex); Barbero(); Clientes() //tantas instancias de Cliente como se precise S5. Posible segunda solución. - Funciona? Barbero Clientes wait (sala); lock (mutex); lock (mutex); if (sillas < MAX) { sillas = sillas-1; unlock (mutex); post (sala); post (afeitando); sillas = sillas+1; Afeitar unlock (mutex); wait (afeitando) else unlock (mutex) Inicialización: sillas = 0; sem_init (afeitando, 1); sem_init (sala, 0); // sala, semáforo general mutex_init (mutex); Barbero(); Clientes(),...; S7. (a) El proceso LEER hace usos de dos procedimientos: leetarjeta (car) que lee un tarjeta de 80 columnas y rellena el array car de 80 caracteres put(buf, car) que coloca el carácter car en la posición siguiente del buffer ilimitado buf El proceso MODIFICAR hace uso de dos procedimientos get(buf, car) que toma el siguiente carácter del buffer ilimitado buf y lo asigna a car 3

4 put(buf, car) Si el buffer esta vacío se queda esperando El proceso IMPRIMIR hace uso de dos procedimientos get(buf, car) imprime(línea) que saca a la impresora el array línea de 125 caracteres Si los buffers los definimos así: typedef struct buffer { int indent, indsal; char elementos[infinito]; sem_t contador; BUFFER; los procedimientos get() y put() serán: get(buffer buf; char car) { wait(buf.contador); car = buf.elementos[buf.indsal] buf.indsal = buf.indsal + 1; put(buffer buf:; char car) { buf.elementos[indent] = car; buf.indent = buf.indent + 1; post(buf.contador); y los procesos quedarían básicamente de la siguiente forma, comunicados a través de dos buffer infinitos buf1 y buf2: Leer: i=0; while (! eof) { leetarjeta (car); for (i=0; i<80; i++) put(buf1,car[i]); put(buf1,' ') put(buf1,eof); Modificar: get(buf1, car1); while (! eof) { get(buf1,car2); if ((car1=='*') && (car2=='*')) { ristra = TRUE; put(buf2,'/'); else if (ristra) ristra = false; else put(buf2, car1); car1=car2; if (! ristra) put(buf2,car) Imprimir: i=0; while (! eof) { get(buf2,car); linea[i]=car; i=i+1; if (i == 125) { imprime(linea); i=0; if (i!= 0) imprime(linea); S8. (b) // program PCconCE; {productor/consumidor con cuenta de eventos const int n = 5; contadores producido, consumido; elementos deposito[n]; void PRODUCTOR(int id) { int ip; ip = 0; await(consumido, ip-n); deposito[ip % n] := producir(); ip = ip+1; advance(producido); 4

5 void CONSUMIDOR(int id) { int ic; ic = 0; await(producido, ic); consumir(deposito[ic % n]); ic = ic+1; advance(consumido) main() { initial_event(producido,0); initial_event(consumido,0); PRODUCTOR(0); CONSUMIDOR(0);. MVC1. Una posible solución a este problema, con semáforos, es la siguiente: // Program Fumadores; sem_t ingrediente[3]; sem_t s[6]; mutex mutex ; sem_t sem; int t; void Agente() { int i, j; end; i = random(2) + 1; j = i; while (j == i) j = random(2) + 1; wait(sem); post(ingrediente[i]); post(ingrediente[j]); end; void Ayuda(int id) { void Fumador(int id) { const int incr[3] = {1,2,4 const int nec[3] = (6,5,3); wait(ingrediente[id]); wait(s[nec[id]]); lock(mutex); t = 0; t = t + incr[id]; post(sem); post(s[t]); --- FUMA --- unlock(mutex); 5

6 main() { t = 0; sem_init(sem, 1); mutex_init(mutex, 1); Agente(); Ayuda(0);Ayuda(1); Ayuda(2); Fumador(0);Fumador(1);Fumador(2);. mutex se encarga de forzar la exclusión mutua al operar con t sem (Agente espera y Fumador[ ] señala) : permite que Agente saque un nuevo par de ingredientes t acumula los identificadores de hasta 2 ingredientes Resuelto con mutexes y variables condicionales // Program Fumadores; struct ingredientes {boolean tabaco,cerillas,papel; = {FALSE,FALSE,FALSE mutex_t ingr_mutex; cond_t ingr_cond; void Agente() { int i, j; i = random(2) + 1; j = i; while (j == i) j = random(2) + 1; lock (ingr_mutex) while (tabaco cerillas papel) wait(ingr_cond2, ingr_mutex) tabaco = (i == 0) (j == 0); cerillas = (i == 1) (j == 1); papel = (i == 2) (j == 2); broadcast(ingr_cond1); unlock (ingr_mutex) void FumadorTC() { lock(ingr_mutex); while (!(tabaco && cerillas)) wait(ingr_cond1, ingr_mutex); tabaco = FALSE; cerillas = FALSE; signal(ingr_cond2); unlock(ingr_mutex); --- FUMA --- void FumadorPC() { semejante a Fumador TC pero con papel y cerillas void FumadorTP { semejante a Fumador TC pero con tabaco y papel main() { 6

7 MVC4. // programa ascensor Fichero CONTROL.c Agente(); FumadorTC(); FumadorPC(); FumadorTP(); const int Npisos = 10; cond_t Petpisos[Npisos], aviso; int NpetPiso[Npisos]; mutex_t ctrlme; int piso_actual=1, piso_nuevo=-1, peticiones=0; void PulsarBoton(int piso) { lock(ctrlme); signalc(aviso); peticiones = peticiones+1; NpetPiso[piso]++; waitc(petpisos[piso],ctrlme); NpetPiso[piso]--; unlock(ctrlme); void EsperarPeticiones() { lock(ctrlme); if (peticiones == 0) waitc(aviso,ctrlme); unlock(ctrlme); void ElegirMasCercano(int& dist) { int i; boolean sigue; lock(ctrlme); i= 0; sigue = TRUE; while ((i <= Npisos) && sigue) { if ((piso_actual+i <= Npisos) && (NpetPiso[piso_actual+i]>0)) { piso_nuevo = piso_actual+i; dist = i; sigue = FALSE; else if ((piso_actual-i > 0) && (NpetPiso[piso_actual+i]>0)) { piso_nuevo = piso_actual -i; dist = -i; sigue = FALSE; i = i + 1; unlock(ctrlme); void SubirBajar() { lock(ctrlme); while (NpetPiso[piso_nuevo])>0) { signal(petpisos[piso_nuevo]); peticiones = peticiones-1; 7

8 piso_actual = piso_nuevo unlock(ctrlme); void pasajero() { int origen, destino; origen = random(npisos)+1; PulsarBoton(origen); do { destino = random(npisos)+1 while (destino == origen); PulsarBoton(destino); origen = destino; sleep(random(10)); void servidor() { integer dist, EsperarPeticiones; ElegirMasCercano(dist); sleep(abs(dist)); SubirBajar; main() { servidor; pasajero();pasajero();pasajero();...; MVC5. La definición de las operaciones P (wait) y V (signal) para semáforos acotados son las siguientes: P(s): while (s <= 0) { s := s - 1; V(s): while (s >= smax) { s := s + 1; El monitor que fuerza este comportamiento es el siguiente: Fichero (monitor) Sa const int smax = N, sem[ns]; cond_t c, d; mutex_t Saem void P(int s) { lock(saem); while (sem[s] <= 0) wait(c,saem); 8

9 sem[s]--; signal(d); // if (sem[s] < smax) signal(c); unlock(saem); void V(int s); lock(saem); if (sem[s] >= smax) wait(d, Saem); sem[s]++; signal(c); // if (sem[s] > 0) signal(c); unlock(saem); MVC6. Fichero (monitor) LyE { int nlect=0, Lesp=0, Eesp=0; bool ocupado=false; cond_t condl, conde; mutex_t LyEem; void IniciarL () { if (ocupado (Eesp > 0)) { Lesp = Lesp+1; wait(condl,lyeem); Lesp = Lesp-1; nlect = nlect+1; signalc(condl); void IniciarE() { if (ocupado (nlect!=0) { Eesp = Eesp+1; wait(conde,lyeem); Eesp = Eesp-1; ocupado = TRUE; void AcabarL() { nlect = nlect-1; if (nlect == 0) signal(conde); void AcabarE() { ocupado = FALSE; if (Lesp > 0) signal(condl); else signal(conde); Otra solución, si se dispone de la función empty(cola) que devuelve un valor lógico true o false: Fichero (monitor) LyE { int nlect=0; boolean ocupado=false; cond_t condl, conde; mutext_t LyEem; 9

10 void IniciarL() { if (ocupado!empty(conde)) wait(condl, LyEem); nlect = nlect+1; signal(condl); void IniciarE; if (ocupado (nlect!= 0)) wait(conde, LyEem); ocupado = TRUE; void AcabarL() { nlect = nlect-1; if (nlect == 0) signal(conde); void AcabarE() { ocupado = FALSE; if (!empty(condl)) signal(condl); else signal(conde); MVC7. // programa Filosofos; Fichero(monitor) Mpalillos int Palillos[5]={2,2,2,2,2 // rango 0..2; cond_t OK_Comer[5]; mutex_t Mpalem; int j; void Coger_Palillos (int i){ lock(mpalem); while (Palillos[i]!= 2) wait(ok_comer[i],mpalem); Palillos[(i+1) % 5] = Palillos[(i+1) % 5] - 1; Palillos[(i-1) % 5] = Palillos[(i-1) % 5] 1 unlock(mpalem); void Soltar_Palillos (int i) { lock(mpalem); Palillos[(I+1) % 5] = Palillos[(I+1) % 5] + 1; Palillos[(I-1) % 5] = Palillos[(I-1) % 5] + 1; signal(ok_comer[(i+1) % 5]); signal(ok_comer[(i-1) % 5]); unlock(mpalem); // MPalillos. void Filosofo (int i) { Pensar; Comer; Coger_Palillos(i); Soltar_Palillos(i); 10

11 main() { Filosofo(0); Filosofo(1); Filosofo(2); Filosofo(3); Filosofo(4); Demostración de la no existencia de interbloqueo: Si hubiera interbloqueo, nadie estaría comiendo SUMA (Palillos[]) = 10 todos están en espera SUMA (Palillos[]) <= 5 lo cual, evidentemente, es una contradicción. Puede existir aplazamiento indefinido al no haber una política que controle la actuación de los filósofos, por lo cual dos de ellos inmediatamente no consecutivos pueden cooperar para impedir la entrada a comer del filósofo intermedio. ME1. Basta sustituir wait por receive(mutex,msg) y signal por send(mutex, null) Lector receive(mutex, msg); nlect = nlect + 1; if (nlect == 1) receive(escr, msg); send(mutex, null); LEER receive(mutex, msg); nlect = nlect - 1; if (nlect == 0) send(escr, null); send(mutex, null); Otro proceso; Escritor: receive(escr, msg); ESCRIBIR; send(escr, null); Otro_proceso inicialización nlect = 0; send(mutex, null); send(escr, null); lectores; escritores; ME2. a) Mira alternativamente en cada buzón cada cierto tiempo boolean mirar(buzon, &msg) { receive(buzon, m); if (m!=null) {msg=m;return TRUE else {send(buzon, null); return FALSE; while (mirar(m1,msg)) procesar(msg); while (mirar(m2,msg)) procesar(msg); sleep(rato); b) Emplea un proceso separado para atender a cada buzón y se comunica con ellos a través de un buzón común P1: receive(m1,msg);send(miym2, msg); P2: receive(m2,msg);send(miym2, msg); receive(m1ym2, msg); procesar(msg); 11

12 Nota: el mensaje null enviado en el apartado a) debe tener la menor prioridad posible, para garantizar que siempre es el último del buzón. 12

Mensajes. Interbloqueo

Mensajes. Interbloqueo CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose

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

El problema de los Filósofos

El problema de los Filósofos El problema de los Filósofos Problemas de Programación Concurrente Solución con Semáforos Para evitar una situación de interbloqueo se limita el número de filósofos en disposición de comer a 4. PROGRAM

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

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

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 3: Concurrencia de procesos

Tema 3: Concurrencia de procesos Tema 3: Concurrencia de procesos Yolanda Blanco Fernández yolanda@det.uvigo.es Concurrencia, Tiempo Real y Paralelismo Concurrencia: Convivencia de un conjunto de procesos en un mismo ordenador. Sistemas

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

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

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

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

Sistemas Operativos Práctica 4

Sistemas Operativos Práctica 4 Sistemas Operativos Práctica 4 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 detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio

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

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente: (3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores

Más detalles

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Tema 5 Sentencias de control de flujo. Fundamentos de Informática Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobación

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

Implementación de monitores POSIX

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

Más detalles

Problemas de Redes de Computadores. Conjunto de problemas 1

Problemas de Redes de Computadores. Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde la dirección IP 130.206.1.1,

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

Mensajes. (versión preliminar)

Mensajes. (versión preliminar) Mensajes (versión preliminar) Ejemplo: productor/consumidor con buffer de tamaño 0 void produce(item *p_it); void consume(item *p_it); int nmain() { ntask cons= nemittask(consproc); ntask prod= nemittask(prodproc,

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

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

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda Prof. Elías Cisneros. Lenguaje C++ Contadores y Acumuladores Usted es libre de: * Copiar, distribuir y comunicar públicamente

Más detalles

Examen de Fundamentos de sistemas distribuidos

Examen de Fundamentos de sistemas distribuidos Examen de Fundamentos de sistemas distribuidos Tiempo total: 2 horas Problema: Programa: Rendezvous con semáforos(5 puntos) Utilizando como único mecanismo de sincronización los semáforos descritos en

Más detalles

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante) 1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los

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

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 3: Comunicación entre tareas. Modelo productor / consumidor. Objetivos Implementar una aplicación en Java en la que existan

Más detalles

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005 Ingeniería Superior de Informática. Curso º. Sistemas Operativos. Examen Final. TEORÍA. de Enero de 005 Nombre: DNI:. ( puntos). La TFA es la tabla que, en UNIX, guarda los punteros de posición de cada

Más detalles

Práctica 2: Simón dice

Práctica 2: Simón dice Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia

Más detalles

Contenidos. Archivos en C++ Archivos en C++ Introducción

Contenidos. Archivos en C++ Archivos en C++ Introducción Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,

Más detalles

Problema 1 (3 puntos)

Problema 1 (3 puntos) Examen parcial de Sistemas Operativos, 30 de Abril de 2004. Segundo curso de Ingenierías Técnicas de Informática de Sistemas y de Gestión, URJC. Contesta cada pregunta en una hoja separada. No olvides

Más detalles

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C

Más detalles

Estructuras de repetición hacer-mientras y repita hasta

Estructuras de repetición hacer-mientras y repita hasta Estructuras de repetición hacer-mientras y repita hasta Programación 1 Cátedra de Programación Departamento de Computación Escuela de Ingeniería de Sistemas Hacer mientras Diagrama de flujo Acciones S1

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

PAGOS DOMICILIADOS - GESTIÓN DE PAGOS PAGOS DOMICILIADOS Y GESTIÓN DE PAGOS

PAGOS DOMICILIADOS - GESTIÓN DE PAGOS PAGOS DOMICILIADOS Y GESTIÓN DE PAGOS PAGOS DOMICILIADOS Y GESTIÓN DE PAGOS 1 INDICE GESTIÓN DE PAGOS DOMICILIADOS 3 Incorporar beneficiarios manualmente 4 Anulación de pagos domiciliados o gestión de pagos 7 Importar beneficiarios de un fichero

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

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006 ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los

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

Sistema de Liquidación Directa Manual del Servicio de Comunicación de Datos Bancarios

Sistema de Liquidación Directa Manual del Servicio de Comunicación de Datos Bancarios Sistema de Liquidación Directa Manual del Servicio de Comunicación Subdirección General de Afiliación, Cotización y Gestión del Sistema RED Julio de 2015 INDICE 1 Servicio de Comunicación... 4 1.1 Introducción...

Más detalles

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Competencias IIC1103 Introducción a la Programación (I/2010) Interrogación 1 13 de Abril de 2010

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

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO) EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO) Luis José Sánchez 1. Realiza un programa que sume los 100 números siguientes a un número entero y positivo introducido por teclado. Se debe

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

Cierre y Apertura de ejercicio. Gestión - Contabilidad

Cierre y Apertura de ejercicio. Gestión - Contabilidad Cierre y Apertura de ejercicio. Gestión - Contabilidad Cliente : Cooperativa Madrileña de Ferreteros, soc. coop. Referencia : I-3-PC-02 / 000041 Asunto : Cierre y apertura de ejercicio. Gestión Contabilidad

Más detalles

Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009

Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 1. [PROCESOS] a) Considerar el siguiente código: void main() { int j=10; pid_t pid; for (int i=0; i

Más detalles

Informática I. While & do While

Informática I. While & do While Asignatura: Informática I Trabajo práctico Nº5 While & do While Estructura repetitiva MIENTRAS o while En C la sentencia while (condición o expresión) instrucciones; es seguramente la más utilizada. La

Más detalles

MANUAL DE AYUDA PARA LA IMPORTACIÓN DE DATOS AL LIBRO REGISTRO DE OPERACIONES ECONÓMICAS

MANUAL DE AYUDA PARA LA IMPORTACIÓN DE DATOS AL LIBRO REGISTRO DE OPERACIONES ECONÓMICAS Se ha incorporado al programa de ayuda del Libro Registro de Operaciones Económicas publicado por la Diputación Foral de Bizkaia un módulo que permite realizar la importación de los registros de dicho

Más detalles

Práctica 8: Barreras

Práctica 8: Barreras Arquitectura y Tecnología de Computadores 14 de febrero de 2014 Objetivos Aprender a utilizar las variables condición y las barreras de la biblioteca Pthreads. Diseñar e implementar una barrera: Barrera

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

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

Manual de Usuario. XCPDriver

Manual de Usuario. XCPDriver Manual de Usuario XCPDriver Manual del software de control XCPDriver 1. INTRODUCCIÓN... 2 2. AÑADIR TERMINALES... 2 3. PROCESOS... 3 4. TRANSFIRIENDO FICHAJES... 4 5. PROGRAMANDO TARJETAS... 4 6. MUESTREO

Más detalles

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

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

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

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador

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

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

TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8.

TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro,

Más detalles

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas Ejercicios Tema 4 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero Jose A. Iglesias Martínez Jose Luis Mira SOLUCIONES 1. Escriba un programa en C que

Más detalles

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón. 11. RECIBOS. Desde esta opción de Menú vamos a completar el proceso de gestión de los diferentes tributos, generando recibos, informes de situación, impresiones, etc. 11.1. GENERACIÓN DE RECIBOS. Una vez

Más detalles

NemoTPV SAT Manual de usuario 1. NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL

NemoTPV SAT Manual de usuario 1. NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL NemoTPV SAT Manual de usuario 1 NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL NemoTPV SAT Manual de usuario 2 Ante un problema, lo importante no es saber solucionarlo,

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

Más detalles

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa Documentos de Proyecto Medusa Documentos de: Serie: Manuales Servicio de Alta, Baja, Modificación y Consulta del documento: Fecha 22 de febrero de 2007 Preparado por: José Ramón González Luis Aprobado

Más detalles

Bibliotecas Escolares. Perfil de Lector.

Bibliotecas Escolares. Perfil de Lector. Bibliotecas Escolares. Perfil de Lector. 2012 Como usuario Lector de AbiesWeb, podrás acceder al catálogo de fondos, solicitar reservas, ver tus préstamos activos, ver el historial de tus lecturas, escribir

Más detalles

4 Pruebas y análisis del software

4 Pruebas y análisis del software 4 Pruebas y análisis del software En este capítulo se presentan una serie de simulaciones donde se analiza el desempeño de ambos sistemas programados en cuanto a exactitud con otros softwares que se encuentran

Más detalles

Manual del Usuario. Sistema de Help Desk

Manual del Usuario. Sistema de Help Desk Manual del Usuario Sistema de Help Desk Objetivo del Manual El siguiente manual tiene como objetivo proveer la información necesaria para la correcta utilización del sistema Help Desk. Describe los procedimientos

Más detalles

Examen de Fundamentos de sistemas operativos

Examen de Fundamentos de sistemas operativos Examen de Fundamentos de sistemas operativos Tiempo total: 2 horas. Problema: Implementación de canales con Rendez (monitores) Implemente canales con buffering para enteros mediante variables condición

Más detalles

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,

Más detalles

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO MARCEL SANTOS ARIEL MARTINEZ AGUILAR GILBERTO. MATERIA: ESTRUCTURA

Más detalles

ADEUDOS DOMICILIADOS SEPA ERP Microsa

ADEUDOS DOMICILIADOS SEPA ERP Microsa ADEUDOS DOMICILIADOS SEPA Fecha revisión: 02/12/2013 1. Introducción normas SEPA A partir del 1 de febrero de 2014 serán obligatorios los pagos SEPA conforme al Reglamento UE nº 260/2012 de 14 de marzo

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

Manual del Usuario Inscripción de Proyectos al Fondo de Fomento Formulario On-line

Manual del Usuario Inscripción de Proyectos al Fondo de Fomento Formulario On-line Manual del Usuario Inscripción de Proyectos al Fondo de Fomento Formulario On-line Índice Pantallas de inscripción...2 Pantalla de ingreso - Login (index.htm):...2 Mensajes de Error...2 Pantalla de inscripción

Más detalles

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) APRENDERAPROGRAMAR.COM OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Manual del módulo TRAZABILIDAD EUROWIN 8.0 SQL BALANCES CONTABLES

Manual del módulo TRAZABILIDAD EUROWIN 8.0 SQL BALANCES CONTABLES Manual del módulo TRAZABILIDAD EUROWIN 8.0 SQL BALANCES CONTABLES 1 Documento: docew_balancescontables Edición: 03 Nombre: Balances contables de Eurowin 8.0 SQL Fecha: 29-01-2010 Tabla de contenidos 1.

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

Activación de un Escritorio Remoto

Activación de un Escritorio Remoto Activación de un Escritorio Remoto La activación de un Escritorio Remoto se realiza en dos fases, en la primera se habilita a un Usuario de un ordenador para que pueda admitir una conexión remota, la segunda

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

Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4

Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 Pág.1 Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 1. Ejercicio 1: Cálculo Financiero (5 ptos.) Desde un banco se le ha encargado

Más detalles

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays

Más detalles

Tema 2: La clase string

Tema 2: La clase string : string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen

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

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

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda

Más detalles

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014)

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014) Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014) Pantalla general de acceso Desde ella se accede a las diferentes convocatorias para poder completar y enviar las solicitudes.

Más detalles

4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA

4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA 4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA Una ecuación con una incógnita es de segundo grado si el exponente de la incógnita es dos. Ecuaciones de segundo grado con una incógnita son: Esta última ecuación

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Versión 2.01. Página 2 de 29

Versión 2.01. Página 2 de 29 Versión 2.01 Página 2 de 29 Índice Instalación del dispositivo... 4 Protección de CashDro... 4 Configuración de CashDro... 5 Monedas / billetes... 6 Billetes... 6 Monedas... 6 Alertas... 7 Más Opciones...

Más detalles

Ejemplo de tipo fijo CALCULADOR CONTABLE

Ejemplo de tipo fijo CALCULADOR CONTABLE CALCULADOR CONTABLE Ejemplo de tipo fijo Supongamos un préstamo de 100.000 concedido el 05/10/2008 a devolver en 120 mensualidades iguales, siendo la primera el 5/11/2009. El préstamo se concedió a un

Más detalles

Segunda práctica de Programación 2

Segunda práctica de Programación 2 Segunda práctica de Programación 2 La segunda práctica consistirá en el diseño y posterior implementación como proyecto de Netbeans de dos versiones sobre el mismo problema. El tema central de ambas versiones

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 7

Estructura de datos y de la información Boletín de problemas - Tema 7 Estructura de datos y de la información Boletín de problemas - Tema 7 1. Un concesionario de coches tiene un número limitado de M modelos, todos en un número limitado de C colores distintos. Cuando un

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Carné: Nombre: Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1. INTRODUCCIÓN... 1 Pag.1 1.1 EJERCICIO1: CÁLCULO DEL IMC (3.0 PTS.)... 1 1.2 EJERCICIO2: OPERADOR VIRTUAL DE

Más detalles

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.

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