Can someone please tell me what exactly is a port? I have a idea, but it is very vague. I know they can set or clear devices and can be used to determine the state of an external device, but I still lack a good understanding of them. I read in a book (C is for control by John Blankenship) that I/O ports are bascially registers made of flip flops. Are all ports like this. I need a detail explanation of what ports are, how they work and how they are used. Any explanation or web resources are welcome.