SlideShare una empresa de Scribd logo
1 de 10
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

CONTROL Y MANEJO DE INTERRUPCIONES

Una interrupción es un mecanismo que permite ejecutar un bloque de
instrucciones interrumpiendo la ejecución de un programa, y luego
restablecer la ejecución del mismo sin afectarlo directamente. De este
modo un programa puede ser interrumpido temporalmente para atender
alguna necesidad urgente de la computadora y luego continuar su
ejecución de manera normal y como si nada hubiera pasado.
Las interrupciones son un método del que disponen los dispositivos e
incluso los procesos para hacer notar a la CPU la aparición de alguna
circunstancia que requiera su intervención. De este modo, los dispositivos
pueden provocar que la CPU deje por el momento la tarea que estaba
realizando y atienda la interrupción. Una vez atendida, seguirá con su labor
anterior.
Cuando no existían interrupciones, era el procesador el que tenía que estar
continuamente comprobando el estado del dispositivo cuando lo
necesitaba. Todo ese tiempo que el procesador estaba sondeando el
estado de los dispositivos era tiempo que no se podía dedicar a otros
procesos, lo que significa esto una afectación al rendimiento.
Por todo ello se. Pensó que lo mejor era que existiera una línea especial
entre el procesador y los dispositivos, por la que los dispositivos indicaban
al procesador que ya estaban listos.
Cuando al procesador le llega una interrupción, la atiende inmediatamente
dejando de hacer lo que estuviera haciendo, para poder atenderla de la
forma correcta, debe saber con anterioridad cómo tratarla. Las
computadoras tienen en un sitio conocido de memoria, las distintas rutinas
de tratamiento para las diferentes interrupciones, el procesador reconoce
la interrupción de la que se trata y busca en memoria la rutina
correspondiente.
Una vez terminado el tratamiento de la interrupción, es muy importante que
el procesador siga con lo que estaba haciendo, es importante que antes de
tratar la interrupción se guarde de alguna forma el estado en que se
encuentra la computadora, y al terminar la rutina de tratamiento se
restaure el estado.
Se pueden distinguir dos tipos de interrupciones: interrupciones software e
interrupciones hardware; Las interrupciones software son provocadas por
los programas usando una función especial del lenguaje, tienen como
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

objetivo el que la CPU ejecute algún tipo de función, al terminar de
ejecutarse esta función, se seguirá ejecutando el programa que provocó la
interrupción.
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 revisa las banderas hardware para ver si algún
dispositivo necesita atención.
Las interrupciones generadas por los dispositivos periféricos son
generalmente asíncronos 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.
Las rutinas del Sistema de Operación llamadas manejadores de
dispositivos usualmente manejan las interrupciones generadas por el
dispositivo. Los Sistemas de Operación usan interrupciones pare
implementar el tiempo compartido. Tienen un dispositivo llamado timer que
genera una interrupción después de un intervalo específico de tiempo. El
Sistema de Operación inicializa el timer antes de actualizar el Program
Counter pare ejecutar un programa de un usuario. Cuando el timer expira,
genera una interrupción causando que el CPU ejecute la rutina de servicio
de la interrupción timer.

Una señal o signal es la notificación por software de que un evento ocurrió.
Por lo general es la respuesta del Sistema de Operación. Por ejemplo, ctrlC genera una interrupción para el manejador de dispositivo que maneja el
teclado. El manejador notifica al proceso apropiado mandando un signal. El
Sistema de Operación también puede enviar signals a un proceso para
notificar la finalización de una E/S o de un error.

Las interrupciones pueden ser producidas por Hardware o por Software
Las interrupciones por Hw son producidas por un dispositivo y viajan por el
mismo bus del sistema.
Las interrupciones por Sw son producidas por medio de la ejecución de una
operación especial que se conoce como "llamada al sistema" (system call)
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

o por errores producidos dentro de un proceso, también conocidas como
excepciones.
Hay muchos tipos de interrupciones y pare cada uno de estas existe una
rutina en el sistema de operación que le da servicio. Los sistemas de
operación actuales permiten a los dispositivos tales como E/S o reloj del
sistema interrumpir el CPU asíncronamente.

Pasos durante una interrupción

El CPU suspende lo que estaba realizando. El hw 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, por lo que, 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, cada diseño de computadora tiene su
propio mecanismo de interrupciones, una forma de manejar las
interrupciones es invocando una rutina general que examine la información
de la interrupción y determine el tipo de interrupción ocurrida, y de allí
llama a la rutina que se encarga de atender dicha interrupción.
Por lo general se maneja mediante un vector de interrupciones, indexado
por el tipo de interrupción, en este vector se encuentra la dirección de
comienzo de la rutina que da servicio a dicho tipo, se le conoce como
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

vector de interrupción, otra forma de localizar la rutina apropiada es
mediante el pooling, es decir, preguntando a cada dispositivo pare ver
quien requirió el servicio.

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.

DENTRO DE UN COMPUTADOR
Cuando una computadora se encuentra realizando un proceso este puede
interrumpirse por cualquiera de las dos causas siguientes:
1.- Que se haya presentado una causa que impida que siga adelante un
trabajo o un programa que no haya terminado:
En este caso las interrupciones pueden darse:
Por Software: quiere decir que la interrupción se hace por medio de
una instrucción del Sistema operativo que demanda la detención del
proceso o por una instrucción del programa mismo que demanda la
acción de otro dispositivo.
Por Hardware: se refiere a interrupciones provocadas por la acción
de algún elemento físico ya sea por una falla, por requerirlo el
circuito, por falta de energía eléctrica u otra causa que impida la
continuación de un programa dado algunas de estas fallas pueden
ser manejadas por el sistema operativo ya sea por normalizar el
proceso o para indicar al operador la causa de la interrupción.
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

2.- Es que haya llegado el fin lógico de un programa o de un trabajo: en este
caso el sistema operativo debe retirar el control al programa que ha
terminado de introducir una nueva tarea si se tiene alguna espera esta
interrupción no representa un mayor problema ya que solo puede darse
cuando el programa que se encuentra en proceso demanda a través de una
instrucción su propio fin.

INTERRUPCIÓN DE E/S
Con el fin de iniciar una operación de E/S la CPU carga los registros
apropiados dentro del controlador del dispositivo, el controlador a su vez
examina el contenido de estos registros para determinar que acción debe
realizar, por ejemplo, si se encuentra una solicitud de lectura, el
controlador iniciara la transferencia de datos del dispositivo a su buffer
local, cuando haya terminado de hacer esto el controlador informara al
CPU que ha completado su operación, esta comunicación se genera por
medio de una interrupción.

Esto caso se da en general como resultado de una solicitud de E/S por
parte de un proceso del usuario, una vez iniciada la E/S; luego al
completarse la operación el control se devuelve al proceso del usuario,
este caso se conoce como E/S sincrónica, pero existe otra posibilidad
llamada E/S asíncrona que devuelve el control al programa del usuario sin
esperar que se complete la E/S así esta puede continuar mientras se
realizan otras operaciones del sistema.
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

INTERRUPCIONES DE PROGRAMA
Las interrupciones software son provocadas por los programas usando una
función especial del lenguaje, tienen como objetivo el que la CPU ejecute
algún tipo de función, al terminar de ejecutarse esta función, se seguirá
ejecutando el programa que provocó la interrupción.
Este tipo de interrupciones es la forma más importante que tendrán los
programas de ejecutar funciones especiales del DOS (Disk Operating
System) o del BIOS (Basic Input Output System). Estas funciones tienen un
número de interrupción software asociada, cuando un programa lanza una
interrupción de este tipo, la CPU ejecuta su función de tratamiento
asociada, por lo que debemos saber qué es lo que hace cada interrupción
para conseguir el efecto deseado.

Las Interrupciones son principalmente subrutinas de la BIOS o el DOS que
pueden ser llamadas por un programa, su función es controlar el hardware,
servir de contacto entre los programas y las funciones del BIOS y del dos.
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

Las interrupciones de software pueden ser activadas directamente por el
ensamblador invocando al número de interrupción deseada con la
instrucción INT.

El uso de las interrupciones nos ayuda en la creación de programas,
utilizándolas en programas, son más cortos, es más fácil entenderlos y
usualmente tienen un mejor desempeño debido en gran parte a su menor
tamaño.

Este tipo de interrupciones podemos separarlas en dos categorías: las
interrupciones del sistema operativo DOS y las interrupciones del BIOS.

La diferencia entre ambas es que las interrupciones del sistema operativo
son más fáciles de usar pero también son más lentas ya que estas
interrupciones hacen uso del BIOS para lograr su cometido, en cambio las
interrupciones del BIOS son mucho más rápidas pero tienen la desventaja
que, como son parte del hardware son muy específicas y pueden variar
dependiendo incluso de la marca del fabricante del circuito.

La elección del tipo de interrupción a utilizar dependerá únicamente de las
características que le quiera dar a su programa: velocidad (utilizando las
del BIOS) o portabilidad (utilizando las del DOS).

INTERRUPCIONES EXTERNAS
El uso de las interrupciones nos ayuda en la creación de programas,
utilizándolas nuestros programas son más cortos, es más fácil entenderlos
y usualmente tienen un mejor desempeño debido en gran parte a su menor
tamaño.

Las interrupciones externas las generan los dispositivos periféricos, como
pueden ser: teclado, impresoras, tarjetas de comunicaciones; también son
generadas por los coprocesadores.
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

Estas interrupciones no son enviadas directamente a la UCP, sino que se
mandan a un circuito integrado cuya función es exclusivamente manejar
este tipo de interrupciones.

Por ejemplo en un circuito llamado PIC 8259A si es controlado por la UCP
utilizando para tal control una serie de vías de comunicación llamadas
puertos:
Interrupción 10H
Propósito: Llamar a diversas funciones de video del BIOS.
Sintaxis:
Int 10H
Esta interrupción tiene diversas funciones, todas ellas nos sirven para
controlar la entrada y salida de video, la forma de acceso a cada una de las
opciones es por medio del registro AH.
Funciones comunes de la interrupción 10H.
1. 02H Selección de posición del cursor
2. 09H Escribe atributo y carácter en el cursor
3. 0AH Escribe carácter en la posición del cursor
4. 0EH Escritura de caracteres en modo alfanumérico
Función 02H
Uso: Posiciona el cursor en la pantalla dentro de las coordenadas válidas
de texto.
Registros de llamada: AH = 02H
1. BH = Página de video en la que se posicionará el cursor.
2. DH = Fila
3. DL = Columna
Función 09H
Uso: Desplegar un carácter un determinado número de veces con un
atributo definido empezando en la posición actual del cursor.
Registros de llamada: AH = 09H
1. AL = Carácter a desplegar
2. BH = Página de video en donde se desplegará
3. BL = Atributo a usar
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

Esta función despliega un carácter el número de veces especificado en CX
pero sin cambiar la posición del cursor en la pantalla.
Función 0AH
Uso: Desplegar un carácter en la posición actual del cursor.
Registros de llamada: AH = 0AH
1. AL = carácter a desplegar
2. BH = Página en donde desplegar
3. BL = Color a usar (sólo en gráficos).
4. CX = Número de repeticiones
La única diferencia entre esta función y la anterior es que ésta no permite
modificar los atributos, simplemente usa los atributos actuales. Tampoco
se altera la posición del cursor con esta función.
Función 0EH
Uso: Desplegar un carácter en la pantalla actualizando la posición del
cursor.
Registros de llamada: AH = 0EH
1. AL = carácter a desplegar
2. BH = Página donde se desplegara el carácter
3. BL = Color a usar (solo en gráficos)
Interrupción 16H
Propósito: Manejar la entrada/salida del teclado.
Sintaxis: Int 16H
La interrupción 16H, son llamadas utilizando el registro AH.
Funciones de la interrupción 16H
00H Lee un carácter de teclado
01H Lee estado del teclado
Función 00H
Uso: Leer un carácter del teclado.
Registros de llamada: AH = 00H
Registros de retorno: AH = código de barrido (scan code) del teclado
AL = Valor ASCII del carácter.
Cuando se utiliza esta interrupción se detiene la ejecución del programa
hasta que se introduzca un carácter desde el teclado, si la tecla presionada
es un carácter ASCII su valor será guardado en el registro AH, de lo
TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO

contrario el código de barrido será guardado en AL y AH contendrá el valor
00H.
Función 01H
Uso: Leer estado del teclado.
Registros de llamada: AH = 01H
Interrupción 17H
Propósito: Manejar la entrada/salida de la impresora.
Sintaxis: Int 17H
Esta interrupción es utilizada para escribir caracteres a la impresora,
inicializarla y leer su estado.
Funciones de la interrupción 16H
1. 00H Imprime un carácter ASCII
2. 01H Inicializa la impresora
3. 02H Proporciona el estado de la impresora
Función 00H
Uso: Escribir un carácter a la impresora.
Registros de llamada: AH = 00H
1. AL = carácter a imprimir
2. DX = Puerto a utilizar
Registros de retorno: AH = Estado de la impresora.
El estado de la impresora se codifica bit por bit como sigue:
BIT 1/0 SIGNIFICADO
0 1 Se agotó el tiempo de espera
3 1 Error de entrada/salida
4 1 Impresora seleccionada
5 1 Papel agotado
6 1 Reconocimiento de comunicación
7 1 La impresora se encuentra libre
Los bits 1 y 2 no son relevantes.
La mayoría de los BIOS únicamente soportan 3 puertos paralelos aunque
existen algunos que soportan 4.

Más contenido relacionado

La actualidad más candente

Mantenimiento preventivo diapositivas
Mantenimiento preventivo diapositivasMantenimiento preventivo diapositivas
Mantenimiento preventivo diapositivasraquel vasquez
 
Mantenimiento De Una Pc
Mantenimiento De Una PcMantenimiento De Una Pc
Mantenimiento De Una Pcluisacardona
 
LCU14-410: How to build an Energy Model for your SoC
LCU14-410: How to build an Energy Model for your SoCLCU14-410: How to build an Energy Model for your SoC
LCU14-410: How to build an Energy Model for your SoCLinaro
 
Diagrama de flujo mantenimiento preventivo sw.
Diagrama de flujo mantenimiento preventivo sw.Diagrama de flujo mantenimiento preventivo sw.
Diagrama de flujo mantenimiento preventivo sw.Clc Jrm
 
Manual correctivo para computadores...
Manual correctivo para computadores...Manual correctivo para computadores...
Manual correctivo para computadores...POSTRE EXPRESS S.A
 
Cargadores y ligadores
Cargadores y ligadoresCargadores y ligadores
Cargadores y ligadoresperlallamas
 
Estructura de un sistema operativo y funciones basicas
Estructura de un sistema operativo y funciones basicasEstructura de un sistema operativo y funciones basicas
Estructura de un sistema operativo y funciones basicasAldahir IS
 
Test básico de seguridad informática
Test básico de seguridad informáticaTest básico de seguridad informática
Test básico de seguridad informáticasylvia1999
 
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.PAOLA ABOYTES
 
Mantenimiento presentacion de pc
Mantenimiento presentacion de pcMantenimiento presentacion de pc
Mantenimiento presentacion de pcFabian Ortiz
 
Interrupciones
InterrupcionesInterrupciones
Interrupcionesjcarlosl
 
Como administrar un centro de computo
Como administrar un centro de computoComo administrar un centro de computo
Como administrar un centro de computoCarlaChQ
 
administración de Almacenamiento secundario
administración de Almacenamiento secundarioadministración de Almacenamiento secundario
administración de Almacenamiento secundarionadya huayamave
 

La actualidad más candente (20)

Mantenimiento preventivo diapositivas
Mantenimiento preventivo diapositivasMantenimiento preventivo diapositivas
Mantenimiento preventivo diapositivas
 
Procesamiento en paralelo
Procesamiento en paraleloProcesamiento en paralelo
Procesamiento en paralelo
 
Mantenimiento De Una Pc
Mantenimiento De Una PcMantenimiento De Una Pc
Mantenimiento De Una Pc
 
LCU14-410: How to build an Energy Model for your SoC
LCU14-410: How to build an Energy Model for your SoCLCU14-410: How to build an Energy Model for your SoC
LCU14-410: How to build an Energy Model for your SoC
 
Diagrama de flujo mantenimiento preventivo sw.
Diagrama de flujo mantenimiento preventivo sw.Diagrama de flujo mantenimiento preventivo sw.
Diagrama de flujo mantenimiento preventivo sw.
 
Manual correctivo para computadores...
Manual correctivo para computadores...Manual correctivo para computadores...
Manual correctivo para computadores...
 
Estructura del s.o
Estructura del s.oEstructura del s.o
Estructura del s.o
 
Cargadores y ligadores
Cargadores y ligadoresCargadores y ligadores
Cargadores y ligadores
 
Estructura de un sistema operativo y funciones basicas
Estructura de un sistema operativo y funciones basicasEstructura de un sistema operativo y funciones basicas
Estructura de un sistema operativo y funciones basicas
 
Test básico de seguridad informática
Test básico de seguridad informáticaTest básico de seguridad informática
Test básico de seguridad informática
 
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
TEMA:5.1 PRINCIPIOS DE HARDWARE DE E/S.
 
Mantenimiento presentacion de pc
Mantenimiento presentacion de pcMantenimiento presentacion de pc
Mantenimiento presentacion de pc
 
Unidad5
Unidad5Unidad5
Unidad5
 
Diagnostico Y Mantenimiento De Computadoras por Malina
Diagnostico Y  Mantenimiento De Computadoras por MalinaDiagnostico Y  Mantenimiento De Computadoras por Malina
Diagnostico Y Mantenimiento De Computadoras por Malina
 
Operaciones Sobre Procesos
Operaciones Sobre ProcesosOperaciones Sobre Procesos
Operaciones Sobre Procesos
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Como administrar un centro de computo
Como administrar un centro de computoComo administrar un centro de computo
Como administrar un centro de computo
 
Fallas comunes de la pc
Fallas comunes de la pcFallas comunes de la pc
Fallas comunes de la pc
 
administración de Almacenamiento secundario
administración de Almacenamiento secundarioadministración de Almacenamiento secundario
administración de Almacenamiento secundario
 
Seguridad informatica
Seguridad informatica Seguridad informatica
Seguridad informatica
 

Similar a Control y manejo de interrupciones

Las interrupciones
Las interrupcionesLas interrupciones
Las interrupcionescwelio45
 
Sesión 10
Sesión 10Sesión 10
Sesión 10percebra
 
Interrupciones del microprocesador
Interrupciones del microprocesadorInterrupciones del microprocesador
Interrupciones del microprocesadorJorge Luis Tinoco
 
Revista Digital
Revista Digital Revista Digital
Revista Digital Yosel97
 
Revista Digital
Revista Digital Revista Digital
Revista Digital Yosel97
 
Sistema de computación procesos
Sistema de computación procesosSistema de computación procesos
Sistema de computación procesosluis alejandro
 
UNIDAD 5 Sistema Operativo .
UNIDAD 5 Sistema Operativo .UNIDAD 5 Sistema Operativo .
UNIDAD 5 Sistema Operativo .TheBoops
 
Trabajo grupal sistema operativo capítulo 2 26 10-2011
Trabajo grupal sistema operativo capítulo 2   26 10-2011Trabajo grupal sistema operativo capítulo 2   26 10-2011
Trabajo grupal sistema operativo capítulo 2 26 10-2011ecuatareas
 
Estructura Del Sistema InformáTico
Estructura Del Sistema InformáTicoEstructura Del Sistema InformáTico
Estructura Del Sistema InformáTicopainni
 
Multiprogramacion profe pit_aaaaa
Multiprogramacion profe pit_aaaaaMultiprogramacion profe pit_aaaaa
Multiprogramacion profe pit_aaaaatayzhev
 
Procesos Interrupciones y Nucleo
 Procesos Interrupciones y Nucleo Procesos Interrupciones y Nucleo
Procesos Interrupciones y NucleoG Hoyos A
 
Diapositivas sistemas operativos Damilo y nuedbys los esposos
Diapositivas sistemas operativos Damilo y nuedbys los espososDiapositivas sistemas operativos Damilo y nuedbys los esposos
Diapositivas sistemas operativos Damilo y nuedbys los espososDanilo Vargas
 
Diapositivas sistemas operativos Danilo y nuedbys los esposos
Diapositivas sistemas operativos Danilo y nuedbys los espososDiapositivas sistemas operativos Danilo y nuedbys los esposos
Diapositivas sistemas operativos Danilo y nuedbys los espososDanilo Vargas
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativoalarcon14
 
Interrupciones
InterrupcionesInterrupciones
Interrupcioneshandresrm
 

Similar a Control y manejo de interrupciones (20)

Las interrupciones
Las interrupcionesLas interrupciones
Las interrupciones
 
Sesión 10
Sesión 10Sesión 10
Sesión 10
 
Interrupciones del microprocesador
Interrupciones del microprocesadorInterrupciones del microprocesador
Interrupciones del microprocesador
 
Interrupción - Informatica
Interrupción - InformaticaInterrupción - Informatica
Interrupción - Informatica
 
Revista Digital
Revista Digital Revista Digital
Revista Digital
 
Revista Digital
Revista Digital Revista Digital
Revista Digital
 
3.sistema operativos
3.sistema operativos3.sistema operativos
3.sistema operativos
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Sistema de computación procesos
Sistema de computación procesosSistema de computación procesos
Sistema de computación procesos
 
So 2
So 2So 2
So 2
 
UNIDAD 5 Sistema Operativo .
UNIDAD 5 Sistema Operativo .UNIDAD 5 Sistema Operativo .
UNIDAD 5 Sistema Operativo .
 
Trabajo grupal sistema operativo capítulo 2 26 10-2011
Trabajo grupal sistema operativo capítulo 2   26 10-2011Trabajo grupal sistema operativo capítulo 2   26 10-2011
Trabajo grupal sistema operativo capítulo 2 26 10-2011
 
Estructura Del Sistema InformáTico
Estructura Del Sistema InformáTicoEstructura Del Sistema InformáTico
Estructura Del Sistema InformáTico
 
Multiprogramacion profe pit_aaaaa
Multiprogramacion profe pit_aaaaaMultiprogramacion profe pit_aaaaa
Multiprogramacion profe pit_aaaaa
 
Procesos Interrupciones y Nucleo
 Procesos Interrupciones y Nucleo Procesos Interrupciones y Nucleo
Procesos Interrupciones y Nucleo
 
Diapositivas sistemas operativos Damilo y nuedbys los esposos
Diapositivas sistemas operativos Damilo y nuedbys los espososDiapositivas sistemas operativos Damilo y nuedbys los esposos
Diapositivas sistemas operativos Damilo y nuedbys los esposos
 
Diapositivas sistemas operativos Danilo y nuedbys los esposos
Diapositivas sistemas operativos Danilo y nuedbys los espososDiapositivas sistemas operativos Danilo y nuedbys los esposos
Diapositivas sistemas operativos Danilo y nuedbys los esposos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Unidad2
Unidad2Unidad2
Unidad2
 

Más de tecnologia01

particiones de un disco duro
particiones de un disco duroparticiones de un disco duro
particiones de un disco durotecnologia01
 
Manual administracion de aplicaciones, administrador de tareas, manejo de aud...
Manual administracion de aplicaciones, administrador de tareas, manejo de aud...Manual administracion de aplicaciones, administrador de tareas, manejo de aud...
Manual administracion de aplicaciones, administrador de tareas, manejo de aud...tecnologia01
 
Dispositivos y drivers
Dispositivos y driversDispositivos y drivers
Dispositivos y driverstecnologia01
 
Redes y comunicacion
Redes y comunicacionRedes y comunicacion
Redes y comunicaciontecnologia01
 
Administrador de dispositivos
Administrador de dispositivosAdministrador de dispositivos
Administrador de dispositivostecnologia01
 
Manejo cuenta usuario
Manejo cuenta usuarioManejo cuenta usuario
Manejo cuenta usuariotecnologia01
 
Manejo cuenta usuario
Manejo cuenta usuarioManejo cuenta usuario
Manejo cuenta usuariotecnologia01
 
Herramientas del sistema escaneo
Herramientas del sistema escaneoHerramientas del sistema escaneo
Herramientas del sistema escaneotecnologia01
 
Herramientas administrativas y del sistema
Herramientas administrativas y del sistemaHerramientas administrativas y del sistema
Herramientas administrativas y del sistematecnologia01
 
Requerimientos de un sistema operativo 1
Requerimientos de un sistema operativo  1Requerimientos de un sistema operativo  1
Requerimientos de un sistema operativo 1tecnologia01
 
Requerimientos de un sistema operativo
Requerimientos de un sistema operativoRequerimientos de un sistema operativo
Requerimientos de un sistema operativotecnologia01
 
Encendido de un pc
Encendido de un pcEncendido de un pc
Encendido de un pctecnologia01
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivostecnologia01
 

Más de tecnologia01 (15)

particiones de un disco duro
particiones de un disco duroparticiones de un disco duro
particiones de un disco duro
 
Accesibilidad
Accesibilidad Accesibilidad
Accesibilidad
 
Manual administracion de aplicaciones, administrador de tareas, manejo de aud...
Manual administracion de aplicaciones, administrador de tareas, manejo de aud...Manual administracion de aplicaciones, administrador de tareas, manejo de aud...
Manual administracion de aplicaciones, administrador de tareas, manejo de aud...
 
Dispositivos y drivers
Dispositivos y driversDispositivos y drivers
Dispositivos y drivers
 
Redes y comunicacion
Redes y comunicacionRedes y comunicacion
Redes y comunicacion
 
Administrador de dispositivos
Administrador de dispositivosAdministrador de dispositivos
Administrador de dispositivos
 
Manejo cuenta usuario
Manejo cuenta usuarioManejo cuenta usuario
Manejo cuenta usuario
 
Manejo cuenta usuario
Manejo cuenta usuarioManejo cuenta usuario
Manejo cuenta usuario
 
Herramientas del sistema escaneo
Herramientas del sistema escaneoHerramientas del sistema escaneo
Herramientas del sistema escaneo
 
Herramientas administrativas y del sistema
Herramientas administrativas y del sistemaHerramientas administrativas y del sistema
Herramientas administrativas y del sistema
 
Requerimientos de un sistema operativo 1
Requerimientos de un sistema operativo  1Requerimientos de un sistema operativo  1
Requerimientos de un sistema operativo 1
 
Requerimientos de un sistema operativo
Requerimientos de un sistema operativoRequerimientos de un sistema operativo
Requerimientos de un sistema operativo
 
Funciones del s.o
Funciones del s.oFunciones del s.o
Funciones del s.o
 
Encendido de un pc
Encendido de un pcEncendido de un pc
Encendido de un pc
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 

Control y manejo de interrupciones

  • 1. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO CONTROL Y MANEJO DE INTERRUPCIONES Una interrupción es un mecanismo que permite ejecutar un bloque de instrucciones interrumpiendo la ejecución de un programa, y luego restablecer la ejecución del mismo sin afectarlo directamente. De este modo un programa puede ser interrumpido temporalmente para atender alguna necesidad urgente de la computadora y luego continuar su ejecución de manera normal y como si nada hubiera pasado. Las interrupciones son un método del que disponen los dispositivos e incluso los procesos para hacer notar a la CPU la aparición de alguna circunstancia que requiera su intervención. De este modo, los dispositivos pueden provocar que la CPU deje por el momento la tarea que estaba realizando y atienda la interrupción. Una vez atendida, seguirá con su labor anterior. Cuando no existían interrupciones, era el procesador el que tenía que estar continuamente comprobando el estado del dispositivo cuando lo necesitaba. Todo ese tiempo que el procesador estaba sondeando el estado de los dispositivos era tiempo que no se podía dedicar a otros procesos, lo que significa esto una afectación al rendimiento. Por todo ello se. Pensó que lo mejor era que existiera una línea especial entre el procesador y los dispositivos, por la que los dispositivos indicaban al procesador que ya estaban listos. Cuando al procesador le llega una interrupción, la atiende inmediatamente dejando de hacer lo que estuviera haciendo, para poder atenderla de la forma correcta, debe saber con anterioridad cómo tratarla. Las computadoras tienen en un sitio conocido de memoria, las distintas rutinas de tratamiento para las diferentes interrupciones, el procesador reconoce la interrupción de la que se trata y busca en memoria la rutina correspondiente. Una vez terminado el tratamiento de la interrupción, es muy importante que el procesador siga con lo que estaba haciendo, es importante que antes de tratar la interrupción se guarde de alguna forma el estado en que se encuentra la computadora, y al terminar la rutina de tratamiento se restaure el estado. Se pueden distinguir dos tipos de interrupciones: interrupciones software e interrupciones hardware; Las interrupciones software son provocadas por los programas usando una función especial del lenguaje, tienen como
  • 2. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO objetivo el que la CPU ejecute algún tipo de función, al terminar de ejecutarse esta función, se seguirá ejecutando el programa que provocó la interrupción. 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 revisa las banderas hardware para ver si algún dispositivo necesita atención. Las interrupciones generadas por los dispositivos periféricos son generalmente asíncronos 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. Las rutinas del Sistema de Operación llamadas manejadores de dispositivos usualmente manejan las interrupciones generadas por el dispositivo. Los Sistemas de Operación usan interrupciones pare implementar el tiempo compartido. Tienen un dispositivo llamado timer que genera una interrupción después de un intervalo específico de tiempo. El Sistema de Operación inicializa el timer antes de actualizar el Program Counter pare ejecutar un programa de un usuario. Cuando el timer expira, genera una interrupción causando que el CPU ejecute la rutina de servicio de la interrupción timer. Una señal o signal es la notificación por software de que un evento ocurrió. Por lo general es la respuesta del Sistema de Operación. Por ejemplo, ctrlC genera una interrupción para el manejador de dispositivo que maneja el teclado. El manejador notifica al proceso apropiado mandando un signal. El Sistema de Operación también puede enviar signals a un proceso para notificar la finalización de una E/S o de un error. Las interrupciones pueden ser producidas por Hardware o por Software Las interrupciones por Hw son producidas por un dispositivo y viajan por el mismo bus del sistema. Las interrupciones por Sw son producidas por medio de la ejecución de una operación especial que se conoce como "llamada al sistema" (system call)
  • 3. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO o por errores producidos dentro de un proceso, también conocidas como excepciones. Hay muchos tipos de interrupciones y pare cada uno de estas existe una rutina en el sistema de operación que le da servicio. Los sistemas de operación actuales permiten a los dispositivos tales como E/S o reloj del sistema interrumpir el CPU asíncronamente. Pasos durante una interrupción El CPU suspende lo que estaba realizando. El hw 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, por lo que, 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, cada diseño de computadora tiene su propio mecanismo de interrupciones, una forma de manejar las interrupciones es invocando una rutina general que examine la información de la interrupción y determine el tipo de interrupción ocurrida, y de allí llama a la rutina que se encarga de atender dicha interrupción. Por lo general se maneja mediante un vector de interrupciones, indexado por el tipo de interrupción, en este vector se encuentra la dirección de comienzo de la rutina que da servicio a dicho tipo, se le conoce como
  • 4. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO vector de interrupción, otra forma de localizar la rutina apropiada es mediante el pooling, es decir, preguntando a cada dispositivo pare ver quien requirió el servicio. 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. DENTRO DE UN COMPUTADOR Cuando una computadora se encuentra realizando un proceso este puede interrumpirse por cualquiera de las dos causas siguientes: 1.- Que se haya presentado una causa que impida que siga adelante un trabajo o un programa que no haya terminado: En este caso las interrupciones pueden darse: Por Software: quiere decir que la interrupción se hace por medio de una instrucción del Sistema operativo que demanda la detención del proceso o por una instrucción del programa mismo que demanda la acción de otro dispositivo. Por Hardware: se refiere a interrupciones provocadas por la acción de algún elemento físico ya sea por una falla, por requerirlo el circuito, por falta de energía eléctrica u otra causa que impida la continuación de un programa dado algunas de estas fallas pueden ser manejadas por el sistema operativo ya sea por normalizar el proceso o para indicar al operador la causa de la interrupción.
  • 5. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO 2.- Es que haya llegado el fin lógico de un programa o de un trabajo: en este caso el sistema operativo debe retirar el control al programa que ha terminado de introducir una nueva tarea si se tiene alguna espera esta interrupción no representa un mayor problema ya que solo puede darse cuando el programa que se encuentra en proceso demanda a través de una instrucción su propio fin. INTERRUPCIÓN DE E/S Con el fin de iniciar una operación de E/S la CPU carga los registros apropiados dentro del controlador del dispositivo, el controlador a su vez examina el contenido de estos registros para determinar que acción debe realizar, por ejemplo, si se encuentra una solicitud de lectura, el controlador iniciara la transferencia de datos del dispositivo a su buffer local, cuando haya terminado de hacer esto el controlador informara al CPU que ha completado su operación, esta comunicación se genera por medio de una interrupción. Esto caso se da en general como resultado de una solicitud de E/S por parte de un proceso del usuario, una vez iniciada la E/S; luego al completarse la operación el control se devuelve al proceso del usuario, este caso se conoce como E/S sincrónica, pero existe otra posibilidad llamada E/S asíncrona que devuelve el control al programa del usuario sin esperar que se complete la E/S así esta puede continuar mientras se realizan otras operaciones del sistema.
  • 6. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO INTERRUPCIONES DE PROGRAMA Las interrupciones software son provocadas por los programas usando una función especial del lenguaje, tienen como objetivo el que la CPU ejecute algún tipo de función, al terminar de ejecutarse esta función, se seguirá ejecutando el programa que provocó la interrupción. Este tipo de interrupciones es la forma más importante que tendrán los programas de ejecutar funciones especiales del DOS (Disk Operating System) o del BIOS (Basic Input Output System). Estas funciones tienen un número de interrupción software asociada, cuando un programa lanza una interrupción de este tipo, la CPU ejecuta su función de tratamiento asociada, por lo que debemos saber qué es lo que hace cada interrupción para conseguir el efecto deseado. Las Interrupciones son principalmente subrutinas de la BIOS o el DOS que pueden ser llamadas por un programa, su función es controlar el hardware, servir de contacto entre los programas y las funciones del BIOS y del dos.
  • 7. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO Las interrupciones de software pueden ser activadas directamente por el ensamblador invocando al número de interrupción deseada con la instrucción INT. El uso de las interrupciones nos ayuda en la creación de programas, utilizándolas en programas, son más cortos, es más fácil entenderlos y usualmente tienen un mejor desempeño debido en gran parte a su menor tamaño. Este tipo de interrupciones podemos separarlas en dos categorías: las interrupciones del sistema operativo DOS y las interrupciones del BIOS. La diferencia entre ambas es que las interrupciones del sistema operativo son más fáciles de usar pero también son más lentas ya que estas interrupciones hacen uso del BIOS para lograr su cometido, en cambio las interrupciones del BIOS son mucho más rápidas pero tienen la desventaja que, como son parte del hardware son muy específicas y pueden variar dependiendo incluso de la marca del fabricante del circuito. La elección del tipo de interrupción a utilizar dependerá únicamente de las características que le quiera dar a su programa: velocidad (utilizando las del BIOS) o portabilidad (utilizando las del DOS). INTERRUPCIONES EXTERNAS El uso de las interrupciones nos ayuda en la creación de programas, utilizándolas nuestros programas son más cortos, es más fácil entenderlos y usualmente tienen un mejor desempeño debido en gran parte a su menor tamaño. Las interrupciones externas las generan los dispositivos periféricos, como pueden ser: teclado, impresoras, tarjetas de comunicaciones; también son generadas por los coprocesadores.
  • 8. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO Estas interrupciones no son enviadas directamente a la UCP, sino que se mandan a un circuito integrado cuya función es exclusivamente manejar este tipo de interrupciones. Por ejemplo en un circuito llamado PIC 8259A si es controlado por la UCP utilizando para tal control una serie de vías de comunicación llamadas puertos: Interrupción 10H Propósito: Llamar a diversas funciones de video del BIOS. Sintaxis: Int 10H Esta interrupción tiene diversas funciones, todas ellas nos sirven para controlar la entrada y salida de video, la forma de acceso a cada una de las opciones es por medio del registro AH. Funciones comunes de la interrupción 10H. 1. 02H Selección de posición del cursor 2. 09H Escribe atributo y carácter en el cursor 3. 0AH Escribe carácter en la posición del cursor 4. 0EH Escritura de caracteres en modo alfanumérico Función 02H Uso: Posiciona el cursor en la pantalla dentro de las coordenadas válidas de texto. Registros de llamada: AH = 02H 1. BH = Página de video en la que se posicionará el cursor. 2. DH = Fila 3. DL = Columna Función 09H Uso: Desplegar un carácter un determinado número de veces con un atributo definido empezando en la posición actual del cursor. Registros de llamada: AH = 09H 1. AL = Carácter a desplegar 2. BH = Página de video en donde se desplegará 3. BL = Atributo a usar
  • 9. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO Esta función despliega un carácter el número de veces especificado en CX pero sin cambiar la posición del cursor en la pantalla. Función 0AH Uso: Desplegar un carácter en la posición actual del cursor. Registros de llamada: AH = 0AH 1. AL = carácter a desplegar 2. BH = Página en donde desplegar 3. BL = Color a usar (sólo en gráficos). 4. CX = Número de repeticiones La única diferencia entre esta función y la anterior es que ésta no permite modificar los atributos, simplemente usa los atributos actuales. Tampoco se altera la posición del cursor con esta función. Función 0EH Uso: Desplegar un carácter en la pantalla actualizando la posición del cursor. Registros de llamada: AH = 0EH 1. AL = carácter a desplegar 2. BH = Página donde se desplegara el carácter 3. BL = Color a usar (solo en gráficos) Interrupción 16H Propósito: Manejar la entrada/salida del teclado. Sintaxis: Int 16H La interrupción 16H, son llamadas utilizando el registro AH. Funciones de la interrupción 16H 00H Lee un carácter de teclado 01H Lee estado del teclado Función 00H Uso: Leer un carácter del teclado. Registros de llamada: AH = 00H Registros de retorno: AH = código de barrido (scan code) del teclado AL = Valor ASCII del carácter. Cuando se utiliza esta interrupción se detiene la ejecución del programa hasta que se introduzca un carácter desde el teclado, si la tecla presionada es un carácter ASCII su valor será guardado en el registro AH, de lo
  • 10. TECNOLOGIA EN COMPUTACION – UNIVERSIDAD DE NSRIÑO contrario el código de barrido será guardado en AL y AH contendrá el valor 00H. Función 01H Uso: Leer estado del teclado. Registros de llamada: AH = 01H Interrupción 17H Propósito: Manejar la entrada/salida de la impresora. Sintaxis: Int 17H Esta interrupción es utilizada para escribir caracteres a la impresora, inicializarla y leer su estado. Funciones de la interrupción 16H 1. 00H Imprime un carácter ASCII 2. 01H Inicializa la impresora 3. 02H Proporciona el estado de la impresora Función 00H Uso: Escribir un carácter a la impresora. Registros de llamada: AH = 00H 1. AL = carácter a imprimir 2. DX = Puerto a utilizar Registros de retorno: AH = Estado de la impresora. El estado de la impresora se codifica bit por bit como sigue: BIT 1/0 SIGNIFICADO 0 1 Se agotó el tiempo de espera 3 1 Error de entrada/salida 4 1 Impresora seleccionada 5 1 Papel agotado 6 1 Reconocimiento de comunicación 7 1 La impresora se encuentra libre Los bits 1 y 2 no son relevantes. La mayoría de los BIOS únicamente soportan 3 puertos paralelos aunque existen algunos que soportan 4.