PC TipsSoftware

What is Linux: An Overview of the Linux Operating System

Image Credit: CyberPanel

What is Linux?
Linux is – in simple terms – an operating system. Operating systems are computer programs that allow applications and users to access the computer’s hardware to perform the desired operation. The operating system transmits a command from an application, for example, to the computer’s processor. The processor then performs the required task and then sends the results to the application via the operating system. Thus, the operating system acts as a link between the different parts of the computer.

From the previous definition, it appears to us that Linux is completely similar to any other operating system such as Windows and OS X. But in reality, there is a difference that distinguishes the Linux operating system from other operating systems. In 2008, the Linux operating system formed a system of 25 billion dollars.
Since its inception in 1991, Linux has expanded to become a powerful force in the computing world, powering everything from the New York Stock Exchange to mobile phones to consumer supercomputers.
Because Linux is an open operating system, its development is collaborative, meaning that no single company is solely responsible for developing or supporting Linux. Companies that contribute to the Linux economy share the costs of research and development with their partners and competitors. Thus, distributing the burden of Linux development among companies and individuals has contributed positively to the creation of a large and active development environment and many undisclosed software innovations.
Each new release of the Linux kernel involves over 1,000 developers at over 100 different companies. In the past two years alone, over 3,200 developers from 200 companies have been involved in developing the Linux kernel, which is only a small part of the Linux ecosystem.
This article will review the various components of the Linux operating system, how they are built, and how they are connected. The article will also cover the Linux community and the impact of Linux on the technical system in general.
Where is Linux used?
One of the distinguishing features of Linux is “where we can use Linux”. Windows and OS X are mostly used in personal computers such as desktops and laptops, while other operating systems, such as Symbian, are used in small devices such as mobile phones and PDAs, and supercomputers in academic labs and large corporations use specialized operating systems such as AS/400 and Cray OS.
Linux, on the other hand, started as a server operating system and then proved its worth as a desktop operating system, and today Linux can be used in a wide range of devices ranging from watches to supercomputers.
Here is a short list of some of the most popular electronic devices that use Linux:
  • Dell Inspiron Mini 9 and 12 Laptop
  • Garmin Nuvi 860, 880, and 5000 GPS
  • Google  Android
  • HP Mini 1000
  • Lenovo IdeaPad S9
  • Motorola MotoRokr EM35
  • One Laptop Per Child XO2
  • Sony Bravia  TV
  •  Sony Reader
  • TiVo Digital Recorder
  •  Volvo Car Navigation System
 Yamaha Motif Keyboard
These are just a few examples of Linux-based devices, but the actual number of Linux-based devices worldwide is in the thousands. The Linux Foundation is currently building a central database containing all currently offered Linux products as well as an archive of Linux-based electronics products that were once pioneered.
Note:  If you want more information about Linux or server management, we recommend that you read the articles published by Hasoub Academy.
Image Credit: Pixabay
The future of Linux
Linux is successful in many electronic devices, however, there are still many technical areas that Linux seeks to enter, and even as an operating system for desktops and servers, Linux is still evolving faster than any other operating system today.
Linux is installed on the BIOS of laptops, which will enable users to boot their devices in seconds. This in turn will create a Linux environment that has tools that allow users to connect to the Internet directly without having to boot their primary operating system, even if that operating system is Windows. These tools include: a browser and email.
At the same time, Linux entered the field of mobile devices connected to the Internet in various forms such as smartphones, personal assistants, embedded devices, and notebooks – small portable computers that have the same basic functions as their large laptop counterparts, but in a smaller size and greater efficiency.
Currently, Linux runs many servers on the Internet, and with the increasing growth of the concept of cloud computing, Linux has also entered this field, providing many cloud services such as Amazon’s A3 service, which operates with high capabilities to deliver information and applications to users.
Also regarding the entry of Linux into the world of cloud computing, it is necessary to mention the famous success achieved by Linux in supercomputers, whether in the field of: High Performance Computing (HPC) or High Availability (HA). As these devices are used by academic researchers in physics and bioengineering, or companies working in the financial and energy industries, they need reliable, scalable, and expandable computing to achieve their goals.
Many popular Web 2.0 services, such as Twitter, LinkedIn, YouTube, and Google, also rely on Linux as their operating system. As other services emerge on the Internet in the future, Linux will increasingly be the operating system that powers these new technologies.
The origin of Linux
On August 25, 1991, Finnish computer science student Linus Torvalds submitted the following announcement to the Usenet group comp.os.Linux:
I am developing a free operating system (just a hobby, it will not be as big or professional as GNU) I have been working on this project since April and today my project looks almost ready, since the operating system I am developing is somewhat similar to MINIX (same actual file system layout – for practical reasons -) I would like to get your feedback on what people like and don’t like about MINIX. (Along with other things).
What Torvalds meant by “Minix” was different from Unix, which he used as a guide to designing his free system because he wanted it to run on the popular 86 desktop computer of the day.
GNU stands for GNU Tools and means that GNU is not Unix. These tools were first compiled by Richard Stallman in 1983. Unix is ​​the operating system that started it all, it started in the old Bell Labs in the early sixties.
Torvalds built the foundation of the Linux operating system, known as the kernel. The kernel itself is not an operating system, but Stallman’s GNU tools were part of a project to build another operating system that lacked a kernel to be complete. So what Torvalds did was to include these tools in his kernel, and that’s how what is known as Linux was formed.
In many ways, Linux remained promising and at the beginning of what it could offer, yet Linux has enjoyed tremendous success since Torvalds first asked for help in 1991.
Linux has gained great popularity among Unix developers, who find Linux easy to adapt to different environments, and they like its similarity to Unix and of course, they like its free license. At the beginning of the twentieth century, some commercial developers began distributing Linux, such as VA Linux, TurboLinux, Mandrakelinux, Red Hat, and SuSE GMbH.
IBM’s decision in 2000 to invest $2 billion in Linux development and the resulting profits marked a very successful phase in Linux’s growth.
Today, Linux is a multi-billion dollar industry, with companies and governments around the world benefiting from Linux’s security and flexibility. Thousands of companies use Linux for their daily needs due to its low cost and lack of licensing restrictions.
Governments around the world use Linux to save money and time, and some governments have developed their versions of Linux.
Analysts at IDC predict that Linux will be a $49 billion market in 2011, and many market indicators confirm the possibility of this number happening.
Code
Linux also differs from any other operating system in that it does not have a single owner. Torvalds still directs the development of the Linux kernel, but commercial and private developers contribute to building the system as a whole.
In this part of the article we will examine the parts that make up the Linux system:
The nucleus
All operating systems have a kernel that represents the center of operations in the operating system. The idea came as an architectural metaphor. There must be a central set of commands that would guide and direct the devices to do their work. These central commands are surrounded by many layers, each layer consisting of a set of functional units.
The Linux kernel is unique and flexible because it is divided into functional units. Dividing the kernel into functional units is a desirable feature because it allows developers to remove functional units that they do not need. In general, the smaller the kernel, the faster it is because it does not run processes that it does not need.
For example: If a hardware developer wants to have a version of Linux to run on a mobile phone, he doesn’t need the kernel functions that deal with disk drives, Ethernet devices, or large screens, so he can remove these and other parts of the kernel and thus get the kernel optimized for use on a mobile phone.
The Windows kernel (which few people outside Microsoft are allowed to look at without paying for the privilege) is a tightly coupled piece of code that is not easy to break down into smaller pieces. It would be difficult if not impossible to break up the Windows kernel for use in a mobile phone.
From this, we see that dividing the Linux kernel into small functional units represents the most important factor in the success of Linux. The ability to expand or reduce the kernel according to need and to fit any device constitutes a great advantage for Linux compared to other operating systems that are developed specifically for a specific device.
Dividing Linux into functional units also affects the security and stability of the system. If one piece of Linux code breaks, the system will not collapse completely because the rest of the pieces are still working.
Likewise, an attack on one part of the kernel (or the rest of the operating system) may cripple that part of the system, but should not compromise the security of the entire system.
Operating system:
Developers need special tools (such as the command line and assembler found in GNU) to write applications that can talk to the kernel. They also need tools that allow external applications to access the kernel after it has been written and installed on the machine.
When these tools are put together with the kernel we get the operating system. In general, the operating system is known as the lowest layer of computer software that the average user can access. The average user can access the operating system using the command line.
Linux provides powerful tools for developers to write their applications, including development environments, editors, and compilers that are designed to take the developer’s programming commands and convert them into an image that the kernel can understand and execute.
Like the kernel, the Linux operating system is divided into modules. Developers can pick and choose the tools they need and remove those they don’t, to provide users and developers with a new flavor of Linux tailored to their specific needs.
Environments
The windows, menus, and dialog boxes that many people think of as part of the operating system are a separate layer known as the “windows and desktop environment.”
This layer provides easy-to-understand graphical interfaces for users, enabling them to work and communicate with applications in the operating system or install external applications on the operating system.
In Linux, there are a lot of options that can be used for the windowing system and desktop environment, which allows users to make their own decisions. This is not possible in Windows and is difficult to do in OS X.
Just as there are software tools and libraries for the operating system and kernel, there are software tools and libraries available that allow application developers to work more easily with these environments (eg: gtk+ for GNOME, Qt for KDE).
Applications
Operating systems have two types of applications: those that are core components of the operating system itself, and those that the user installs later. Closed operating systems, such as Windows and OS X, do not allow users (or developers) to pick and choose which applications are core components of the operating system themselves. For example, Windows developers must use Microsoft’s compiler, the windowing system, and so on.
Linux application developers have a much larger set of options for developing their applications. This allows for more flexibility in building the application, but it means that the developer must decide which Linux components to use.
Distributions
This is the highest layer of the Linux operating system: the container for all the layers mentioned above. The distribution maker decides which kernel, which operating system tools, which environments, and which applications, will be packaged and shipped to the user.
Distributions are maintained by individuals and commercial entities. The distribution can be installed using a CD containing special software for installing the initial system.
The most popular distributions among users are those that provide mature application management that allows users to search and install new applications and perform all operations with a few clicks of the mouse.
There are at least 350 different Linux distributions.
License
The code that makes up the Linux kernel falls under several licenses, but all code must be licensed by the second version of the GNU General Public License (GPLv2), the license that covers the distribution of the kernel in general.
In effect, this means that all Linux code is covered by either the GPLv2 license, with the option to distribute it under a newer version of the GPL or the BSD license. No contribution or code to the Linux kernel is accepted unless it is covered by one of these licenses.
Copyright is not required for any code that goes into the Linux kernel, all the code that went into the Linux system belongs to its original owners and thus the kernel is now owned by thousands of people.
One implication of this ownership structure is that any attempt to change the kernel license is almost certain to fail. There are few practical scenarios in which all of the kernel’s contributors can agree (or have their code removed from the kernel). Therefore, there is no prospect of a transition to GPL version 3 shortly.
It is imperative to say that all kernel code is considered free software, for this reason, anonymous or pseudonymous code is not accepted, and all contributors must sign the code they produce stating that this code must be distributed according to the GPL, excluding all code that is not licensed as a free product by its developer or any code that could pose any legal problems if used in the development of the Linux kernel.
Questions about copyright issues are common and frequent in Linux developer emails. There is no shortage of answers to such questions, but keep in mind that the people answering such questions are not necessarily lawyers and cannot even provide legal advice. If you have a legal question regarding Linux source code, there is no substitute for talking to a lawyer who is knowledgeable in the field. But relying on the answers circulating in emails is a risky choice indeed.
Communities
Linux communities come in two forms, developer communities and user communities.
One of the most desirable features of Linux is that it is accessible to developers. Anyone with the right skills can develop and improve Linux and influence the way it is developed. Proprietary products cannot provide such a feature, because it is within the characteristics of free products.
Developer communities can donate management and support for entire distributions, such as Debian distributions or Gentoo projects.
Companies like Novell and Red Hat also support community-oriented distributions like OpenSUSE and Fedora respectively. Developments made in these versions are added to the commercial versions produced by these companies.
The Linux kernel itself is supported by its community of developers, and this community has been one of the largest and most active in the world of free software since its inception. A typical development cycle, which lasts three months, typically includes over a thousand developers working for over 100 different companies or no company at all.
As Linux has grown, more and more developers and companies have wanted to participate in the development of Linux. Hardware vendors want to make sure that Linux supports their applications well, to make those applications desirable to Linux users; embedded system vendors who use Linux as a component in their products want Linux to be compatible and able to perform their tasks as well as possible; and distribution and software vendors who build their products on the Linux kernel have a clear interest in Linux’s development, power, and performance.
There are other developer communities interested in different applications and environments that run on Linux, such as Firefox, OpenOffice, GNOME, and KDE.
Users themselves can also make valuable contributions to Linux development, with web communities such as Linux.com, LinuxQuestions, and many communities hosted by distributions and applications. The Linux user base is generally positive and Linux-oriented.
Linux communities do not only exist online, there are local groups known as Linux User Groups, where group members meet and discuss topics related to the Linux operating system, provide local users with free distributions with workshops on how to use them, and provide training and support and everything related to installing the system.
Development
Linux is an operating system composed of several programming languages. A large percentage of Linux was developed in C (52.86%) or C++ (25.65%). The rest of the programming languages ​​appear in a single percentage, with languages ​​such as Java, Perl, and Lisp leading the rest of the programming languages.
The Linux kernel itself is mostly C, more than 95% of the time, but other programming languages ​​appear in the kernel as well, making it more heterogeneous than other operating systems.
The kernel community has developed different approaches to dealing with this, which allows for a stable environment and the development of high-quality products in environments containing thousands of code that change daily. This means that the process of developing the Linux kernel differs significantly from the development methods of proprietary software.
The Linux kernel development process may seem intimidating and intimidating to new developers, but there are good reasons and solid experiences behind it. A developer who doesn’t understand the kernel community’s ways, or worse, who tries to taunt or circumvent them, is in for a terrible experience. The development community, while helpful to those who ask for help, will not waste their time on those who won’t listen or care about development methods.
Although a large number of Linux developers still use text editors such as Emacs or Vim to develop their code, development environments such as Eclipse, NetBeans, and Angota provide powerful and integrated development environments that are suitable for the Linux environment.
Linux and the business world
In 2008, IDC analyst L. Gillen forecasted a 24% annual growth rate for Linux, from an estimated $21 billion in 2007 to $49 billion in 2011.
Many of the world’s leading companies in the industry contribute to Linux, including IBM, Fujitsu, Hewlett-Packard, Oracle, Intel, Hitachi, NEC, and Novell The Business of Linux. All of them have invested time, effort, and resources in improving Linux, either individually or through the Linux Foundation.
If Linux is free, how do companies that contribute to it make money through it?
Here is an example of how Linux can be monetized: While all distributed Linux code is freely available for download, the time and effort required to download all the code and link it together effectively is very high. To avoid wasting so much time downloading, learning, and linking the code, users can simply pay a distributor to do this work instead of building the system from scratch themselves. Companies and individuals benefit from the distributor’s expertise in putting all the code into one easy-to-use package.
Another way that allows companies to make money from Linux is through continued commercial support for Linux. Some distributions allow users to download their software for free and build their revenue model based on the services and commercial plans they offer.
Linux is a platform that can guarantee profits, while still being free. Customers know that they are paying for support and facilities, and they will always have a choice as to which Linux system is best for them.
the beginning :
For general information about Linux, you can visit http://www.linux.com.
For videos, tutorials, and information, visit http://video.linuxfoundation.org
For information about Linux development, you can visit the Linux Developers Network http://ldn.linuxfoundation.org
To learn more about Linux in business and the Linux Foundation you can visit http://linuxfoundation.org.
If you are interested in attending Linux and related technology conferences, you can visit http://events.linuxfoundation.org.

Related Articles

Leave a Reply

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

Back to top button