Linux is an operating system (OS) just like Windows operating system and any other operating system (OS). Other types of OS are Solaris, Esxi, Unix, MAC, Android, etc.
It will be a good idea to know about the history of what we want to learn.
Just like most creative inventors invents while in school, Linux was also created by a man called Linus Torvalds while he was in the University of Helsinki, Finland. He was a computer science student. In 1991, He purchased an IBM PC with high memory and processor capacity which at that time was invoked. It was an improvement and a successor of the lower processors. It was 80386, the first x86 microprocessor with a 32-bit instruction set.
Linus Torvalds was excited and wanted to explore the functionalities of this hardware until he found out that the OS running on it, MSDOS couldn’t maximize the functions or rather couldn’t take the full advantage of the hardware.
This man decided to opt for an OS he will be able to use for his exploration. Unix was a very good option for Torvalds’s kind of PC. Unfortunately, Unix had costed more and he couldn’t have bought it for the price. Hence why he settled down for MINIX, a free version of Unix-like OS, which was better than MSDOS. Sooner rather than later did he realize that MINIX was limited and did not function the way he had expected.
He wasn’t satisfied with it and decided to build an OS kernel that will maximize the full advantage of his precious PC. Actually, Torvalds was just having fun just like I am and did not intend to build the OS that eventually turned out to be what the WORLD immensely adopts today.
Torvalds announced to the world, He said
“Hello everybody out there, I am doing a (free) OS. (Just a hobby, won’t be anything big and professional like GNU). It probably will never support anything other than AT-hard disks, as that’s all I have.”
Did you read that part again, “It won’t be anything big and professional like GNU”? so , what is GNU?
GNU is also a Unix-like operating system.
GNU is a UNIX-like OS that was started by Richard Stallman in 1984 known as the GNU project. The aim was to create a free UNIX-like OS or I’ll rather say a free OS which computer users will be able to use, study, modify, and develop the source code of the OS or software they use the way they want. “Free for everybody” or “open source” as it is commonly said.
Richard started the new software movement, one of the few free software licenses written from the community standpoint called GNU General Public License (GNU GPL), a widely used free software license, like I mentioned that allow computer users to use, study and develop the source code the way they want.
Torvalds developed Linux using GNU C compiler which is a Unix-like compiler.
A question just runs through my mind right now while writing this article, the question is
“why can’t Torvalds use the GNU OS for his exploration since MINIX was limited?
Let’s keep moving.
In the course of the GNU project, there were shortcomings. In the first part of the project, user interactive programs/tools and other programs/tool development was perfect but the second part, which was the GNU kernel development called “GNU Hurd” had not been perfected. It had a lot of bugs which prolonged the perfect completion of the GNU operating system.
At this junction, it’s best to briefly explain what a kernel is
I mentioned GNU Hurd which is the GNU kernel.
One thing one needs to know is, there is no OS without a kernel. “No kernel, no OS”, every OS must have a kernel.
A kernel is the core module/component/part of the OS. It’s responsible for managing most especially the CPU, disk, task, processes, and memory. The kernel provides an interface between application and hardware.
From the explanation above, one can confidently say that a kernel is enough to operate the system either with or without user interactive programs/tools.
GNU project was almost a success but the kernel which was the GNU Hurd kept stalling the project.
So, you see reasons why Torvalds couldn’t have used the GNU OS for his exploration. What Torvalds needed for his exploration was the kernel to maximize his PC’s processor which GNU project had not perfected.
In late 1991, Torvalds completed his kernel development which he named Linux, though announced in 1992. I must say at this point, I was curious to know how one man could have independently compiled a kernel within a short period, so, I took my time to google his biography until I saw how he spent his childhood. Oh, what a man!!!
Torvalds initially published Linux under its license but had some
restrictions. He then decided that it be licensed under GNU GPL.
According to Torvalds, He admitted that GNU GPL is one of the few
software licenses written from the community standpoint, protecting
Torvalds completed his project and was released to the world as well.
Don’t forget that Linux was licensed under GNU GPL which implies that other users or developers can ride on Linux OS to build theirs according to the license but still protecting the company.
As users and developers, mostly developers from the GNU community began to explore the Linux kernel, they saw the impressive work Torvalds did, the OS kernel at that time was sweet, perfect and great. However, Torvalds did not care to develop and embed the software program/tool that makes the kernel to be intractable with users either through command-line interface (CLI), graphical user interface (GUI) or via any method.
As far as he is concerned, he has his OS which of course is responsible for managing memory, CPU, disk, processes, etc. and the OS can be used on different hardware platforms as well as upgradeable. That’s all he needed at the time.
Moving forward, for the GNU developers, here is a GNU OS which has a perfect GNU program/tools users can use to interact with the OS program but without a perfect OS kernel, here on the other hand is a perfect Linux OS kernel without a program/tool users can use to interact with the OS program.
Therefore, the GNU developers rode on the GNU GPL license which both GNU and Linux have, and combined the GNU program/tools with the Linux kernel together.
Developers from the world saw this sweet combination, It made a complete OS in a sense.
Developers from the world began to contribute their code on this project too to develop their Operating systems. After all, the license allows it. Some developers combined the GNU programs/tools, Linux Kernel, other open-source software and their code to build their OS, the reason why we have different distributions’ of Linux.
- Red Hat Enterprise Linux (RHEL) was founded in 1993 by a man called Ewing
- Debian Linux was founded in 1993 by Lan Murdock
- Other Linux flavors’ are Ubuntu Linux, Suze Linux, Oracle Linux, Arch Linux, Scientific Linux, Fedora Linux, Centos Linux, etc.
There are over 500 Linux distributions but the commonly used one, especially by enterprises, are the Red Hat Linux, Suse Linux, Oracle Linux, Debian Linux, and Ubuntu Linux.
The reason we will be using more of RHEL and Ubuntu to learn.
You can build your flavor of Linux too. Don’t be surprised when you one day hear Victor O. Linux. lol
All these Linux distributions are similar in a way except some configuration file/location differences and packages differences.
Linux began to become more popular and very important.
The GNU team has been working on the Unix-like OS for some years and couldn’t get it right, here is a man that worked on his Unix-like OS independently and got it right using a GNU C compiler.
The GNU team was able to combine the Linux kernel and GNU programs/tools and other developers could use it with the addition of other programs to build their OS. Hence why the GNU project started a movement that Linux should be called Lignux.
Whoa!!!, that doesn’t sound nice to a lot of people, GNU project again proposed that it be called GNU/Linux.
I could have imagined the expression on Torvalds’s face.
In one of Linus Torvalds’s journal, Torvalds wrote that it was presumed that Richard wanted the name changed out of frustration or greed, that credits weren’t given to him enough by people calling the name Linux.
Some of the GNU developers were asked their perspective about the name change, some said
“A kernel gets you nowhere, it won’t make a complete OS”
Are these guys for real?
The Linux kernel is enough to operate the system. As a matter of fact, the Linux kernel is an OS as well as a kernel. The Linux OS can be operated without the need of a user interaction program/tool just that ways of operation will be limited.
Let me shock you!!! Some developers have developed their own Linux flavor using only the Linux Kernel and other users interactive programs/tools different from that of GNU. One don’t even really need any GNU program to build a flavor of Linux OS.
Richard Stallman was asked why he wanted people to call it GNU/Linux, He said developers also use the GNU tool while developing their flavor and also when it’s called GNU/Linux, people get to be reminded about free software. Well, the former wasn’t completely true. One can casually agree to the latter.
Torvalds was asked his perspective about calling Linux GNU/Linux. He gave a smart and amusing answer by saying, the same way we have Red Hat Linux, Suze Linux, Debian Linux, we can also have a GNU Linux.
What do you think?
Class activity 1.1
In simple terms what is the relationship between Linux, Red Hat and Ubuntu?
NEXT MODULE: Lab Set-up and Virtual machine(VM) creation.