What are file descriptors, explained in simple terms?

Brief introduction to Unix

There are two distinct spaces: {kernel-space, and user-space (application)} that has to interact with one another through an interface; known as system-calls. Much like people communicating with one another (between kernel & user) via a telephone (system call).

Before that; Let me quickly define some Unix terms:

  • kernel. Software that controls hardware resources of computer: {RAM, HardDrive, CPU, USB port, etc.}, and provides an environment under which application can run, i.e. schedule threads. Check out: live kernel source-code.
  • interface. To communicate, in computer world; to call/execute/perform a function, one way or the other.
  • system calls. In contemporary fashion, system calls can be refer as a collection of PUBLIC API-endpoints. You may call its endpoints to request for hardware services: accessing hard-drive, open file, create a new process, process


One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.