Está en la página 1de 41

SISTEMAS OPERATIVOS

UNIDAD: 3 Objetivo No. 3.1 PROCESOS.


Prof. Ana Lorena Fritez S.

Ing. Ana Lorena Fritez

Sistemas Operativos UNEFA 2010

PROCESOS
El proceso se puede definir como un programa en ejecucin y, de una forma ms precisa, como la unidad de procesamiento gestionada por el sistema operativo Carretero y otros. El concepto central en cualquier sistema operativo es el proceso: una abstraccin de un programa en ejecucin.

Andrew S. Tanenbaum. Tanenbaum.

Sistemas Operativos UNEFA 2010

BLOQUE DE CONTROL DEL PROCESO (P.C.B).


Es un bloque o registro de datos que contiene diversa informacin relacionada con un proceso concreto, incluyendo:
Estado Actual del Proceso. Identificador del Proceso. Registros del CPU. Prioridad Recursos asignados (memoria, archivos, etc) Informacin contable. Tiempo de uso del CPU. Estado de Entrada/Salida

Sistemas Operativos UNEFA 2010

Informacin de un proceso
Cada proceso tiene asociado una serie de elementos de informacin que se organizan en tres grupos: Estado del procesador, Imagen de memoria y Tablas de sistema operativo
Tablas del sistema operativo Tabla de procesos
PCB Proceso B PCB Proceso A - Estado (registros) - Estado (registros) - Identificacin - Identificacin - Control - Control PCB Proceso C - Estado (registros) - Identificacin - Control

Registros especiales

Mapa de memoria del Proceso A Mapa de memoria del Proceso B

Registros generales

Mapa de memoria del Proceso C

Tablas SO

PC SP Estado Mapa de Memoria

- Tabla de memoria - Tabla de E/S -Tabla de Archivos

Sistemas Operativos UNEFA 2010

ESTADOS DE UN PROCESO
(Segn Deitel)

Listo
S U S P E N D E R

Terminacin de la operacin de E/S o del evento


Despachar Espera de E/S o de algn evento

Bloqueado
S U S P E N D E R R E A N U D A R

R E A N U D A R

Expiracin del tiempo

En ejecucin

E S T A D O S

A C T I V O S

SUSPENDER

Suspendido Listo

Terminacin de la operacin de E/S o del evento

Suspendido Bloqueado

Estados Pasivos

Sistemas Operativos UNEFA 2010

ESTADOS DE UN PROCESO

Desarrollo

Despachar

Nacimiento

Listo
Expiracin del tiempo

Corrida

Terminacin del evento


Evento

Termin

Espera

Zombie

Sistemas Operativos UNEFA 2010

Caso Unix

Operaciones sobre Procesos

Crear un proceso. Destruir un proceso. Cambiar la prioridad de un proceso. Bloquear un proceso.

Despachar un proceso. Permitir la comunicacin entre procesos. Suspender un proceso. Reanudar un proceso.

Sistemas Operativos UNEFA 2010

Operaciones sobre Procesos


CREACIN DE UN PROCESO: Dar un nombre al proceso. Insertarlo en la tabla de proceso. Determinar la prioridad inicial Asignar los recursos iniciales DESTRUIR UN PROCESO: Se remueve de la tabla de procesos. Sus recursos se devuelven al sistema Su P.C.B. Se borra.

 1. 2. 3. 4.

 1. 2.

3.

Sistemas Operativos UNEFA 2010

Jerarqua de procesos


Familia de procesos
Proceso hijo Proceso padre Proceso hermano Proceso abuelo
Inicio Shell Inicio

Proc. Inic.

Inicio Shell Proceso A

Inicio

Dem. Impr.

Dem. Com..

Vida de un proceso
Crea Ejecuta Muere o termina
Editor Proceso B Proceso E Proceso F

Ejecucin del proceso


Batch Interactivo

Proceso D

Proceso C

Grupo de procesos

Sistemas Operativos UNEFA 2010

Procesos ligeros o threads


Un proceso ligero o thread, es un programa en ejecucin. Desde el punto de vista de la Programacin, se define como una funcin cuya ejecucin se puede lanzar en paralelo con otras
Proceso


Por proceso ligero  Registros especificos, PC,SP  Procesos ligeros hijos  Estado (ejecutando, listo o bloqueado) Por proceso  Espacio de memoria  Variables globales  Archivos abiertos  Procesos hijos  Seales y semforos  Contabilidad

Procesos ligeros Sistemas Operativos UNEFA 2010

Estructura de un Proceso en Windows NT


Proceso
Cdigo Datos Recursos Entorno del proceso Thread 1
Registros Pila

......

Thread n
Registros Pila

Sistemas Operativos UNEFA 2010

Estados del Proceso Ligero

Bloqueado por comunicacin Proceso Bloqueado por acceso a disco Activo

Procesos ligeros
Sistemas Operativos UNEFA 2010

Estados del Proceso Ligero


El estado del proceso ser la combinacin de los estados de sus procesos ligeros: Si tiene un proceso ligero en ejecucin, el ejecucin. proceso (padre) est en ejecucin. Si no tiene procesos ligeros en ejecucin, pero tiene alguno listo, el proceso est en listo. estado de listo. Si todos los procesos ligeros estn bloqueados, el proceso est bloqueado.

Sistemas Operativos UNEFA 2010

Planificacin de Procesos.

Cuando son ejecutables varios procesos, el sistema operativo debe decidir cul conviene ejecutar si el CPU se encuentra disponible. El elemento del sistema quien toma esta decisin se llama PLANIFICADOR (Scheduling) y el algoritmo del cual hace uso se denomina ALGORITMO PLANIFICADOR.

Sistemas Operativos UNEFA 2010

Objetivos de la Planificacin
1.
2. 3. 4.
EQUIDAD: Cada proceso obtiene su porcin justa del

5.

CPU. EFICACIA: Mantener ocupado el CPU el 100 % del tiempo. TIEMPO DE RESPUESTA: Minimizar el tiempo de respuesta para usuarios interactivos TIEMPO DE REGRESO: Minimizar el tiempo que deben esperar los usuarios para obtener los resultados en procesos por lotes. RENDIMIENTO: Maximizar el nmero de tareas procesadas por hora.
Sistemas Operativos UNEFA 2010

Niveles de Planificacin

PLANIFICADOR INTERMEDIO

Cola SUSPENDIDOS

Cola TRABAJOS

Cola LISTOS

CPU

PLANIFICADOR LARGO PLAZO

PLANIFICADOR CORTO PLAZO

Sistemas Operativos UNEFA 2010

Niveles de Planificacin
Planificacin de Largo Plazo

Tiene por objetivo, aadir nuevos procesos al sistema, tomndolos de la lista de espera. Estos procesos son de tipo batch, en los que no importa el instante preciso en que se ejecuten.

Sistemas Operativos UNEFA 2010

Niveles de Planificacin
Planificacin de Nivel Intermedio: Trata la suspensin de procesos. Es la que decide qu procesos pasan a estado suspendido y cules dejan de estar suspendidos. Adems, aade o elimina procesos en memoria principal, modificando el grado de multiprogramacin

Sistemas Operativos UNEFA 2010

Niveles de Planificacin

Planificacin de Corto Plazo: Se encarga de seleccionar el proceso en estado listo que pasa a estado de ejecucin. Posteriormente el DESPACHADOR (Funcin del kernel) mueve el primer proceso de la cola de listo hacia el CPU para su ejecucin.

Sistemas Operativos UNEFA 2010

Tipos de Planificacin

No Apropiativa: Una vez que el CPU ha sido asignado a un proceso, ya no se le puede arrebatar. El sistema Operativo espera hasta que el proceso lo libera en forma voluntaria.

Apropiativa: el sistema operativo le puede quitar el CPU antes asignado a un proceso en particular.

Sistemas Operativos UNEFA 2010

Polticas de Planificacin:
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 ejecucin. * No Apropiativa. * Generalmente se utiliza combinando con otros esquemas. Lista de Procesos Listos Culminacin

CPU

Sistemas Operativos UNEFA 2010

Polticas de Planificacin:
Primer Trabajo ms corto (SJF) Se ejecuta primero el proceso en espera que tiene el prximo menor tiempo estimado de ejecucin, hasta terminar. * No Apropiativa * Favorece a los trabajos cortos a expensa de los largos. * La prioridad del proceso es inversamente proporcional al tiempo de ejecucin.
Sistemas Operativos UNEFA 2010

Polticas de Planificacin:
ROUND ROBIN
Consiste en asignar el CPU al primer proceso de la lista de Ready durante un tiempo de ejecucin (Quantum), el cual es igual para todos los procesos. * Variacin del FIFO * Apropiativa. * El quantum puede variar: Carga del sistema, prioridad de los procesos.
Sistemas Operativos UNEFA 2010

ROUND ROBIN

Lista de Procesos Listos

CPU

Apropiacin
Sistemas Operativos UNEFA 2010

Polticas de Planificacin:
Tiempo Restante Ms Corto (SRT) Una vez que un proceso comienza su ejecucin, puede ser desplazado por un nuevo con menor tiempo de ejecucin estimado. * Apropiativa. * Implica mayor actividad que el Primer Trabajo Ms Corto (SJF).

Sistemas Operativos UNEFA 2010

Poltica de Planificacin:
Prioridades
A cada proceso se le asigna una prioridad. Se le permite la ejecucin al trabajo que tenga la mayor prioridad. Es Apropiativo. Las prioridades son definidas por el sistema en la mayoria de los casos. * Las prioridades pueden ser: - Estticas: Cuando los procesos mantienen su prioridad constante durante su existencia en el sistema - Dinmicas: Cuando las prioridades sufren cambios.

Sistemas Operativos UNEFA 2010

Poltica de Planificacin:
Colas Mltiples
El movimiento de los procesos se determina a travs 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 estn vacas las colas de los niveles ms altos.
Sistemas Operativos UNEFA 2010

Colas Mltiples
Uso del CPU

Terminacin

Nivel 0 FIFO

Nivel 1 FIFO

Uso del CPU

Terminacin

Nivel 2 FIFO Nivel 3 ROUND ROBIN Sistemas Operativos UNEFA 2010

Uso del CPU

Terminacin

Uso del CPU

Evaluacin de los Algoritmos de Planificacion

Tipos de Evaluacin: 1. Analtica: Toman una serie de valores y se elabora una especie de corrida en fro. 2. Simulacin: Elaboracin de modelos con algunas herramientas y se trata de lograr un comportamiento real de los procesos. 3. Implementacin: Funcionar el sistema en su entorno real de trabajo.

Sistemas Operativos UNEFA 2010

Evaluacin ANALTICA de los Algoritmos de Planificacin

Elementos de Medida:
Tiempo

de respuesta (T): Tiempo durante el cual el proceso est presente en el sistema T= tiempo finalizacin - tiempo de llegada Tiempo de ejecucin en el CPU (t) Tiempo desperdiciado(W): W = T - t Tasa de penalizacin (P): P = T/ t

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo F.I.F.O. (P.E.P.S.)


L A B C D U 0 1 2 3 4 5 6 7 8 9 10 E A A A B B B B B C C L E U 11 12 13 14 15 16 17 18 19 20 E D D D D D E E E E E

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo F.I.F.O. (P.E.P.S.)


Proceso Tiempo llegada A 0 B 1 C 3 D 9 E 12 t 3 5 2 5 5 Tiempo Arranque 0 3 8 10 15 Tiempo Finalizacin 3 8 10 15 20 T 3 7 7 6 8 W 0 2 5 1 3 2.2 P 1.0 1.4 3.5 1.2 1.6 1.74

Promedio: 6.2

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Primer Trabajo ms corto (S.J.F.)


L A B C D U 0 1 2 3 4 5 6 7 8 9 10 E A A A C C B B B B B L E U 10 11 12 13 14 15 16 17 18 19 20 E D D D D D E E E E E

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Primer Trabajo ms corto (S.J.F.)


Proceso Tiempo llegada A 0 B 1 C 3 D 9 E 12 Tiempo Arranque 0 5 3 10 15 Tiempo Finalizacin 3 10 5 15 20 Promedio:

t 3 5 2 5 5

T 3 9 2 6 8 5.6

W 0 4 0 1 3 1.6

P 1.0 1.8 1.0 1.2 1.6 1.32

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Tiempo restante ms corto (S.R.T.)


L A B C D E U 0 1 2 3 4 5 6 7 8 9 10 E A A B C C B B B B D L U 10 11 12 13 14 15 E E E D D D

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Tiempo restante ms corto (S.R.T.)


Proceso Tiempo llegada t Tiempo Arranque Tiempo Finalizacin T W P

A B C D E

0 1 3 9 10

2 5 2 4 2

0 2 3 9 10

2 9 5 15 12 Promedio:

2 8 2 6 2 4

0 3 0 2 0 1

1.0 1.6 1.0 1.5 1.0 1.22

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Prioridades


L A B C D U 0 1 2 3 4 5 6 7 8 9 10 E A B B C C B B B A A L E U 10 11 12 13 14 15 16 17 18 19 20 E D D D D D E E E E E

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Prioridades


Proceso Tiempo llegada A 0 B 1 C 3 D 9 E 12 Tiempo t Prioridad Arranque 3 4 0 5 2 1 2 0 3 5 4 10 5 4 15 Tiempo Finalizacin 10 8 5 15 20 Promedio: 1.7 T 10 7 2 6 8 6.6 W 7 2 0 1 3 4.3 P 3.3 1.4 1.0 1.2 1.6

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Prioridades


Proceso Tiempo llegada A 0 B 1 C 3 D 9 E 12 Tiempo t Prioridad Arranque 3 4 0 5 2 1 2 0 3 5 4 10 5 4 15 Tiempo Finalizacin 10 8 5 15 20 Promedio: 1.7 T 10 7 2 6 8 6.6 W 7 2 0 1 3 4.3 P 3.3 1.4 1.0 1.2 1.6

Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Round Robin LA B C D U 0 1 2 3 4 5 6 7 8 9 10 E A B A B C A B C B D


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

Q = 1.
Sistemas Operativos UNEFA 2010

Evaluacin del Algoritmo Round Robin


Proceso Tiempo llegada A 0 B 1 C 3 D 9 E 12 t 3 5 2 5 5 Tiempo Arranque 0 1 4 9 12 Tiempo Finalizacin T 6 6 11 10 8 5 18 9 20 8 Promedio: 7.6 W 3 5 3 4 3 3.6 P 2.0 2.0 2.5 1.8 1.6 1.98

Sistemas Operativos UNEFA 2010