Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porElisa Calderón Cabrera Modificado hace 8 años
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)
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.