Para que dispositivos PC Card (PCMCIA 16-bit) ou CardBus (32-bit) funcionem, o SO deve fornecer duas camadas centrais de serviço:
1. Serviço Plug and Play (PnP)
- Detecta inserção/remoção do cartão (interrupção de hardware)
- Lê CIS (Card Information Structure) da memória de atributo do cartão
- Identifica: fabricante, modelo, voltagem, velocidade, faixas de I/O, necessidades de IRQ
- Aloca recursos: portas I/O, janelas de memória, IRQ, DMA
- Carrega driver de função apropriado (rede, armazenamento, modem, etc.)
- Notifica aplicações da chegada do dispositivo
2. Serviços de Socket (Gerenciador de Socket)
- Gerencia socket físico (slot) de hardware
- Controla chaveamento de energia (Vcc, Vpp) — 5V/3.3V, voltagem de programação
- Trata sinais de reset, ready/busy, detecção de cartão, sensor de voltagem
- Fornece interface abstrata para serviços de cartão manipularem o socket
- Coordena múltiplos sockets (bridge/controlador)
- Implementa conjunto de registradores ExCA (Exchangeable Card Architecture) (compatível Intel 82365SL)
Camadas de Suporte (Arquitetura de Software PC Card)
- Hardware: Socket + controlador (bridge PCI-para-PCMCIA, ex.: TI PCI1410, Ricoh RL5C476)
- Serviços de Socket: Abstração de hardware (esta camada)
- Serviços de Cartão: Gerenciamento de recursos, binding de driver, notificação de cliente
- Drivers de Função: NDIS (rede), SCSI/ATA (armazenamento), Serial (modem), etc.
- Aplicações
Implementações por SO
- Windows 9x/2000/XP: Integrado (PCMCIA.sys, CardBus.sys)
- Linux: pcmciautils, pccardd, yenta_socket (módulos do kernel)
- macOS (legado): Suporte PCMCIA/CardBus removido pós-2010
- DOS/Win3.1: CardSoft, CardWizard (CS + SS TSRs)
Nota Moderna
PC Card / CardBus / ExpressCard são obsoletos. Substituídos por USB, PCIe, M.2, Thunderbolt. Encontrados apenas em sistemas industriais/embarcados legados.