Table of contents
Welcome to the Part-1 of the Linux Series. I cannot confirm how long this series gonna go but I promise you, you will not be disappointed after learning.
Knowing history before learning something is a great practice to show gratitude and respect towards those who made something and changed the world. Linux was not made overnight. It is an amazing story and the efforts of programmers.
What was before UNIX & Linux
In the mid 1960’s when the Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric together decided to make a time sharing operating system Multics for the GE-645 mainframe.
Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory. People at Bell labs were frustrated by the complexity and size of Multics and decided to withdraw from the project and stopped it in 1969.
How UNICS/UNIX came into existence?
Within the team, there were two geniuses, one was Dennis Ritche and other was Ken Thompson with other coworkers. Dennis Ritche was the man behind the invention of the C programming language too. These two geniuses decided to continue the project which would allow multiuser and multitasking functionality. Both of them were in the Multics project from starting to end.
When people left the project, Thompson found an old PDP-7 machine, and developed his own application programs and operating system from scratch, helped by Ritchie and others. They named this project as UNICS in its initial days which meant UNiplexed Information Computing System.
The operating system was originally written in assembly language, but in 1973, Version 4 Unix was rewritten in C.
Thompson and Ritchie working on a Bell Laboratory
So, the failure of Multics (Some are due to hardware failures, others to operator error and still others to software bugs introduced during the course of development) introduced UNICS and the work of Thompson and Ritchie made the UNIX operating system free of cost.
Purpose of UNICS
The main objective of UNICS was to make a multi-user and multitasking operating system for free. Later UNICS was renamed as UNIX and in 1975, UNIX became very popular due to its advancement. UNICS was also made free which prevented people from buying some expensive operating systems of that time.
Commercial companies Purpose
After UNIX was made open sourced, many companies came into the field to make their commercial operating system using the UNIX source code. As Unix code was open to all, Some big giant companies used UNIX code and made their own operating system with high cost. Some of the commercial Os at the time of 1980-90’s were-
- UX (Hewlett-Packard Unix) by HP in 1982
- AIX (Developed by IBM in 1986)
- Solaris (Developed by Sun Microsystem in 1992) and many more.
How Linux came into existance? (Amazing story)
So, at the same time, there was a guy who studied at the University of Helsinki (1988–1996). The guy was Linus Torvalds. During 1991, Linus had some work in his university for some research works/projects. To accomplish the work he needed an operating system. But he realised all the big giant companies at that time made operating systems too costly. Neither he was able to buy those Os nor he could do his research. He felt bad about the scenario because Ritchie and Thompson made UNIX for free and other people commercialized it which was bad for mankind. So, he gave birth to Linux, which completely changed the game.
There is a myth that Linux Torvalds copied UNIX code, modified it and made Linux but this is completely wrong. Linux wrote Linux from scratch on his own. Ofcourse, he read the UNIX system for his understanding but he never copied its code.
Instead, he took help from the MINIX operating system at that time. There is an interesting history of MINIX OS too. Andrew S. Tanenbaum is the professor who made MINIX operating system. He made MINIX to teach his students about Operating systems. Linus Torvalds took help from MINIX and made Linux. Linus Torvalds open sourced the code of Linux and made it free for everyone.
GNU (GNU's Not Unix)
GNU is an extensive collection of free software which can be used as an operating system or can be used in parts with other operating systems.The use of the completed GNU tools led to the family of operating systems popularly known as Linux. The use of the completed GNU tools led to the family of operating systems popularly known as Linux.
Development of the GNU was initiated by Richard Stallman while he worked at MIT Artificial Intelligence Laboratory. It was called the GNU Project, and was publicly announced on September 27, 1983.
Important Points on Linux:
- Linux is not Unix, but it is a Unix-like operating system.
- Linux is a kernel (will cover in part-2 of Linux series) not an OS.
- Linux is not a UNIX derivative neither it was a modified version of UNIX. It was purely written from scratch.
- A linux distribution is the Linux kernel and GNU(a collection of softwares together) which makes the complete operating system.
- The full form of GNU is GNU’s not UNIX.
- Android OS is completely based on Linux Kernel.
OS = Linux Kernel + GNU but in general we call Linux an operating system. It is the generalised form to say Linux as an OS. But in reality Linux is a kernel which is a part of the Operating system. After Linux became an Open source software, many other companies and organizations used its source code and made their own OS. Many of them are free of cost and some are paid too.
Some of the modifications of distributions are RHEL, Fedora, Debian, Ubuntu(Debain Based), Kali, Amazon Linux, Arch etc.
RHEL(Red Hat Enterprise Limited), offers free OS but it charges for maintenance.
Ubuntu is the third most used operating system in the world. The meaning of Ubuntu is teamwork which was made by Mark Richard Shuttleworth.
Why Companies prefer Linux over Windows Operating systems?
First of all, if we look into the pricing of the Windows system, it is expensive. To buy the license of windows, it costs a lot for companies. It is not even a one time investment, it charges more for renewing the facilities.
Let us suppose, A xyz company wants to set up 1000’s of servers in an office. If they set up a windows server(OS), they have to pay thousands of rupees for it. If they use windows, they can’t customize the operating system as per their need. On a yearly basis, they have to pay an amount for license, anti-virus, updates and many more. Using Linux, diminishes these problems and saves money. Not only money, using Linux, it makes your work smoother, faster and efficient.
Features / Advantages of Linux
- Open source - Source code of Linux can be found from here. It is free for everyone. You don’t need to pay a single penny for installing a Linux system. You can also customize Linux as per your requirement. If you want your operating system to do anything, you can change its source code and use it as per your need.
- Secure - You may have heard that Linux is secure, no one can hack into Linux, Hackers use Linux and also you do not need to use antivirus for Linux. Well, that’s true. Linux is a very secure OS. As linux is mainly operated using Command Line Tools(CLI), even hackers suffer a lot understanding its hierarchy. If you learn 100 commands to use Linux, you have to learn 1000’s of commands to hack Linux systems.
- Simplified update for all installed softwares & easy customization.
- Light weight: The size of Linux is small as compared to other OS. It also uses less RAM and works surprisingly faster. If we create Linux Instance in AWS, you get 8GB memory and for windows you require 30GB. Linux is smooth and faster so it is called lightweight.
- Multiuser & Multitask: There are no limitations in creating “n” numbers of users using a single linux machine. If you have a single linux server in a company, you can use the same CPU inside an office and work remotely.
- It has multiple distributions which makes users flexible to use them according to their requirements.
- It has a large community support from all around the globe.
OS Tree After Multics
Thanks for reading the blog. In the next blog, Linux architecture, File systems, Kernel, Shell and many things will be covered.
- Website: nishantbanjade.com.np
- GitHub: github.com/Nix-code
- LinkedIn: linkedin.com/in/nbanjade
- Twitter: twitter.com/NishantBanjade1
My other blog posts