Does exec preserve file descriptors

This is actually a two-step question: What exactly is a file descriptor? I thought it was the most fundamental way to represent an open file. But since dup2 can make two different file descriptors...