@insidecomput This design dramatically simplifies software development.
Developers don't need completely different APIs for every type of resource.
The filesystem becomes a universal interface.
Most people think Linux is complicated.
But the core idea is simple:
Applications should not directly control hardware.
Instead, Linux uses a layered architecture:
Applications
→ System Calls
→ Kernel
→ Drivers
→ Hardware
When an application needs something, it asks the kernel through a system call.