An API call by a program / process to the operating system.

This is relatively slow, as the OS has to undergo Context Switching:

  1. wait for the current execution on the CPU to complete
  2. copy the execution context into memory
  3. initialize the CPU with its own context
  4. execute the system call
  5. restore the previous execution context