"Linux" is not the same as Linux kernel: eight software packages for building a Linux system

Source: Internet
Author: User
The Linux release is not just a Linux kernel. All Linux distributions contain necessary software packages except the kernel, such as the Grub boot program, Bashshell, GNUshell tool software, Daemon, X.org graphics server, and desktop environment. All these differences

The Linux release is not just a Linux kernel. All Linux distributions contain some necessary software packages except the kernel, for example, Grub boot program, Bash shell, GNU shell tool software, Daemon, X.org graphics server and desktop environment. All these different programs are developed by independent development teams. These programs are integrated by the Linux release to form a complete "Linux" operating system. This is different from the Windows operating system, because the entire Windows system is all developed by Microsoft.

  Bootloader)

When you open the computer, the BIOS or UEFI firmware of the computer loads software from its boot device. Boot programs are first loaded when any operating system starts. In Linux, Grub is usually used as the boot program. If you have installed multiple operating systems on one computer, Grub provides a menu for you to choose from. For example, if you have a dual-system (Linux and Windows) installed, you can choose any one from Linux and Window to start it. If your computer is only installed with Linux, Grub may be able to start it instantly, but the selection menu provided by Grub is still there. Grub is responsible for starting the Linux system, providing command line startup options, and allowing other methods to start Linux to eliminate faults. Linux operating systems without boot programs cannot be started.

  Linux kernel

Specifically, Grub directs the Linux kernel. It is part of the operating system and is often called "Linux ". The kernel is the core of the entire Linux system. It manages CPU, memory, and input/output devices (such as the keyboard, mouse, and display ). Because the kernel can directly interact with hardware, many hardware drivers become part of the Linux kernel and run in the kernel. All other software runs on the kernel. The kernel is the underlying software that provides interfaces for operating hardware. It provides an abstraction layer on top of the hardware to process various hardware transactions, thus freeing other parts of the system from the hardware. In Windows, the kernel is Windows NT, and in Linux, the Linux kernel is used.

  Daemons)

Daemon is an indispensable background process. As part of the startup process, it is started after the Linux kernel and before the logon interface is displayed. Windows converts these processes into "services", while Unix-like systems call them "daemon ". For example, the crond used to manage task scheduling is a daemon. The last letter d represents the daemon. Syslogd, which is widely used to manage system logs, is also a daemon process. Server processes, such as sshd, also run in the background in the form of Daemon. This approach ensures that they are always running, so that they can continuously listen for remote connections.
Daemon processes are essentially processes running in the background, but they are system-level processes that are rarely noticed.

  Shell

The default shell for most Linux systems is Bash shell. Shell provides a command processing interface to control the computer by entering commands in the command line window. Shell can also be run as a Shell script. in this case, a group of Shell commands are written in the script and executed in sequence.
Even if you only use a graphic desktop, shell has been running in the background. When you open the terminal window, you will see the shell prompt.

  Shell tool software

Shell provides some basic embedded commands. However, the shell commands frequently used by most users are not embedded in the Shell. For example, the GNU core tool package provides many commands that are as important as cp (copy files), ls (list files in the current directory), and rm (delete files. Without these important commands, Linux functions will be greatly restricted. In fact, Bash shell itself is part of the GNU project. This is why we have been arguing whether Linux should be called "Linux" or "GNU/Linux ". Critics of "Linux" believe that Linux systems contain a large number of general-purpose software, but "Linux" does not explicitly state their existence; the critics of "GNU/Linux" believe that the Linux system also contains many important software that "GNU/Linux" cannot represent. Not all shell tool software and command line programs are included in the GNU project. Some commands and terminal programs have their own specific projects.

  X.org graphics server

Linux graphic desktop is not part of the Linux kernel. It is provided by a toolkit named "X server", which implements the early "X Window System ". Currently, the most popular X server, or the graphics server, is X.org. The graphic login window and desktop that you see are exactly the magic of X.org. The entire graphics system is controlled by X.org and provides interfaces with graphics cards, displays, mouse, and other devices. X.org only provides a graphical system instead of the entire desktop environment. The desktop environment and toolkit can be built on the graphic system provided by X.org.

  Desktop Environment

The Linux desktop you actually use is a desktop environment. For example, Ubuntu uses the Utility desktop environment, Fedora uses GNOME, Kubuntu uses KDE, and Mint generally uses Cinnamon or MATE. These desktop environments provide something you can see-the desktop background, panel, and window title bar and border. The desktop environment usually includes some self-developed tools and software to form a whole. For example, GNOME and Unity contain the Nautilus file manager, while KDE contains the doldolphin file manager.

  Desktop program

Not every desktop program is part of the desktop environment. For example, Firefox and Chrome are irrelevant to the desktop environment and can usually run in any desktop environment. Similarly, the OpenOffice suite has nothing to do with the specific desktop environment. You can run any Linux desktop program in any desktop environment. However, programs designed for a specific desktop environment run in other desktop environments and appear uncoordinated or slow. For example, if you run the Nautilus file manager under GNOME in KDE, it will appear uncoordinated and require you to install a series of GNOME libraries, in addition, it may run GNOME desktop process on the station after the startup. In this case, it can run and be used.

The Linux release performs the final step: integrate all the above software to make them work well, and add other necessary software. For example, Linux distributions usually contain software installed on their own systems. With this software, you can install the Linux system and package manager (used to install other software or update existing software ).

Original article: Chris Hoffman

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.