sistemas operativos procesos y planificaciÓn por robiro asuaje l. ucla.; actualización dr....

30
SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra.

Upload: alarico-magallanes

Post on 07-Jan-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

SISTEMAS OPERATIVOS

PROCESOS Y

PLANIFICACIÓN

Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra.

Page 2: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

PROCESOS

Un programa en ejecución.

H. M. Deitel.

El concepto central en cualquier sistema operativo es el proceso:

una abstracción de un programa en ejecución.

Andrew S. Tanenbaum.

Page 3: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

BLOQUE DE CONTROL DEL PROCESO (PCB).

Es una estructura de datos, que permite al Sistema Operativo manejar la información relacionada con cada uno de los procesos. Esto incluye:

Estado Actual del Proceso. Identificador del Proceso. Un apuntador hacia el padre del proceso. Apuntadores a los hijos del proceso.

Page 4: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

BLOQUE DE CONTROL DE PROCESO (PCB).

Prioridad del proceso. Información de Administración de memoria del proceso. Apuntadores a los recursos asignados al proceso. Un área para salvaguarda de los registros relacionados con la

ejecución del proceso. El Procesador en que se está ejecutando el proceso

(en un sistema de procesadores múltiples)..

Page 5: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

En En ejecuciónejecución

SuspendidoSuspendidoBloqueadoBloqueado

ListoListo BloqueadoBloqueado

SuspendidoSuspendidoListoListo

Terminación de la operación Terminación de la operación de E/S o del eventode E/S o del evento

SSUUSSPPEENNDDEERR

RREEAANNUUDDAARR

SSUUSSPPEENNDDEERR

RREEAANNUUDDAARR

SUSPENDERSUSPENDER

Terminación de la operación Terminación de la operación de E/S o del eventode E/S o del evento

DespacharDespachar

ExpiraciónExpiración del tiempodel tiempo

Espera de E/SEspera de E/So de algún o de algún eventoevento

ESTADOS DE UN PROCESO

E AE AS CS CT TT TA IA ID VD VO OO OS SS S

Estados Estados PasivosPasivos

Page 6: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Operaciones sobre Procesos

* Crear un proceso.

* Destruir un proceso.

* Cambiar la prioridad de un proceso.

* Bloquear un proceso.

* Despachar un proceso.

* Permitir la comunicación entre procesos.

* Suspender un proceso.

* Reanudar un proceso.

Page 7: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Planificación de Procesos.

Cuando son ejecutables varios procesos,

el sistema operativo debe decidir cuál conviene

ejecutar si el CPU se encuentra disponible.

El elemento del sistema quien toma esta

decisión se llama PLANIFICADOR (Scheduling)

y el algoritmo del cual hace uso se denomina

ALGORITMO PLANIFICADOR.

Page 8: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Tipos de Planificación

No Apropiativa:

Una vez que el CPU ha sido asignado a un

proceso, ya no se le puede arrebatar.

Ejemplos: FIFO, Primer trabajo más corto

Page 9: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Tipos de Planificación

Apropiativa:

Cuando a un proceso, el sistema operativo

le puede quitar el CPU antes asignado.

Ejemplos: Round Robin, Prioridades,

Tiempo restante más corto,

Colas múltiples.

Page 10: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Objetivos de la Planificación

1. Los procesos deben tratarse de la misma forma.

2. Evitar el aplazamiento indefinido.

3. Atender la mayor cantidad de procesos por unidad

de tiempo.

4. Mantener ocupados los recursos del sistema.

5. Lograr un equilibrio entre la respuesta y el uso de los

recursos.

6. Una tarea debe ejecutarse aproximadamente en el

mismo tiempo, cada vez que se ejecute.

Page 11: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

1. Si el proceso utiliza exhaustivamente el CPU

(CPU Bound) o los diversos dispositivos (I/O

Bound).

2. Importancia del proceso. Tipo de procesamiento.

3. Cuánto tiempo real de ejecución lleva un proceso

y cuánto tiempo estimado necesita para terminar.

4. Frecuencia con la que el proceso utiliza la

memoria principal.

Criterios de Planificación

Page 12: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Niveles de Planificación

Planificación de Alto nivel: Selecciona los trabajos que deben admitirse en el sistema.

Tareas:

1. Administrar todos los recursos del sistema excepto

el CPU.

2. Mantiene las colas de procesos bloqueados y

suspendidos.

3. Controla la creación de procesos.

4. Maneja el nivel de multiprogramación.

Page 13: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Niveles de Planificación

Planificación de nivel intermedio:

Determina cuáles procesos pueden competir por el CPU.

Tareas:

1. Equilibrar la admisión de trabajos en el sistema

con la asignación del CPU a dichos procesos.

2. Nivelar la carga del sistema (procesos activos

y pasivos)

Page 14: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Niveles de Planificación

Planificación de bajo nivel:

Determina a cuál proceso listo se le asignará el CPU

cuando éste se encuentre disponible.

Tarea:

1. Despachar el proceso.

Page 15: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Políticas de Planificación: FIFO

Los procesos son atendidos en el orden en que entraron a la lista de Ready. El proceso tiene asignado el CPU hasta que termina su ejecución.

* No Apropiativa.

* Generalmente se utiliza combinando con otros esquemas.

Lista de Procesos Listos

CulminaciónCC BB AA CPUCPU

Page 16: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Políticas de Planificación: Primer Trabajo más corto (SJF)

Se ejecuta primero el proceso en espera que tiene el

próximo menor tiempo estimado de ejecución, hasta

terminar.

* No Apropiativa

* Favorece a los trabajos cortos a expensa de

los largos.

* La prioridad del proceso es inversamente

proporcional al tiempo de ejecución.

Page 17: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Políticas de Planificación: ROUND ROBIN

Consiste en asignar el CPU al primer proceso de

la lista de Ready durante un tiempo de ejecución

(Quantum), el cual es igual para todos los procesos.

* Variación del FIFO

* Apropiativa.

* El quantum puede variar: Carga del sistema,

prioridad de los procesos.

Page 18: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

ROUND ROBIN

Lista de Procesos Listos

AA CC AA CPUCPUBB

Apropiación

Page 19: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Una vez que un proceso comienza su ejecución,

puede ser desplazado por un nuevo con menor tiempo

de ejecución estimado.

* Apropiativa.

* Implica mayor actividad que el Primer

Trabajo Más Corto (SJF).

Políticas de Planificación:Tiempo restante más corto (SRT)

Page 20: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Política de Planificación:Prioridades

A cada proceso se le asigna una prioridad. Se le permite

la ejecución al trabajo que tenga la mayor prioridad.

* Las prioridades pueden ser:

- Externas: Definidas por el usuario.

- Internas: Determinadas por el sistema.

* Pueden además clasificarse en:

- Estáticas: Cuando los procesos mantienen su prioridad

constante durante su existencia en el sistema

- Dinámicas: Cuando las prioridades sufren cambios.

Page 21: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Política de Planificación:Colas Múltiples

El movimiento de los procesos se determina a través de

varias colas de diferentes niveles. Un proceso nuevo entra a la red de colas, al final de la

primera cola. Se desplaza por FIFO. Cuando a un proceso se le termina su quantum de

tiempo, se coloca al final de la cola del siguiente nivel. El quantum asignado a un proceso cuando pasa a una

cola de nivel inferior alcanza un valor mayor. Un proceso en cierta cola no puede ejecutarse a menos

que estén vacías las colas de los niveles más altos.

Page 22: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Uso delUso delCPUCPU

TerminaciónTerminación

Uso delUso delCPUCPU

Nivel 1 FIFO

Uso delUso delCPUCPU

TerminaciónTerminación

Nivel 2 FIFO

Uso delUso delCPUCPU

TerminaciónTerminación

Nivel 3 FIFO

Nivel N ROUNDROBIN

Colas Múltiples

Page 23: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

La planificación de procesos es más compleja cuando varios CPU’s se

encuentran disponibles. Generalmente cada CPU tiene su propia cola y su propio

algoritmo de planificación.

Se presentan dos casos:Sistema Homogéneo:

�Los procesadores son idénticos.�Pueden utilizarse una carga compartida. Todos los procesos se colocan en una sola cola.

Sistema Heterogéneo:�Los procesos son clasificados por su estructura, ellos deben ejecutarse en un procesador particular.

Multiples Procesadores

Page 24: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Evaluación de los Algoritmos

de Planificación

Tipos de Evaluación:1. Analítica: Toman una serie de valores y se elabora

una especie de corrida en frío.

2. Simulación: Elaboración de modelos con algunas

herramientas y se trata de lograr un comportamiento

real de los procesos.

3. Implementación: Funcionar el sistema en su entorno

real de trabajo.

Page 25: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Elementos de Medida:

Tiempo de respuesta (T): Tiempo durante el cual el proceso está presente en el sistema

T= tiempo finalización - tiempo de llegadaTiempo de ejecución en el CPU (t)Tiempo desperdiciado(W): W = T - tTasa de penalización (P): P = T/ t

Evaluación de los Algoritmos de Planificación

Page 26: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

L A B C DU 0 1 2 3 4 5 6 7 8 9 10E A A A B B B B B C C

L EU 11 12 13 14 15 16 17 18 19 20E D D D D D E E E E E

Evaluación del Algoritmo FIFO (PEPS)

ProcesoProceso TiempoTiempo Tiempo Tiempo Tiempo Tiempo llegadallegada t Arranque Finalizaciónt Arranque Finalización T T WW P P

AA 0 0 3 03 0 33 33 00 1.01.0BB 1 1 5 35 3 88 77 2 1.41.4CC 3 3 2 82 8 10 10 77 55 3.53.5DD 9 9 5 105 10 15 15 66 11 1.21.2EE 12 12 5 155 15 20 20 88 33 1.61.6

Promedio: 6.2 Promedio: 6.2 2.2 2.2 1.74 1.74

Page 27: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Evaluación del Algoritmo Primer Trabajo más corto (SJF)

L A B C DU 0 1 2 3 4 5 6 7 8 9 10E A A A C C B B B B B

L EU 10 11 12 13 14 15 16 17 18 19 20E D D D D D E E E E E

ProcesoProceso TiempoTiempo Tiempo Tiempo Tiempo Tiempo llegadallegada t Arranque Finalizaciónt Arranque Finalización T T WW P P

AA 0 0 3 03 0 33 33 00 1.01.0BB 1 1 5 55 5 10 10 99 44 1.81.8CC 3 3 2 32 3 5 5 22 00 1.01.0DD 9 9 5 105 10 15 15 66 11 1.21.2EE 12 12 5 155 15 20 20 88 33 1.61.6

Promedio: 5.6 1.6 1.32Promedio: 5.6 1.6 1.32

Page 28: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Evaluación del Algoritmo Tiempo restante más corto (SRT)

ProcesoProceso TiempoTiempo Tiempo Tiempo Tiempo Tiempo llegadallegada t Arranque Finalizaciónt Arranque Finalización T T WW P P

AA 0 0 2 02 0 22 22 00 1.01.0BB 1 1 5 25 2 99 88 33 1.61.6CC 3 3 2 32 3 55 22 00 1.01.0DD 9 9 4 94 9 15 15 66 22 1.51.5EE 10 10 2 102 10 12 12 22 00 1.01.0

Promedio: 4 Promedio: 4 1 1 1.22 1.22

L A B C D EU 0 1 2 3 4 5 6 7 8 9 10E A A B C C B B B B D

LU 10 11 12 13 14 15E E E D D D

Page 29: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Evaluación del Algoritmo Prioridades

ProcesoProceso TiempoTiempo Tiempo Tiempo Tiempo Tiempo llegadallegada t Prioridad Arranque Finalizaciónt Prioridad Arranque Finalización T T WW P P

AA 0 0 3 43 4 00 10 10 10 10 77 3.33.3BB 1 1 5 25 2 11 8 8 77 22 1.41.4CC 3 3 2 02 0 33 5 5 22 00 1.01.0DD 9 9 5 45 4 10 10 15 15 6 6 11 1.21.2EE 12 12 5 45 4 15 15 20 20 8 8 33 1.61.6

Promedio: 6.6 4.3 1.7Promedio: 6.6 4.3 1.7

L A B C DU 0 1 2 3 4 5 6 7 8 9 10E A B B C C B B B A A

L EU 10 11 12 13 14 15 16 17 18 19 20E D D D D D E E E E E

Page 30: SISTEMAS OPERATIVOS PROCESOS Y PLANIFICACIÓN Por Robiro Asuaje L. UCLA.; Actualización Dr. Joseabel Cegarra

Evaluación del Algoritmo Round Robin

ProcesoProceso TiempoTiempo Tiempo Tiempo Tiempo Tiempo llegadallegada t Arranque Finalizaciónt Arranque Finalización T T WW P P

AA 0 0 3 03 0 33 33 00 1.01.0BB 1 1 5 35 3 10 10 99 44 1.81.8CC 3 3 2 72 7 9 9 66 44 3.03.0DD 9 9 5 105 10 19 10 19 10 55 2.02.0EE 12 12 5 145 14 20 20 88 33 1.61.6

Promedio: 7.2 3.2 1.88Promedio: 7.2 3.2 1.88

L A B C DU 0 1 2 3 4 5 6 7 8 9 10E A A A B B B B C C B

L EU 10 11 12 13 14 15 16 17 18 19 20E D D D D E E E E D E

Quantum = 4Quantum = 4