2. INTERRUPCIONES
Un dispositivo periférico puede generar una señal
eléctrica llamada interrupción que modifica ciertas
banderas que se encuentran en el CPU. La
detección de una interrupción es parte del ciclo de
instrucción. En cada ciclo de instrucción, el CPU
chequea las banderas hardware para ver si algún
dispositivo necesita atención.
3. COMO SE GENERA LAS INTERRUPCIONES?
Las interrupciones generadas por los dispositivos periféricos
son generalmente asíncronas con respecto al programa que
se está ejecutando. Un evento es asíncrono a una entidad si
el momento cuando ocurre no está determinado por la
entidad. Las interrupciones no siempre ocurren en el mismo
punto dentro de la ejecución de un programa. En
contraste, un evento de error como la división por cero
es síncrono en el sentido de que siempre ocurre durante la
ejecución de una instrucción particular si el mismo dato es
presentado a la instrucción.
4. PASOS DURANTE UNA INTERRUPCIÓN
El CPU suspende lo que estaba realizando. El hardware
transfiere el control al sistema de operación.
Deshabilita las interrupciones. Mientras se atiende una
interrupción no se puede atender otra que llegue. Algunas
arquitecturas con manejo de interrupciones sofisticadas
permiten, mediante un esquema de prioridades, interrumpir
un servicio de interrupción para atender otra de mayor
prioridad. Aquellas interrupciones de menor o igual prioridad
son deshabilitadas.
El kernel del sistema de operación salva el estado actual del
proceso interrumpido
Transfiere su ejecución a una dirección fija. Esta dirección por
lo general contiene la dirección de comienzo donde la rutina
de servicio de la interrupción se encuentra.
5. Se ejecuta la rutina de interrupción
Se restaura el estado anterior
Se habilitan las interrupciones.
La arquitectura de interrupciones debe también
almacenar la dirección de la instrucción
interrumpida.
6. INTERRUPCIONES DE SOFTWARE
Son aquellas programadas por el usuario, es
decir, el usuario decide cuando y donde
ejecutarlas, generalmente son usadas para realizar
entrada y salida.
7. INTERRUPCIONES POR HARDWARE
Son aquellas que son provocadas por dispositivos
externos al procesador su característica principal es
que no son programadas, esto es, pueden ocurrir en
cualquier momento en el programa.
8. TIPOS DE INTERRUPCIONES POR HARDWARE
Interrupciones por hardware
enmascarables: Aquellas en las que el usuario
decide si quiere o no ser interrumpido.
Interrupciones por hardware no enmascarables
(NMI): Aquellas que siempre interrumpen al
programa.
9. LLAMADAS AL SISTEMA
Una llamada al sistema es un método o función
que puede invocar un proceso para solicitar un
cierto servicio al sistema operativo. Dado que el
acceso a ciertos recursos del sistema requieren la
ejecución de código en modo privilegiado, el
sistema operativo ofrece un conjunto de métodos o
funciones que el programa puede emplear para
acceder a dichos recursos.
10. EJEMPLOS
Time, que permite obtener la fecha y hora del
sistema.
Write, que se emplea para escribir un dato en un
cierto dispositivo de salida, tales como una pantalla
o un disco magnético.
Read, que es usada para leer de un dispositivo de
entrada, tales como un teclado o un disco
magnético.
Open, que es usada para obtener un descriptor de
un fichero del sistema, ese fichero suele pasarse a
write.