what is the difference between an adapter and a controller?
The distinction between the two[adapter and controller] is mainly one of packaging. Controllers are chip sets in the device itself or on the system’s main printed circuit board (often called the motherboard). An adapter is a card that plugs into a slot on the motherboard.Regardless, the purpose of each is to transfer information back and forth between the I/O bus and an I/O device.


Ref: Computer Systems: A Programmer's Perspective, 3rd Edition.