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
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)