What is Linux Operating System and Distribution? What are kernel modules, Linux kernel and Linux superiority?
What is linux Different people have different answers to this question. Someone knows it as the core of the operating system, Linux kernel and GNU fans mention it as part of GNU / Linux, and maybe think like new users.
Linux is actually another name for Ubuntu!
Clearly, the term “Linux” when used only applies to the core of the operating system, while GNU / Linux is actually the entire operating system, which includes the Linux kernel and the GNU toolkit.
If you put together a suite of software with some tools to manage all of them together, you now have a distribution like Ubuntu.
There are lots of special software components that can work together on a Linux operating system.
Of course, these particular software components must be compatible with each other in order to obtain the correct and efficient result.
What is the operating system What is the distribution?
The operating system can be defined as software that can enable applications to run on hardware.
The operating system consists of several layers. At the center of these layers is a core that can be directly connected to hardware with its drivers and allow other software to use the hardware.
In the upper layers of the core, there is a section that manages the input devices (such as flash, hard drive, etc.), networks, audio and videos.
Probably many of us would love to know what happens in the core. If we look at the combination of the two words, “Distribution + Linux,” it’s obvious that this name is referred to together as a version of the Linux-based operating system with its own software.
Initially, only the files and the way to install and use them on the computer was needed. Subsequently, Linux distributions were packaged, updated, and graphical user interface settings. Underneath the shell every shell distribution still uses the Linux kernel.
What is kernel linux
Linux is the core or the heart of your system, but what is it about? The core of the software interface is for computer hardware.
The core communicates with the central processing unit (CPU), memory, and other back-end components of the software running the computer.
In fact, the core is the lowest point of the software system, which is of course very important.
The importance of the kernel is so high that if there is a problem, every piece of software running on the computer will be in trouble.
The Linux kernel is a single-core kernel that runs all of the operating system’s main services within itself.
The replacement model of this core is microcernel, which performs a lot of tasks in external processes, and the kernel performs only slightly more than synchronization.
While the integrated core in the early days when users compiled the kernel for their hardware, they worked very well, but these days there are many combinations of hardware that making them into a kernel does not have the result of making a huge file.
Kernel modules, linux superiority
Linux kernel is modular, in that the main functions are in the kernel file, while the drivers are built as separate modules in the / lib / modules path.
For example, the Ubuntu kernel is a 64-bit version of only 5 megabytes, while there are 3700 other modules that can hold up to 100 MB in size.
Given that only a portion of these modules are needed for each device, so using them all alongside the main kernel is just a mistake.
Instead of using the kernel to use all of its modules, it can detect hardware by simply identifying the hardware in the use or loading of the associated modules, only inserting the necessary partitions into the kernel memory.
In this situation, the kernel can still be integrated with the availability of thousands of other files through the modules.
This feature is important when the system can show the correct response based on hardware changes.
For example, connect your USB memory to the Usb-Storage module along with the file system needed to mount it.
Similarly, connect the 3G dongle to the device to load the modem drivers. That’s why it’s rarely needed to install new drivers when hardware is added.
In fact,
all modules are waiting for you to buy hardware or other accessories to provide the context to use it.
Computers, such as servers that work with non-intrusive hardware,
typically have a core with all the required drivers and the load of the various modules in them is disabled.
This item adds a small amount to the security of the device.
If you want to compile your kernel,
one good point is the use of drivers that hardware is constantly being use to use.
For example,
you can see the network interface and hard disk file system and modules for other things that can be use to help protect the device when use with a kernel and permanent use.
Many modules are hardware drivers and are know as one of the strengths of Linux in recent years.
With these very large kernel modules,
you do not need to download and install drivers from anywhere. Of course,
there are still hardware that is not supporting by Linux kernel modules due to the new code or permissions requires to be part of the kernel.
The best example for hardware that is not yet starting as a kernel module is the Nvidia graphics card.
Graphic cards know as third-party modules are also know as “restricted drivers” in Ubuntu.
Third-party modules can be installed through package management if the distribution supports it.
Otherwise, the files should be compiled from the resources and, because they are closely related to the user, they must be recompiled every time after the kernel update.
Fortunately, tools like DKMS or Dynamic Support Kernel Modules automatically recompile all third-party modules after installing the new kernel so that the kernel upgrade process is similar to the promotion of a simple application.
You may have heard the phrase “kernel space” and “user space”. The kernel space is actually a memory that only the kernel accesses, and no user program can be written here. That’s why user programs can not handle kernel operations.
The user space is accessible by many applications. One of the privileges or distinct points of Linux is also due to the same stability and security that has kept the kernel out of the reach of various programs and even programs that can access the root.
If we consider the kernel as the lowest step in the system, its highest level is the user interface.
Everything else, from the kernel to the interface to the appearance of hardware and drivers, is not usable before you use your computer.
The user interface can interact with each single component of the system,
and this is doing by managing windows on Linux.
In the past, window management was an independent system, but there are still a number of them,
such as OpenBox or Enlightenment, but window managers are now know as part of a larger desktop environment.
The window manager is responsible for managing windows on the desktop.
Tasks of the window manager include opening, closing, positioning and other things that can be done on the windows.
Over time, user interfaces have grown, and in addition to window management,
other features like Taskbar or Launcher menu apps can create desktop environments.
Software collections
Desktop environments are actually a set of tools that can incorporate the features needed to run a complete desktop.
Executing programs, manipulating windows,
communicating with each app, and turning them on or off is one of the things that make up a desktop.
The heart of all the tools that make up the desktop environment,
the heart window manager is all the tools that make up the desktop environment.
For example, you can refer to the KWin window manager for KDE and the Metacity for GNOME.
The thing that can separate a desktop environment from the windows manager is their integration and synchronization. The KDE environment manager is very famous,
Where everything moves around the core of a core,
and programs can not only interact with one another,
but an application can also replace within another window.