Servizi OS Richiesti per Supporto PC Card (PCMCIA/CardBus)
Per far funzionare dispositivi PC Card (PCMCIA 16-bit) o CardBus (32-bit), l'OS deve fornire due livelli di servizio principali:
1. Servizio Plug and Play (PnP)
- Rileva inserimento/rimozione scheda (interrupt hardware)
- Legge la CIS (Card Information Structure) dalla memoria attributi della scheda
- Identifica: produttore, modello, voltaggio, velocità, intervalli I/O, esigenze IRQ
- Alloca risorse: porte I/O, finestre memoria, IRQ, DMA
- Carica l'appropriato function driver (rete, storage, modem, ecc.)
- Notifica alle applicazioni l'arrivo del dispositivo
2. Socket Services (Socket Manager)
- Gestisce il socket fisico (slot) hardware
- Controlla switching potenza (Vcc, Vpp) — 5V/3.3V, voltaggio programmazione
- Gestisce segnali reset, ready/busy, card detect, voltage sense
- Fornisce interfaccia astratta per i card services per manipolare lo socket
- Coordina multiple socket (bridge/controller)
- Implementa il set di registri ExCA (Exchangeable Card Architecture) (compatibile Intel 82365SL)
Livelli di Supporto (Architettura Software PC Card)
- Hardware: Socket + controller (bridge PCI-to-PCMCIA, es. TI PCI1410, Ricoh RL5C476)
- Socket Services: Astrazione hardware (questo livello)
- Card Services: Gestione risorse, binding driver, notifica client
- Function Drivers: NDIS (rete), SCSI/ATA (storage), Serial (modem), ecc.
- Applicazioni
Implementazioni OS
- Windows 9x/2000/XP: Integrato (PCMCIA.sys, CardBus.sys)
- Linux: pcmciautils, pccardd, yenta_socket (moduli kernel)
- macOS (legacy): Supporto PCMCIA/CardBus rimosso post-2010
- DOS/Win3.1: CardSoft, CardWizard (TSR CS + SS)
Nota Moderna
PC Card / CardBus / ExpressCard sono obsoleti. Sostituiti da USB, PCIe, M.2, Thunderbolt. Presenti solo in sistemi industriali/embedded legacy.