You are on page 1of 42

Administracin del Procesador

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Administracin del procesador


Planificacin de trabajos
Administrador
del
procesador
p

Planificacin de procesos
Administracin de interrupciones

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Conceptos

Programa: es una unidad inactiva, como un archivo


almacenado en disco. Un programa no es un
proceso. Es una unidad de trabajo
p
j enviada p
por el
usuario.

Proceso: es una entidad activa,, q


que requiere
q
un

Procesador: conocido como CPU, es la parte de la

conjunto de recursos para realizar su funcin, entre


ellos un procesador y registros especiales. Tambin
es conocido como tarea, y es una instancia de un
programa ejecutable.
j
t bl
mquina
i que calcula
l l y ejecuta
j
l programas.
los

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Conceptos

Un proceso es un programa en ejecucin


junto con el entorno asociado (registros,
variables,
i bl
pila,
il etc).
t ) La
L entidad
tid d que puede
d
ser asignada al procesador y ejecutada por
l
El ncleo (Kernel) de un S.O. es un
conjunto de rutinas cuya misin es la de
gestionar
i
ell procesador,
d
l memoria,
la
i
l
la
entrada/salida y el resto de los recursos
disponibles.

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Proceso

Puede verse
grficamente el
concepto de proceso
con su entorno

Entorno
Registros(PC,SP,...)
Datos en pila(stack)
Datos en variables
Instrucciones
(programa en ejecucin)

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Modelo de proceso

Ejemplo del Taller Mecnico

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Modelo de proceso

Analogas

El mecnico sera el procesador que va a realizar


ell trabajo
t b j
El manual de cada reparacin sera el programa
Las herramientas seran los recursos disponibles
Las piezas de recambio seran los datos
La actividad de utilizar las herramientas para
desmontar las piezas defectuosas sustituyndolas
por otras nuevas siguiendo las instrucciones del
manual equivaldra al proceso

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Modelo de proceso

Se desea resaltar que un proceso es


una actividad que se apoya en datos,
recursos, un estado en cada momento y
un programa
programa

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Administrador del Procesador

El administrador del procesador est


compuesto por dos sub-administradores:

Planificador de trabajos
j

Planificador
a cado de p
procesos
ocesos

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

Sub-administradores

Planificador de trabajos:

Conocido como planificador de alto nivel.


Elige trabajos de una cola de trabajos y los coloca
en una cola de procesos.
B
Busca
un mezcla
l equilibrada
ilib d de
d trabajos
t b j
que
requieren gran interaccin de E/S y de otros que
precisan g
p
gran cantidad de cmputos
p
en la CPU.
Por lo tanto, su meta es mantener ocupada la
mayor parte de los componentes del sistema de
la computadora la mayor parte del tiempo.
tiempo

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

10

Sub-administradores

Planificador de procesos:

Conocido como planificador de bajo nivel.


nivel
Asigna la CPU para ejecutar los procesos
de los trabajos que el planificador de
trabajos coloc en la cola de LISTO.
Organiza
g
el p
procesamiento de varios
trabajos, para ello utiliza la alternancia
entre ciclos CPU y de E/S.

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

11

Observacin

En un entorno monousuario, no existe


distincin entre planificacin de trabajos
y de procesos porque en cualquier
momento slo un trabajo est activo en
el sistema, por lo que el CPU y otros
recursos estn dedicados a l hasta que
se completa

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

12

Bloque
q de control de proceso
p
(PCB)

Un proceso se representa, desde el punto de vista del S. O., por


un conjunto de datos donde se incluyen el estado en cada
momento,, recursos utilizados,, registros,
g
, etc,, denominado

Bloque de Control de Proceso (PCB)

Objetivos

Localizacin de la informacin sobre el proceso por parte del


sistema operativo.
Mantener registrados los datos del proceso en caso de tener que
suspender temporalmente su ejecucin o reanudarla.

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

13

PCB
Identificacin del proceso
Estado del proceso
Condicin del proceso

Palabra del estado del proceso


Contenido del registro
Memoria principal
Recursos
Prioridad del proceso

Contabilidad

Contenido de cada bloque de control de procesos


de los trabajos.
Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

14

Bloque
q de control de proceso
p
(PCB)

El bloque de control de procesos de un


trabajo se crea cuando el planificador
de trabajos lo acepta y se actualiza
conforme ste avanza desde el principio
hasta el final de su ejecucin.

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

15

Bloque
q de control de Sistema
(SCB)

De igual forma existe un Bloque de Control de


Sistema (SCB), con unos objetivos globales
similares al anterior y entre los que se encuentra el
enlazado de los bloques de control de los procesos
existentes en el sistema.

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

16

PCB y SCB
Bloque de control
del sistema
Bloque de control
del proceso

Excepciones
Fallos CPU

Identificacin del proceso

Reloj y Consola
Estado del proceso

PCBs
Condicin del proceso

Interr pciones
Interrupciones

Palabra del estado del proceso


Contenido del registro
Memoria principal
Recursos
Prioridad del proceso

Contabilidad

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

17

Cambio de proceso
PROGRAMA A
Ejecucin

SISTEMA
OPERATIVO

PROGRAMA B

Interrupcin

Salva registros

..
.

Carga registros
Ejecucin
Interrupcin

Salva registros

..
.

Carga registros

Ejecucin

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

18

Cambio de proceso

Las acciones que realiza el S.O. son:

Deja de ejecutar el proceso en curso(A), cedindose el control al


ncleo del S.O.,
S O y aparece lo que se denomina un cambio de
contexto pasando del modo usuario al modo supervisor. Antes
de realizarse el cambio de contexto se salva el estado del
proceso A para su posterior vuelta al punto donde fue
interrumpido.
El ncleo estudia si el proceso B est preparado para su
ejecucin y, si es as, realiza el cambio de contexto
co espondiente pasando de modo supervisor
correspondiente
s pe iso al modo usuario.
s a io A
continuacin repone el estado del proceso B(en caso de haber
sido interrumpido con anterioridad)y, por ltimo pone en
ejecucin
j
el p
proceso B.

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

19

Bloques de control de procesos y


colas

Los bloques de control de los procesos


se almacenan en colas, cada una de las
cuales representa un estado particular
de los procesos, existiendo en cada
bl
bloque,
entre
t
otras
t
i f
informaciones,
i
tantos campos como colas en las que el
proceso se puede situar,
situar para que a
partir de ellos se indique la cola en que
se encuentra.

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

20

Colas de estado
Cola de trabajos
p
en espera

Cola de trabajos
preparados

CPU

completo

Trabajos

GESTOR DE
PROCESOS

GESTOR DE
TRABAJOS

Cola de trabajos
bloqueados

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

21

Estado de los trabajos


j y de los
procesos

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

22

Estado de los procesos

Los estados de los procesos se pueden


dividir en dos tipos:

Estados activos

Estados inactivos

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

23

Estados activos

Son aquellos que compiten por el


procesador o estn en condiciones de
hacerlo.
Los estados activos se dividen en:

Ejecucin
Preparado o Listo
Bloqueado

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

24

Estados inactivos

Son aquellos que no pueden competir


por el procesador, pero pueden hacerlo
por medio de ciertas operaciones.
Los estados inactivos son de dos tipos:

Suspendido bloqueado
Suspendido preparado

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

25

Grfica de estados y transiciones


Suspende
SUSPENDIDO
PREPARADO

PREPARADO
Reanuda

e
nd
e
sp
Su

Terminacin
T
i
i d
de lla
operacin de E/S
o la causa

r
po usa
a
r
a
pe tra c
s
E o
u
S
E/

EJECUCIN

Suspende
BLOQUEADO

Terminacin de la
operacin de E/S
o la causa

SUSPENDIDO
BLOQUEADO

R
Reanuda
d
Estados NO ACTIVOS

Estados ACTIVOS

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

26

Transiciones de estado

Todo proceso a lo largo de su existencia


puede cambiar de estados varias veces, cada
uno de
d estos
t cambios
bi se denomina
d
i transicin
t
i i
de estado.
Estas transiciones son las siguientes:

Comienzo de la ejecucin
Paso a estado de ejecucin
Paso a estado bloqueado
Paso a estado suspendido bloqueado
Paso a estado suspendido preparado

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

27

Transiciones de estado

Comienzo de la ejecucin:

todo proceso comienza al ser


dada la orden de ejecucin del programa insertndose en la cola de
preparados.
preparados

Paso a estado de ejecucin:

cuando el procesador se
encuentre inactivo y en la cola de preparados exista algn proceso en
espera de ser ejecutado,
ejecutado se pondr en ejecucin el primero de ellos.
ellos

Paso a estado bloqueado:

un estado se encuentra en un
estado de ejecucin y que solicite una operacin a un dispositivo
externo,
t
t i d que esperar que dicha
teniendo
di h operacin
i finalice,
fi li
ser

pasado de estado de ejecucin a estado bloqueado

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

28

Transiciones de estado

Paso a estado preparado:

este paso puede ser producido

por alguna de las siguientes causas:

Orden
O
d de
d ejecucin
j
i de
d un programa
Si un proceso est en estado bloqueado por causa de una operacin de E/S
y sta finaliza, pasar de la cola de bloqueados a la cola de preparados.
Si un p
proceso est en ejecucin
j
y aparece
p
una interrupcin
p
que fuerza al
q
sistema operativo a ejecutar otro proceso, el primero pasar al estado
preparado y su PCB a la cola de preparados.
Activacin, un proceso suspendido previamente sin estar bloqueado pasar
al estado preparado al ser activado nuevamente.
nuevamente

Paso a estado suspendido bloqueado: si un proceso

est bloqueado y el sistema operativo recibe la orden de suspenderlo,


su PCB entrar en la cola de procesos suspendidos bloqueados.
bloqueados
Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

29

Transiciones de estado

Paso a estado suspendido preparado: este paso


se puede producir bajo tres condiciones:

Suspensin
S
i de
d un proceso preparado
d pasando
d ste
t de
d la
l
cola de procesos preparados a la de suspendidos
preparados.
S
Suspensin
i de
d un proceso en ejecucin,
j
i
con lo
l cuall ell
proceso pasa a la cola de suspendidos preparados.
Desbloqueo de un proceso suspendido bloqueado por
d
desaparecer
l causa que impeda
la
i
d ell ser activado
ti d de
d nuevo.

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

30

Operaciones sobre procesos

Las operaciones sobre un proceso son las


siguientes:

Crear el proceso
Destruir el proceso
Suspender un proceso
Reanudar un proceso
Cambiar la prioridad de un proceso
Temporizar la ejecucin de un proceso
Despertar de un proceso

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

31

Creacin de un proceso

Se produce con
la orden de
ejecucin
j
i del
d l
programa y
suele necesitar
varios
argumentos,
como el nombre
y la prioridad
del p
proceso.

Ing. Waler Cubilla

Programas

+
Ejecutar
Datos

PROCESO

+
Argumentos

FP - UNA - Sistemas Operativos

32

Creacin de un proceso

La creacin de un
proceso puede ser
de dos tipos:

Jerrquica

No jerrquica

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

33

Prioridades

En general, todo proceso por sus


caractersticas
e
importancias
lleva
aparejadas unas determinadas necesidades
de ejecucin en cuanto a urgencia y
asignacin
i
i de
d recursos.
Las prioridades segn los sistemas operativos
se pueden clasificar en:

Asignadas por el sistema operativo


Asignadas por el propietario

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

34

Prioridades

Otra
posibilidad
de
clasificacin
atendiendo a la posibilidad de la
variacin de las mismas son:

Estticas
Dinmicas

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

35

Tipos de procesos

Un proceso puede clasificarse en dos


grandes grupos segn el uso que vaya
a tener y la forma como se haya
construido el cdigo ejecutable de su
programa. Estos grupos son:

Reutilizables
Reentrantes

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

36

Tipos de procesos

Otra clasificacin de procesos segn la capacidad que


tienen de acceso al procesador y al resto de recursos
es:
Apropiativos
No apropiativos
Se pueden
p
clasificar segn
g su forma de ejecucin:
j
Residentes
Intercambiables

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

37

Excepciones

A lo largo de la ejecucin de un proceso pueden


aparecer una serie de irregularidades o fallos que de
alguna forma un S.O.
S O debe tratar de controlar y en
su caso corregir; stos pueden ser de distinta
naturaleza y afectan en mayor o menor medida el
proceso; entre ellos podemos citar:

Fallos de hardware
Fallos de software
Entrada de datos incorrectos
Eventos anmalos

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

38

Excepciones

Para atender este tipo de eventos los sistemas


operativos incorporan lo que se denomina gestor de
excepciones cuya misin es la de tratar el software
excepciones,
que controla este tipo de eventos o excepciones.
Segn
g
la g
gravedad de los eventos,, p
podemos
establecer tres categoras de errores:

Catastrficos
No recuperables
recuperables

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

39

Excepciones

El tratamiento de una excepcin puede


seguir dos modelos diferente:

Tratamiento de la excepcin y continuacin del


proceso
Tratamiento de la excepcin y finalizacin del
proceso

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

40

Tratamiento de la excepcin
Inicio del Proceso

RECUPERACIN
PROGRAMA

Lugar de la
excepcin

MANEJADOR

Fin normal
del proceso

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

41

Tratamiento de la excepcin
Inicio del Proceso
TERMINACIN

PROGRAMA

Lugar de la
excepcin

MANEJADOR

Fin anormal
del proceso

Ing. Waler Cubilla

FP - UNA - Sistemas Operativos

42

You might also like