Un controlador es software que permite la comunicación entre el hardware y el equipo, sin lo cual los dispositivos como tarjetas de video e impresoras no funcionarían correctamente. Existen diferentes tipos de controladores como los controladores de impresora que convierten los datos a un formato específico para la impresora, los controladores de clase que pueden operar diversos dispositivos del mismo tipo, y los controladores lógicos programables (PLC) que automatizan procesos electromecánicos en la industria.