jueves, 30 de agosto de 2007

DIAGRAMA SINTÁCTICO

Representación gráfica de las reglas de producción queespecifican un lenguaje

STDIO.H

"standard input/output header," ES LA LIBRERÍA ESTADAR PARA EL LEGUAJE DE PROGRAMACIÓN C, EL CUAL CONTIENE MACRO DEFENICIONES CONSTANTES .

CASE SENSITIVE

Es una expresión informática que hace referencia a la propiedad de un texto para presentarse en mayúsculas o en minúsculas.
Se dice que un texto es 'case sensitive' si distingue mayúsculas de minúsculas, por ejemplo los
Sistemas Operativos basados en UNIX en los que un texto escrito en mayúsculas es totalmente diferente a uno escrito en minúsculas. Contrariamente, se dice que el texto es 'Case insensitive' si no distingue mayúsculas de minúsculas.

PALABRAS RESERVADAS

Aquellas que no puedes usar para darle el nombre a las variables o constantes que vayas a definir.
EJEMPLO:
AND, ARRAY, BEGIN, CASE, CONST, DIV, DO, DOWNTO, ELSE, END, FILE, FOR, FORWARD, FUNCTION, GOTO, IF, IN, LABEL, MOD, NIL, NOT, OF, OR, PACKED, PROCEDURE, PROGRAM, RECORD, REPEAT, SET, THEN, TO, TYPE, UNTIL, VAR, WHILE, WITH, ABSOLUTE, ASM, DESTRUCTOR, IMPLEMENTATION, INTERFACE, OBJECT, PRIVATE, SHR, UNIT, VIRTUAL, CONSTRUCTOR, EXTERNAL, INLINE, INTERRUPT, SHL, STRING, USES, XOR.

SISTEMAS OPERATIVOS


DOS: El famoso DOS, que quiere decir Disk Operating System (sistema operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS. MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el mismo SO que el PC-DOS.
La razón de su continua popularidad se debe al aplastante volumen de software disponible y a la base instalada de computadoras con procesador Intel.
Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que DOS y las aplicaciones DOS representaron la mayoría del mercado de software para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras que corrieran DOS tan bien como las computadoras IBM lo hacían.
Aún con los nuevos sistemas operativos que han salido al mercado, todavía el DOS es un sólido contendiente en la guerra de los SO.

Windows 3.1: Microsoft tomo una decisión, hacer un sistema operativo que tuviera una interfaz gráfica amigable para el usuario, y como resultado obtuvo Windows. Este sistema muestra íconos en la pantalla que representan diferentes archivos o programas, a los cuales se puede accesar al darles doble click con el puntero del mouse. Todas las aplicaciones elaboradas para Windows se parecen, por lo que es muy fácil aprender a usar nuevo software una vez aprendido las bases.

Windows 95: En 1995, Microsoft introdujo una nueva y mejorada versión del Windows 3.1. Las mejoras de este SO incluyen soporte multitareas y arquitectura de 32 bits, permitiendo así correr mejores aplicaciónes para mejorar la eficacia del trabajo.

Windows NT: Esta versión de Windows se especializa en las redes y servidores. Con este SO se puede interactuar de forma eficaz entre dos o más computadoras.

OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es muy buena. El problema que presenta este sistema operativo es que no se le ha dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se han creado muchas aplicaciones que aprovechen las características de el SO, ya que la mayoría del mercado de software ha sido monopolizado por Windows.

Mac OS: Las computadoras Macintosh no serían tan populares como lo son si no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y usarlos de manera eficaz. Este fue creado por Apple Computer, Inc.

UNIX: El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T en 1969 y es ahora usado como una de las bases para la supercarretera de la información. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. Esto quiere decir que muchos usuarios puede estar usando una misma computadora por medio de terminales o usar muchas de ellas.

serie AIX, que es utilizado en los sistemas RS/6000 de IBM

Solaris-MC:Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadoreS.

DC6600, el cual está orientado a procesamiento científico pesado

EXEC II para el UNIVAC 1107, orientado a procesamiento académico.

SOLARIS:Es un sistema certificado como una versión de UNIX. Solaris puede considerarse uno de los sistemas operativos más avanzados.

NOVELL NETWARE: es un Sistema operativo de red producido por la empresa BARRETO SORRINO. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de información, sobre todo en cuanto a servidores de archivos.
LANtastic: Popular sistema operativo de LAN par a par para computadores personales de Artisoft, Inc., Tucson, AZ. Soporta adaptadores Ethernet, ARCNET y Token Ring, así como su propio adaptador de par trenzado a dos Mbits/seg.
PVM: es un software que permite unir una serie de estaciones Unix en red y hacerlos funcionar como un solo computador en paralelo. De esta forma, grandes problemas computacionales pueden ser resueltos con un coste menoR.
OS/2: es un sistema operativo de IBM que intentó suceder a DOS como sistema operativo de los PCs.
WINDOWS 98: hace que el ordenador funcione mejor integrando Internet y ofreciendo un mejor rendimiento del sistema y un sistema de diagnósticos y mantenimiento más sencillo.
VXWORKS: es un sistema operativo de tiempo real, basado en Unix, vendido y fabricado por Wind River Systems.
MULTICS: fue uno de los primeros sistemas operativos de tiempo compartido y tuvo una gran influencia en el desarrollo de los posteriores sistemas operativos.
SPRING FRAMEWORK: es un framework de código abierto de desarrollo de aplicaciones para la plataforma Java.

AT&T

La Corporación AT&T (siglas de su antiguo nombre, American Telephone and Telegraph; NYSE: AT&T) es una compañía estadounidense de telecomunicaciones. Provee servicios de voz, video, datos, e internet a negocios, clientes y agencias del gobierno. Durante su larga historia, AT&T ha sido, en ocasiones, la compañía telefónica más grande del mundo, el operador de televisión por cable más grande de los Estados Unidos, y hasta fue clasificado como un monopolio. A principios del 2005 se ven indicios de que pueda ser absorbida por SBC Communications.
La American Telephone and Telegraph Corporation (Corporación estadounidense de teléfono y telégrafo) comenzó con el propósito de manejar la primera red telefónica a larga distancia de los Estados Unidos (3 de marzo de 1885). Comenzando en Nueva York, la red se extendió a Chicago en 1892, y a San Francisco en 1915. Comenzó a proveer servicios transatlánticos en 1927 utilizando radios, ya que el primer cable telefónico submarino transatlántico no llegó hasta 1956.
La creación de la Bell Telephone Company fue consecuencia de un acuerdo entre Alexander Graham Bell y sus inversores, entre ellos Gardiner G. Hubbard y Thomas Sanders. Su nombre fue cambiado en varias ocasiones, y ya para 1880 se la conocía como la American Bell Telephone Company. Para 1881, la American Bell había comprado de parte de Western Union un interés mayoritario de la compañía Western Electric. Como dato interesante, tres años antes de que esto ocurriera, Western Union había rechazado una oferta de Gardiner Hubbard, en la cual les ofrecía los derechos sobre el teléfono por un coste de $100,000.
En 1997, AT&T contrató a Michael Armstrong, antiguo ejecutivo de IBM como principal oficial ejecutivo. La visión de Armstrong era convertir a AT&T, de un proveedor de larga distancia, a todo un supermercado global de las telecomunicaciones.

DENNIS RITCHIE

Dennis MacAlistair Ritchie (n. en 1941) es un físico estadounidense que colaboró en el desarrollo del sistema operativo Unix y creó el lenguaje de programación C, tema sobre el cual escribió un célebre clásico de las ciencias de la computación junto a Brian Wilson Kernighan: El Lenguaje de Programación C.
Nació en
Bronxville (Nueva York) el 9 de septiembre de 1941. En 1967 ingresó a Laboratorios Bell en donde trabajó en Multics, BCPL, ALTRAN y el lenguaje de programación B. En Lucent encabezó los esfuerzos para la creación de Plan 9 e Inferno. Sus aportaciones junto a Ken Thompson al campo de los sistemas operativos han sido reconocidas con el Premio NEC C&C en 1979, con el Premio Turing de la ACM en 1983 y con la Medalla Nacional de Tecnología de los Estados Unidos en 1998.

martes, 28 de agosto de 2007

EFECTO CASIMIR

El efecto Casimir o la fuerza de Casimir-Polder es una fuerza física ejercida entre objetos separados debido a la resonancia de los campos energéticos en el espacio entre los objetos

ENUNCIADOS GO TO

Conocido también como bifurcación incondicional.
Provoca un cambio en el flujo del control del programa al primer enunciado que siga a la etiqueta especificada en el enunciado goto
Una etiqueta es un identificador seguido de dos puntos.
Una etiqueta deber'a aparecer en la misma función que el enunciado goto al cual se hace referencia.
No muy recomendado por los seguidores de la programación secuencial.
El siguiente programa presenta un ejemplo de uso:
main()
{
int i=0;
algo: printf(''Esto es una prueba nn'');
if (i ! 5)
{
i++;
goto algo;
}
}

BENCHMARK

Es una técnica utilizada para medir el rendimiento de un sistema o componente de un sistema, frecuentemente en comparación con algún parámetro de referencia. También puede encontrarse como benchmarking, el cual se refiere específicamente a la acción de ejecutar un benchmark. La palabra benchmark es un anglicismo traducible al castellano como comparativa. Si bien también puede encontrarse esta palabra haciendo referencia al significado original en la lengua anglosajona, es en el campo informático donde su uso está más ampliamente extendido. Más formalmente puede entenderse que un benchmark es el resultado de la ejecución de un programa informático o un conjunto de programas en una máquina, con el objetivo de estimar el rendimiento de un elemento concreto o la totalidad de la misma, y poder comparar los resultados con máquinas similares. En términos de ordenadores, un benchmark podría ser realizado en cualquiera de sus componentes, ya sea CPU, RAM, tarjeta gráfica, etc. También puede ser dirigido específicamente a una función dentro de un componente, por ejemplo, la unidad de coma flotante de la CPU; o incluso a otros programas.

MÁQUINA DE TURING

La máquina de Turing es un modelo computacional introducido por Alan Turing en el trabajo “On computable numbers, with an application to the Entscheidungsproblem”, publicado por la Sociedad Matemática de Londres, en el cual se estudiaba la cuestión planteada por David Hilbert sobre si las matemáticas son decidibles, es decir, si hay un método definido que pueda aplicarse a cualquier sentencia matemática y que nos diga si esa sentencia es cierta o no. Turing construyó un modelo formal de computador, la máquina de Turing, y demostró que existían problemas que una máquina no podía resolver. La máquina de Turing es un modelo matemático abstracto que formaliza el concepto de algoritmo.

ALGORITMO

Es un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Es decir, que un algoritmo es un método para encontrar la solución a algún problema. Los algoritmos son el objeto de estudio de la algoritmia y su definición queda formalizada por la Máquina de Turing.
Su importancia radica en mostrar la manera de llevar a cabo procesos y resolver
problemas matemáticos; al igual que las funciones matemáticas, los algoritmos reciben una entrada y la transforman en una salida ("efecto caja negra").
Algoritmos determinísticos: sus pasos están perfectamente definidos y aportan una solución exacta.
PSEUDOCÓDIGO: es la descripción de un algoritmo que asemeja a un lenguaje de programación pero con algunas convenciones del lenguaje natural. Tiene varias ventajas con respecto a los diagramas de flujo, entre las que se destaca el poco espacio que se requiere para representar instrucciones complejas. El pseudocódigo no está regido por ningún estándar.

ANALIZADORES SINTACTICO Y SEMÁNTICO

Un analizador sintáctico (parser/parsing) es un proceso que analiza secuencias de tokens para determinar su estructura gramatical respecto a una gramática formal dada.
Un parser es así mismo un
programa que reconoce si una o varias cadenas de caracteres forman parte de un determinado lenguaje, es utilizado por ejemplo en compiladores.
El analizador semántico deberá comprobar lo siguiente:
No se deben declarar en el programa fuente 2 variables con el mismo nombre (incluida la variable que se declara en la cabecera del programa y que se utiliza para que el programa pueda recibir un argumento al ser ejecutado).
Todas las variables utilizadas en un programa deberán haber sido declaradas.
La expresión utilizada en las sentencias if y while debe ser de tipo bool.
En una sentencia de asignación, el tipo de la variable asignada y el de la expresión deben ser iguales.
La sentencia break (permite salir abruptamente de un bucle), no debe aparecer fuera de una sentencia while (esto deberá comprobarse si no se hizo en la fase de análisis sintáctico).
La expresión que se le pasa como argumento a una sentencia print debe ser de tipo string.

COMPILADORES

Es un programa que, a su vez, traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente. Usualmente el segundo lenguaje es código máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.

CODASYL

es el acrónimo para "Conference on Data Systems Languages", un consorcio de industrias informáticas formado en 1959 con el objeto de regular el desarrollo de un lenguaje de programación estándar que pudiera ser utilizado en multitud de ordenadores. De todos estos esfuerzos resultó el lenguaje COBOL.
Los miembros de CODASYL pertenecían a industrias e instituciones gubernamentales relacionadas con el proceso de datos. Su principal meta era promover un análisis, diseño e implementación de los sistemas de datos más efectivos. La organización trabajó en varios lenguajes a lo largo del tiempo pero nunca llegaron a establecer estándar alguno, proceso que dejaron en manos de
ANSI.

KONRAD ZUSE

Konrad Zuse (22 de junio de 1910 - 18 de diciembre de 1995) fue un ingeniero alemán y un pionero de la computación. Su logro más destacado fue terminar la primera computadora controlada por programas que funcionaba, la Z3 en 1941. Esta puede ser que haya sido la "primera computadora", aunque hay discrepancias en este sentido pues, si se consideran algunas sutilezas, como por ejemplo que la máquina de Zuse no era de propósito general, tal vez no lo sea. También diseñó un lenguaje de programación de alto nivel, el Plankalkül, supuestamente en 1945, aunque fue una contribución teórica, pues el lenguaje no se implementó en su vida y no tuvo ninguna influencia directa en los primeros lenguajes implementados. También fundó la primera compañía de computadoras en 1946 y construyó la Z4, que se convirtió en 1950 en la primera computadora en ser comercializada. Debido a la Segunda Guerra Mundial, el trabajo inicial de Zuse pasó desapercibido fuera de Alemania. Posiblemente la primera influencia documentada de Zuse en una compañía extranjera fue la adquisición de patentes por parte de IBM en 1946.

CHARLES BABBAGE

Nació en Teignmouth (Inglaterra), fue un niño enfermizo. Su padre era rico por lo que Babbage estudió en las mejores escuelas privadas. Enseguida mostró interés por las matemáticas. Antes de entrar en la universidad estudiaba en su casa con la ayuda de un tutor de Oxford, para así lograr el nivel universitario. Así en 1810 ingresó en la Universidad de Cambridge.
En 1812 crea la Sociedad Analítica junto con otros estudiantes de Cambridge y en 1816 ingresa en la Real Sociedad de Matemáticas de Londres.

RAM

Se le llama RAM por que es posible acceder a cualquier ubicación de ella aleatoria y rápidamente
Físicamente, están constituidas por un conjunto de chips o módulos de chips normalmente conectados a la
tarjeta madre. Los chips de memoria son rectángulos negros que suelen ir soldados en grupos a unas plaquitas con "pines" o contactos.
La diferencia entre la RAM y otros
tipos de memoria de almacenamiento, como los disquetes o los discos duros, es que la RAM es mucho más rápida, y que se borra al apagar el computador, no como los Disquetes o discos duros en donde la información permanece grabada.

CHIPSET

El "chipset" es el conjunto (set) de chips que se encargan de controlar determinadas funciones del ordenador, como la forma en que interacciona el microprocesador con la memoria o la caché, o el control de los puertos y slots ISA, PCI, AGP, USB...
Antiguamente estas funciones eran relativamente sencillas de realizar y el chipset apenas influía en el rendimiento del ordenador, por lo que el chipset era el último elemento al que se concedía importancia a la hora de comprar una placa base, si es que alguien se molestaba siquiera en informarse sobre la naturaleza del mismo. Pero los nuevos y muy complejos micros, junto con un muy amplio abanico de tecnologías en materia de memorias, caché y periféricos que aparecen y desaparecen casi de mes en mes, han hecho que la importancia del chipset crezca enormemente.
De la calidad y características del chipset dependerán:
Obtener o no el máximo rendimiento del microprocesador.
Las posibilidades de actualización del ordenador.
El uso de ciertas tecnologías más avanzadas de memorias y periféricos.

KERNEL

El núcleo (también conocido en español con el anglicismo kernel, de raíces germánicas como kern) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador.

BUS

La topología de bus tiene todos sus nodos conectados directamente a un enlace y no tiene ninguna otra conexión entre nodos. Físicamente cada host está conectado a un cable común, por lo que se pueden comunicar directamente, aunque la ruptura del cable hace que los hosts queden desconectados.
La topología de bus permite que todos los dispositivos de la red puedan ver todas las señales de todos los demás dispositivos, lo que puede ser ventajoso si desea que todos los dispositivos obtengan esta información. Sin embargo, puede representar una desventaja, ya que es común que se produzcan problemas de tráfico y colisiones, que se pueden paliar segmentando la red en varias partes. Es la topología más común en pequeñas LAN, con hub o switch final en uno de los extremos. tambien representa una desventaja ya que si el cable se rompe, niguno de los servidores siguientes tendra acceso a la red.

X86

Es la denominación genérica dada a ciertos microprocesadores de la familia Intel, sus compatibles y a la arquitectura básica de estos procesadores, por la terminación de sus nombres: 8086, 80286, 80386 y 80486. Los sucesores del 80486 pasarán a ser llamados por nombres no numéricos, bajo la denominación Pentium, sin embargo todavía se los llama procesadores de la familia x86.
Es la arquitectura más popular comercialmente, siendo producidos por fabricantes como AMD, Cyrix, NEC Corporation y Transmeta.
La arquitectura es notablemente no limpia, por mantener compatibilidad con la línea de procesadores de 16 bits de Intel, que a su vez también eran compatibles con una familia de procesadores de 8 bits. Existen dos sucesores de 64 bits para esta arquitectura:
IA64, empleada en los procesadores Itanium de Intel y no compatible con X86, excepto bajo emulación.
AMD64 o x86-64, de AMD, que es básicamente una extensión de 64 bits de la familia x86.
Técnicamente, la arquitectura es denominada IA32 (Intel Architecture 32 bits).

ROM

ROM es la sigla de read-only memory, que significa "memoria de sólo lectura": una memoria de semiconductor destinada a ser leída y no destructible, es decir, que no se puede escribir sobre ella y que conserva intacta la información almacenada, incluso en el caso de que se interrumpa la corriente (memoria no volátil). La ROM suele almacenar la configuración del sistema o el programa de arranque de la computadora.
Se ejecutaba durante el arranque y que iba unida directamente al hardware (las máquinas de CP/M usualmente tenían un simple cargador arrancable en la ROM, y nada más

MEMORIA CACHÉ

Una caché es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales son costosos de acceder, normalmente en tiempo, respecto a la copia en el caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor.
El término caché puede utilizarse también para una zona de memoria de disco denominado
caché de disco (Disk cache o Cache buffer en inglés).

CISC VS RISC


CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo.
RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.

ARQUITECTURAS CISC

La microprogramación es una característica importante y esencial de casi todas las arquítecturas CISC.
Como por ejemplo:
Intel 8086, 8088, 80286, 80386, 80486.Motorola 68000, 68010, 68020, 68030, 6840.
La microprogramación significa que cada instrucción de máquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador.
En la década de los sesentas la micropramación, por sus características, era la técnica más apropiada para las tecnologías de memorias existentes en esa época y permitía desarrollar también procesadores con compatibilidad ascendente. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones.
Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstrucción).

ARQUITECTURAS RISC

Buscando aumentar la velocidad del procesamiento se descubrió en base a experimentos que, con una determinada arquitectura de base, la ejecución de programas compilados directamente con microinstrucciones y residentes en memoria externa al circuito integrado resultaban ser mas eficientes, gracias a que el tiempo de acceso de las memorias se fue decrementando conforme se mejoraba su tecnología de encapsulado.
Debido a que se tiene un conjunto de instrucciones simplificado, éstas se pueden implantar por hardware directamente en la CPU, lo cual elimina el microcódigo y la necesidad de decodificar instrucciones complejas.
En investigaciones hechas a mediados de la década de los setentas, con respecto a la frecuencia de utilización de una instrucción en un CISC y al tiempo para su ejecución, se observó lo siguiente:
- Alrededor del 20% de las instrucciones ocupa el 80% del tiempo total de ejecución de un programa.
- Existen secuencias de instrucciones simples que obtienen el mismo resultado que secuencias complejas predeterminadas, pero requieren tiempos de ejecución más cortos.
Las características esenciales de una arquitectura RISC pueden resumirse como sigue:
Estos microprocesadores siguen tomando como base el esquema moderno de Von Neumann.
Las instrucciones, aunque con otras características, siguen divididas en tres grupos:
a) Transferencia.

b) Operaciones.

c) Control de flujo.


Reducción del conjunto de instrucciones a instrucciones básicas simples, con la que pueden implantarse todas las operaciones complejas.
Arquitectura del tipo load-store (carga y almacena). Las únicas instrucciones que tienen acceso a la memoria son 'load' y 'store'; registro a registro, con un menor número de acceso a memoria.
Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control implantado por hardware (con un diseño del tipo load-store), casi todas las instrucciones se pueden ejecutar cada ciclo de reloj, base importante para la reorganización de la ejecución de instrucciones por medio de un compilador.
Pipeline (ejecución simultánea de varias instrucciones). Posibilidad de reducir el número de ciclos de máquina necesarios para la ejecución de la instrucción, ya que esta técnica permite que una instrucción puede empezar a ejecutarse antes de que haya terminado la anterior.

Interrupción

Interrupción (también conocida como interrupción hardware) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.

  • IRQ ("Interrupt ReQuest)

Las IRQ son líneas que llegan al controlador de interrupciones, un componente hardware dedicado a la gestión de las interrupciones, y que puede estar integrado en el procesador principal o ser un circuito separado conectado al procesador principal. El controlador de interrupciones debe ser capaz de habilitar o inhibir líneas de interrupción (operación llamada comúnmente enmascarar por la utilización de una máscara), y establecer prioridades entre las distintas interrupciones habilitadas.