POSIX (Portable Operating System Interface) is a subset of SUS (Simple Unix Specification). Therefore POSIX is not 100% Unix-compliant but Unix-like.

  • Unix-compliant: BSD
  • Unix-like: Linux, macOs

Unix onion model

User space === API ===> shell === syscall ===> kernel ===> hardware


API to access shell layer is made of:

  • system interface (functions used by C programs)
  • header interface (header files accesible to C programs)
  • utility interface (utility/command-line programs found in /usr/bin)
  • XCURSES interface (minimalistic text-based GUI)