image.png

A) A Background

1. UNIX, POSIX, Linux, and the ABI/API stack

In the 1970s, UNIX was created at Bell Labs as a small, elegant OS meant to be built upon, but licensing led to forks (BSD, System V, etc.) and fragmentation. This drove IEEE's POSIX effort in the 1980s to standardize a common API across UNIX-like systems. The GNU project aimed to build a free UNIX replacement but lacked a kernel — Linus Torvalds' 1991 Linux kernel filled that gap, and because it closely follows POSIX, it supports portable UNIX applications and became the heart of modern open-source OSes.

image.png

                                               Linus Torvalds : The developer of LINUX

The Linux kernel manages hardware and processes and exposes system calls (open, read, fork, exec, ...) which form the ABI (Application Binary Interface — binary-level contract). The POSIX API defines a consistent source-level interface (fopen, pthread_create, ...). libc (glibc/musl) sits between applications and the kernel, translating POSIX calls into actual syscalls via the correct ABI — enabling portability across hardware and kernel versions as long as the ABI is stable.

2. Linux Filesystem Principles