In 1991, Linus Torvalds was a student in Helsinki, Finland, when he embarked on a project to write his own operating system kernel. He also gathered and developed the other basic elements needed to build an entire operating system centered around his kernel. Soon after, it became known as the Linux kernel.

In 1992, Linux was relicensed under the General Public License (GPL) by the GNU (a program of the Free Software Foundation or FSF that promotes freely available software), which made it possible to establish a global community of developers. By combining the kernel with other system components of the GNU project, many other developers created a complete system called a Linux distribution in the mid-1990s.

The history of the Linux

The creation of Linux distributions in the mid-1990s provided the basis for completely free (in the sense of freedom, not zero cost) computing and became a driving force in the open source software movement. In 1998, major companies such as IBM and Oracle announced their support for the Linux platform and began significant development work.

Today, Linux powers more than half of the servers on the Internet, most smartphones (via the Android system, which is built on Linux), and all the most powerful supercomputers in the world.

Every successful project or organization needs an implicit or explicit philosophy to define its goals and chart its growth path.

Linux is continuously enhanced and maintained by a network of developers from around the world who collaborate over the Internet, led by Linus Torvalds. Technical skills, the desire to contribute and the ability to work with others are the only qualifications for participation.

Linux borrows heavily from the well-established UNIX operating system. It was written as a free, open source system to replace UNIX, which at the time was designed for computers that were more powerful than PCs, and was very expensive. Files are stored in a hierarchical file system where the top node is the root or the simple “/”. Whenever possible, Linux provides its components through files or objects that look like files. Processes, devices, and network sockets are all represented by file-like objects and can often be used using the same utilities as regular files. Linux is a fully multitasking (that is, executing multiple threads at the same time), multi-user operating system with built-in network and service processes known in the UNIX world as daemons.

Before you can start using Linux, you need to understand some basic terms, such as kernel, distribution, boot loader, service, file system, X Window system, desktop environment, and the command line. These are very common in the Linux community.

The kernel is considered the brain of the Linux operating system. It controls the hardware and makes it interact with the application. An example of a kernel is the Linux kernel. You can find the latest Linux kernels and past Linux kernels at kernel.org.

Distros, also known as Distros, are collections of programs that combine with the Linux kernel to form a Linux-based operating system. Some common examples of distributions are Red Hat Enterprise Linux, Fedora, Ubuntu, and Gentoo. A boot loader, as its name implies, is a program that boots the operating system. Two examples of boot loaders are GRUB and Isolinux.

A service is a program that runs as a daemon. Some examples of this service are HTTPD, NFSD, NTPD, FTPD, and named.

A file system is a method of storing and organizing files in Linux. Some examples of file systems are ext3, ext4, FAT, XFS, and Btrfs.

The X Window system provides standard toolkits and protocols for building graphical user interfaces on almost any Linux system.

The desktop environment is the graphical user interface on top of the operating system. GNOME, KDE, XFCE, and FluxBox are some examples of desktop environments.

The command line is the interface for typing commands on top of the operating system.

A Shell is a command-line interpreter that interprets command-line input and instructs the operating system to perform any necessary tasks and commands. For example, bash, TCSH, and ZSH.

The relationship between Linux distribution and kernel

The Linux kernel is the heart of the operating system. A complete Linux distribution consists of a kernel and many other software tools for file-related operations, user management, and package management. Each of these tools provides a piece of a complete system. Each tool is usually a separate project of its own, with its own developers working on perfecting that part of the system.

Although the latest Linux kernel (and earlier versions) can always be found in the Linux kernel archive, Linux distributions may be based on different kernel versions. For example, the very popular RHEL 7 distribution, which is based on the 3.10 kernel, is not new, but it is very stable. Other distributions may be quicker to adopt the latest kernel version. It is important to note that the kernel is not an all-or-nothing claim; for example, RHEL 7/CentOS 7 has incorporated many of the newer kernel improvements into its older versions, as has Ubuntu, OpenSUSE, SLES, and so on.

Distributions provide other examples include the composition of the basic tools and C/C + + compiler, the GDB debugger, the application needs to link library to run at the core of the system, is used to draw the image on the screen of low-level interface, and a higher level of desktop environment, and various components for installing and updating system (including the kernel itself). And all distributions come with a fairly complete suite of applications that are already installed.

Distribution and associated services

The wide variety of Linux distributions is designed to cater to many different audiences and organizations, according to their specific needs and tastes. However, large organizations, such as companies and government agencies, as well as other entities, tend to opt for major commercially supported distributions from Red Hat, SUSE, and Canonical (Ubuntu).

CentOS is a popular free alternative to Red Hat Enterprise Linux (RHEL) and is often used by organizations that can easily operate without paid technical support. Ubuntu and Fedora are widely used by developers and are also popular in the education field. Scientific Linux is favored by the Scientific research community for its compatibility with Scientific and mathematical software packages. CentOS and Scientific Linux are both compatible with RHEL binaries; That is, in most cases, the binary packages will be installed correctly in each distribution.

Many commercial publishers, including Red Hat, Ubuntu, SUSE, and Oracle, offer long-term, paid support for their distributions as well as hardware and software certifications. All major resellers offer update services to keep your system up to date with security and bug fixes and performance enhancements, as well as online support resources.

More of Jerry’s original articles can be found on “Wang Zixi “: