40
Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Embed Size (px)

Citation preview

Page 1: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Sistemas operativos

Profesor: Rodrigo Sanhueza Figueroa

Page 2: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Administración de procesos

Contenidos Concepto de proceso Planificación de procesos Operaciones con procesos Comunicación entre procesos

Page 3: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Concepto de proceso

Programa en ejecución Siempre 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

Page 4: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Concepto de proceso

Durante la ejecución cambia de estados

Page 5: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Concepto de proceso

S.O. multitareas cooperativos / preemptivos En 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

Page 6: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

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)

Page 7: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Concepto de proceso

Page 8: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Planificació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.

Page 9: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Colas de planificación Cola de trabajo Cola de procesos listos Cola de dispositivos Existe migración de procesos entre las

colas.

Page 10: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Diagrama de colas

Page 11: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Schedulers (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

Page 12: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Dispatcher: Módulo que cede el control de la CPU al proceso seleccionado

Devuelve el control al scheduler una vez que el proceso ha terminado

Page 13: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Criterios de planificación Max Utilización CPU Max Throughput (rendimiento) Min Tiempo retorno Min Tiempo espera Min Tiempo respuesta

Page 14: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Algoritmos de planificación FIFO SJF Con prioridad Round Robin

Page 15: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Servicio 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

Page 16: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

FIFO

Page 17: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Primero 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

Page 18: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

SJF

Page 19: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Planificació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

Page 20: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Proceso Tiempo ráfaga Prioridad

P1 10 3

P2 1 1

P3 2 3

P4 1 4

P5 5 2

Espera de 8.2 miliseg

Page 21: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Round Robin: FIFO preemptivo Cada proceso se ejecuta un quantum (cantidad

pequeña de tiempo) Cambios de contexto

Page 22: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Un 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 3

Con Quantum de 4: Tiempo promedio 5.66

Page 23: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Administración de procesos

Page 24: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Administración de procesos

Planificació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

Page 25: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Administración de procesos

Planificació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)

Page 26: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

Page 27: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Planificación de procesos

pará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.

Page 28: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Operaciones con procesos

Los procesos padres crean procesos hijos

Los procesos hijos: Padres e hijos comparten recursos Usan un subconjunto de recursos del

padre No comparten recursos

Page 29: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Operaciones con procesos

Opciones 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

Page 30: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Operaciones con procesos

Terminación de procesos Termina cuando ejecuta su última

instrucción Los procesos padres pueden terminar a

un proceso hijo

Page 31: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Operaciones con procesos

Los procesos pueden ser independientes o cooperativos Cooperativos comparten datos

Aceleran cálculos Modularidad comodidad

No determinismo

Page 32: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Operaciones con procesos

Hebras 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

Page 33: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Operaciones con procesos

Page 34: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Operaciones con procesos

Hebras de usuario y hebras del kernel

Page 35: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Comunicación entre procesos

Se tienen mecanismos que permiten la comunicación y sincronización de procesos

Problema del productor y consumidor buffers

Mensajería Send Receive

Page 36: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Comunicación entre procesos

Page 37: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Comunicación entre procesos

Page 38: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Comunicación entre procesos

Page 39: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Comunicación entre procesos

Page 40: Sistemas operativos Profesor: Rodrigo Sanhueza Figueroa

Comunicación entre procesos