Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porSofia Navarro Córdoba Modificado hace 7 años
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.