Controladores de dispositivo de AIX

Muchos programas informáticos se dedican a trabajar con dispositivos conectados al ordenador de algún modo. Por ejemplo, algunos programas envían caracteres de control a una impresora, algunos programas reciben caracteres desde una consola y algunos programas leen datos de una cinta. Cada uno de estos programas es un programa de controlador de dispositivo porque el programa está dedicado a gestionar entradas o salidas de un dispositivo. Dichos programas forman parte del sistema operativo del ordenador o son una extensión del mismo.

Cualquier sistema operativo que admita multitarea, como el sistema operativo AIX® , necesita un mecanismo para impedir que un programa grabe datos o cambie el estado de un dispositivo al que ya está accediendo otro programa. Por tanto, un sistema operativo con proceso de tareas depende de los procesadores del ordenador para distinguir entre la ejecución con privilegios y la ejecución sin privilegios de instrucciones. Así, pues, es necesario distinguir entre programas que se ejecutan en modalidad privilegiada (modalidad kernel) y programas que se ejecutan en modalidad de usuario. El kernel de AIX consta de todos los programas de software que se ejecutan en modalidad de kernel.

Algunos programas AIX que se ejecutan en modalidad de usuario, como un adaptador de red o un dispositivo conectado a un puerto USB, pueden acceder a los programas de controlador de dispositivo. Sin embargo, estos programas AIX sólo pueden acceder a los programas de controlador de dispositivo utilizando el software que forma parte del kernel. Puesto que los controladores de dispositivo kernel son más complejos que los controladores de dispositivo que se ejecutan en modo de usuario, el término "controlador de dispositivo" hace referencia al software que controla un dispositivo cuando el programa se ejecuta en modalidad kernel.

Las rutinas de los programas de controlador de dispositivo se escribe en C y se compilan para producir uno o dos archivos de objetos Extended Object File Format (XCOFF o XCOFF64). A partir de AIX Versión 6.1, todos los programas de controlador de dispositivo son de 64 bits (XCOFF64). Los programas de controlador de dispositivo de 32 bits no están soportados. Los archivos de objeto están enlazados para permitir que el cargador de kernel resuelva los símbolos de kernel. Cuando se enlazan archivos de objeto, la sección del cargador de kernel se actualiza con una lista de símbolos para importar desde el kernel. Los símbolos de kernel están en el archivo /lib/kernex.exp. Este enlace también establece la rutina de configuración del controlador de dipositivo como punto de entrada predeterminado para empezar la ejecución.

Para obtener más información sobre los programas de controlador de dispositivo de AIX , consulte Escritura de un programa de controlador de dispositivo de AIX. Este documento explica los siguientes elementos:
  • Visión general de los controladores de dispositivo, puntos de entrada y tipos de AIX
  • Operaciones de E/S programas y DMA para adaptadores de PCI
  • Interrupciones y gestión de interrupciones
  • Gestión de memoria
  • Serialización y sincronización, bloqueo y temporizadores
  • Métodos de configuración de dispositivos

Para obtener información sobre ODM para adaptadores PCI/PCIe, consulte Personalización de AIX ODM para adaptadores PCI/PCIe.