¿Qué es una interrupción?
Debido a que el procesador no puede procesar múltiples datos al mismo tiempo (procesa un dato a la vez) el sistema de multitareas es en realidad una alternancia de fragmentos de instrucciones de muchas tareas diferentes. Es posible suspender momentáneamente un programa que se estaba ejecutando mediante una interrupción que dure el tiempo que lleva una rutina de servicios de interrupción. Luego, el programa interrumpido puede continuar ejecutándose. Existen 256 direcciones de interrupción diferentes.Una interrupción se realiza cuando un componente del hardware de la ordenador requiere la interrupción del hardware. Un ordenador posee muchos periféricos. Generalmente, necesitan utilizar recursos del sistema, aunque sólo sea para comunicarse con éste.
Definición: Una interrupción es el rompimiento en
la secuencia de un programa para ejecutar un programa especial llamando una
rutina de servicio cuya característica principal es que al finalizar regresa al
punto donde se interrumpió el programa.
Dentro de una
computadora existen dos clases de interrupciones:
Hay tres razones para utilizar
una rutina escrita en ensamblador:
·
Aumentar la velocidad y la
eficiencia.
·
Realizar una función
específica de la máquina que no está disponible en C.
·
Utilizar una rutina en
lenguaje ensamblador empaquetada de propósito general.
Las principales interrupciones del 8086/8088 son las siguiente.
Servicios de la interrupción 21h (sistema)
Llamadas al sistema (system calls)
Una llamada
al sistema es cuando un programa llama a un servicio del Kernel del
sistema operativo. Generalmente estos servicios se encuentran disponibles como
instrucciones de lenguaje ensamblador pero algunas veces también pueden
llamarse (sin tener conocimiento de ello) desde lenguajes de alto nivel.
Kernel o núcleo
Este se considera el principal componente de los sistemas operativos sirve de interfaz entre aplicaciones y el proceso de los datos de bajo nivel hecho por el hardware del equipo. Entre sus funciones están administrar los recursos del sistema como memoria, uso de CPU por las aplicaciones o acceso a interfaces de entrada y salida del equipo.
Ejemplos de esto son:
Kernel o núcleo
Este se considera el principal componente de los sistemas operativos sirve de interfaz entre aplicaciones y el proceso de los datos de bajo nivel hecho por el hardware del equipo. Entre sus funciones están administrar los recursos del sistema como memoria, uso de CPU por las aplicaciones o acceso a interfaces de entrada y salida del equipo.
Ejemplos de esto son:
- Exit: Para terminar la ejecución de un programa.
- Fork: Para crear hilos de ejecución.
- Time: Para ver la hora actual.
- Open: Para abrir archivos
- Close: para cerrar archivos
Como
puede observarse estas son funciones muy utilizadas en cualquier lenguaje de
programación pero sin darnos cuenta estas son administradas por el núcleo del
sistema operativo.
Algunos
ejemplos de llamadas al sistema son las siguientes:
- 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.
Todo sistema
operativo ofrece un conjunto de llamadas al sistema. En el caso de Linux 3.0,
se ofrecen un total de 345 llamadas al sistema.
Toda llamada
al sistema se identifica de manera unívoca mediante un valor numérico que no
debe ser modificado a lo largo de la vida del sistema operativo para evitar que
se rompa la compatibilidad hacia atrás.




No hay comentarios:
Publicar un comentario