The Linux operating system comprises multiple separate components.
- Hardware
- Kernel(program)
- Shell(rogram)
- Commonds
- Files and directories(folder in windows)
Hardware Layer: The hardware layer contains all of the physical components of the computer, including RAM (Random Access Memory), HDD (Hard Disc Drive), CPU (Central Processing Unit), and input/output devices. The Linux kernel and system libraries provide communication and control of these hardware components, ensuring that they work together seamlessly.
Bootloader: A bootloader manages the computer’s boot process and starts the Linux kernel. It can also be used to manage systems that boot several OS.
Kernel : The operating system’s core is the Linux kernel. It is layer between the user who works with linux from a shell environment and the hardware that is available in the computer on which the user is working. The program that communicates directly with the hardware of computers is called the Linux kernel.
Init system: The first process that executes after the kernel has been loaded. A process is an instance of a program running on a computer, and the init system sets up the system so that it can run other processes. Init is a daemon hardware. program that serves as the parent process for all other processes on the system. Init can be set up to launch certain processes at system startup. For example, if the system will be operating a web server, the init system can be set to load the required web server software.
Daemons: This is a program that runs in the background and handles service requests. A web server running on a Linux server relies on a daemon, typically called httpd, to listen for web server requests.
System Library:
Linux uses system libraries, also known as shared libraries, to implement the operating system’s numerous functions. These libraries include pre-written code that apps can use to complete specific tasks. Developers can save time and effort by adopting these libraries, which eliminate the need to write the same code repeatedly. System libraries serve as an interface between applications and the kernel, offering a consistent and efficient means for applications to communicate with the underlying system.
System Utility: System utilities are vital tools and programs supplied by the Linux Operating System for managing and configuring various system components. These utilities perform a variety of activities, including software installation, network configuration, system performance monitoring, user and permission management, and much more. System utilities simplify system administration operations, allowing users to more efficiently maintain their Linux systems.
User interface: The user interface is known as a shell. It can be a GUI (graphical user interface), a CLI (command-line interface), or controllers coupled to the relevant hardware, as is typical for embedded systems. Desktop systems come with a graphical user interface by default. However, the CLI can be accessed via a terminal emulator on Windows or an isolated virtual console.
Command-line interface Shells are text-based interfaces that use text for both output and input. The leading shell in Linux is bash (Bourne-Again Shell), which was initially built for the GNU project.
Shell: The Shell is the Linux Operating System’s user interface. It allows users to interact with the system by typing commands that the shell interprets and executes.
Which distribution is right for you?
For Beginners : Ubuntu is an excellent choice for first-time Linux users due to its straightforward user interface and robust community assistance. On the other hand, Linux Mint makes it simple for beginners to switch to Linux by providing an experience similar to Windows right out of the box.
For Advanced Users :
Advanced users that value customisation and direct control may prefer Arch Linux, which is noted for its simple design and ability to build very unique systems from the ground up. Another option is Gentoo, which gives you complete control over the system but needs extensive setup and a steep learning curve.
For Developers : Fedora was a popular choice among developers since it focusses on modern technology and applications, making it an ideal platform for software testing and development. On the other hand, Debian is well-known for its dependability and huge package repository, implying that it can be used in both production and development contexts.
For Servers :CentOS is a robust, community-maintained server distribution that is somewhat comparable to Red Hat Enterprise Linux (RHEL). As an alternative, Ubuntu Server provides a large selection of server applications, as well as strong community support and ease of use.