La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO.

Presentaciones similares


Presentación del tema: "Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO."— Transcripción de la presentación:

1 Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO.

2 Estados de un Proceso A medida que un proceso se ejecuta

3 Bloque de Control de un Proceso (PCB)‏

4 Cambio de Contexto

5 Colas de Planificación Colas de tareas: conjunto de todos los procesos del sistema. Cola de procesos listos: conjunto de todos los procesos en memoria esperando ser ejecutados. Colas de dispositivos: conjunto de procesos esperando por un dispositivo de E/S. Migración de procesos.

6 Planificación de Procesos Planificador a largo plazo.  Selecciona que procesos ingresan a la cola de listos. (frecuente => muy rápido)‏ Planificador a corto plazo.  Selecciona de la cola de listos que proceso debe ser ejecutado a continuación y le asigna la CPU. (menos frecuente => menos rápido)‏ Planificador a mediano plazo.  Selecciona los procesos que dejarán y comenzarán a competir activamente por CPU. Proceso limitados por CPU o limitados por E/S.

7 Operaciones con Procesos Creación:  Formas de compartir recursos: Padre e hijo comparten todos los recursos. El hijo comparte un subconjunto de los recursos del padre. Padre e hijo comparten todos los recursos.  Espacio de memoria: El hijo duplica el del padre. Se carga un programa en el proceso hijo-  Ejecución Padre e hijo ejecutan en forma concurrente. El padre espera que el hijo termine.  Ejemplos Unix: fork/exec.

8 Operaciones con Procesos Terminación:  El proceso termina su ejecución y notifica al SO. Los recursos asignados al proceso son liberados por el SO  El padre puede terminar la ejecución de un hijo: El hijo se ha excedido en el uso de los recursos asignados. La tarea asignada al hijo no se necesita más. El proceso padre termina:  Terminación en cascada

9 Procesos Cooperativos Los procesos independientes no puede afectar ni ser afectados por otros procesos. Los procesos cooperativos pueden afectar y ser afectados por otros procesos. Ventajas de la cooperación:  Compartir información  Aceleración de cálculos  Modularidad y comodidad

10 Problemas - Productor/Consumidor Paradigma de procesos cooperativos, el proceso productor produce información que es consumida por un proceso consumidor.  Buffer ilimitado  Buffer limitado Solución con memoria compartida con Buffer limitado.

11 Comunicación entre Procesos (IPC)‏ Mecanismo que permite a los procesos comunicar y sincronizar. Sistema de mensajes. Comunicación sin necesidad de memoria compartida. Operaciones de IPC:  send(mensaje), receive(mensaje)‏ Si P y Q quieren comunicarse deben establecer un canal y enviar un mensaje. Implementación: memoria compartida, bus de hardware, red, etc.

12 Preguntas de Implementación Tipos de enlace  Comunicación directa (nombrado explícito del canal)‏  Comunicación Indirecta (por medio de buzones)‏ Sincronización  Bloqueante (sincrónica)‏  No Bloqueante (asincrónica)‏ Buffering  Tamaño 0 (Rendezvous)‏  Capacidad limitada  Capacidad ilimitada

13 Procesos Single-Thread y Multi- Thread

14 Ejemplo de Threads Beneficios: velocidad de respuesta, recursos comparidos, economía, utilización de arquitecturas MP

15 Threads Ususario/Kernel Nivel usuario: son manejados por librería a nivel usuario.  POSIX Pthreads, Mach C-Threads, Solaris Threads Nivel kernel: brindados por el kernel.  Windows, Solaris, Tru64, BeOS, Linux

16 Muchos a Uno Muchos threads del usuario mapeados a un sólo thread del SO. Sistemas que no brindan threads en el kernel.

17 Uno a Uno Cada thread a nivel usuario es mapeado a un thread en el kernel. (Windows/OS2/Linux)‏

18 Muchos a Muchos Permite mapear varios threads de usuario a varios del kernel. (Solaris 2)‏


Descargar ppt "Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO."

Presentaciones similares


Anuncios Google