Práctico 2. Sincronización

Documentos relacionados
distancia entre las ciudades: d =x (incógnita) x = x = 750 km

Fundamentos de programación

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Estatutos de Control C# Estatutos de Decisión (Selección)

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 5: Subcapa de acceso al medio

Materia: Matemática de Séptimo Tema: Las Fracciones y los Decimales

Estructuras de Control

Estructuras en LabVIEW.

MATEMÁTICAS GRADO DÉCIMO

Estructuras de control

Guía práctica de estudio 05: Diagramas de flujo

Representación de números enteros: el convenio exceso Z

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Notación Asintótica 2

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

Tablas de frecuencias con datos agrupados

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

b) Si el hexágono mide 50 metros de lado, cuántos animales se pueden poner en el zoológico como máximo?

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Elementos de un programa en C

Tema 4. Operadores y Expresiones

HP - UX. Qué es HP UX?

Criterios de divisibilidad

Lleve a casa lo juegos de matematicas a casa

Problema - Sumando Digitos

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:

Estructuras Repetitivas

Administración de procesos: Ejercicios de sincronización

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

Laboratorio 02: Ejercicios de programación en C

Estructuras de Repetición (Hacer-Mientras)

Concurrencia entre Procesos.

- Bajo que condiciones el algoritmo de planifiación de procesos FIFO (FCFS) resultaría en el tiempo de respuesta promedio más pequeño?

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) RESOLUCIÓN MCD (A; B) = C SEMANA 10 MCD - MCM. q = MCM( A;B) MCD ( A,B) = 7 1 MCD A,B = 7 1

Programación en java. Estructuras algorítmicas

4.- Leer tres números y escribirlos en orden decreciente

TEMA 4. ESTRUCTURAS DE CONTROL

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

El sistema está formado de un programa para Windows y un sitio de Internet llamado Transparencia.

ECUACIONES.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Concurso Escolar de Programación 2014

1. Introducción. Causas y Efectos de los cortocircuitos. 2. Protecciones contra cortocircuitos. 3. Corriente de Cortocircuito en red trifásica.

El problema de los Filósofos

1 SISTEMAS DE ECUACIONES LINEALES Y MATRICES

LENGUAJE DE PROGRAMACION UNO.

TEMA 4: LAS FRACCIONES

Corcheas y tresillos de corcheas en simultáneo

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

Arquitectura de Computadores. Apellidos, Nombre:

Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro

Compuertas Lógicas. Sergio Stive Solano Sabié. Agosto de 2012 MATEMÁTICA. Sergio Solano. Compuertas lógicas NAND, NOR, XOR y XNOR

MEDIDAS DE TENDENCIA CENTRAL O DE PRECISIÓN

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Ejercicios resueltos Visual Basic y.net con arrays (arreglos), Do While, For, mod, ficheros, Ubound. Cálculo serie numérica (CU00344A)

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

ESTRUCTURAS REPETITIVAS EN PHP

Suma de números enteros

LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE

Funciones básicas del depurador

EA Connector for Jira - Guía de Usuario

Normalmente, los programas son ejecutados de forma secuencial. Único flujo de control

Estructuras de control

Guía de ayuda en línea - Preguntas frecuentes V1.2

Tema: Excel Formulas, Funciones y Macros

Tema 3. Monitores Programación Concurrente

Tema 2 Introducción a la Programación en C.

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

EJERCICIOS PRACTICOS DE MICROECNOMIA: COMPORTAMIENTO DEL CONSUMIDOR.

INSTITUTO DE FORMACIÓN DOCENTE DE CANELONES DIVISIBILIDAD

Zapatero a tus zapatos

1.5 Límites infinitos

26.º OLIMPIADA NACIONAL JUVENIL DE MATEMÁTICA CUARTA RONDA DEPARTAMENTAL NIVEL 1 13 de setiembre de 2014

Estructuras de Decisión Simples y Dobles

Las fórmulas de Excel siempre comienzan por un signo igual (=) lo cual indica que los caracteres siguientes constituyen una fórmula.

RADIO =? R AREA = : πr 2 < CIRC = : 2 πr

TEMA 1 NÚMEROS NATURALES

ORGANIZACIÓN DE DATOS

CAPÍTULO 4 TÉCNICA PERT

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

fundamentos de programación (unidad 4) programación estructurada en Java

n-1 n (número del período)

Operadores de comparación

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

ELABORAR Y COMPARAR PROCEDIMIENTOS DE CÁLCULOS DE SUMA, RESTA MULTIPLICACIÓN Y DIVISION

Unidad 1 Los números de todos los días

4.1.- EXPRESIONES LOGICAS

CONJUNTO: Colección o agregado de ideas u objetos de cualquier especie.

Criterios de divisibilidad y Congruencias

Estructuras de Repetición (Repita para)

1 Sucesiones. Unidad 5. Secuencias numéricas ESO. Página 61

Introducción a la programación del robot moway

DEMOSTRACIONES VISUALES AUTORAS: PATRICIA CUELLO-ADRIANA RABINO Contenidos: Expresiones algebraicas - Identidades Propiedades de los números naturales

PROGRAMACION CONCURRENTE Y DISTRIBUIDA

Algoritmos y Programas

Los 3 pasos para conseguir clientes con las campañas de anuncios más exitosas en Facebook.

Transcripción:

Práctico 2. Sincronización 1. Dena a) Tareas b) Prioridades jas y dinámicas 2. Crear dos threads con prioridades jas iguales que impriman sucesivamente por la salida estándar, las palabras "Tiempo" y "Real" respectivamente. 3. Crear dos threads con prioridades jas que modiquen una variable entera global (inicialmente igual a 0), sumando 1 y restando 1 respectivamente. a) Prioridades iguales. 4. Dena b) Prioridades distintas. c) Analizar. a) Región Crítica b) Mutex c) Semáforos d) Variables de Condición 5. Sincronizar el acceso a un buer compartido de 12 lugares por parte de dos threads que se activan periódicamente cada 1000 milisegundos, donde uno establece un valor 0 (cada 100 milisengundos) en todo el buer y el otro un valor 1 (cada 100 milisengudos) en todo el buer. El objetivo es mantener invariante todo el hilo. a) Implementar b) Cuantos semáforos son necesarios? c) Quitar los semáforos y analizar el problema. 6. Sincronización múltiple: Se tienen los threads A, B y C. Todos los threads se ejecutan con un período de 150 milisegundos y al llegar a un punto en concreto de su ejecución no pueden seguir hasta que los otros dos procesos no hayan llegados a sus puntos de sincronización correspondiente. Suponer que desde su inicio hasta llegar al punto de sincronización: A tarda 10 milisegundos, B tarda 100 milisegundos y C tarda 20 milisegundos. 7. Implementar el problema del productor-consumidor sobre un buer circular FIFO. El productor, pone elementos en un buer siempre que haya lugar disponible, en caso contrario espera. El consumidor, consume elementos del mismo buer siempre que haya elementos disponibles, en caso contrario espera. 8. Existen cinco lósofos que emplean su tiempo entre la meditación y la comida. Se encuentran sentados en una mesa circular en cuyo centro hay un plato de arroz y disponen de 5 palillos situados en medio de cada dos de ellos. El principal problema radica en que para comer son necesarios dos palillos, con lo que no podrán comer todos los lósofos a la vez. Para resolver el problema correctamente, cada lósofo solo puede comer si se encuentran libres sus dos palillos adayacentes (aunque estuvieran libres los otros 3 palillos), y suponiendo, como es lógico, que el tiempo que dedica un lósofo a comer es limitado, también se puede pedir que ningún lósofo se muera de hambre.

a) Implementar suponiendo que, palillos[n] (tipo semáforo) filosofo(f ){ while(1){ wait(palillos[i]) //espera por el palillo izquierdo hasta conseguirlo wait(palillos[i + 1]) //espera por el palillo derecho hasta conseguirlo signal(palillos[i]) //libera el palillo izquierdo signal(palillos[i + 1]) //libera el palillo derecho b) Implementar suponiendo que: tipo_estado={comiendo, esperando_comer, meditando if or estado[j]=esperando_comer; else estado[j]=comiendo if estado[j + 1]=esperando_comer and estado[j + 2]<>comiendo if estado[j 1]=esperando_comer and estado[j 2]<>comiendo signal(espera[j 2]) ; c) Implementar suponiendo que tipo_estado={comiendo, esperando_comer, meditando

estado[j]=esperando_comer if estado[j + 1]<>esperando_comer or estado[j + 1]<>meditando or estado[j 1]<>esperando_comer or estado[j + 1]<>meditando else{ estado[j]=comiendo estado[j]=meditando if estado[j + 1]<>esperando_comer and estado[j + 2]<>comiendo if estado[j 1]<>esperando_comer and estado[j 2]<>comiendo signal(espera[j 2]) ; d) Implementar suponiendo que tipo_estado={comiendo, esperando_comer, meditando if and else{ estado[j]=comiendo estado[j]=meditando if (estado[j + 2]<>meditando or estado[j + 2]<>esperando_comer) and estado[j + 1]=esperando_comer

if (estado[j 2]<>meditando or estado[j 2]<>esperando_comer) and estado[j 1]=esperando_comer signal(espera[j 1]) 9. Sea la sucesión en que cada término es la suma de los dos anterios: a 1 = 0; a 2 = 1; a 3 = 1;... a i = a i-2 + a i-1. Para calcular las sumas parciales de los términos impares ( a 1 + a 3 + a 5 + a 7... ) de esta sucesión, tenemos dos tareas, SUCESION y SUMA. La primera calcula los términos de la sucesión y la segunda deberá calcular la suma de los términos impares. Ambas utilizan la variable compartida PASAR. 10. Implementar el problema de los lectores-escritores. Una base de datos es compartida por varios procesos, distinguiéndose entre ellos dos tipos: los lectores que sólo nquieren leer la base de datos, y los escritores que quieren actualizar dicha base. Obviamente, si dos o más lectores acceden a la base de forma simultánea no existirá ningún conicto, sin embargo, si un escritor y algún otro escritor o lector acceden a la base de datos de manera simultánea, entonces si puede producir conictos. Existen dos variantes: que se le de prioridad a los lectores frente a los escritores (los lectores solo esperaran cuando exista un escritor escribiendo), o que se le de prioridad a los escritores frente a los lectores (si un escritor está esperando ningún lector puede comenzar a leer). 11. Se tienen las siguientes tareas: A de prioridad 1 y con una duración de 30 useg. A los 10 useg ingresa en su región crítica, en la cual B de prioridad 2 y con una duración de 40 useg. A los 10 useg ingresa en su región crítica, en la cual utiliza un recurso Y. C de prioridad 3 y con una duración de 30 useg. A los 10 useg ingresa en su región crítica, en la cual La tarea C es la primera en iniciar a los 0 useg. A los 15 useg, da inicio la tarea B y 20 useg después, inicia la tarea A. Inplementar y explicar el resultado. 12. Se tienen las siguientes tareas: A de prioridad 1 y con una duración de 30 useg. A los 10 useg ingresa en su región crítica, en la cual B de prioridad 2 y con una duración de 40 useg. A los 10 useg ingresa en su región crítica, en la cual utiliza un recurso Y. C de prioridad 3 y con una duración de 30 useg. A los 10 useg ingresa en su región crítica, en la cual

La tarea C es la primera en iniciar en 0 useg. A los 15 useg, da inicio la tarea A y 15 useg después, inicia la tarea A. Inplementar y explicar el resultado. Comparar con el ejercicio 11.