Linux

What is Linux?

Linux is a family of operating systems (OS) based on the kernel of the same name. There is no single Linux operating system, such as Windows or macOS. There are many distributions (a set of files required for software installation) that perform specific tasks.

The shortest history of creating Linux

Linus Torvalds is the first developer and creator of Linux. It was in his honor that the OS was named. In 1981, Linus started working on his own Unix operating system. Three years later, the first version was available for download. But then it had a very low demand, it was used by just a few people.

It wasn’t until 10 years later that Linux was widely adopted. The community of programmers took up the idea of free software, and specialists began to help develop the project.

The Linux logo and mascot is the Tux penguin with yellow paws and beaks. In 1996, the Linux kernel developers decided to choose a mascot. Torvalds mentioned that he likes penguins. Therefore, the OS logo shows a penguin.

Linux Logo

Where do I need Linux?

Web servers

Linux distributions have almost completely captured the web server market. According to the W3Techs rating agency, 75.1% of sites are deployed on Linux servers.

Mobile devices

The Android OS runs on the Linux kernel, so it is also used in mobile devices.

Supercomputers

These are specialized computing machines that are superior in their technical parameters and computing speed to many conventional computers.

They are unique, and many of them require a special operating system that can solve specific tasks. Thanks to the open-source code, developers can modify the OS so that it works on such machines as well.

Game consoles

Linux has also taken its place in game consoles, but there are not so many games focused on this OS yet. Steam is working to correct the situation by developing the SteamOS operating system. It will come with the Steam Machine game console.

IoT devices and smart appliances

Many of them are based on Linux. So, Samsung developed the Tizen operating system, LG-webOS, and Panasonic and Philips use FirefoxOS.

Aviation and transport

Embedded Tesla computers and cars with Google autopilots use the Linux operating system. Traffic tracking software in the United States is similarly developed on this OS, and the Aviation Administration of America switched to it back in 2006.

What components does the Linux distribution have?

A novice programmer should know the Linux framework to understand how it works and how it functions.

The core

What is it, how does it work, and why is it needed? This is the so-called main program, the main part of the OS. The kernel acts as an intermediary between PC devices (video card, processor, RAM, etc.) and its software. The code contains device drivers for this purpose. They are loaded into memory or connected as the resource of a specific device is needed. Kernels manage devices, processes, and memory, and handle system calls.

Multiple programs can be running on your computer at once. The first ones work in the background, the second ones wait for certain actions from the user, and the third ones receive information from other running programs. It is the kernel that distributes computer resources between all programs and organizes the parallel operation of many different processes.

What types of cores are there? In total, there are 3 types: microkernels, monolithic and hybrid.

Microkernel

Pros:

  • The theoretically high degree of reliability (compared to other architectures);
  • Low memory consumption;
  • Easy connection of additional parts of the core (modularity).

Cons:

  • Low speed due to the constant switching between individual parts;
  • Hardware availability only through drivers.

Monolithic core

The opposite of a microkernel. The entire (or almost all) file is always stored in the PC’s memory in the kernel code. Therefore, the speed of its operation is higher in comparison with the microkernel.

Pros:

  • Direct access to hardware;
  • Easy data exchange between processes;
  • Faster process response rate.

Cons:

  • Large size;
  • Poor security (compared to the microkernel);
  • It takes up a lot of RAM.

Hybrid core

A combination of elements of the two previously described architectures. To speed up its work, it runs operating system modules in the kernel space.

Pros:

  • Ability to choose what will function in the kernel and userspace;
  • Smaller physical size (compared to a monolithic kernel);
  • Greater flexibility.

Cons:

  • Slower operation;
  • Release of device drivers only by manufacturers.

The Linux kernel is monolithic, but it borrows some ideas from the microkernel architecture. This means that the entire OS operates in kernel space, and device drivers can easily be loaded (or unloaded) directly when the operating system is running.

Linux Kernel

Hardware: PC hardware with its peripherals.

The core is the main component of the OS, interacts with the hardware, and acts as an intermediary between low-level hardware and top-level components.

Shell: an interface for interaction between the OS kernel and users, abstracts the internal structure of the system, receives commands from users and runs the necessary functions.

Utilities: These are utility programs that provide the user with most of the System OS Linux functionality. Types of utilities: sed, cat, date, vi, and others.

Compilers are technical tools that convert program code into machine code.

System Utilities

Utilities: auxiliary computer programs included in the general software. They are needed to perform typical tasks related to the operation of hardware and operating systems. Linux has a set of simple utilities. They allow you, for example, to edit data or change the location of files.

System Libraries

System libraries are special programs that provide access to kernel functions. To perform a task, the kernel first receives a system call from applications. But each kernel has its own set of system calls, and they must understand the format of task execution. Therefore, programmers have developed a standard procedure library that describes a set of system calls for a specific OS.

Software development utilities

With the help of the three components listed above, the operating system will be able to start and function. But to update and create new programs, you need to have additional libraries and tools, toolchains. This set of programs, tools, and utilities will help you create a working application from source code.

Custom programs

They are not considered mandatory OS components. Often they are written by the users themselves. Programs help you set a specific job. These utilities include browsers, office suites, graphic design tools, music players, and so on.

Pros of Linux

  • Free use. Using most of the Linux operating system and most of the programs based on it is free.
  • Open source code of the system/program. With access to the source code, you can study it, modify it, distribute it, and publish changes following the license.
  • Relevance and performance. Compared to Windows, Linux does not become obsolete over time. That is, to restore the original performance, you will not need to regularly clean or reinstall the OS, run defragmentation.
  • Safety. Linux supports various security settings that protect against viruses, slowdowns, malware, and crashes. This is the main reason for the popularity of the OS among developers. Of course, Linux is not a 100% secure OS, but it is less vulnerable than others.
  • Versatility. Linux supports almost all popular programming languages: Java, C / C++, Python, Ruby, C#, and others. The Package Manager will help you install and update entire and separate parts of software components. Thanks to SSH support, you can quickly manage servers.
  • Distributions. Many organizations have modified the Linux OS by releasing their distributions. We list the most popular ones: Debian, Ubuntu, Linux Mint, Arch Linux, MX Linux, Fedora, Manjaro, CentOS. Linux Mint and Ubuntu are suitable for beginners, while Arch Linux, Fedora, and Debian are suitable for experienced developers. You can also build the distribution yourself.
  • Install software from a centralized location – the repository. This is where the data is stored. This allows you to install multiple programs with a single click. You can forget about searching for quacks, serial keys, and programs on the Internet – with Linux, this is not necessary.

Cons of Linux

  • Difficulties with mastering the OS. The interface of most versions of Linux is significantly different from the usual Windows and macOS.

Difficulties With Mastering The Os

  • Console and terminal. The console allows you to control the operating system by entering text. OS responses are also displayed there. The terminal is a modern analog of the console. It is displayed as a window against the desktop background.

Ubuntu Terminal

  • File access rights are required for some programs to work. For the user, this means that they will have to enter their password several times a day.
  • The low number of compatible games and programs (compared to Windows). Today, this is one of the main reasons why users do not switch to Linux.

Support and assistance

There are various online forums and discussion channels that you can use to get help. These channels vary depending on the distribution you are using. Also, you can follow our website HybridLinux.

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

    Leave a Reply

    Your email address will not be published. Required fields are marked *