The correct answer is (a) A handle for machine specific structure of an open file
Easiest explanation - The machine specific structure of an open file have to be handled in some special ways. FileDescriptor class can handle those files. The FileDescriptor can also handle open socket, another source, sink of bytes.