Linux
The Linux philosophy is based on these Linux/Core Concepts:
- Everything is a #file
- Small and single-purpose programs (the Unix Philosophy)
- Ability to chain programs via Pipes to perform complex tasks
- Avoid captive user interfaces
- Configuration data stored in plaintext
- Example: The #/etc/passwd file (metadata) and the #/etc/shadow file (hashed passwords) Linux operating system main components:
- Linux/Bootloader
- A low-level component (e.g., GRUB or systemd-boot) that initializes the system and loads the Kernel into memory.
- Linux/Kernel
- Linux/Daemons
- Background services are called “daemons” in Linux. Their purpose is to ensure that key functions such as scheduling, printing, and multimedia are working correctly. These small programs load after we booted or log into the computer.
- Linux/Shell
- The operating system shell or the command language interpreter (also known as the command line) is the interface between the OS and the user. This interface allows the user to tell the OS what to do. The most commonly used shells are Bash, Tcsh/Csh, Ksh, Zsh, and Fish.
- Linux/Containerization
- Linux/Network/Services
- Linux/X11 graphical server - This provides a graphical sub-system (server) called #X or #X-server that allows graphical programs to run locally or remotely on the X-windowing system. - Nowadays a new variant, Linux/Wayland, has come out and it is preferred as it is leaner, and more secure.
- Linux/Window Manager
- Also known as a graphical user interface (GUI). There are many options, including GNOME, KDE, MATE, Unity, and Cinnamon. A desktop environment usually has several applications, including file and web browsers. These allow the user to access and manage the essential and frequently accessed features and services of an operating system. Linux OS Linux/Architecture can be broken down into different layer:
- Linux/Window Manager
- Linux/Architecture/Hardware
- Peripheral devices such as system’s RAM, hard drive, CPU, PCIE Busses etc…
- Linux/Kernel
- Linux/Shell
- A #command-line-interface (#CLI ), also known as a #shell that a user can enter commands into to execute kernel’s function. Linux/Kernel/Filesystem
Linux/Security/AppArmor | Linux/Security/SELinux | Linux/Security/Netfilter
- Software stacks built upon the Linux kernel to create a functional operating system, there are many and each of them is built upon some principle that are like a vision to the development.