Originally EPICS input/output controllers (IOCs) were only supported on VME-based systems running the vxWorks operating system. Now IOCs are supported on many systems: vxWorks, RTEMS, Solaris, HPUX, Linux, WIN32, and Darwin. A challenge is to provide operatingsystem-independent device and driver support. This paper presents some techniques for providing such support.