Date post: | 28-Jan-2016 |
Category: |
Documents |
Upload: | gabriela-lacayo |
View: | 225 times |
Download: | 0 times |
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
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
Concepto de proceso
Durante la ejecución cambia de estados
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
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)
Concepto de proceso
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.
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.
Planificación de procesos
Diagrama de colas
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
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
Planificación de procesos
Criterios de planificación Max Utilización CPU Max Throughput (rendimiento) Min Tiempo retorno Min Tiempo espera Min Tiempo respuesta
Planificación de procesos
Algoritmos de planificación FIFO SJF Con prioridad Round Robin
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
Planificación de procesos
FIFO
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
Planificación de procesos
SJF
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
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
Planificación de procesos
Round Robin: FIFO preemptivo Cada proceso se ejecuta un quantum (cantidad
pequeña de tiempo) Cambios de contexto
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
Administración de procesos
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
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)
Planificación de procesos
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.
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
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
Operaciones con procesos
Terminación de procesos Termina cuando ejecuta su última
instrucción Los procesos padres pueden terminar a
un proceso hijo
Operaciones con procesos
Los procesos pueden ser independientes o cooperativos Cooperativos comparten datos
Aceleran cálculos Modularidad comodidad
No determinismo
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
Operaciones con procesos
Operaciones con procesos
Hebras de usuario y hebras del kernel
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
Comunicación entre procesos
Comunicación entre procesos
Comunicación entre procesos
Comunicación entre procesos
Comunicación entre procesos