Sunteți pe pagina 1din 20

Procesos

Concepto de Proceso

El concepto central en
cualquier sistema
Un programa en ejecucin. operativo es el proceso:
una abstraccin de un
programa en ejecucin.
H. M. Deitel
Andrew S. Tanenbaum
Concepto de Proceso

Una analoga: receta de un pastel (el programa),


ingredientes (los datos), cocinero (la CPU), la mesa
de cocina (la memoria), cada pastel (un proceso), el
horno (un dispositivo E/S).

Nuestro chef puede tener varios pasteles a medio


hacer!
Estados de un proceso

Un proceso pasa por varios estados durante su


ejecucin. Los estados posibles para un proceso se
muestran en la figura siguiente:
Estados de un proceso

Nuevo: El proceso se acaba de crear, pero an no ha


sido admitido en el grupo de procesos ejecutables
por el sistema operativo.
Listo: El proceso est esperando ser asignado al
procesador para su ejecucin.
En ejecucin: El proceso tiene la CPU y sta ejecuta
sus instrucciones.
En espera: El proceso est esperando a que ocurra
algn suceso, como por ejemplo la terminacin de
una operacin de E/S.
Terminado: El proceso ha sido sacado del grupo de
procesos ejecutables por el sistema operativo.
Despus de que un proceso es marcado como
terminado se liberarn los recursos utilizados por
ese proceso, por ejemplo, la memoria.
Bloque De Control Del Proceso (P.C.B)

Es una Estructura de datos, que permite al Sistema


Operativo manejar la informacin relacionada con
cada uno de los procesos. Esto incluye:

Estado del proceso


Contador de programa
Registros de la CPU
Informacin de planificacin de CPU
Informacin de gestin de memoria
Informacin contable
Informacin de estado de E/S
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.

La ejecucin de un proceso consiste en una


alternancia entre rfagas de CPU y rfagas de E/S
Tipos de Planificacin

No Apropiativa:

Una vez que el CPU ha sido asignado a un


proceso, ya no se le puede arrebatar.

Ejemplos: FIFO, Primer trabajo ms corto


Tipos de Planificacin

Apropiativa:

Cuando a un proceso, el sistema operativo le


puede quitar el CPU antes asignado.

Ejemplos: Round Robin, Prioridades,


Tiempo restante ms corto,
Colas mltiples.
Objetivos de la Planificacin

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.
Criterios de Planificacin

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. Cunto tiempo real de ejecucin lleva un proceso y


cunto tiempo estimado necesita para terminar.

4. Frecuencia con la que el proceso utiliza la memoria


principal.
Niveles de Planificacin
Planificacin 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 creacin de procesos.
4. Maneja el nivel de multiprogramacin.
Niveles de Planificacin
Planificacin de nivel intermedio:

Determina cules procesos pueden competir por el CPU.

Tareas:

1. Equilibrar la admisin de trabajos en el sistema


con la asignacin del CPU a dichos procesos.
2. Nivelar la carga del sistema (procesos activos y
pasivos)
Niveles de Planificacin
Planificacin de bajo nivel:

Determina a cul proceso listo se le asignar el CPU


cuando ste se encuentre disponible.

Tareas:

1. Despachar el proceso.
FCFS Firts-Come, First-Served
Los procesos son atendidos en el orden en que entraron
a la lista. El proceso tiene asignado el CPU hasta que
termina su ejecucin.

No Apropiativa.
Generalmente se utiliza combinando con otros
esquemas.
FCFS Firts-Come, First-Served
Procesos Rfaga de CPU (ms)
P1 24
P2 3
P3 3
Los procesos llegan en el orden: P1 , P2 , P3 .
La planificacin es:

P1 P2 P3

0 24 27 30

Tiempo de espera para P1 = 0; P2 = 24; P3 = 27


Tiempo de espera medio: (0 + 24 + 27)/3 = 17
FCFS Firts-Come, First-Served
cambiamos el orden de llegada de los procesos
P2 , P3 , P1
La nueva planificacin es:

P2 P3 P1

0 3 6 30

Tiempo de espera para P1 = 6; P2 = 0; P3 = 3


Tiempo medio de espera: (6 + 0 + 3)/3 = 3
Mejoramos la planificacin anterior
Con este algoritmo se puede producir un efecto
convoy: varios procesos de rfaga de CPU corta
tienen que esperar a un proceso de rfaga larga
Shortest Job First (SJF)

Se ejecuta primero el proceso en espera que tiene el


prximo menor tiempo estimado de ejecucin, hasta
terminar.

no expropiativo cuando se asigna la CPU a un


proceso no se puede expropiar hasta que completa
su rfaga de CPU
expropiativo si llega un proceso a la cola de listos
con una rfaga de CPU ms corta que el tiempo que
le queda al proceso en ejecucin, se expropia.

Favorece a los trabajos cortos a expensa de los largos.

La prioridad del proceso es inversamente proporcional al


tiempo de ejecucin.
SJF No Expropiativo
Procesos Llegada Rfaga CPU (ms)
P1 0 7
P2 2 4
P3 4 1
P4 5 4

SJF (no expropiativo)

P1 P3 P2 P4

0 3 7 8 12 16

Tiempo de espera medio = (0 + 6 + 3 + 7)/4 = 4


SJF Expropiativo
Procesos Llegada Rfaga CPU (ms)
P1 0 7
P2 2 4
P3 4 1
P4 5 4

SJF (expropiativo)
P1 P2 P3 P2 P4 P1

0 2 4 5 7 11 16

Tiempo de espera medio = (9 + 1 + 0 +2)/4 = 3

S-ar putea să vă placă și