Procesos Concurrentes

Slides:



Advertisements
Presentaciones similares
Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
Advertisements

Profesor: Rodrigo Sanhueza Figueroa
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Unidad 2 – Gestión de Procesos
Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO.
COMPUTACION PARALELA GLORIA PATRICIA FLOREZ ANGIE PAOLA ANCHICO.
Procesos y Sincronización. Proceso Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:  Las instrucciones.
Resumen de Sistemas Operativos I Msc./Ing. Antonio Mena.
UNIVERSIDAD NACIONAL DE HUANCAVELICA. EVOLUCIÓN HISTÓRICA DE SISTEMA OPERATIVO 1ª GENERACIÓN ( ):  Sistema operativo: constituye como un conjunto.
INTRODUCCION A LOS SISTEMAS DE COMPUTO ARQUITECTURA VON NEUMAN Ing. David Gonzalez.
Repaso.
Semáforos y Comunicación entre Procesos
Generalidades. Introducción a los procesos
Proceso: Una instancia de un programa en ejecución
SISTEMAS OPERATIVOS Sistema de Archivos.
Programación Concurrente y Paralela (PCyP) Dr
Hardware de Computador
Descripcion y control de procesos
Antonio Reynoso Lobato 2002 A
Mecanismos de Comunicación usando Paso de Mensajes
SISTEMAS OPERATIVOS PARALELOS Y MULTIPROCESADORES RICHARD GIOVANI MEDINA ESTEBA.
Planificación de Procesos
L.I. Gerardo Ortiz Rivera
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
Exclusión mutua de secciones
Paul Leger Procesos Paul Leger
Planificación de uso del procesador
L.I. Gerardo Ortiz Rivera
Universidad Abierta Interamericana Ingeniería en Sistemas Informáticos
UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA ESCUELA PROFESIONAL DE INGENIERIA DE COMPUTACION Y SISTEMAS TRANSACCIONES Integrantes: Cancho Ramirez Kiara Angulo.
SISTEMAS DISTRIBUÍDOS
Ayudantía 3: Procesos y threads
PROCESOS COMENZAR.
Salvador Arteaga Gracia
DISPOSITIVOS DE E/S IU Colegio Mayor del Cauca Sistemas operativos Popayán, mayo de 2015.
SISTEMAS OPERATIVOS APRENDICES Diana Carolina Chacón
L.I. Gerardo Ortiz Rivera
Concurrencia..
– GESTIÓN DE PROCESOS Sistemas Operativos. AGENDA Concepto de Proceso Planificación de Procesos Operaciones entre Procesos Comunicación interprocesos.
La escritura de programas que interactúen directamente con los componentes hardware de un computador es una tarea bastante tediosa. Por otra parte, si.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
L.I. Gerardo Ortiz Rivera
Capítulo 3: procesos.
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
Concurrencia: exclusión mutua y sincronización Capítulo 5.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
Estructura de los Sistemas Operativos Alumna:Arratea Almeyda Aracelli.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Concepto:La memoria RAM (Random Access Memory) o memoria de acceso aleatorio es un componente físico de nuestro ordenador, generalmente instalado sobre.
1 TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño.
Núcleo Lic. Gonzalo Pastor.
Procesos Lic. Gonzalo Pastor.
Estructura de los sistemas operativos
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
Estructura de los SISTEMAS OPERATIVOS.
UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FILIAL CHINCHA ESCUELA PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMAS Por: Nestares Torres Luis Jesús Enrique.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
Estructura de Sistemas Operativos
SISTEMAS OPERATIVOS En el mundo de la informática se denomina sistema operativo al programa, o conjunto de ellos, que gestiona los recursos físicos de.
Estructura de los Sistemas Operativos
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Estructura de los Sistemas Operativos por: Omar Saravia Tasayco
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Transcripción de la presentación:

Procesos Concurrentes L.I. Gerardo Ortiz Rivera Departamento de Ciencias Exactas e Ingenieria

Contenido Concepto de procesos Planificación de procesos Operaciones sobre Procesos Cooperación de Procesos Comunicación entre procesos

Programación Concurrente Virtualmente todos los sistemas de tiempo-real son inherentemente concurrentes - los dispositivos operan en paralelo en el mundo real. Programación concurrente es el nombre dado a las técnicas y notación de programación para expresar "paralelismo" potencial y resolver la sincronización y los problemas de comunicación. En la programacion concurrente solo se cuenta con un procesador. El tiempo de CPU se reparte entre varios procesos. El paralelismo implica que existen varios procesadores en el sistema. La programacion paralela implica dividir la ejecucion de un programa en distintos modulos los cuales se ejecutaran en distintos procesadores.

Paralelismo entre CPU y Dispositivos de E/S CPU Dispositivo de E/S Inicia operacion de E/S Peticion de proceso de E/S Finalizacion de Senal Interrupcion de fin de E/S E/S termina Continua con mas peticiones Paralelismo entre CPU y Dispositivos de E/S

Sistema de Reservacion de Linea Aerea VDU VDU VDU VDU P P P P P Data Base

Terminología Un programa concurrente es convencionalmente visto como una colección de procesos secuenciales autónomos que se ejecutan (lógicamente) en paralelo. Los lenguajes de programación concurrente incorporan, explícita o implícitamente, la noción de proceso; cada proceso tiene un simple hilo de control. La implementación actual (i.e. ejecución) de una colección de procesos usualmente toma una de estas tres formas: Multiprogramación ejecución de múltiples procesos en un solo procesador. Multiprocesamiento ejecución de múltiples procesos en un sistema multiprocesador donde hay acceso a memoria compartida. Programación Distribuida ejecución de múltiples procesos en varios procesadores los cuales no comparten memoria.

Concepto de Proceso Un sistema operativo ejecuta una variedad de programas: Sistema Batch: jobs Sistemas de tiempo compartido: programas de usuario o tareas Proceso - un programa en ejecución; la ejecucución del proceso debe progresar de manera secuencial. Un proceso incluye: program counter stack data section

Estados de los procesos Nuevo: El proceso es creado. Ejecución: Se ejecutan instrucciónes. Espera: El proceso esta en espera por la ocurrencia de algún evento. Listo: El proceso esta esperando a que le asignen el procesador. Terminado: El proceso finaliza su ejecución. Diagrama de estados de los procesos.

Process Control Block Información asociada con cada proceso: Estado del proceso Program counter Registros del CPU Información de planificación del CPU Memoria Información para administración Información de estatus de E/S

Colas de planificación de procesos Cola de jobs- conjunto de todos los procesos en el sistema. Cola de listos- conjunto de procesos residentes en memoria, listos y en espera para ejecucución. Cola de dispositivos- conjunto de procesos esperando por algún dispositivo de E/S. Migración de los procesos entre varias colas.

Planificadores Planificador de largo plazo (job scheduler) - Selecciona que proceso traer a la cola de procesos listos. Planificador de corto plazo (CPU scheduler) - Selecciona que proceso debe ejecutarse enseguida y reserva el CPU.

Cambio de Contexto Cuando el CPU cambia a otro proceso, el sistema debe salvar el estado del proceso antiguo y cargar el estado del proceso nuevo. El cambio de contexto es overhead; el sistema no realiza cómputo útil durante el cambio. El tiempo de realización del cambio de contexto es dependiente del soporte de hardware.

Creacion del Proceso Al crearse un proceso se le asigna memoria (para cargado de código, datos y stack), recursos, información del PCB, y se carga en memoria. Además se inicializan registros para protección del espacio de memoria reserva a este proceso. El proceso padre puede crear procesos hijos, los cuales a su vez pueden crear otros procesos, formando así un arbol de procesos. Compartición de recursos. Los padres e hijos comparten todos los recursos. El hijo comparte un subconjunto de los recursos del padre. El hijo y el padre no comparten recursos. Ejecución El padre y el hijo se ejecutan concurrentemente. El padre espera hasta que el hijo termina. Ejemplo UNIX la llamada a fork crea un proceso nuevo.

Terminación de Procesos El proceso ejecuta su última instrucción y pide al sistema que lo elimine (exit). Los datos de salida van de hijo a padre (por fork). Los recursos del proceso son desalojados por el sistema operativo. El padre puede terminar la ejecución de un hijo(abort). el proceso hijo se ha excedido en los recursos alojados. la tarea asignada al proceso hijo ya no es requerida. El proceso padre termina. El sistema operativo no permite que el hijo continue su ejecución si el proceso padre termina. terminación en cascada.

Procesos cooperativos Los procesos Independientes no pueden afectar o ser afectados por la ejecución de otros procesos. Los procesos cooperativos pueden afectar o ser afectados por la ejecución de otros procesos. Ventajas: Compartición de información Mayor velocidad de cómputo Modularidad Conveniencia

Problema del productor-consumidor Paradigma para procesos cooperativos; el proceso productor produce información que es consumida por el proceso consumidor. Solución mediante memoria compartida. Solución mediante buzones y envío de mensajes

Comunicación entre procesos La comunicación entre procesos provee mecanismos para permitir que los procesos se comuniquen y se sincronizen. Sistema de mensajes - los procesos se comunican entre si sin tener que compartir variables. Operaciones: send (mensaje)- los mensaje pueden tener tamaño fijo o variable. receive (mensaje) Medio de comunicación implementación física (p.ej, memoria compartida, bus de hardware) implementación lógica.

Tipos de comunicación Mediante Buzones utilizados como medio común para comunicación entre procesos de forma: 1 proceso envia mensaje a 1 proceso 1 proceso envia mensaje a N procesos N procesos envían mensajes a 1 proceso N procesos envía mensajes a N procesos Mediante una linea de comunicación o bus de hardware.

Tipos de sincronización Mediante el envío de mensajes entre procesos send (P, mensaje) - send a message to process P receive(Q, mensaje) - receive a message from process Q Mediante el envio de señales de tipo semaforo P (sem,contador). Envía una señal al semaforo sem. V (sem,contador) recive n señales del semáforo sem