Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Sistemas concurrentes: programación concurrente




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Cómo implementar la concurrencia
    El propio hardware
    multiprocesadores (máqs. de memoria compartida)
    sistemas distribuidos
    Multiprogramación
    No hay paralelismo. Los procesos se reparten el procesador: entrelazado (interleaving)
    ¿Quién planifica los procesos?
    el sistema operativo
    el propio ejecutable (gracias al compilador) -> runtime scheduler (RTSS)

    Monografias.com

    Planificadores
    Nuestro programa se ejecutará de manera diferente según la política de planificación empleada.
    Algunos programas funcionarán adecuadamente con un planificador, pero con otros pueden fracasar.

    Monografias.com

    “Granularidad” del paralelismo
    ¿cuáles son las acciones que se pueden ejecutar en paralelo?
    instrucciones de máquina
    sentencias de un lenguaje de programación
    objetos concurrentes dentro de un programa
    programas ejecutables completos
    Grano fino –> grano grueso
    Cada ‘grano’ propicia unas herramientas y técnicas de programación diferentes

    Monografias.com

    La abstracción de la programación concurrente

    Monografias.com

    Abstracción de la concurrencia
    Nuestro programa expresa acciones concurrentes (procesos o hilos), pero éstas no tienen por qué ejecutarse en paralelo.
    Cada proceso concurrente se ejecuta sobre un procesador virtual.
    El compilador y el s.o. serán responsables de ejecutar nuestros procesos como consideren más oportuno.

    Monografias.com

    Procesadores virtuales
    Supondremos que nuestro programa concurrente consiste en un conjunto de procesos secuenciales que se ejecutan en paralelo, cada uno de ellos corriendo sobre un procesador virtual.
    Nos deben dar igual las velocidades relativas de los procesadores virtuales.

    Monografias.com

    Orden parcial -> no determinismo
    La programación secuencial define un orden total de las instrucciones
    Un programa concurrente define un orden parcial de ejecución
    El orden parcial implica el no determinismo de los programas concurrentes

    Monografias.com

    No determinismo
    Un programa secuencial es determinista:
    si se le presenta el mismo conjunto de datos de entrada, siempre producirá la misma salida.
    Un programa concurrente es no determinista:
    un mismo conjunto de datos de entrada puede producir diferentes datos de salida, según el orden de ejecución de los procesos.

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter