Algoritmos y programación 3 - cátedra Fontela Concurrencia.

Slides:



Advertisements
Presentaciones similares
UNIVERSIDAD PRIVADA SAN PEDRO ESCUELA INGENIERIA CIVIL
Advertisements

TEMA 1 Introducción a la Programación Concurrente
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
1.3. PROGRAMACION PARALELA
Programación Interactiva Hilos
INTRODUCCIÓN A JAVA.
Java Applets Ing. Martín Jiménez.
Introducción a Programación Concurrente
Tema 1 Introducción a la programación (Lenguaje java).
Conceptos de Concurrencia
RMI (Remote Method Invocation)
Programación Concurrente DAI - UNSAAC.
Qué pasa cuando varios clientes tratan de conectarse al mismo teimpo a un servidor Una forma es ir atendiéndolos de a uno en un ciclo: como en el programa.
Tema 12: Programación multihilo
7a.1 Silberschatz, Galvin y Gagne ©2003 Sistemas Operativos 6ª edición Capítulo 7: Sincronización de procesos parte a.
Primer Programa en JAVA
Java. Threads (Hebras) Los sistemas operativos actuales permiten la multitarea, aunque esta se de tiempo compartido cuando se trabaja con un solo procesador.
Profesor: Miguel Angel Vidal
El patrón de diseño Proxy Raúl Heras Alberto Blasco José Manuel Arévalo.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Análisis y Diseño de Algoritmos
Concurrencia: interbloqueo e inanición
Un hilo es un único flujo de ejecución dentro de un proceso. Un proceso es un programa ejecutándose dentro de su propio espacio de direcciones. Los.
Concurrencia: Exclusión Mútua y Sincronización
Sistemas Operativos Procesos.
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
Invocación de Métodos Remotos RMI: Remote Method Invocation
Unidad III Administración de procesos
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Sincronización de Threads en Java Josep Joan.
Sistemas Concurrentes: programación concurrente
IET110 Sistemas Operativos P04: Exclusión Mutua Prof. Jonathan MakucSlide: 1.
INSTITUTO TECNOLOGICO SUPERIOR DE TAMAZUNCHALE INTEGRANTES: MAXIMO HERNANDEZ BAUTISTA CLAUDIA JIMENEZ PROCOPIO ANA LUZ RODRIGUEZ JONGUITUD LEONEL AQUINO.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
PROGRAMACION CONCURRENTE
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
Hilos En La Computación. (THREADS).
LENGUAJES DE PROGRAMACIÓN
Programación secuencial vs programación concurrente
Sistemas Concurrentes I.T. Informática de Sistemas Curso
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Programación secuencial vs programación concurrente
Paquetes e interfaces.
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
TEMA 2. Programación Concurrente
ICC243 Sistemas Operativos
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
Programación de Dispositivos Móviles “Conceptos de J2ME” Rogelio Ferreira Escutia.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Informática III 2009 Ing. Estela D'Agostino 1 Programación secuencial vs programación concurrente Pascal, C, Fortran, Cobol Secuenciales único hilo de.
INTRODUCCION A SISTEMAS OPERATIVOS
Algoritmos y Programación III
FLOR ALBA ACEVEDO COD JENNIFFER TATIANA TORRES COD
Interfaces y Clases Internas
CRUCIGRAMA HORIZONTALES: VERTICALES:
THREADS JAVA Ing. Esp. Ricardo Cujar. HILO Un hilo es un proceso que se está ejecutando en un determinado momento en el sistema operativo. Se les define.
Elementos y tipos de sistemas operativos
UNIVERSIDAD LATINA SOPORTE TECNICO SISTEMAS OPERATIVOS.
Hilos Java Profesor Elian Rojas Berrocal
SISTEMAS OPERATIVOS.
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
Diseño y Programación Orientados a Objetos1 Introducción a Java.
Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Tema 1: Concurrencia con Java
Objetos con linea de ejecucion propia
SISTEMAS OPERATIVOS JOSE ANGEL MORENO B. Ingeniero de Sistemas TP # Copnia Universidad Incca de Colombia CORPORACI Ó N UNIVERSITARIA REMINGTON.
Transcripción de la presentación:

Algoritmos y programación 3 - cátedra Fontela Concurrencia

A3F Concurrencia La Real Academia Española dice: Concurrencia. 1. f. Acción y efecto de concurrir. 2. f. Conjunto de personas que asisten a un acto o reunión. 3. f. Coincidencia, concurso simultáneo de varias circunstancias. En computación: Capacidad de los sistemas de realizar mas de una tarea al mismo tiempo

A3F Concurrencia Proceso Programa en ejecución Tiene recursos propios Hilo Subproceso Utiliza los recursos del proceso

A3F Tipos de concurrencia Multiprogramación Un solo procesador Multiprocesamieto Mas de un procesador Computación distribuida Los procesos corren en máquinas distintas

A3F Ademas... Varios procesos en paralelo Ej: Varias instancias de un programa Comparten recursos externos (archivos)‏ Varios hilos (multithreading)‏ Dentro del mismo proceso, mas de un hilo Comparten recursos externos e internos (objetos, clases)‏

A3F Usos Optimización de tiempos Operaciones de E/S son lentas Hago cosas “en background” mientras el usuario sigue trabajando. Ejemplo, eclipse compila todo el tiempo sin que yo tenga que dejar de escribir Diseño

A3F Concurrencia en Java Interfaz Runnable y clase Thread Manejada por la JVM Scheduler basado en prioridades

A3F Concurrencia en Java class Hilo extends Thread { public void run() { //codigo del hilo }... Hilo unHilo = new Hilo(); unHilo.start();//start invoca a run()‏...

A3F Concurrencia en Java class Hilo implements Runnable { public void run() { //codigo del hilo }... Thread t = new Thread(new Hilo()); t.start();...

A3F Concurrencia en C# public class Hilo { public void run() { //codigo del hilo }... Hilo unHilo = new Hilo(); Thread t = new Thread (new ThreadStart(unHilo.run)); t.start();

A3F Problemas de la concurrencia No-determinismo No tenemos control sobre el flujo de ejecución Recursos críticos No pueden ser accedidos por varios objetos al mismo tiempo Necesitamos exclusión mutua Semaforos Cerrojos Monitores

A3F Problemas de la concurrencia Deadlock (interbloqueo)‏

A3F Problemas de la concurrencia Starvation (inanición)‏ Proceso que nunca obtiene recursos Inversion de prioridades

A3F Ejercicios