A continuación se explica PCMCIA desde el punto de vista del software tratando, por un lado, los módulos del kernel envueltos en el proceso y, por otro, el administrador de tarjetas.
Los módulos del kernel necesarios se encuentran en los paquetes del kernel.
También se requieren los paquetes pcmcia y hotplug. Al arrancar PCMCIA se cargan los módulos
pcmcia_core, yenta_socket y
ds. En muy raras ocasiones se necesita el módulo
tcic en lugar de yenta_socket. Estos
módulos inician las controladoras PCMCIA disponibles y proporcionan funciones
básicas.
Para que las tarjetas PCMCIA puedan intercambiarse, debe controlarse la actividad de las ranuras de conexión. De esta función se encargan los servicios de tarjeta (CardServices) implementados en los módulos base. El administrador de tarjetas (Cardmanager) y el sistema hotplug del kernel se encargan de iniciar las tarjetas PC y CardBus respectivamente. El administrador de tarjetas es activado por el script de inicio de PCMCIA tras cargar los módulos base. Hotplug se activa automáticamente.
Cuando se introduce una tarjeta, el administrador de tarjetas o el hotplug
averigua el tipo y la función para cargar los módulos correspondientes. Una
vez que todos los módulos se hayan cargado correctamente y según la función
de la tarjeta, el administrador de tarjetas o el hotplug inicia
determinados scripts de arranque que se encargan de establecer la conexión
de red, montar particiones de discos SCSI externos o llevar a cabo otras
acciones específicas del hardware. Los scripts del administrador de
tarjetas se encuentran en el directorio /etc/pcmcia y los del hotplug en /etc/hotplug. Al retirar la tarjeta, tanto el
administrador de tarjetas como el hotplug se encarga de desactivar,
utilizando los mismos scripts, todas las actividades de la tarjeta.
Finalmente, los módulos que ya no se necesitan se descargan de la memoria.
Para procesos de este tipo existen los llamados “hotplug
events”. Cuando se añaden discos duros o particiones (“block
events”), los scripts hotplug se encargan de que los nuevos medios
de almacenamiento estén disponibles inmediatamente en /media por medio de subfs.
Para montar medios de almacenamiento a través de los antiguos scripts
PCMCIA, subfs debe estar desconectado en hotplug.
Tanto los protocolos de inicio de los sistemas PCMCIA como todas las
acciones de la tarjeta quedan guardados en el archivo de registro del
sistema (/var/log/messages). Allí se recoge qué
módulos se han cargado y que scripts se han utilizado para la instalación.
En teoría, una tarjeta PCMCIA puede retirarse fácilmente, especialmente si
se trata de una tarjeta RDSI, de módem o de red, siempre que ya no exista
ninguna conexión a la red. Sin embargo, esto no funciona en combinación con
las particiones montadas de un disco externo o con directorios NFS. En este
caso se debe garantizar que las unidades estén sincronizadas y se desmonten
correctamente. Por supuesto, esto no es posible cuando la tarjeta ya se ha
extraído. En caso de duda, utilice
cardctl eject. Este comando
desactiva todas las tarjetas que se encuentran en el portátil. Si quiere
desactivar solamente una tarjeta, añada el número de ranura. Por ejemplo
cardctl eject 0.