Procesos - Sistemas Operativos

14
PROCESOS Ing. Richard Galea [email protected] Este material es una guía instruccional y por ningún motivo se debe considerar como el contenido exclusivo de evaluación pa UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL SISTEMAS OPERATIVOS // SYC-30834

description

Presentanción de Unidad II

Transcript of Procesos - Sistemas Operativos

Page 1: Procesos - Sistemas Operativos

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

Page 2: Procesos - Sistemas Operativos

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.

Page 3: Procesos - Sistemas Operativos

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

Page 4: Procesos - Sistemas Operativos

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.

Page 5: Procesos - Sistemas Operativos

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

Page 6: Procesos - Sistemas Operativos

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)

Page 7: Procesos - Sistemas Operativos

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

Page 8: Procesos - Sistemas Operativos

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)

Page 9: Procesos - Sistemas Operativos

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

Page 10: Procesos - Sistemas Operativos

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 ?

Page 11: Procesos - Sistemas Operativos

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

Page 12: Procesos - Sistemas Operativos

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

Page 13: Procesos - Sistemas Operativos

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

Page 14: Procesos - Sistemas Operativos

Planificación - Scheduling

UNIVERSIDAD NACIONAL EXPERIMENTALPOLITÉCNICA DE LA FUERZA ARMADA NACIONAL

Preguntas