Está en la página 1de 24

Tema 1: Introduccin a los Sistemas Operativos

SSOO I - Curso 2015/16

C. Villarrubia M. A. Redondo R. Hervs

Departamento de Tecnologas y Sistemas de Informacin


Escuela Superior de Informtica
Universidad de Castilla - La Mancha

Septiembre de 2015

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 1/24


ndice

1 Interrupciones y Excepciones del Hardware


Interrupciones de los Dispositivos de E/S
Excepciones durante la Ejecucin de un Programa

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 2/24


Tema 1: Introduccin a los Sistemas Operativos

Sesin 3:
Interrupciones y Excepciones

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 3/24


Puntos Desarrollados en la Sesin Anterior

Resumen de Contenidos de la Sesin Anterior

En la sesin anterior hemos visto


Una breve historia del comportamiento de los sistemas de
computacin
Las dificultades de explotacin que causa la diferencia de
velocidades entre la CPU y los dispositivos de E/S
Las soluciones ms importantes que se han ido aplicando en
relacin con los cambios tecnolgicos que las han permitido

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 4/24


Interrupciones y Excepciones

El Interfaz del S.O. con el Hardware

Recordemos: El S.O. ocupa una posicin intermedia entre los


programas de aplicacin y el hardware
El S.O. no se limita a utilizar el hardware a peticin de las
aplicaciones
Hay situaciones en las que es el hardware el que necesita que se
ejecute cdigo del S.O.
En tales situaciones el hardware debe poder llamar al sistema

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 5/24


Interrupciones y Excepciones

Modos de Ejecucin en una CPU

Por qu?
Recordemos: Las aplicaciones no deben poder usar todas las
instrucciones de la CPU
No obstante: El S. O. tiene que poder usar todo el juego de
instrucciones de la CPU

Por eso
Una CPU debe tener (al menos) dos modos de operacin
diferentes
En uno de ellos (modo usuario) la CPU podr ejecutar slo las
instrucciones del juego restringido de las aplicaciones
En el otro (modo supervisor) la CPU debe poder ejecutar el juego
completo de instrucciones

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 6/24


Interrupciones y Excepciones

Peticiones del Hardware

El hardware necesita llamar al sistema en dos clases de


situaciones
Porque algn dispositivo de E/S necesite atencin
Porque se haya producido una situacin de error al intentar ejecutar
una instruccin del programa (normalmente de la aplicacin)
En ambos casos la accin realizada no est ordenada por el
programa de aplicacin: No figura en el programa

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 7/24


Interrupciones y Excepciones

Definiciones

Qu es una interrupcin?
Una seal que enva un dispositivo de E/S a la CPU para indicar
que necesita atencin
Por ejemplo para indicar que la operacin de la que se estaba
ocupando ya ha terminado

Qu es una excepcin?
Una situacin de error, detectada por la CPU mientras ejecutaba
una instruccin, que requiere tratamiento por parte del S.O.

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 8/24


Interrupciones y Excepciones Interrupciones

Ciclo de Ejecucin de las Instrucciones

Algoritmo de ejecucin
loop
Obtener la instruccin apuntada por el contador de programa
Actualizar el contador de programa
Decodificar y ejecutar la instruccin en curso
{Proceso de Interrupciones}
if Interrupciones Permitidas then
if Interrupcin Pendiente then
Tratar Interrupcin
end if
end if
end loop

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 9/24


Interrupciones y Excepciones Interrupciones

Tratamiento de las Interrupciones

Una interrupcin se trata en todo caso despus de terminar la


ejecucin de la instruccin en curso
El tratamiento depende de cul sea el dispositivo de E/S que ha
causado la interrupcin
Ante una interrupcin debe poderse identificar el dispositivo que
la ha causado

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 10/24


Interrupciones y Excepciones Interrupciones

Servicio de una Interrupcin

Paso 1

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 11/24


Interrupciones y Excepciones Interrupciones

Servicio de una Interrupcin

Paso 2

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 12/24


Interrupciones y Excepciones Interrupciones

Servicio de una Interrupcin

Paso 3

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 13/24


Interrupciones y Excepciones Interrupciones

Servicio de una Interrupcin

Paso 4

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 14/24


Interrupciones y Excepciones Interrupciones

Importancia de las Interrupciones

El mecanismo de tratamiento de las interrupciones permite al


S.O. utilizar la CPU en servicio de una aplicacin mientras otra
permanece a la espera de que concluya una operacin en un
dispositivo de E/S
El hardware se ocupa de avisar al S.O. cuando el dispositivo de
E/S ha terminado y el S.O. puede intervenir entonces para, si es
conveniente, hacer que el programa que estaba esperando por el
dispositivo contine ejecutando
En ciertos intervalos de tiempo puede convenir no aceptar
seales de interrupcin. Por ello las interrupciones pueden
inhibirse por programa, aunque esto no deben poder hacerlo las
aplicaciones

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 15/24


Interrupciones y Excepciones Excepciones

Excepciones

Cuando la CPU intenta ejecutar una instruccin incorrectamente


construida, la unidad de control lanza una excepcin para permitir
al S.O. ejecutar el tratamiento adecuado
Al contrario que en una interrupcin, la instruccin en curso es
abortada
Las excepciones, como las interrupciones, deben estar
identificadas

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 16/24


Interrupciones y Excepciones Excepciones

Clases de Excepciones

Las instrucciones de un programa pueden estar mal construidas


por diversas razones
El cdigo de operacin puede ser incorrecto
Se intenta realizar alguna operacin no definida, como dividir por
cero
La instruccin puede no estar permitida en el modo de ejecucin
actual
La direccin de algn operando puede ser incorrecta o se intenta
violar alguno de sus permisos de uso

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 17/24


Interrupciones y Excepciones Excepciones

Tratamiento de una Excepcin

Paso 1

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 18/24


Interrupciones y Excepciones Excepciones

Tratamiento de una Excepcin

Paso 2

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 19/24


Interrupciones y Excepciones Excepciones

Tratamiento de una Excepcin

Paso 3

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 20/24


Interrupciones y Excepciones Excepciones

Tratamiento de una Excepcin

Paso 4

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 21/24


Interrupciones y Excepciones Excepciones

Importancia de las Excepciones

El mecanismo de tratamiento de las excepciones es esencial para


impedir, junto a los modos de ejecucin de la CPU y los
mecanismos de proteccin de la memoria, que las aplicaciones
hagan operaciones que no les estn permitidas
En cualquier caso, el tratamiento especfico de una excepcin lo
realiza el S.O.
Como en el caso de las interrupciones, el hardware se limita a
dejar el control al S.O. y ste es el que trata la situacin como
convenga
Es bastante frecuente que el tratamiento de una excepcin no
retorne al programa que se estaba ejecutando cuando se produjo
la excepcin, sino que el S.O. aborte la ejecucin de ese
programa

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 22/24


Resumen y Lecturas Recomendadas Resumen

Resumen

En esta sesin hemos visto


Modos de operacin de la CPU
Qu son las interrupciones y las excepciones
Cmo se tratan las interrupciones
Cmo se tratan las excepciones

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 23/24


Resumen y Lecturas Recomendadas Lecturas Recomendadas

Lecturas Recomendadas

Lecturas recomendadas
A. Silberschatz, P. Galvin, G. Gagne. Fundamentos de Sistemas
Operativos. 7a ed. Mc Graw Hill. Captulos 1.6 - 1.11.

Villarrubia, Redondo, Hervs (TSI) Tema 1 09/2015 24/24

También podría gustarte