La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Paul Leger http://pleger.cl Procesos Paul Leger http://pleger.cl.

Presentaciones similares


Presentación del tema: "Paul Leger http://pleger.cl Procesos Paul Leger http://pleger.cl."— Transcripción de la presentación:

1 Paul Leger http://pleger.cl
Procesos Paul Leger

2 Procesos (1) Un proceso es un programa en ejecución
El funcionamiento de SO depende de un conjunto de procesos que se ejecuten en segundo plano (conocidos como servicios y antiguamente demonios). Ejemplos: servicios de red, sonido, Web, etc Procesador ejecuta varios procesos por segundos, en teoría no hay paralelismo Seleccionar qué proceso y cuánto tiempo se debe ejecutar un proceso en un momento no es fácil. Hay varios trabajos de tras de esto (mirar job scheduling) Cambiar desde un proceso a otro tiene un costo de sobrecarga asociado. Ejemplo, retomar los datos necesario para cargar ese nuevo programa Un programa ejecutado dos veces, tiene dos procesos asociados

3 Vistas de Varios Procesos en un Procesador

4 Procesos (2) Un proceso puede crear otro proceso independiente llamado proceso hijo. En Unix, la función se llama fork y en Windows se llama CreateProcess Cada proceso PESADO tiene su propio espacio de memoria En Unix, los procesos padres e hijos forman una jerarquía de procesos. Por ejemplo, todos los procesos en Unix vienen del procesos init

5 Procesos Livianos v/s Pesados
Cada proceso tiene su propia memoria Cada proceso comparte su memoria

6 Threads (Hilos) Mini-procesos que pueden realizar “algo” con el proceso trabaja para mostrar los resultados temporales. Ejemplo, interfaces gráficas, funciones automáticas en un procesador de texto como contar palabras Comparten memoria (no necesita ser enviada entre proceso). Analogía, piensen en un Dropbox Son mucho más rápido que el fork de un proceso

7 Ejemplos de hilos

8 Propiedades de un Hilo y Proceso

9 Hilos

10 Secciones Criticas (1/2)
Cómo los hilos comparten memoria, dos hilos operando al mismo tiempo, puede dejar esta memoria inconsistente En threading, esto se conoce como datarace Para evitar esto, es necesario reconocer cuáles son las secciones criticas

11 Secciones Criticas (2/2)
count = count + 1 #count = count + 1

12 Herramienta 1: Semáforos
Se crea un semáforo, el cual se puede ver como una maquina de ticket que pueden ser consumido nWaitSem consume tickets y nSignalSem entrega tickets Si no hay tickets, no se puede seguir avanzando

13 Productor/Consumidor
TAREA: Implementar el problema del productor y consumidor

14 Implementación en C


Descargar ppt "Paul Leger http://pleger.cl Procesos Paul Leger http://pleger.cl."

Presentaciones similares


Anuncios Google