procesos - sistemas operativos
DESCRIPTION
Presentanción de Unidad IITRANSCRIPT
PROCESOS
Ing. Richard [email protected]
Este material es una guía instruccional y por ningún motivo se debe considerar como el contenido exclusivo de evaluación para la materia.
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
SISTEMAS OPERATIVOS // SYC-30834
Que es un procesoEs un programa en ejecución Cargado en
memoria
Características:
Program CounterStackData sectionJerarquía de ÁrbolPID
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Lista de Procesos
Proceso
A
Proceso
B
Memoria Principal
PCB
PCB
texto
texto
datos
datos
Registros Procesador
PC
pila
pila
PCB: Process Control Block.- Localización de la información sobre el proceso por parte del S.O..- Mantener registrados los datos del proceso en caso de tener quesuspender temporalmente su ejecución.
Estados y TransicionesSon internos del S.O y Transparentes al usuarioActivos e inactivos
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Identificador internos ( sistemas), externo (Usuario)
Descripción de la máquina virtual asociada tipo de mapeo, acceso
Descripción de los recursos de la máquina que usa prioridad, lista de recursos
Estados funcionales del proceso son internos
Descubre que no puede continuar
El planificador decide que el proceso en ejecución ya ha corrido el tiempo suficiente y es tiempo de permitir que otro proceso tome tiempo de CPU.
Han utilizado su parte del tiempo y es hora de que el
primer proceso vuelva a correr
Ocurre cuando aparece el evento externo que estaba esperando un proceso.
Si ningún otro proceso corre en ese instante, la transición 3 se activará de inmediato y el proceso iniciara su ejecución, de lo
contrario tendrá que esperar, en estado listo.
Control del procesador
Dispuesto a ser ejecutadoNo pueden ejecutarsede momento
Listo ySuspendido
Bloqueado ySuspendido
} Descriptor de Procesos
Procesos Ligeros (Threads) Función cuya ejecución va en paralelo Ejecución
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Proceso
Procesos ligeros
Informaciones propiasInformaciones propias Contador de programaContador de programa PilaPila RegistrosRegistros Estado (ejecutando, listo o bloqueado)Estado (ejecutando, listo o bloqueado)
CompartenComparten Espacio de memoriaEspacio de memoria Variables globalesVariables globales ArchivosArchivos abiertos abiertos Procesos hijosProcesos hijos Señales y semáforosSeñales y semáforos ContabilidadContabilidad
Thread 1
Registros
Pila
Entorno del proceso
Recursos
Datos
Código
Thread n
Registros
Pila
......
Estructura
Proceso
Procesos ligeros
Activo
Bloqueado por acceso a disco
Bloqueado por comunicación
El estado del proceso será la combinación de El estado del proceso será la combinación de los estados de sus procesos ligeros:los estados de sus procesos ligeros:
• Si tiene un proceso ligero en ejecución, Si tiene un proceso ligero en ejecución, el proceso (padre) está en el proceso (padre) está en ejecuciónejecución..
• Si no tiene procesos ligeros en Si no tiene procesos ligeros en ejecución, pero tiene alguno listo, el ejecución, pero tiene alguno listo, el proceso está en estado de proceso está en estado de listolisto..
• Si todos los procesos ligeros están Si todos los procesos ligeros están bloqueados, el proceso está bloqueados, el proceso está bloqueado.bloqueado.
Comunicación - Sincronización
Exclusión mutua: si un proceso Pi está en su sección crítica, ningún otro proceso puede estar ejecutando su sección crítica
Progreso: si un proceso Pi está en su sección crítica, y otro proceso desea entrar a su sección crítica, sólo los procesos que no estan en el resto del código, pueden participar de la decisión de qué proceso entrará próximamente, y esta selección no se puede postergar indefinidamente
Espera Acotada: un proceso no puede quedar esperando indefinidamente a entrar en su sección crítica
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Deben existir los mensajes: Send(mensaje) / Recive(mensaje)1.- Comunicación Directa: cada proceso debe explícitamente indicar el nombre del proceso fuente o destino2.- Interacción Productor / Consumidor3.- Direccionamiento simétrico y asimétrico4.- Comunicación indirecta (mail box)Procesos cooperativos: cooperan en torno a una tarea común
Semáforos: es una variable entera que es accesada a través de dos operaciones atómicas llamadas wait y signal
Ambos procesos tienen una parte de su código en el cual accesan variables compartidas
Planificación - Scheduling
Justicia o Imparcialidad: todos los procesos son tratados de la misma forma, cada proceso obtiene su porción justa del CPU
Maximizar la producción: el sistema debe de finalizar el mayor número de procesos por unidad de tiempo
Maximizar el tiempo de respuesta: cada usuario o proceso debe observar que el sistema les responde consistentemente a sus requerimientos
Evitar el aplazamiento indefinido: los procesos deben terminar en un plazo finito de tiempo
El sistema debe ser predecible: ante cargas de trabajo ligeras el sistema debe responder rápido y con cargas pesadas debe ir degradándose
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Técnicas que se usan para decidir cuánto tiempo de ejecución y cuando se le asignan a cada proceso del sistema
Niveles de planificación (decidir): Alto (a convertirse en procesos compitiendo) Medio (suspender o reanudar) Bajo (le toca ahora ejecutarse)
Planificación - Scheduling Cantidad de E/S: bases de datos Cantidad de uso de CPU: operaciones con matrices Procesos por lotes: lectura de datos Procesos en tiempo real: prioridad por turnos Longevidad de los procesos: más tiempo o menos tiempo
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Una vez que un proceso le toca su turno de ejecución ya no
puede ser suspendido
Reloj que lanza interrupciones periódicas
De job: disco memoriaDe CPU: cola ready CPU
Planificación - Scheduling
Utilización de la CPU: % de tiempo que la CPU está ocupada Throughput: número de procesos por unidad de tiempo Tiempo turnaround: intervalo de tiempo desde la entrega del
proceso al sistema hasta su finalización Tiempo de espera: suma de todos los tiempos que un proceso
espera en la cola sin ocupar CPU Tiempo de respuesta: es el tiempo que transcurre entre un
requerimiento hasta el comienzo de la respuesta
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Peluquería (First Come First Served) El más corto primero (Short Job First) Prioridad Round Robin (RR) Colas multinivel (Queves multi-level)
Planificación - Scheduling
Es el más sencillo Se realiza mediante una cola FIFO
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Ningún proceso espera indefinidamente
.- El tiempo medio de espera suele ser elevado
.- Bajo nivel de utilización de la CPU
.- Pobre tiempo de respuesta en procesos cortosen esquemas con mucha carga.- Tiende a favorecer a los procesos con carga deCPU frente a los que tienen carga de E/S.- Uso ineficiente de los dispositivos de E/S
Planificación - Scheduling
Asocia cada proceso con el tiempo de ejecución, tiempo que ocupo CPU la última vez antes de cambiarse a estado de espera
CPU es asignada a proceso con el menor tiempo de ejecución Si dos procesos tienen igual tiempo de ejecución se aplica FCFS
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Parece perfectoMejor tiempo de espera promedio que FCFS
.- Espera indefinida ?
.- Cómo estimar tiempo de procesamiento depróximo requerimiento de procesos ?
Planificación - Scheduling
SJF es un caso especial de este tipo Se asocia una prioridad a cada proceso y se le asigna CPU a la de mayor prioridad Si dos procesos tienen igual tiempo de ejecución se aplica FCFS La prioridad se expresa como un rango de números. Generalmente los números
menores representan alta prioridad
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Planificación - Scheduling
Es uno de los más usados, sencillos, equitativos A cada proceso se le asigna un intervalo de tiempo llamado
Quantum Un proceso se ejecuta durante ese Quantum de tiempo Pueden suceder dos cosas:
.- El proceso tiene una ráfaga de CPU < Quantum termina antes del Q y se planifica un nuevo proceso
.- El proceso tiene una ráfaga de CPU > Quantum acaba Q, se le expulsa de la CPU dando paso a otro proceso y el proceso se colocará al final de la cola de procesos listos
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Planificación - Scheduling
Idea, separar procesos en base a sus necesidades de ejecución Procesos interactivos están en las colas de mayor prioridad Procesos que usan mucha CPU se cambian a colas de menor
prioridad Procesos que llevan mucho tiempo en el sistema se cambian a
colas de mayor prioridad
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Planificación - Scheduling
UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL
Preguntas