Interrupciones y llamadas del sistema

4,511 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,511
On SlideShare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
153
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Interrupciones y llamadas del sistema

  1. 1. INTERRUPCIONES Y LLAMADAS DEL SISTEMA Lenguajes de Interfaz José Manuel Puentes García
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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.

×