{draw:rect} {draw:rect} {draw:rect} {draw:rect} {draw:frame}
Ingeniería en Sistemas Computacionales
Tópicos Selectos De Programación
Unidad VI / Programación de puertos e interrupciones
Noviembre 2009
6.1 Conceptos fundamentales de interrupciones y puertos.
Concepto de interrupción:
Ya que un procesador no puede procesar simultáneamente varios trozos de información(procesa un trozo de información por vez), un programa que está siendo ejecutado puede, gracias al pedido de interrupción, ser momentáneamente suspendido mientras se produce una interrupción.
El programa interrumpido puede continuar ejecutándose luego. Existen 256 direcciones de interrupción diferentes.
Una interrupción se convierte en una interrupción de hardware cuando es solicitada poruno de los componentes de hardware del equipo. En efecto, existen varios periféricos en un equipo. Estos periféricos necesitan generalmente utilizar los recursos del sistema aunque sólo sea para comunicarse con el sistema mismo.
Cuando un periférico desea acceder a un recurso, envía un pedido de interrupción al procesador para llamar su atención. Los periféricos cuentan con un número deinterrupción que se denomina IRQ (Peticiones de Interrupción. Es como si cada periférico tirara de un “hilo” que está atado a una campana para señalarle al equipo que desea que le preste atención.
Este “hilo” es, de hecho, una línea física que conecta cada ranura de expansión así como cada interfaz E/S a la placa madre. Para una ranura ISA de 8 bits, por ejemplo, hay 8 líneas IRQ que unen ranuras ISAde 8 bits a la placa madre (IRQ0 a IRQ7). Estos IRQ están controlados por un “controlador de interrupción” que se encarga de “cederle la palabra” al IRQ que posee la mayor prioridad.
{text:bookmark-start} {text:bookmark-end}
Los *métodos interrupt* que se manejan en Java. Son 3
Interrupt()
Interrupted()
isInterrupted()
Interrupciones Sintaxis
Primero el métodocheckAccess de este thread es invocado, lo cual puede causar una Security Exception.
Si este thread es bloqueado en un selector, entonces el estado del thread de intrrupt será fijado, y retornara inmediatamente de la operación de selección, posiblemente con un valor diferente a cero, justo como si el método del selector wakeup hubiera sido invocado.
Si ninguna de las condiciones pasadas secumple, entonces el estado en interrupt del thread será fijado (activado).
Interrupted (interrumpido)
Sintaxis Public static boolean interrupted ()
Hace una prueba si el thread actual a sido interrumpido. El estado de interrupción del thread es deshecho por este método. En otras palabras, si este método se llamara dos veces, la segunda vez devolvería un valor falso (al menos que el threadactual sea interrumpido de nuevo, después de que la primera llamada haya terminado su interrupción y antes de que la segunda empiece).
Returns: Verdadero si el thread actual a sido interrumpido, falso de lo contrario
6.2 Puerto serial y sus variantes
{draw:frame} Puerto serial, puerto COM, puerto de comunicaciones y puerto RS-232(“Recomended Standard-232”), hacen referencia al mismopuerto.
Es un conector que permite la transmisión de datos entre un dispositivo externo (periférico), con la computadora; por ello es denominado puerto.
Todos los sistemas operativos de los ordenadores que están en uso hoy en día, soportan los puertos serie, ya que han estado en funcionamiento durante décadas. Los puertos paralelos son una invención más reciente y son mucho más rápidos que lospuertos serie. Los puertos USB solo tienen unos pocos años de antigüedad, y con el tiempo seguramente reemplazaran a los puertos serie y paralelo en los próximos años.
El nombre de serie viene por el hecho de que un puerto serie serializa los datos. Esto significa que coge un byte de datos y trasmite los 8 bits que contiene el byte uno a la vez. La ventaja es que los puertos serie solo necesitan…