Linux is one of the most stable, flexible, and secure operating systems in the world. Due to its constant kernel development and improvements by developers from all over the world, it has become the most popular operating system in the world. Linux is embraced by individual users, government entities, and serves as the back-end operating system used by global giants such as NASA, Amazon, eBay, Facebook, Google, Microsoft, Apple, and many more.
In this tutorial, I am going to try to answer some of the frequently asked questions and walk you through the Introduction to Linux, its history & timeline, who owns and develops it, and where is it used.
What is Linux
Linux is an open-source operating system that can be installed on various devices like PC, laptops, servers, mobile, and many more. An operating system is a software that directly controls the hardware resources such as processing (CPU), memory, network, storage, etc… In its abstract form, an operating system consists of Kernel, Utilities, and Applications running on it. In fact, for Linux, we use the term “Linux Distribution” to refer operating system.
|Windows 10||Windows NT||Skype, Firefox, Zoom, Microsoft Office …|
|Ubuntu Linux||Linux Kernel||Skype, Firefox, Zoom, OpenOffice …|
|CentOS Linux||Linux Kernel||Skype, Firefox, Zoom, OpenOffice …|
What is Kernel
The kernel is the core component of any operating system with full system control. It enables the interaction between hardware and software components / Applications. After the bootloader, Kernel is the first program that is loaded on startup.
The kernel has the access to resources such as CPU, I/O, and other resources and it acts as a bridge between the user’s application and the resources of the system. The kernel does its jobs like running processes, managing hardware devices such as the hard disk, and handling interrupts.
What is Application
An application is just software that allows us to perform a task. We can install the software in Linux as we do in Windows OS. We may use either of the following methods to install software package/application in Linux:
- Download the software package locally and install it.
- Installing software packages directly from the repository without downloading it. Linux uses well-maintained software repositories to distribute software packages. A software repository is a collection of installation packages.
I personally use this method as a primary method to install applications on Linux.
The Operating System or Linux Distribution is like a CAR.
Question: Have you ever thought to drive a car without its engine? OR Would you like to drive a car without its Driver / Passenger seats?
Answer: I would certainly say “NO” to these questions.
The Linux Kernel is like an engine of a car. Interior Parts (Steering wheel, Side-view mirrors, Driver/Passenger seat) are like Applications.
Without a car engine, even if you try to use interior parts, you won’t be able to travel.
Similarly, without the Linux Kernel, your applications cannot run. It’s as simple as that. They won’t be able to access the hardware resources of a system.
Linux History and Timeline
1964Initial Planning and Development for MULTICS started. AT&T Bell Labs, MIT, and General Electric tried to design a mainframe operating system called MULTICS.
1969AT&T Bell Labs pulled out of the MULTICS project. The same year, Dennis Ritchie at Bell Labs developed C programming language.
1970sAt AT&T Bell Labs research center, Dennis Ritchie, Ken Thompson and many others started working on UNIX.
1973Unix operating system was originally written in Assembly Language that required the code to be written for specific hardware. However, the whole code was re-written in C programming language which allowed UNIX to be used by others. AT&T decided to send its free license to academic institutions and government entities for further research and development.
1975sBy 1975, AT&T started selling Unix commercially. At that time, a significant amount of code was written by many other developers who were not happy with commercialization of UNIX. The whole legal battle ended with two versions of UNIX.
1. The official AT&T Unix 2. Free BSD Unix
1980In the eighties, various companies developed their own version of UNIX. For example, IBM developed AIX, Sun created SunOS (Solaris), HP developed HP-UX and many more. Consequently, we had number of different UNIX based operating systems. By the 1980s, almost all these software were proprietary.
1983At that time, Richard Stallman initiated a project named as “GNU Project“. The founding goals of this project was to build an operating system that was freely available to users. Stallman decided to call this operating system GNU (GNU is not Unix). The operating system (including all its numerous software / utility programs) must be free.The word “free” in “free software” refers to freedom, not price.
You may or may not pay the price to get GNU software. Either way, once you get the software, you have Four Freedoms in using it.
1985sHowever, writing a new kernel, libraries, text editors, graphical interfaces etc… was quiet a huge job and required funds. Therefore, Richard Stallman, founded Free Software Foundation (a non-profit organization) to support their free software movement.
By 1990s, GNU project was success enough to write code for all major components of operating system except one – the kernel.
1991And this is where Linus Torvalds changed the game entirely and introduced a brand new code for kernel and put the source code online. This was named as “LINUX“, a unix-like kernel. In 1992, it was made public under GNU General Public License.
Combined with the operating system utilities already developed under the GNU project, it allowed people to use first ever operating system that was free (LINUX). That is why you may see the two terms written together GNU/LINUX
Answer: In its abstract form, an Operating System consists of Kernel and Utilities.
1. Linux is the kernel component of the operating system.
2. And many of the other utilities were taken from the GNU project.
They were two different projects. GNU didn’t have its own Kernel and the Linux kernel alone was not sufficient to form a fully working operating system. Therefore, combining the components of these two projects have allowed us to use the term “GNU/Linux”.
Who Owns and Develops Linux
Unlike other operating systems, nobody owns Linux. Linus Torvalds used utilities/software programs from the GNU project to turn Linux into a fully functional OS. Therefore, he licensed Linux under the GNU General Public (GPL) License. And this License allows anyone to use, modify, and distribute the source code.
Linux is freely available to everyone because of its open-source licensing. You can use the code for any purpose, change the code to suit your needs, and share the changes you made. If you contribute any code changes to Linux and it gets approved by the designated community, you may retain the copyright to that piece of code. LINUX is a registered trademark of Linus Torvalds. However, as a whole, Linux would still be free and available to users with the improvement you contributed.
Linux is built collaboratively. Unlike other proprietary operating systems, thousands of developers paid by hundreds of companies, participate to improve Linux OS on a daily basis. Much of its development is done by unpaid volunteers. This participation has resulted in millions of lines of code since its inception. This rapid development and contributions from developers around the globe have provided stability, security, improved kernel performance, fixed bugs, and new features to the Linux operating system.
Where is Linux Used
- Linux is everywhere. Supercomputers, most of the servers on internet, IOT devices, and many mission-critical devices relies on Linux. The trend to use Linux on personal computers has also dramatically increased over the period of years.
- The “TOP500 project” lists and ranks the 500 fastest supercomputers for which benchmark results are submitted. All of the supercomputers list under TOP500 project use an OS based on Linux Kernel.
- Linux is the most popular operating system and is the LINGUA FRANCA of the modern data centers.
- Linux is one of the most popular operating systems in the world that is embraced by individual users, government entities, and serves as the underlying operating system. It is used by global giants such as NASA, Amazon, eBay, Facebook, Google, Microsoft, IBM, GitHub, Netflix, Apple, and many more.
- With the advent and adaption of technologies (SDN & NFV) in enterprises, Cloud, and Service Provider environments, Linux has become a must-have skill for network engineers.
- Network Automation tools such as Ansible, Netmiko, NAPALM, and others are well used and maintained on Linux operating system.
- SDN controllers such as OpenDaylight, Open Network Operating System (ONOS), RYU Controller, and Cisco’s APIC-EM Controller run on Linux.
- All major networking vendors use Linux as is the underlying operating system on their routing, switching, and security devices. Cisco, Juniper, VMware, F5, Arista, Ruggedcom, Cumulus Networks are some examples of networking vendors that use Linux.
- Linux is mandatory for Cybersecurity Engineers and Certified Ethical Hackers to learn. Linux distributions such as Kali Linux, Parrot Security OS, BackBox, BlackArch, and many more are well developed for penetration tools.
- Linux and the Cloud: Linux runs most of the public cloud workload. Every cloud provider such as Microsoft (Azure), Google (GCP), and Amazon (AWS) offer different Linux operating systems in their cloud. In addition, they also offer customized Linux images with additional tools installed to meet certain requirements.
This website, you are browsing now, is also hosted on a Linux Server.
Linux in Embedded Systems
Embedded systems are simply hardware and software designed to have a particular function. These embedded systems can be operated independently for a specific task or they can be part of other devices to help control these devices. These embedded systems are found in various industries such as IT, Automotive, Medical, Consumer electronic, and military. And all of these embedded systems requires an embedded software. Linux is the best and most popular operating system for such embedded systems.
Two popular examples of embedded software are Andriod and Raspbian. Both of these are derived from Linux.
Android is an operating system developed by Google. Andriod’s base is a modified version of the Linux kernel. Nowadays it is used on touchscreen devices, TVs, and Wristwatches, etc… Like Linux OS, Andriod is also freely available as Andriod Open Source Project (AOSP).
Raspbian or Raspberry Pi OS is a Debian-based operating system for Raspberry Pi. Raspberry Pi is a small debit-card sized computer that can be used as a desktop computer.
Similarly, many companies have come up with their own proprietary version of Linux to support their embedded systems. Other examples include Routers, switches, and Firewalls that use Linux as their base operating system.
Question: Is Linux difficult to use for newcomers?
Answer: Absolutely Not. Linux is very much similar to other operating systems you may have used such as Windows, and macOS. Linux has a graphical interface, and many major open-source applications that you can install. For instance, on your Linux operating system, you may use Mozilla Firefox, Google Chrome, Zoom, Adobe Reader, OpenOffice, skype, etc…
Yes, there are some software that you might be using in Windows 10 but are not available in Linux. You may need to use their alternatives in Linux. But this doesn’t make Linux difficult to learn.
The Bottom Line
- Linux is open-source software and flexible. The code that is used to develop Linux is free and available to public. If you are skilled enough, use the source code, change it, and tune it to meet your needs.
- Free Linux repositories offer thousands of tools and utilities that are alternatives to any proprietary paid software.
- Linux is well known for its stability and reliability for both personal and enterprise use.
- GNU/Linux = Linux Kernel developed by Linus Torvalds + Applications/utilities developed under GNU project.
- Linux is used by all mission-critical project, most servers on internet, the Enterprises, Data centers, Cloud Providers, Service Providers, Super Computing, and more.
- Since its inception, Linux has become industry’s one of the most demanding operating systems. This success comes due to the most successful collaborations in history for the development of Linux. And it is constantly growing.