1 Profesor: Rodrigo Sanhueza FigueroaSistemas operativos Profesor: Rodrigo Sanhueza Figueroa
2 Administración de procesosContenidos Concepto de proceso Planificación de procesos Operaciones con procesos Comunicación entre procesos
3 Concepto de proceso Programa en ejecuciónSiempre tiene una hebra de ejecución Se ejecuta de forma secuencial Durante la ejecución cambia de estados Nuevo En ejecución En espera (I/O) Listo Terminado
4 Concepto de proceso Durante la ejecución cambia de estados
5 Concepto de proceso S.O. multitareas cooperativos / preemptivosEn cooperativos o no preemptivos un proceso se puede tomar la CPU y no soltarla más No puede garantizar que va a atender a un proceso cuando se lo pida También se les llama apropiativos y no apropiativos
6 Concepto de proceso El S.O. guarda info de ellos en el PCB, bloque de control de procesos. Estado del proceso Contador de programa, PC Registros de la CPU Información de planificación de CPU Información de uso (tiempos de CPU) Información de estado de I/O (dispositivos usados, archivos abiertos)
7 Concepto de proceso
8 Planificación de procesosPlanificación: proceso por el cual el sistema operativo selecciona que proceso ejecutar, ocupa algoritmo de planificación Para que sirve planificar Equidad, todos los procesos deben poder ejecutarse Eficacia, mantener ocupada la CPU un 100% del tiempo Tiempo de respuesta, minimizar el tiempo de respuesta al usuario Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios por lotes para obtener sus resultados Rendimiento, maximizar el número de tareas procesadas por hora.
9 Planificación de procesosColas de planificación Cola de trabajo Cola de procesos listos Cola de dispositivos Existe migración de procesos entre las colas.
10 Planificación de procesosDiagrama de colas
11 Planificación de procesosSchedulers (planificadores) Un proceso migra de una cola de planificación a otra durante su existencia El planificador se encarga de la selección Cambio de contexto Cuando la CPU cambia a otro proceso, el sistema debe grabar el estado del proceso antiguo y cargar el estado del proceso nuevo Cambio de contexto System overhead
12 Planificación de procesosDispatcher: Módulo que cede el control de la CPU al proceso seleccionado Devuelve el control al scheduler una vez que el proceso ha terminado
13 Planificación de procesosCriterios de planificación Max Utilización CPU Max Throughput (rendimiento) Min Tiempo retorno Min Tiempo espera Min Tiempo respuesta
14 Planificación de procesosAlgoritmos de planificación FIFO SJF Con prioridad Round Robin
15 Planificación de procesosServicio por orden de llegada: FIFO Consiste en una cola, la CPU atiende al los procesos en orden de llegada No es preemptivo Analogía: supermercado Hay un tiempo de espera por proceso Hay un tiempo de espera promedio
16 Planificación de procesosFIFO
17 Planificación de procesosPrimero el trabajo más corto: SJF Asigna la CPU a la ráfaga más corta Si hay igual duración queda como un FIFO Minimiza tiempo promedio entre procesos Los trabajos largos atrasan lo menos posible a los demás
18 Planificación de procesosSJF
19 Planificación de procesosPlanificación con prioridad Procesos asociados a número entero de prioridad CPU proceso con prioridad más alta, menor número Problema: bloqueo indefinido o inanición Solución: envejecimiento
20 Planificación de procesosTiempo ráfaga Prioridad P1 10 3 P2 1 P3 2 P4 4 P5 5 Espera de 8.2 miliseg
21 Planificación de procesosRound Robin: FIFO preemptivo Cada proceso se ejecuta un quantum (cantidad pequeña de tiempo) Cambios de contexto
22 Planificación de procesosUn 80% de las ráfagas de CPU son más cortas que el quantum Proceso Duración de la ráfaga P1 24 P2 3 P3 Con Quantum de 4: Tiempo promedio 5.66
23 Administración de procesos
24 Administración de procesosPlanificación de colas en múltiples niveles Se usa cuando es fácil clasificar los procesos Cada cola tiene propio algoritmo de planificación Planificación entre colas
25 Administración de procesosPlanificación por cola de múltiples niveles y retroalimentación Se permite a los procesos pasar de una cola a otra Si un proceso usa demasiada CPU pasa a una cola de menor prioridad Si pasa mucho tiempo en una cola pasa a una de mayor prioridad (evitar envejecimiento de procesos)
26 Planificación de procesos
27 Planificación de procesosparámetros: Número de colas. El algoritmo de planificación de cada cola. El método empleado para determinar cuando promover procesos a cola con más prioridad. El método empleado para determinar en cual cola ingresará un proceso cuando necesite servicio.
28 Operaciones con procesosLos procesos padres crean procesos hijos Los procesos hijos: Padres e hijos comparten recursos Usan un subconjunto de recursos del padre No comparten recursos
29 Operaciones con procesosOpciones de ejecución Padre e hijo concurrentes Padre espera a que termine el hijo En UNIX: instrucción fork, que crea una copia del espacio de direcciones del padre, pueden ser concurrentes
30 Operaciones con procesosTerminación de procesos Termina cuando ejecuta su última instrucción Los procesos padres pueden terminar a un proceso hijo
31 Operaciones con procesosLos procesos pueden ser independientes o cooperativos Cooperativos comparten datos Aceleran cálculos Modularidad comodidad No determinismo
32 Operaciones con procesosHebras o threads Una hebra es una unidad básica de utilización de CPU PC Registros Pila Puede compartir con otras hebras Código Datos recursos
33 Operaciones con procesos
34 Operaciones con procesosHebras de usuario y hebras del kernel
35 Comunicación entre procesosSe tienen mecanismos que permiten la comunicación y sincronización de procesos Problema del productor y consumidor buffers Mensajería Send Receive
36 Comunicación entre procesos
37 Comunicación entre procesos
38 Comunicación entre procesos
39 Comunicación entre procesos
40 Comunicación entre procesos