Académique Documents
Professionnel Documents
Culture Documents
Procesos
Jorge Ramirez
Primeros tiempos
● Un solo programa ocupaba todos los recursos
● Tarea principal del Sistema Operativo: cargar
un trabajo
● Multiprogramación
● Gestionar la carga de trabajos
● Particionar y proteger la memoria
● Gestionar acceso a la CPU
Proceso vs. Programa
Proceso Programa
terminado
nuevo
En ejecución
listo bloqueado
Ciclo de vida de 7 estados
terminado
nuevo
En ejecución
listo bloqueado
Listo Bloqueado
suspendido suspendido
Cambio de contexto
P1 P2
En ejecución En espera
Almacenar registros
de P1
Almacenar estado
de P1
Cargar registros
Y estado de P2
En espera En ejecución
Un proceso en memoria
pila rutinas
Asignación montón
dinámica
datos datos
Instrucciones texto
PCB
● Bloque de Control de Procesos
● Identificación del proceso (PID)
● Identificación del propietario
– permisos
● Valor del Contador de Programa
● Registros del procesador
● Información de memoria
● Estadísticas
Operaciones sobre procesos
● Crear
● Un proceso crea otro proceso
– Proceso padre
– Proceso hijo
● Asignar recursos
– Compartidos con el padre
– Solicitados al sistema
● Proceso inicial: init (UNIX)
● Terminación
● Fin del padre → Fin de los hijos (cascada)
● Liberar recursos
Procesos cooperativos
● Pueden ser afectados por otros procesos
● Objetivos
● Compartir información
● Velocidad de cálculo
● Modularidad
● Conveniencia (multitarea)
Tipos de comunicación
● Directa entre procesos
● Sincrónica
● Asincrónica
● Buzones o puertos
Comunicación sincrónica entre
procesos
P1 P2
Envío de mensaje
recepción
Envío de mensaje
Muchos cambios
de contexto
Necesidad del concepto de hilos
● Tareas diferentes que usan el mismo código
● → Servidor
● Porciones de proceso que pueden ejecutarse
en paralelo
● → Mayor velocidad de cómputo
● → Permitir actividades diferentes al usuario
Hilos y Procesos
● Proceso tradicional: un solo hilo
● Procesos Livianos vs. Procesos Pesados
● Hilos: compartir código, recursos, datos
Hilos
Unidad de uso de la CPU
núcleo