Otra forma de E/S comúnmente usada en el Espacio de Puerto. Esta es un rango de direcciones separados del espacio normal de direcciones de memoria. El acceso a estas direcciones no es generalmente tan rápido como los accesos a las direcciones mapeadas en memoria, y por lo tanto tienen potencialmente un espacio de direcciones más pequeño.
A diferencia de la E/S mapeada en memoria, no se requiere preparación para acceder al espacio de puerto.
Los accesos a este espacio son suministrados a través de un conjunto de funciones que permiten accesos de 8-bits, 16-bits y 32-bits; también conocidos como byte, word y long. Estas funciones son inb, inw, inl, outb, outw y outl.
Son suministradas algunas variantes para estas funciones. Algunos dispositivos requieren que los accesos a sus puertos se realicen más despacio. Esta funcionalidad es suministrada añadiendo una _p al final de la función. También hay equivalentes a memcpy. Las funciones ins y outs copian bytes, words o longs al puerto dado.