Introduction to Linux
Linux is an open-source Unix-like operating system-based family on the Linux kernel, and the OS kernel was first published on 17 September 1991 by Linus Torvalds. Typically, Linux is packaged as the Linux distribution, which contains the supporting libraries and system software and kernel, several of which are offered by the GNU Project. Several Linux distributions use the term “Linux” in the title, but the Free Software Foundation uses the “GNU/Linux” title to focus on the necessity of GNU software, causing a few controversies.
Famous Linux distributions are Ubuntu, Fedora Linux, and Debian, the latter of which is composed of several different modifications and distributions, including Xubuntu and Lubuntu. Commercial distributions are SUSE Linux Enterprise and Red Hat Enterprise Linux. Desktop distributions of Linux are windowing systems like Wayland or X11 and desktop environments like KDE Plasma and GNOME.
- Originally, Linux was designed for personal computers that were Intel x86 architecture-based, but it has since been moved to more environments than other operating systems.
- Including Android, Linux has the biggest installed base of every general-purpose operating system because of the control of the Linux-based Android over smartphones as of May 2022.
- However, Linux is used by just around 2.6% of desktop computers as of November 2022.
- Also, Linux executes on many embedded systems, i.e., devices whose OS is typically designed into the firmware and is extremely customized to the system.
- It includes spacecraft (Perseverance rover, Dragon crew capsule, and Falcon 9 rocket), automobiles (Toyota, Hyundai, Mercedes-Benz, Audi, and Tesla), televisions (LG and Samsung Smart TVs), video game consoles, smart home devices, automation controls, and routers.
Linux is one of the most outstanding examples of open-source and free software collaboration. The source code may be distributed, modified, and used non-commercially or commercially by everyone under the conditions of its respective licenses, like the GNU GPL (General Public License). For example, the Linux kernel is licensed upon the GPLv2.
History of Linux OS
- Precursors
The Unix-based operating system was implemented and conceived in 1969 at AT&T’s Bell labs by Joe Ossanna, Douglas Mcllroy, Dennis Ritchie, and Ken Thompson in the United States. First published in 1971, Unix was entirely written in assembly language, as was the basic practice at the time. It was updated in the C language by Dennis Ritchie in a key pioneering way in 1973. The availability of a Unix high-level language implementation made its porting to distinct computer platforms convenient. - Creation
Torvalds registered in a Unix course while visiting the University of Helsinki in the 1990’s fall. The course used a MicroVAX minicomputer executing Ultrix, and one of the needed texts was Operating Systems: Design and Implementation by Andrews S. Tanenbaum. The textbook contained a copy of the MINIX operating system of Tanenbaum. It was together with this course that Torvalds initially became open to Unix. He became interested in operating systems in 1991. Frustrated by the MINIX licensing, which limited it to only educational use at the time, he started to work on his operating system kernel, which became the Linux Kernel eventually.
Torvalds started the Linux kernel development on MINIX, and software written for MINIX was used on Linux as well. Later, Linux was cultivated, and then the development of the Linux kernel appeared on Linux systems. Also, GNU applications replaced every MINIX component due to it was beneficial to use the free code through the GNU Project with the new OS; code licensed upon the GNU GPL can be re-applied in other computer functions as long as they are also published under a compatible or the same license.
Torvalds started a switch from his actual license, which banned commercial distribution, to the GNU GPL. Developers operated to develop GNU elements with the Linux Kernel, making a free and fully functional operating system. - Current development
The lead maintainer of the Linux Kernel is Greg Kroah-Hartman who guides its development. The e executive director for the Free Software Foundation is William John Sullivan, which in turn supported the GNU components. Corporations and individuals finally develop non-GNU third-party components.
The third-party components are composed of a wide body of work and may contain both user libraries and applications, and kernel modules. Linux community and vendors distribute and combine the kernel, non-GNU components, and GNU components with extra package management software in the fashion of Linux distributions. - Popular and commercial uptake
In production environments, Linux adoption began to take off initially in the mid-1990s in the supercomputing community instead of being used by only hobbyists, where organizations like NASA began to increasingly replace their expensive machines with inexpensive commodity computer clusters running Linux. Commercial use started when IBM and Dell, pursued by Hewlett-Packard, began providing Linux support for escaping the monopoly of Microsoft in the desktop OS market.
Linux systems are completely used in computing today, from embedded systems to every supercomputer virtually, and have secured a position in server installations like the famous LAMP application stack. The usage of Linux distributions in enterprise and home desktops has been developing.
Also, Linux distributions have become famous in the netbook market, with several devices moving with installed customized Linux distributions and Google publishing their ChromeOS developed for netbooks.
Design of Linux OS
Various open-source developers admit that the Linux kernel was not developed but instead evolved from natural selection. A Linux-based system is a compatible Unix-like OS, derived much of its common design from principles made in Unix during the 1970s and 1980s. Such a system applies the Linux kernel, a monolithic kernel which manages file systems, peripheral access, networking, and process control. Device drivers are either directly integrated with the kernel or included as modules loaded while the device is active.
Installed Linux System components include the below:
- A bootloader, for instance, systemd-boot, SYSLINUX, LILO, and GNU GRUB. It is a program that can load the Linux kernel into the main memory of the computer by being run by the computer after the firmware login is performed and when it’s turned on.
- An init program, like the traditional sysvinit and the newer Upstart, OpenRC, and systemd. It is the first process announced by the Linux kernel and the process tree root. In other words, every process is opened from init. It initiates processes like login prompts and system services (whether in terminal or graphical mode).
- Software libraries, which include code that can be applied by running processes. The dynamic linker that handles the usage of dynamic libraries is called Id-linux.so on Linux systems with ELF-format executable files. Also, header files will be added to define the interface of the installed libraries if the system is configured for the user to gather software themselves. Besides, the most widely used software library is the GNU C Library (glibc) on Linux systems. There are several other liabilities like Mesa and SDL.
- C standard library is required to execute C programs on a system using the GNU C library being a standard. Alternatives like uClibc (developed for uClinux), EGLIBC (glibc fork used by Debian once), and musl have been developed. However, the first two are not maintained now. Android uses its C library, which is known as Bionic.
- User interface
Also, the user interface is called a shell. It is either a GUI (graphical user interface), a CLI (command-line interface), or controls attached to the related hardware, which is normal for embedded systems. The default user interface is graphical for desktop systems. However, the CLI is available by terminal emulator windows or on an isolated virtual console.
Command-line interface shells are text-based UIs, which utilize text for both output and input. The dominant shell is the bash (Bourne-Again Shell) used in Linux, originally designed for the GNU project. Almost every low-level component of Linux, including several userland parts, exclusively use the CLI. Particularly, the CLI is compatible with delayed or repetitive task automation and gives very easy inter-process communication.- GUI shells are the most famous user interfaces on desktop systems, packaged with broad desktop environments like Xfce, Pantheon, LXDE, Cinnamon, MATE, GNOME, and KDE Plasma, though a range of several user interfaces is available.
- Most famous user interfaces are working with the concept of the X Window System, known as “X”.
- It offers network transparency and allows a graphical application active on a system to be shown on another in which a user may collaborate with the application.
- Although, certain X Window System extensions are not able to work on the network.
- Many X display servers are available with the X.Org Server, reference implementation being the most famous.
- Video input infrastructure
Currently, Linux has two kernel-userspace APIs to handle video input devices: DVB API for TV reception and V4L2 API for radio and video streams.
This infrastructure requires to evolve to better fit with other devices due to the diversity and complexity of different devices and because of the large number of standards and formats managed by those APIs. A better userspace device library is also the success key to having userspace applications which can work with every format supported by devices.
Uses of Linux OS
Several quantitative studies of open-source/free software concentrate on topics, such as reliability and market share, with many studies examining Linux specifically. The Linux market is developing, and the Linux OS market size is supposed to see a development of 19.2% by 2027, reaching 15.64 billion dollars, compared to 3.89 billion in 2019. Proponents and analysts attribute the associative Linux success to its freedom, low cost, reliability, and security from vendor lock-in.
- Web servers
W3Cook releases stats that utilize the top 1,000,000 Alexa domains, which estimate that 96.55% of web servers use Linux, 1.73% use Windows, and 1.72% use FreeBSD as of May 2015. - Laptops and desktops
As of May 2022, the estimated Linux market share is around 2.5% on desktop computers, according to web server statistics. Microsoft Windows include a market share of approximately 75.5%, while macOS has around 14.9%. - Mobile devices
Android has become the leading OS for smartphones which is Linux kernel-based. In July 2022, 71.9% of smartphones worldwide using the internet used Android. Also, Android is a famous OS for tablets, being liable for more than 60% of table sales as of 2013. - Film production
Linux has been the preferred platform in the film industry for years. The first big film released on a Linux server was 1997’s Titanic. Since then, big studios, including Industrial Light & Magic, Weta Digital, Pixar, and DreamWorks Animation, have relocated to Linux. - Government use
Linux distros have also got popularity in several national and local governments. Kerala has gone to the mandating extent that every state high school use Linux on their systems. China utilizes Linux exclusively as the OS for its Loongson processor family for achieving technology independence.
A few regions have integrated their Linux distribution in Spain, which is extensively used in official and educational institutions. Also, Germany and France have taken steps toward Linux adoption. The Red Star OS of North Korea is based on a Fedora Linux version developed since 2002.
Linux OS Working
The Linux operating system follows of standard design that’s the key to its several distributions and variations. Every Linux distribution is based on the Linux kernel but can differ based on factors like:
- Kernel version: Distros can be set up with more recent releases to add new aspects or with previous releases to be more balanced.
- Kernel modules: It is software that can be unloaded and loaded into the kernel develop functionality without restarting. Often, kernel modules are used for supporting:
- Device drivers, which utilize code that manages how linked devices work.
- File system drivers, which utilize code that manages how the kernel operates with distinct file systems.
- System calls, which utilize code that manages how programs claim services through the kernel.
- Configuration options: Kernels unified with configuration options configured to add only file system or device drivers are used for a few specialized distributions; for instance, compiling the kernel for any wireless device without wired network device drivers.
The kernel is the one thing that every system has in common running Linux. Linux operates by: - Booting and loading the Linux kernel.
- The kernel handles every system output and input once booted. The system is booted, and processes can be initialized.
- The system can be utilized for processes that contain commands interactively entered by the command line, network server functions, desktop applications, or any program or application as system processes are booted.
The user experience can widely vary, relying on how the Linux system is being utilized while the kernel may almost be identical with some compilation differences and divergence for configuration. For example, a few use cases of Linux with distinct user experiences are:
- Desktop productivity systems, like those utilized by software developers or several other professionals. The workstations of software development may be enhanced for performance, while desktops may be enhanced for the utilization of desktop productivity tools for administrative professionals.
- Network servers might not even add a command line window for direct access. Remotely, these headless servers are handled by Windows sessions or network terminals. Servers may be utilized by several but should directly be accessed by authorized system admins only.
- Thin clients let users utilize a rich desktop environment with a lightweight device. It includes Google Chromebooks and Raspberry Pi single-card systems.
Linux operates much similar to any GUI-based operating system when using it as a GUI with a desktop environment. Applications and many other resources can be launched by pressing icons, and files can be deleted, copied, or moved using a trackpad or mouse.
Linux distributions
Linux has accepted the copyleft provisions of the Free Software Foundation, which produced the GNU GPL since its starting development. The GPL describes that anything taken for modification and free must be freely distributed.
Hundreds of Linux versions, also called distros or distributions, are available. Usually, distributions differentiate themselves through the pack by defining a specific goal, target market, function, or philosophy.
There are many distributions made for particular target functions, like security, gaming, desktops, servers, or embedded devices, such as Raspberry Pi systems. Almost every modern distribution is ready to use and precompiled, while others, such as Gentoo Linux, are composed of source code that any user can locally compile during starting installation to use their system configuration.
Pros and Cons of Linux OS
Some benefits of using Linux are listed and explained below:
- Open source: The Linux kernel is published under the open-source software license of GNU GPL. Most distributions contain several applications with various options in almost all categories. Also, several distributions contain proprietary software, like device drivers offered by manufacturers, to support hardware.
- Reliability: Linux is treated as a reliable operating system, and it is well-supported with several security patches. Also, Linux is treated as a stable OS, which means it can execute in almost every circumstance. Linux can also handle errors when running unexpected input and software.
- Licensing costs: Linux has no accurate licensing fees, unlike Apple macOS or Microsoft Windows. While system support is present for a fee from several Linux vendors, the operating system itself is free to use and copy. A few IT organizations have enhanced their savings by moving their server software to Linux from a commercial operating system.
- Backward compatibility: Linux and many open-source software tend to be frequently updated for functional and security patches while having core functionality. Shell scripts and configurations are likely to operate unchanged even if software updates are used. Generally, Linux and other open-source applications do not alter their operation modes with new versions, unlike economic software vendors that mount new releases of their operating systems with new forms of work.
- Several choices: Between almost all infinite options, several available distros, and many application options to configure, compile, and run Linux on almost all hardware platforms, it’s possible to develop Linux for almost all applications.
A few drawbacks of Linux are:
- Lack of standard: No standard version is available for Linux, which may be nice to optimize Linux for specific applications, but less so to deploy desktop images and standardized servers. The huge variety of options can convolute support as an outcome.
- Support costs: Support isn’t free, while an organization can freely acquire Linux without licensing fees. Almost all enterprise Linux distributors, such as Red Hat and SUSE, provide support contracts. These license fees can significantly decrease savings depending on the situation.
- Proprietary software: PC productivity software, such as Microsoft Office, can’t be utilized on Linux desktops, and many proprietary software may not be available for Linux platforms.
- Steep learning curve: Several users battle to learn to use Linux-based applications and Linux desktops.
- Unsupported hardware: Several hardware manufacturers enable the device drivers of Linux accessible for their products, but several don’t.
原文链接:https://www.javatpoint.com/what-is-linux
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/33535